FOS Operating System

Building core modules in OS

FOS Operating System

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]