FOS Operating System
Building core modules in OS

FOS-Operating-System-Project-FCIS
In this project, we build the main and essential modules in Operating System based on FOS
Project Modules
Milestone 1
In milestone 1 we built a dynamic allocator to dynamically allocate blocks in memory using different strategies
Milestone functions
1- Initialize Memblocknodes
2- Find Memblock
3- Insert in ALOC List
4- Allocating blocks using First Fit Strategy
5- Allocating blocks using Best Fit Strategy
6- Allocating blocks using Next Fit Strategy
7- Insert Block in Free List
8- Autocomplete for the command line
Milestone 2
In Milestone 2 we built essential Paging functions, Kernal Heap functions, Chunk Operations Functions
Milestone functions
9- Allocate Chunk in RAM
10- Copy Chunk from one place to another
11- Cut chunk from one place to another
12- Share chunk
13- Calculate the required frames for a chunk
14- Calculate allocated frames
15- Initialize the Dynamic block system
16- Allocating in Kernal Heap
17- Freeing from Kernal Heap
18- Get a Physical Address
19- Get a Virtual Address
20- Clear Page Table Entry
21- Get Page Permissions
22- Set Page Permissions
23- Virtual to Physical address
Milestone 3
In Milestone 3 we worked on handling page faults and apply Placement Replacement strategies and apply clock algorithm, building essential user heap functions, support semaphores and sharing
Milestone functions
24- Fault handler
25- Create Semaphore
26- Signal Semaphore
27- Wait Semaphore
28- Create shared Object (Kernal and User)
29- Get Shared Object (Kernal and User)
30- Allocate Shared Object
31- Free user memory (Kernal and User)
32- Initialize user heap dynamic block system
33- Allocate in the user heap
Contributions
1- (Seif Omran)[https://github.com/seifomran132]
2- (Seif Samer)[https://github.com/Lord-Biko-1]
3- (Seif Ezz)[https://github.com/seifezz]
4- (Seif Wael)[https://github.com/Seifhegab]