25 March

Real Time Scheduling Algorithms

Real time scheduling is of two types: Soft Real-Time scheduling which does not guarantee when when a critical real-time process will be scheduled; Hard Real-Time scheduling in which the process must be scheduled before the deadline. In this post we will cover two real time scheduling algorithms: rate monotonic scheduling and earliest deadline first. Points […]

16 June

Difference between Contiguous Memory Allocation, Paging and Segmentation

A common question that comes to our mind is – What is the difference between Contiguous Memory allocation, Paging and Segmentation? We will understand this concept with an individual example, explaining each of the three concepts. Contiguous Memory Allocation In contiguous memory allocation the entire address space of the process is together. For example, if […]

31 May

Deadlock Detection and Recovery

If a system neither uses deadlock prevention nor a deadlock avoidance strategy then it might enter into a deadlock. Thus, it becomes important to use deadlock detection and recovery policy. A Deadlock detection algorithm, determines whether the system is in deadlock state or not? If yes, then the system uses a deadlock recovery method to […]

26 May

Race Condition

Critical Section Problem

When multiple process run in the system, they might at times want to access the same resource at same time. This situation can lead to unwanted results. To understand the issues – race condition and critical section problem, related with process synchronization lets consider a situation as below: Let:  counter = 5 If I run […]

25 May

Threads in Operating System

1. What are Threads in Operating System A thread is the smallest unit of execution which has its own thread ID, program counter, register set and stack. All the threads that belong to the same process share the code, data section and other resources like open files belonging to the process. So, remember thread is […]