- A simple non-preemptive kernel written in C for an OS course, alongside a sample user program that will get loaded and executed by the OS.
- Running the
make
command should do the trick - Consult Makefile for more details
make boot
would do that
-fno-pie
has been added to the gcc compiler command because without it, it reports akernel.c:(.text+0x10): undefined reference to '_GLOBAL_OFFSET_TABLE_'
error
Biruk Solomon | ATR/5471/11 Natneam Mesele | ATR/9672/11
- Loaded extra sectors from disk (Doesn't load all of the user ELF otherwise)
- we haven't used any assembly(TSL) to implement the sync( mutex and semaphore)
- Since the kernel is a non preemptive one, we know for sure that the mutex implementations are atomic which is what the document requires
- We increased the size of the kernel from 5kb to around 10kb in the os-image, because when we didn't the kernel was hard faulting