https://github.com/onkar69483/os-algorithms
Contains OS Scheduling Algorithms
https://github.com/onkar69483/os-algorithms
operating-system scheduling-algorithms
Last synced: 11 days ago
JSON representation
Contains OS Scheduling Algorithms
- Host: GitHub
- URL: https://github.com/onkar69483/os-algorithms
- Owner: onkar69483
- Created: 2024-04-03T05:51:58.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-02T03:50:16.000Z (about 2 years ago)
- Last Synced: 2025-03-02T10:22:16.069Z (over 1 year ago)
- Topics: operating-system, scheduling-algorithms
- Language: Shell
- Homepage:
- Size: 214 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OS-Algorithms
Unit 3
1. Priority Inversion
2. Startvation
3. Convoy Effect
4. Fetch, Decode, Calculate, Fetch, Execute, Write
#Pipeline Hazard (Pipeline Bubble)
Resource Hazard-occurs due to resource sharing concurrently(Structural Hazard)
Data Hazard-conflict in access of operand location
RAW(True), WAR(Anti), WAW(Output)
Control Hazard(Branch Hazard)-when pipeline makes wrong decision on a branch prediction.
Multiprogramming
Multiprocessing
Distributed processing-“cluster” refers to the connection of computers or servers to each other over a network to form a larger “computer”
concurrency-issues
communication
allocation of processor time to processes
synchronization of activities
sharing of resources
IMP terms
1. Atomic Operation (guarantees isolation)
2. Critical Section
3. Deadlock } v
4. Live lock } Lead to Starvation but reverse is not possible
5. Mutual exclusion
6. Race Condition
7. Starvation
#Principles of concurrency
1. Interleaving(single processor system)
2. Overlapping(multiprocessor system)
#Process Interaction
1. Competition(me, dl, st)
2. Cooperation by sharing(me,dl,st, data coherence)
3. Cooperation by communication(dl, st)
#Solution of critical section problem
1. Lock variable
Lock=0 -> Critical section vacant
Lock=1 -> Critical section occupied
test&set -> solution of lock var
2. Interrupt disabling
Machine Instruction approach
Compare and swap(*word, testval, newval)
exchange(*register, *memory)
busy waiting or spin waiting
3. Common concurrency mechanism