Banker’s Algorithm

This algorithm can be used in banking system to ensure that the bank never allocates all its available cash such that it can no longer satisfy the needs of all its customer. This algorithm is applicable to a system with multiple instances of each resource type. When a new process enter in to the system […]

Resource Allocation Graph Algorithm

In this graph a new type of edge has been introduced is known as claim edge. Claim edge Pi→Rj indicates that process Pj may request resource Rj; represented by a dashed line.Claim edge converts to request edge when a process requests a resource.Request edge converted to an assignment edge when the resource is allocated to […]

Binary Semaphore

A binary semaphore is a semaphore with an integer value which can range between 0 and 1. Let ‘S’ be a counting semaphore. To implement the binary semaphore we need following the structure of data. Binary Semaphores S1, S2; int C; Initially S1 = 1, S2 = 0 and the value of C is set […]

Methods for Handling Deadlocks

The problem of deadlock can deal with the following 3 ways. We can use a protocol to prevent or avoid deadlock ensuring that the system will never enter to a deadlock state.  We can allow the system to enter a deadlock state, detect it and recover. We can ignore the problem all together. To ensure […]

Deadlock Characteristics

In a deadlock process never finish executing and system resources are tied up. A deadlock situation can arise if the following four conditions hold simultaneously in a system. • Mutual Exclusion: At a time only one process can use the resources. If another process requests that resource, requesting process must wait until the resource has […]

Deadlock

In a multi programming environment several processes may compete for a finite number of resources. A process request resources; if the resource is available at that time a process enters the wait state. Waiting process may never change its state because the resources requested are held by other waiting process. This situation is known as […]

Classical Problem on Synchronization

There are various types of problem which are proposed for synchronization scheme such as Bounded Buffer Problem: This problem was commonly used to illustrate the power of synchronization primitives. In this scheme we assumed that the pool consists of ‘N’ buffer and each capable of holding one item. The ‘mutex’ semaphore provides mutual exclusion for […]

Process Synchronization

A co-operation process is one that can affect or be affected by other processes executing in the system. Co-operating process may either directly share a logical address space or be allotted to the shared data only through files. This concurrent access is known as Process synchronization

CPU Scheduling Algorithm

CPU Scheduling deals with the problem of deciding which of the processes in the ready queue is to be allocated first to the CPU. There are four types of CPU scheduling that exist 1. First Come, First Served Scheduling (FCFS) Algorithm: This is the simplest CPU scheduling algorithm. In this scheme, the process which requests […]

Types of schedulers

There are 3 types of schedulers mainly used: 1. Long term scheduler: Long term scheduler selects process from the disk & loads them into memory for execution. It controls the degree of multi-programming i.e. no. of processes in memory. It executes less frequently than other schedulers. If the degree of multi programming is stable than […]