https://github.com/riteshghorse/operating-system-projects
Projects implemented on XINU OS. Process Scheduling, Demand Paging, and Concurrency Control.
https://github.com/riteshghorse/operating-system-projects
demand-paging locks os priority-inheritance scheduling writer-locks xinu
Last synced: about 1 year ago
JSON representation
Projects implemented on XINU OS. Process Scheduling, Demand Paging, and Concurrency Control.
- Host: GitHub
- URL: https://github.com/riteshghorse/operating-system-projects
- Owner: riteshghorse
- Created: 2020-08-19T05:47:16.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-12-03T03:11:32.000Z (over 5 years ago)
- Last Synced: 2025-02-08T16:37:29.537Z (over 1 year ago)
- Topics: demand-paging, locks, os, priority-inheritance, scheduling, writer-locks, xinu
- Language: C
- Homepage:
- Size: 1.84 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Operating-System-Projects
#### Run commands:
Change to compile directory of a project and execute following commands:
```
make clean
make depend
make
make run
```
## Project 1: Getting Acquainted with XINU
The objective of this introductory lab is to familiarize you with the process of compiling and running XINU, the tools involved, and the run-time environment and segment layout.
## Project 2: Process Scheduling and Scheduling Policies
The objective of this assignment is to get familiar with the concepts of process management, including process priorities, scheduling, and context switching.
## Project 3: Demand Paging
The objective of this assignment is to implement the demand paging functionality in XINU OS with supporting APIs such as xmmap, xmunmap, vcreate, vgetmem, vfreemem, get_bs, release_bs, inverted page table and interrupt service routine.
## Project 4: Reader/Writer Locks with Priority Inheritance
The objective of this assignment is to implement Readers/writer locks to synchronize access to a shared data structure. Additionally, you will implement a priority inheritance mechanism to prevent the priority inversion problem when using locks.