chapter 3 process description and control l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter 3: Process Description and Control PowerPoint Presentation
Download Presentation
Chapter 3: Process Description and Control

Loading in 2 Seconds...

play fullscreen
1 / 41

Chapter 3: Process Description and Control - PowerPoint PPT Presentation


  • 235 Views
  • Uploaded on

Chapter 3: Process Description and Control CS 472 Operating Systems Indiana University – Purdue University Fort Wayne Typical processes Batch job Perhaps a background application Interactive process Operating system function Monitor performance I/O manager Spawned subprocesses

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter 3: Process Description and Control' - arleen


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter 3 process description and control

Chapter 3: Process Description and Control

CS 472 Operating Systems

Indiana University – Purdue University Fort Wayne

typical processes
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
recall
Recall . . .
  • A process consists of
    • Activity
    • Data
    • Execution context
  • The execution context includes all information the operating system needs to manage the process
the execution context includes
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
process control block pcb
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
recall6
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
process switching
Process switching

I/O request

timer interrupts

Process A

Process B

Process C

Dispatcher

time

Interleaved execution of processes on a single processor

seven state process model
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
seven state process model9
Seven-state process model

Note: all states but New have an implicit transition to Exit

additonal states
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
additonal states11
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
reasons to suspend a process
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.
implementation
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
implementation17
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
memory tables keep track of
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
i o tables
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?
file tables
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
process table
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)
process control block
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
process identifiers
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
processor state info hardware pcb
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
process control information
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
process control information27
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
process control information28
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
execution modes
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
execution modes30
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
mode switch
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
mode switch32
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
typical causes for a mode switch
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
process switch
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
process switch35
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
relationship of the os to processes
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
unix svr4 process management
UNIX SVR4 process management
  • Most of the operating system executes within the environment of a user process
unix process states40
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