Skip to content

thisisamna/OS_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

FOS

A mighty mini-operating system!

Table of Contents
  1. About The Project
  2. Modules
  3. Acknowledgments

About The Project

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

Team:

Built With

  • C

Modules

System Calls

  • System call implementation
  • Linking user side and kernel side functions

Memory Manager

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

Fault Handler

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)

CPU Scheduler

  • BSD scheduler implementation
  • Environment (process) management
  • Clock interrupt handler

Known issues

  • Process command
  • Sbrk (negative decrement) and sys_sbrk
  • Freeing user memory

Acknowledgments

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. :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published