Software implementation of the Operating System (OS) concepts. The OS supports running multiple threads concurrently with shared address space between the threads. Moreover, that OS uses the paging technique to provide a virtual address space for each process.
• The OS can use the Keyboard functionalities to detect pressed keys and print characters to the interactive shell.
• implemented the File Allocation Table (FAT16) functionalities to provide an interface for the filesystem subroutines, i.e, file open, read, write, and close.
• provided an interface for user-level programs to invoke system calls to access kernel privileged functions, i.e, getkey, putchar, malloc, and program exit.