Process Management ppt for operating systems

32

description

a detailed description of process management in operating systems for compiled view.

Transcript of Process Management ppt for operating systems

Page 1: Process Management ppt for operating systems
Page 2: Process Management ppt for operating systems

PROCESS MANAGEMENT

A Process is an execution of a Program. Running Instance of a Program is called a process.

A Program is actually a set of executable statements written in specific format that the computer can use directly to execute the instructions.

We casually/generally use “program” term to refer to a file containing high level/middle level language code.

An OS contains a large number of processes at any time. (Try “ps” command)

Process Management concerns Creating Processes Fulfilling their resource requirements Scheduling them for use of a CPU Implement Process Synchronization to control their interaction Avoid Deadlock so that they do not wait for each other indefinitely Terminating them when they complete their operation

Page 3: Process Management ppt for operating systems

Processes & ThreadsOverview

Processes & Programs What is a Process? Relationships between Processes & Programs Child Processes Concurrency and Parallelism

Implementing Processes Process States and State Transitions Process Context and the Process Control Block Context Save, Scheduling and Dispatching Event Handling Sharing, Communication and Synchronization between Processes Signals

Threads POSIX Threads Kernel-Level, User-Level and Hybrid Threads

Case Studies of Processes & Threads

Page 4: Process Management ppt for operating systems

PROCESSES AND PROGRAMWhat is a Process?

A program is a passive entity that does not perform any actions by itself; it has to be executed if the actions it calls for are to take place.

A process is an execution of a program. It actually performs the actions specified in a program.

The instructions, data and stack of the program constitute its address space.

A process comprises six components: ID : Unique id assigned by the OS(in PCB/TCB) Code: It is the code of the program(also called as text of a program) Data: It is the data used in the execution of the program, including data from

files Stack: stack contains parameters of functions and procedures called during

execution of the program, and their return addresses Resources: resources is the set of resources allocated by the OS CPU State: It is composed of contents of the PSW and the general-purpose

registers (GPRs) of the CPU (we assume that the stack pointer is maintained in a GPR)

Page 5: Process Management ppt for operating systems

Processes and ProgramsRelationship between Processes and Programs

A program consists of a set of functions and procedures.

The OS doesn’t know anything about the nature of a program, including functions and procedures in its code.

It knows only what it is told through system calls. The rest is under the control of the program.

The functions of a program may be separate processes, or they may constitute the code part of a single process.

Two kinds of relationships can exist between processes and programs.

Page 6: Process Management ppt for operating systems

Processes and Programs

Child Processes

The kernel initiates an execution of a program by creating a process for it. For lack of a technical term for this process, we will call it the primary process for the program execution.

The primary process may make system calls ,fork( ) or vfork( ), to create other processes.

These processes become its child processes, and the primary process becomes their parent.

A child process may itself create other processes, and so on.

The parent–child relationships between these processes can be represented in the form of a process tree, which has the primary process as its root.

A child process may inherit some of the resources of its parent; it could obtain additional resources during its operation through system calls.

Child processes in a Real-Time Application ???? Go through Example 5.1, OS by Dhamdhere

Page 7: Process Management ppt for operating systems

Processes and Programs

Child Processes Continue…

Typically, a process creates one or more child processes and delegates some of its work to each of them. It is called multitasking within an application.

It has three benefits summarized in the given table.

Page 8: Process Management ppt for operating systems

Click icon to add picture

Page 9: Process Management ppt for operating systems

Processes and Programs

Concurrency and Parallelism

Question No. 1 for Assignment 1

Write a note

Help: Topic 5.1.4, OS by Dhamdhere

Page 10: Process Management ppt for operating systems

IMPLEMENTING PROCESSES

In the operating system’s view, a process is a unit of computational work. Hence the kernel’s primary task is to control operation of processes to provide effective utilization of the computer system.

Accordingly, the kernel allocates resources to a process, protects the process and its resources from interference by other processes, and ensures that the process gets to use the CPU until it completes its operation.

Fundamental functions of the kernel for controlling processes. Context Save - Saving CPU state and information concerning resources of

the process whose operation is interrupted.

Event Handling - Analyzing the condition that led to an interrupt, or the request

by a process that led to a system call, and taking appropriate actions.

Scheduling - Selecting the process to be executed next on the CPU.

Dispatching - Setting up access to resources of the scheduled process and loading its

saved CPU state in the CPU to begin or resume its operation.

Page 11: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions

An Operating system uses the notion of a process state to keep track of what a process is doing at any moment. i.e. it describes the nature of current activity at any moment.

The kernel uses process states to simplify its own functioning, so the number of process states and their name many vary across Oss.

The Four fundament states of a process

Page 12: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions Continue…

A state transition for a process P is a change in its state. A state transition is caused by the occurrence of some event such as the start or end of an I/O operation. When the event occurs, the kernel determines its influence on activities in processes, and accordingly changes the state of an affected process.

The figure diagrams the fundamental state transitions for a process. A new process is put in the ready state after resources required by it have been allocated. It may enter the running, blocked, and ready states a number of times as a result of events.

Page 13: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions Continue…

Page 14: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions Continue…

Page 15: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions Exercise!!

Consider the time-sharing system, which uses a time slice of 10ms. It contains two processes P1 and P2. P1 has a CPU burst of 15ms followed by an I/O operation that lasts for 100ms, while P2 has a CPU burst of 30ms followed by an I/O operation that lasts for 60ms. Execution of P2 and P1 is described in Figure. Draw a table for process state transitions for P1 &P2.

Page 16: Process Management ppt for operating systems

Implementing Processes

Process States and State Transitions Solution!!

Solution

Question

Page 17: Process Management ppt for operating systems

Implementing Processes

Suspended Processes

A kernel needs additional states to describe the nature of the activity of a process that is not in one of the four fundamental states described earlier. Consider a process that was in the ready or the blocked state when it got swapped out of memory.

Page 18: Process Management ppt for operating systems

Implementing Processes

Process Context and the Process Control Block

The kernel allocates resources to a process and schedules it for use of the CPU. Accordingly, the kernel’s view of a process consists of two parts:

Code, data, and stack of the process, and information concerning memory and other resources, such as files, allocated to it.

Information concerning execution of a program, such as the process state, the CPU state including the stack pointer, and some other items of information described later.

These two parts of the kernel’s view are contained in the process context and the process control block (PCB), respectively .

Page 19: Process Management ppt for operating systems

Implementing Processes

Process Context and the Process Control Block Continue...

Process Context consists of the following: Address space of the process: The code, data, and stack components of

the process. Memory allocation information: Information concerning memory areas

allocated to a process. This information is used by the memory management unit (MMU) during operation of the process.

Status of file processing activities: Information about files being used, such as current positions in the files.

Process interaction information: Information necessary to control interaction of the process with other processes, e.g., ids of parent and child processes, and interprocess messages sent to it that have not yet been delivered to it.

Resource information: Information concerning resources allocated to the process.

Miscellaneous information: Miscellaneous information needed for operation of a process.

Page 20: Process Management ppt for operating systems

Implementing Processes

Process Context and the Process Control Block Continue...

The process control block (PCB) of a process contains three kinds of information concerning the process:

Identification information such as the process id, id of its parent process, and id of the user who created it.

Process state information such as its state, and the contents of the PSW and the general-purpose registers (GPRs).

Information that is useful in controlling its operation, such as its priority, and its interaction with other processes.

It also contains a pointer field that is used by the kernel to form PCB lists for scheduling, e.g., a list of ready processes.

The priority and state information is used by the scheduler. It passes the id of the selected process to the dispatcher.

For a process that is not in the running state, the PSW and GPRs fields together contain the CPU state of the process when it last got blocked or was preempted.

Page 21: Process Management ppt for operating systems

Implementing Processes

Process Context and the Process Control Block Continue...

Page 22: Process Management ppt for operating systems

Implementing Processes

Context Save, Scheduling, and Dispatching

The context save function performs housekeeping whenever an event occurs. It saves the CPU state of the interrupted process in its PCB, and saves information concerning its context.

The scheduling function uses the process state information from PCBs to select a ready process for execution and passes its id to the dispatching function.

The dispatching function sets up the context of the selected process, changes its state to running, and loads the saved CPU state from its PCB into the CPU.

Ex: An OS contains two processes P1 and P2, with P2 having a higher priority than P1. Let P2

be blocked on an I/O operation and let P1 be running. The actions taken place when the I/O completion event occurs for the I/O operation of P2.

? ? ? ? ?

Page 23: Process Management ppt for operating systems

Click icon to add picture

Page 24: Process Management ppt for operating systems

Click icon to add picture

Page 25: Process Management ppt for operating systems

Click icon to add picture

Page 26: Process Management ppt for operating systems

Click icon to add picture

Page 27: Process Management ppt for operating systems
Page 28: Process Management ppt for operating systems
Page 29: Process Management ppt for operating systems
Page 30: Process Management ppt for operating systems
Page 31: Process Management ppt for operating systems
Page 32: Process Management ppt for operating systems