Skip to content

Arun007coder/SectorOS-RE2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SectorOS RE2

Second rewrite of the SectorOS project. Written in C and assembly.

Features

  • Fully functional printf and sprintf
  • Interrupt and exception handling
  • string stdlib
  • Vga color changing
  • IDT and GDT functional
  • Paging
  • Dynamic memory allocation
  • A basic shell
  • Virtual filesystem
  • EXT2 filesystem
  • Driver for AMD PCnet-FAST III
  • Semi-functional ATA DMA driver
  • Fully functional ATA PIO driver [will be slow]
  • Added driver for VESA graphics
  • Added Bios 32 service
  • Added Init file support
  • Added support for TGA and BMP image files
  • Added logdisk driver
  • Added ramdisk driver
  • Added support for SORFS [SectorOS ROM File System]
  • Added MBR support
  • Added auto detection of the filesystem
  • Implemented usermode support
  • Added driver for rtl8139
  • Implemented Network interface manager
  • Implemented ARP
  • Implemented IPv4
  • Implemented UDP
  • Implemented DHCP
  • Implemented a psuedorandom number generator
  • Implemented a basic drawing library
  • Implemented fonts
  • Added driver for APM
  • Implemented cooperative multitasking
  • Added new syscalls
  • Implemented spinlock
  • Implemented input handler for processes
  • Added a new shell which works as a process

Bugs

  • ATA DMA driver is not fully functional
  • Sometimes EXT2 filesystem only lists folders
  • SORFS is Read Only
  • OS does not work on bare-metal
  • ICMP does not work

TODO

  • Implement driver for mouse and other devices
  • Implement Tasking
  • Implement TCP
  • Implement http server
  • Implement ELF loader
  • Make SORFS read-write
  • etc...

Build

To build the project, run the following command:

make -f src/Makefile

To build an ISO image, run the following command:

make -f src/Makefile iso

Before Running, run the following command:

make -f src/Makefile setupTAP

To run the project on qemu, run the following command:

make -f src/Makefile runQEMU

To run the project on qemu KVM, run the following command:

make -f src/Makefile runKVM

After running, run the following command:

make -f src/Makefile stopTAP1

Resources

The resources used in this project are:

License

This project is licensed under the GNU GPLv3.