62
Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Embed Size (px)

Citation preview

Page 1: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Chapter 3Process

Description and Control

Eighth EditionBy William Stallings

Operating

Systems:Internals

and Design

Principles

Page 2: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Concept Summary : Hardware-Software

Interface The OS provides a

uniform, abstract representation of resources that can be requested and accessed by applications

Privileged v non-privileged instructions

Applications access OS services indirectly through library calls or directly through system (service) calls.

Page 3: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Concept Summary : Multiprogramming

Resources are made available to multiple applications at the same time

The processor is switched among multiple applications so all will appear to be progressing

The processor and I/O devices are able to execute in parallel – improves efficiency

Page 4: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Concept Summary : Processes

The concept of a process is fundamental to the study of operating systems Processes are sometimes referred to as

tasks

A process is “an instance of a program” or “a program in execution”.

Page 5: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Elements

Two essential elements of a process are:

When the processor begins to execute the program code, we refer to this executing entity as a process

Program code• which may be shared with other processes that are

executing the same program

A set of data associated with that code

Page 6: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Elements

While the program is executing, this process can be uniquely characterized by a number of elements, including:

identifier

state priority program counter

memory pointers

context data

I/O status informatio

n

accounting

information

Page 7: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process

Control Block

(PCB)Contains the process elements

Created and managed by the operating system

Key tool that allows support for multiple processes

When a process is removed from the running state to allow another process to run values important to correct execution of the process must be saved. The PCB is where such information is saved.

Page 8: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

PCB Lifetime

PCB represents a specific process

Built by the OS when a new process is created

Destroyed when the process terminates

Page 9: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.1 Reasons for

Process Creation

Page 10: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Creation

Processes can be created by other processes to divide an application into independent units that can execute in parallel on a SMP

A server might create a new process for each request that it receives.

Terminology: Process spawning: one process creates another Parent process: the process that requests

creation of another Child process: the created process.

Page 11: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Termination

There must be a means for a process to indicate its normal completion

A batch job should include a HALT instruction or an explicit OS service call for termination

For an interactive application, the action of the user will indicate when the process is completed (e.g. log off, quitting an application)

Many kinds of errors can cause a process to terminate

Page 12: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table

3.2Reasons

for Process

Termination

(Table is located on page 115 in the textbook)

Page 13: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process States

Tracethe behavior of an individual process by listing the

sequence of instructions that execute for that

process

the behavior of the processor can be characterized by

showing how the traces of the various processes

are interleaved

Dispatcher

small program that switches the

processor from one

process to another

Page 14: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Execution

Page 15: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 16: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Multiprogramming interleaves instructions from user programs and the operating system

A program trace is the sequence of instructions that the program executes.

(Note: over-simplified view of multiprogrammed activity)

Page 17: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

What’s Happening Here?

The operating system is switching between several processes, based on the occurrence of special kinds of events; e.g., Timeouts: a process has been allocated a maximum time to

run; when the time expires a timer signals an interrupt to the OS I/O request: process executes an I/O operation that must be

scheduled & executed; will wait until the operation completes

To understand how the switch between processes is carried out we need to understand more about processes & how they’re managed by the OS.

Page 18: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process State Models During its lifetime, a process can be in one

of several states. State = description of the process’s current

condition

A process moves from one state to another based on actions of the process or the operating system or some other entity. Transition: action that causes a state change

Page 19: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Two-State Process Model

Page 20: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process is created

Page 21: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Five-State Process Model

Previous model is over-simplifiedAdditional states provide more specific information about the state of a process.

Page 22: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 23: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Suspended Processes

Swapping involves moving part of all of a process from main memory

to disk

If no process in main memory is in the Ready state, the OS can swap one of the blocked processes out to disk into a suspend queue to make room for another process that is able to execute.

Processes may also be suspended for other reasons; e.g., if a parent process does it for some reason.

Virtual memory reduces the need for swapping

Page 24: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 25: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 26: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.3 Reasons for Process

Suspension

Page 27: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process – OS Interaction

At any time, a processor is executing instructions from an application or from the operating system.

How does the CPU know when to switch? What kind of processing is required? Terminology:

Mode switch: execution changes from a user program to the OS (or back)

Process or context switch: one process leaves the running state, another enters the running state

Page 28: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Modes of Execution

User Mode

less-privileged mode: can only execute some of the hardware instructions

user programs typically execute in this mode

Kernel Mode more-privileged mode:

can execute all of the hardware instructions

also referred to as system mode or control mode

kernel of the operating system

The OS is the entity that manages resources; user programs must be prevented from interfering.

Page 29: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Mode Switching

If no interrupts are pending the processor:

proceeds to the fetch stage and fetches the next instruction of

the current program in the current process

If an interrupt is pending the processor:

sets the program counter to the starting address of an interrupt

handler program

switches from user mode to kernel mode so that the

interrupt processing code may include privileged instructions

Page 30: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.8 Mechanisms for Interrupting the Execution of a Process

(System call)

Page 31: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

System InterruptsInterrupt

Due to some sort of event that is external to and independent of the currently running process

clock interrupt I/O interrupt memory fault

System Call Request for OS service

Trap An error or exception

condition generated within the currently running process

OS determines if the condition is fatal moved to the Exit

state and a process switch occurs

action will depend on the nature of the error

Page 32: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Interrupts, Mode Switches & Context

Switches Whenever an interrupt, trap, or system call occurs the

operating system gains control of the program counter so it can handle the event that caused the interruption. This involves a mode switch

The OS identifies the event, processes it, and passes control to the scheduler which decides whether to resume the process that was running at the time of the interruption, or whether to move a new process to the running state. This involves a process switch (mode switch)

Page 33: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Switching The steps in

a full process switch are:

save the context of the

processor

update the process control

block of the process

currently in the Running state

move the process control

block of this process to the

appropriate queue

select another process for execution

update the process control

block of the process selected

update memory management

data structures

restore the context of the

processor to that which existed at

the time the selected process

was last switched out

If the currently running process is to be moved to another state (Ready, Blocked, etc.), then the OS must make substantial changes in its environment

Page 34: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

System Data Structures

One of the basic functions of the operating system is to manage a computer system’s resources. Fair sharing among all processes

Each OS has its own way of building tables to hold the necessary information, but in general there are certain basic needs. Track allocation of resources to processes

For example …

Page 35: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 36: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 37: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Memory Tables

Used to keep track of both main (real) and secondary (virtual) memory

Processes are maintained on secondary memory using some sort of virtual memory or simple swapping mechanism

Must include:

allocation of main memory to processes

allocation of secondary memory to processes

protection attributes of blocks of main or virtual

memoryinformation needed to

manage virtual memory

Page 38: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

I/O Tables

Used by the OS to manage the I/O devices and channels of the computer system

At any given time, an I/O device may be available or assigned to a particular process

If an I/O operation is in progress, the OS needs to know:• the status of the I/O

operation• the location in main

memory being used as the source or destination of the I/O transfer

Page 39: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

File Tables

File Tables provide information about The existence of files Their location on secondary memory Current status (open, closed, shared, …) Other necessary attributes.

The file management system may be largely independent of the basic operating system functions, or it may be highly integrated into the OS.

Page 40: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Tables

Contain an entry for each process. Direct or indirect information about

the process’s memory allocations, files, current I/O status, etc.

This information can be collected into a data structure known as the process image

Page 41: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.4 Typical Elements of a Process

Image

Heap Dynamically allocated memory

Page 42: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Control Block (PCB)

Revisited

Contains all information needed by the OS to manage the process

Typical contents: A process identifier Pointers to information about memory

allocations Storage locations for register contents Process state …

Page 43: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.5

Typical

Elements

of a

Process

Control

Block (page 1 of 2)

(Table is located on page 129 in the textbook)

Page 44: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.5

Typical

Elements of

a Process

Control Block

(page 2 of 2)

(Table is located on page 129 in the textbook)

Page 45: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Identification

Each process is assigned a unique numeric identifier (the pid)

Tables controlled by the OS may use process identifiers to cross-reference process tables

When processes communicate with one another, the process identifier informs the OS of the destination of a particular communication

When processes are allowed to create other processes, identifiers indicate the parent and descendents of each process

Page 46: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Processor State Information

Contents of processor registers: User visible Control & status Stack pointers

Program Status Word (PSW):

contains condition codes plus other status information

EFLAGS register is an example of a PSW used by any OS running on an x86 processor

Page 47: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 48: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.6

Pentium

EFLAGS

Register

Bits

(Table is located on page 131 in the textbook)

Page 49: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 50: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.7

Typical

Functions

of an

Operating

System

Kernel

Page 51: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Creation Once the OS decides to create a new

process it:assigns a unique process identifier to the new process

allocates space for the process

initializes the process control block

sets the appropriate linkages

creates or expands other data structures

Page 52: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Execution of the

Operating System

Page 53: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Execution Within User Processes

Page 54: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Unix SVR4 Uses the model where most of the OS executes within the

environment of a user process

System processes run in kernel mode executes operating system code to perform administrative

and housekeeping functions

User Processes operate in user mode to execute user programs and utilities operate in kernel mode to execute instructions that belong to

the kernel enter kernel mode by issuing a system call, when an exception

is generated, or when an interrupt occurs

Page 55: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.9 UNIX Process

States

Page 56: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles
Page 57: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table

3.10

UNIX

Proce

ss

Image

(Table is located on page 144 in the textbook)

Page 58: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table

3.11

UNIX

Process

Table

Entry

(Table is located on page 145 in the textbook)

Page 59: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Table 3.12

UNIX U

Area

(Table is located on page 146 in the textbook)

Page 60: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Process Creation

Process creation is by means of the kernel system call, fork( )

This causes the OS, in Kernel Mode, to:

1• Allocate a slot in the process table for the new

process

2• Assign a unique process ID to the child process

3• Make a copy of the process image of the parent,

with the exception of any shared memory

4

• Increments counters for any files owned by the parent, to reflect that an additional process now also owns those files

5• Assigns the child process to the Ready to Run state

6• Returns the ID number of the child to the parent

process, and a 0 value to the child process

Page 61: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

After Creation After creating the process the Kernel can do one

of the following, as part of the dispatcher routine:

stay in the parent process transfer control to the child process transfer control to another process

Page 62: Chapter 3 Process Description and Control Eighth Edition By William Stallings Operating Systems: Internals and Design Principles

Summary What is a process?

Background Processes and process control

blocks

Process states Two-state process model Creation and termination Five-state model Suspended processes

Process description Operating system control

structures Process control structures

Process control Modes of execution Process creation Process switching

Execution of the operating system Nonprocess kernel Execution within user processes Process-based operating system

UNIX SVR4 process management Process states Process description Process control