Project for the "Systèmes et réseaux" course at ENS Ulm :
Development of a simple multitask 64 bits operating system named Super OS
You only need a x86_64 version of gcc to build, You can change the varaible CC and CXX in the Makefile if needed.
You can build with make
You need to have 64 bits QEMU or Bochs installed.
There is two way of testing :
- CD booting :
make runfor Bochs ormake runqemufor QEMU : depending on the code of kinit in src/kmain.cpp, the OS may try to use the hard drive and crash. But for quick testing this is fine - Hard Drive booting :
To build the virtual hard disk we currently use loopback devices on linux and thus we need superuser right.
You may read the Makefile to be sure there are no security issues.
The command is make builddisk. Some command like mkfs will be needed.
Once the disk is build you can test on QEMU with make runqemud if you want tho allow write on disk and make runqemus if not
make runqemuk is the same than runqemus but write the logs in the terminal.
If both case you can run make connect in an other terminal to open GDB on the OS and debug.
There is also a unit test system that you can use with make unittest one the Hard Drive is generated.
You can do the same with make rund and make runs with Bochs
If you have doxygen installed, You can run make doc to build the documentation.
You can build the project report with make report in root directory or make in report directory.