Heap allocation and deallocation, multithreading, semaphores, thread sleep and join, console output and input, preemptive scheduling, and time sharing. It is a full operating system that can run a freestanding program linked with it.
Heap allocation and deallocation, multithreading, semaphores, thread sleep and join, console output and input, preemptive scheduling, and time sharing. It is a full operating system that can run a freestanding program linked with it.
It is an extension of MIT's xv6 operating system. It has page swapping and thrashing detection and prevention.
I am currently working on a full operating system for the ARM8 architecture, made specifically for the Raspberry PI 4B. Currently it is in its infancy, and you can find the source code for it here.
During my 4th and 5th semester, I have enrolled in the Operating Systems 1 and 2 courses.
Both courses had a project that was to be done for the RISC-V architecture.
The OS1 project was to create a 'simple' single processor microkernel that would support multithreading, memory management, console I/O and time sharing.
The OS2 project was to add page swapping and thrashing detection/prevention functionality for MIT's educational xv6 operating system.