Table of Contents
FOS is a basic, command-line based operating system.
This was a project for OS'23 course at FCIS, Ain Shams University.
- Supervisor and course lecturer: Dr. Ahmed Salah
- Mentor TA: Dr Rezq Mohammed
- Amna Ahmed - @thisisamna
- Khira Ebe - @monaya37
- Mariam Reda - @Mariam428
- Fatma Gamal - @FatmaGG
- Merna Tareq
- Manar Mansy - @manarmansyy
- C
- System call implementation
- Linking user side and kernel side functions
Managing user and kernel memory using two schemes
- Dynamic (block) allocator
- Allocation using first fit and best fit strategies
- Freeing allocated blocks
- Reallocation using first fit strategy
- Page allocator
- Allocating pages
- Freeing memory pages
- Lazy allocation/deallocation in the case of user memory
Validate faulted addresses. If valid, handle the fault either through placement and replacement, using one of two schemes:
- FIFO (First in first out)
- LRU (Least recently used)
- BSD scheduler implementation
- Environment (process) management
- Clock interrupt handler
- Process command
- Sbrk (negative decrement) and sys_sbrk
- Freeing user memory
Thanks to Dr. Ahmed Salah, Dr. Rezq Mohamed and all TAs who supported this project.
Your help was invaluable to our team and every team. :)