Chapter 3: Process Description and Control - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Chapter 3: Process Description and Control

Description:

Perhaps a background application. Interactive process. Operating ... Additonal states. New. The process control block of the new process ... Additonal states ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 42
Provided by: markt2
Category:

less

Transcript and Presenter's Notes

Title: Chapter 3: Process Description and Control


1
Chapter 3 Process Description and Control
  • CS 472 Operating Systems
  • Indiana University Purdue University Fort Wayne

2
Typical processes
  • Batch job
  • Perhaps a background application
  • Interactive process
  • Operating system function
  • Monitor performance
  • I/O manager
  • Spawned subprocesses
  • Children of a parent process

3
Recall . . .
  • A process consists of
  • Activity
  • Data
  • Execution context
  • The execution context includes all information
    the operating system needs to manage the process

4
The execution context includes . . .
  • Identifier
  • Processor state (hardware PCB)
  • Registers
  • Program counter
  • Stack pointer
  • PSW
  • Execution state (running, ready, blocked)
  • Priority and privilege
  • Memory pointers
  • I/O status information
  • Accounting information

5
Process Control Block (PCB)
  • Data structure containing the execution context
  • Contains sufficient information to allow the
    process to be interrupted and later resumed
  • Created and managed by the operating system
  • Allows support for multiple processes

6
Recall . . .
  • Each process has an execution state
  • Running
  • Executing on the processor
  • Ready
  • Ready to run
  • Waiting in a queue for time on the processor
  • Blocked
  • Waiting for an event to occur
  • Cannot run until the event happens
  • See next slide for a chronological scenario

7
Process switching
I/O request
timer interrupts
Process A
Process B
Process C
Dispatcher
time
Interleaved execution of processes on a single
processor
8
Seven-state process model
  • We have seen that a process may be
  • Running
  • Ready
  • Blocked
  • A typical state transition model includes four
    additional states
  • New
  • Exit
  • Ready/Suspended
  • Blocked/Suspended

9
Seven-state process model
Note all states but New have an implicit
transition to Exit
10
Additonal states
  • New
  • The process control block of the new process has
    been created
  • The process has not yet been admitted to the pool
    of executable processes
  • Perhaps sufficient resources do not yet exist
  • Exit
  • The process has been released from the pool of
    executable processes
  • Process information is available for performance
    analysis, accounting, or other clean up

11
Additonal states
  • Ready / Suspended
  • A ready process is completely swapped out to
    secondary memory
  • The process is inactive while in this state
  • Blocked / Suspended
  • A blocked process is completely swapped out to
    secondary memory waiting for an event
  • Event completion moves the process to the
    Ready/Suspended state

12
Reasons to suspend a process
  • To free memory for the remaining processes to use
  • This might be done to reduce the virtual memory
    page fault rate
  • A utility process may not be needed for a while
  • Perhaps only executed periodically
  • User request or parent process request
  • Lack of use
  • Deadlock among processes
  • Etc.

13
Reasons to terminate a process
14
Reasons to terminate a process
15
Implementation of Running, Ready, and Blocked
states
16
Implementation
  • In a large operating system, there may be
    hundreds of processes in the blocked state
  • It is more efficient to have one blocked queue
    for each event
  • Queue holds all processes associated with that
    event
  • Avoids the need to search for processes to
    release whenever an event occurs
  • Occurrence of the event releases all processes in
    the associated queue
  • If processes have priorities, there would be one
    ready queue for each priority level

17
Implementation
  • OS control system structures are needed to hold
    information about the current status of each
    process and resource
  • Tables are constructed for each entity the
    operating system manages

18
Memory tables keep track of . . .
  • Main memory allocated to the OS and the various
    processes
  • Secondary memory allocated to each process
  • Any allocated shared memory
  • This includes protection attributes for access to
    shared memory regions
  • Information needed to manage virtual memory
  • In paged virtual memory, this includes the page
    tables of the various processes

19
I/O tables
  • Availability of each I/O device
  • Is the device assigned to a process?
  • If so, which process is the owner?
  • Status of I/O operations
  • What is the location in main memory being used as
    the source or destination of the I/O transfer?
  • Which process is associated with the I/O
    operation?

20
File tables
  • File tables provide information about . . .
  • Existence of files
  • Location on secondary memory
  • Current status
  • Closed or open
  • If open, by which process?
  • Attributes
  • Sometimes this information is maintained by a
    file management system

21
Process table
  • Maintains the process image data structure for
    each process
  • The process image includes . . .
  • User data
  • User activity (program)
  • System stack (more user data)
  • Local variables
  • Parameters
  • Process control block (PCB)

22
Operating system control tables
23
Process control block
  • The process control block was discussed earlier
    in simplified form
  • In more detail, the elements of the PCB are . . .
  • Process identifiers
  • Processor state information (hardware PCB)
  • User-visible registers
  • Control and status registers
  • Stack pointers
  • Process control information
  • Scheduling and state information
  • Related processes
  • Interprocess communication information
  • Process privileges
  • Memory management information
  • Resource ownership and utilization

24
Process identifiers
  • Identifiers that may be stored with the process
    control block include
  • Internal identifier of this process
  • Identifier of the process that created this
    process (parent process)
  • User identifier

25
Processor state info (hardware PCB)
  • User-visible registers
  • Control and status registers
  • Program counter (PC)
  • Process status word (PSW) containing . . .
  • Condition codes
  • Result of the most recent arithmetic or logical
    operation
  • For example sign, zero, carry, equal, overflow
  • Status information such as . . .
  • Trap enable bits for various traps (overflow,
    underflow, trace)
  • Interrupt priority level
  • Execution mode (user, kernel)
  • Interrupt enable / disable bit
  • Stack pointer (SP)
  • Possibly one SP for each execution mode

26
Process control information
  • Scheduling and state information
  • Process execution state
  • Running, ready, blocked, ready/suspended, etc.
  • Priority relative to other processes
  • Scheduling-related information
  • The details are specific to each scheduling
    algorithm used
  • For example, the length of time that the process
    has been waiting
  • Events
  • Identification of the events that must occur
    before the process can be resumed

27
Process control information
  • Related processes
  • A process may be linked to other processes in a
    queue, ring, etc.
  • A process may exhibit a parent-child
    (creator-created) relationship with another
    process
  • The process control block may contain pointers to
    other processes that support these relationships
  • Interprocess communication (IPC) information
  • Various flags, signals, and messages may be
    associated with communication between two
    separate processes
  • Some or all of this information may be maintained
    in the process control block

28
Process control information
  • Process privileges
  • Memory that may be accessed
  • The types of instructions that may be executed
  • Allowed system utilities and services
  • Memory management information
  • References to segment and/or page tables that
    describe the virtual memory assigned to this
    process
  • Resource ownership and utilization
  • Open files
  • Devices currently controlled
  • History of utilization of the processor or other
    resources
  • This may be needed by the scheduler

29
Execution modes
  • Systems typically have two execution modes
  • User mode
  • Less-privileged mode
  • User programs typically execute in this mode
  • Kernel mode
  • More-privileged mode
  • Kernel of the operating system executes in this
    mode
  • Also called system mode or control mode

30
Execution modes
  • A user-mode process may run in kernel mode when
    necessary
  • The way this is possible is summarized below
  • The user-mode process executes a change-mode
    instruction
  • This a special supervisor call instruction
  • The change-mode instruction has an integer
    operand indicating a specific OS supervisor
    routine to be activated
  • The supervisor routine runs in kernel mode
  • For example, it may control a device
  • When done, the supervisor routine executes a
    special return instruction that changes the
    processor mode back to user mode
  • In this way, a user-mode process may temporarily
    gain necessary privilege in a controlled manner

31
Mode switch
  • An interrupt or supervisor call typically results
    in a mode switch to the interrupt handler or
    supervisor routine
  • Also called a context switch
  • A mode switch is typically hardware implemented
  • Efficient to perform
  • Easy to restore the old mode (context)
  • The running process does not undergo a change of
    state from Running to Ready as a result of a mode
    switch

32
Mode switch
  • What is involved
  • The hardware context (hardware PCB) of the
    interrupted process is saved
  • The hardware PCB is loaded with a new context
    associated with the appropriate interrupt handler
    or supervisor call

33
Typical causes for a mode switch
  • Clock interrupt
  • The process has executed for the maximum
    allowable time slice
  • I/O interrupt
  • Memory fault (or page fault)
  • There is a reference to a page in virtual memory
    that has not been loaded into main memory
  • Trap
  • Error or exception occurred
  • This may cause process to be moved to the Exit
    state
  • Supervisor call
  • For example, to open a file

34
Process switch
  • In contrast to a mode switch, during a process
    switch the running process does undergo a change
    of state
  • Examples
  • Running to Ready
  • Running to Blocked
  • A process switch is performed by operating system
    software

35
Process switch
  • What is involved
  • A mode switch is performed to an interrupt
    handler or supervisor routine
  • The handler/routine updates software PCB of
    running process
  • Running process is moved to appropriate queue for
    its new state
  • Ready, Blocked, Ready/Suspended, etc.
  • A new process is selected to run next
  • The software PCB for the new process is updated
  • The new process is removed from its queue
    (typically Ready)
  • Memory-management data structures are updated if
    needed
  • A mode switch is performed from interrupt handler
    or supervisor routine to the new process

36
Relationship of the OS to processes
  • Is the OS kernel a process?
  • Options
  • Non-process kernel
  • The OS kernel operates outside of every process
  • Operating system code is executed as a separate
    entity that operates in kernel mode
  • Execution within user processes
  • Except for process switching activity, the OS
    kernel executes in the context of the current
    user process
  • The OS code is in an shared area of virtual
    memory accessible to all processes
  • Supervisor call overhead is just two mode
    switches
  • Not two process switches
  • Process-based operating system
  • Except for process switching activity, the OS is
    a collection of processes
  • Cleaner architecture in a multiprocessor or
    multicomputer system

37
(No Transcript)
38
UNIX SVR4 process management
  • Most of the operating system executes within the
    environment of a user process

39
UNIX process states
40
UNIX process states
  • The states Preempted and Ready to run in
    memory are really the same (same queue)
  • Reason for dotted line
  • Preemption can only occur when a process is about
    to move from kernel mode to user mode
  • Perhaps a higher priority process has become
    ready
  • While a process is running in kernel mode, it may
    not be preempted
  • This makes UNIX in this form unsuitable for
    real-time processing

41
UNIX process states
Write a Comment
User Comments (0)
About PowerShow.com