Process Scheduling Algorithms

The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.

Process Scheduling Algorithms:


Process Synchronization

Process Synchronization means sharing system resources by processes in a such a way that, Concurrent access to shared data is handled thereby minimizing the chance of inconsistent data. Maintaining data consistency demands mechanisms to ensure synchronized execution of cooperating processes.

Following Problems are demonstrated in the simulator :

1. Producer Consumer Problem
2. Reader - Writer Problem
3. Dining Philosopher Problem
3. Cigarette smokers Problem
3. Smoking barber Problem

Demo:

Banker's Algorithm

The banker’s algorithm is a resource allocation and deadlock avoidance algorithm that tests for safety by simulating the allocation for predetermined maximum possible amounts of all resources, then makes an “s-state” check to test for possible activities, before deciding whether allocation should be allowed to continue.

Demo:

Memory Management

The memory management function keeps track of the status of each memory location, either allocated or free. It determines how memory is allocated among competing processes, deciding which gets memory, when they receive it, and how much they are allowed. When memory is allocated it determines which memory locations will be assigned. It tracks when memory is freed or unallocated and updates the status.

Following Problems are demonstrated in the simulator :

Memory Management

Demo:

Page Replacement Techniques

The page replacement algorithm decides which memory page is to be replaced. The process of replacement is sometimes called swap out or write to disk. Page replacement is done when the requested page is not found in the main memory (page fault).

Following Problems are demonstrated in the simulator :

1.Least recently used
2. most recently used
3. optimal page replacement
4. most frequently used
5. second chance (clock replacement)

Disk Scheduling Algorithms

Disk scheduling is the method that computer operating systems use to decide in which order the block I/O operations will be submitted to storage volumes. I/O scheduling is sometimes called disk scheduling.

File Allocation Techniques

The allocation method defines how the files are stored in the disk blocks. The direct access nature of the disks gives us the flexibility to implement the files. In many cases, different files or many files are stored on the same disk. The main problem that occurs in the operating system is that how we allocate the spaces to these files so that the utilization of disk is efficient and the quick access to the file is possiblets advantages and disadvantages.

The main idea behind contiguous allocation methods is to provide :
• Efficient disk space utilization
• Fast access to the file blocks

File Management

File System represents data from a logical point of view. The different directory structures for the file systems are:
• Single-Level Structured Directory
• Two-Level Structured Directory
• Tree Structured Directory

Some more details here

Wiki

Demo: