Skip to content

Simulation for the OS performing Scheduling,Memory management and an implementation for the producer-consumer problem.

Notifications You must be signed in to change notification settings

nadaabdelmaboud/FlashOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlashOs Logo

GitHub forks GitHub Repo stars GitHub contributors GitHub code size in bytes

FlashOs

Description

This project consists of 3 phases :

  1. Scheduler
    • HPF (Highest Priority First)
    • SRTN (Shortest Remaining Time Next)
    • RR (Round Robin)
  2. Memory Management
    • Buddy Algorithm
  3. Producer-Consumer

System Design

Files Arch

Data-structures

  1. 2-Level Priority Queue:
    • First level: each node represents a linked list that’s is sorted with the priority.
    • Second level: each linked list in the first level is a list of all processes have the same priority sorted by the arrival time.
  2. Circular Queue:
    • The name “Circular” demonstrates the way we are dealing with it. We pop a process, then give it its quantum then push it at the end of the queue.
    • Optimizes the round robin algorithm as each insert – select – delete is O(1).
  3. Array of linked lists for memory
    • each list represents the memory blocks with the size of this list - sizes of lists are multiples of 2 till 2 power 10 (1024 -memory size ).

IPCS

  1. Semaphores
  2. Message Queues
  3. Shared Memory
  4. Signals
  • Refer to OS-Report for more details about the used methodologies and input/output samples.

  • Scheduler

    • Run

       - Add your custom testcase in processes.txt
       - For random testcases run:
       $ gcc test_generator.c -o test_generator.out
       $ ./test_generator.out
         $ cd Scheduler
         $ make
         $ make run
    • Log Files

Memory Management

$ cd Memory/Scheduler
$ make
$ make run

Producer-Consumer

$ cd Phase3
$ make
$ ./producer.out
$ ./concumer.out

Contributors

  • Ahmed Magdy
  • Mohamed Monsef
  • Menna Mahmoud
  • Nada Abdelmaboud

About

Simulation for the OS performing Scheduling,Memory management and an implementation for the producer-consumer problem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.3%
  • Makefile 0.7%