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 […]

17 May

CPU Scheduling in Operating System

The goal of the multi-programming system is to keep the CPU busy at all times. In a uni-processor system whenever the CPU becomes idle it is allocated to a new process. Which process will be allocated the CPU is decided by the short-term scheduler. CPU scheduling means to select the next process to be allocated […]