FOS (FCIS Operating System) is a basic, command-line based operating system developed as part of the OS'23 course at the Faculty of Computer and Information Sciences, Ain Shams University. The project showcases key concepts in operating system development, including memory management, scheduling, and fault handling, aimed at offering hands-on learning for students.
- C
- Makefile (for easy compilation)
- Implemented system call interface to link user programs with kernel functions.
- Provides key system calls like
read,write,open, andclosefor file management.
Managing both user and kernel memory through:
- Dynamic (Block) Allocator
- Allocation using first-fit and best-fit strategies
- Freeing memory blocks and reallocating using the first-fit strategy
- Page Allocator
- Allocating memory pages and efficiently freeing them
- Supports lazy allocation and deallocation for user processes
- Detects and validates page faults. If the fault is valid, the system handles it using either:
- FIFO (First In, First Out)
- LRU (Least Recently Used)
- BSD Scheduler: Manages process scheduling based on priorities.
- Efficiently handles process states and context switching.
- Clock interrupt handler for periodic task management.
