Skip to main content

Unit 2 Operating System

 Unit- 2  Process and Process Scheduling

2.1 Introduce Process, Program and Process Life Cycle

 Process

Process is something that is currently under execution. So, an active program can be called a Process. Examples:

      Opening a web browser to search something on the internet — the browser becomes a process.

      Launching a music player to enjoy your favorite tunes — the music player is also a process.

In computing, a process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity.

Modern operating systems support multithreading, meaning a process can have multiple threads running concurrently.

 

A Process has various attributes associated with it. Some of the attributes of a Process are:

        Process Id: Every process will be given a unique id that identifies the process from the other processes.

        Process state: Each and every process has some states associated with it at a particular instant of time. This is denoted by process state. It can be ready, waiting, running, etc.

        CPU scheduling information: Each process is executed by using some process scheduling algorithms like FCSF, Round-Robin, SJF, etc.

        I/O information: Each process needs some I/O devices for their execution. So, the information about device allocated and device need is crucial.

 

Program

A program is a piece of code which may be a single line or multiple  lines. A computer program is usually written by a computer programmer in a programming language. For example, here is a simple program written in C programming language −

#include <stdio.h>

 

int main() {

   printf("Hello, World! \n");

   return 0;

}

A computer program is a collection of instructions that performs a specific task when executed 

by a computer. When we compare a program with a process, we can conclude that a process

 is a dynamic instance of a computer program.


Process Life Cycle

The Process Life Cycle refers to the sequence of states that a process goes through from its creation to termination during its lifetime.

A process state represents the current status of a process — or what the process is doing at 

a particular moment during its execution.

 

A process can have one of the following five states at a time.

S.N.

State & Description

1

New

This is the initial state when a process is first started/created.(You click "Print" → New)

2

Ready

The process is waiting to be assigned to a processor. Ready processes are waiting to have 

the processor allocated to them by the operating system so that they can run. Process may 

come into this state after Start(new) state or while running it by but interrupted by the

 scheduler to assign CPU to some other process.

 (It enters the print queue → Ready)

3

Running

Once the process has been assigned to a processor by the OS scheduler, the process state is set to running and the processor executes its instructions.

(Printer starts printing → Running)

4

Waiting

Process moves into the waiting state if it needs to wait for a resource, such as waiting 

for user input, or waiting for a file to become available.

(Pauses because paper is out → Waiting)

5

Terminated or Exit

Once the process finishes its execution, or it is terminated by the operating system, it is moved

 to the terminated state where it waits to be removed from main memory.

(Printing completes → Terminated)



2.2 Process Control Block (PCB)

A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). A PCB keeps all the information needed to keep track of a process as listed below in the table −

S.N.

Information & Description

1

Process State

The current state of the process i.e., whether it is ready, running, waiting, or whatever.

2

Process privileges

This is required to allow/disallow access to system resources.

3

Process ID

Unique identification for each of the process in the operating system.

4

Pointer

A pointer to parent process.

5

Program Counter

Program Counter is a pointer to the address of the next instruction to be executed for this 

process.

6

CPU registers

Various CPU registers where process need to be stored for execution for running state.

7

CPU Scheduling Information

Process priority and other scheduling information which is required to schedule the process.

8

Memory management information

This includes the information of page table, memory limits, Segment table depending on 

memory used by the operating system.

9

Accounting information

This includes the amount of CPU used for process execution, time limits, execution ID 

etc.

10

IO status information

This includes a list of I/O devices allocated to the process.



The PCB is maintained for a process throughout its lifetime, and is deleted once the process terminates.

Comments

Popular posts from this blog

Unit-1 Introduction to C#.NET (Class 12)

  What is .NET Framework? The .NET Framework is a software development platform developed by Microsoft. It provides tools and libraries to build and run Windows applications, web services, and web apps. It gives tools and libraries that make it easier to write programs. It also helps the computer run those programs safely and efficiently. Microsoft started working on .NET Framework in the late 1990s . The first version, .NET Framework 1.0 , was released in 2002 .   The .NET Framework is made up of several important components: 1.       Common Language Runtime (CLR) is the core engine that runs your program. It converts your code into machine code that the computer can understand, manages memory, handles errors, and ensures that your program runs safely. 2.       The Class Library is a large collection of ready-made code that helps you perform common tasks like working with files, databases, graphics, the i...