Chapter 2.1 : Processes - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 2.1 : Processes

Description:

A process (task) is the activity resulting from the execution of a program with ... completion: by operator, by parent); Internal completion (error, time overrun) ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 16
Provided by: fpayid
Category:

less

Transcript and Presenter's Notes

Title: Chapter 2.1 : Processes


1
Chapter 2.1 Processes
  • Process concept
  • Process scheduling
  • Interprocess communication
  • Threads

2
What is a Process?
  • A process (task) is the activity resulting from
    the execution of a program with its data on a
    sequential processor
  • A process is an abstract form of a program

3
Sequential Execution
  • Programs are run one after the other (run to
    completion)

4
Concurrent Execution
  • All programs execute concurrently (share the time
    of the CPU)

5
How to Implement Concurrency?
  • Separate a program into code, data and
    environment (Process table) segments
  • Process table contains all the necessary data to
    stop and restart a process at any time

6
Process Table (PCB - Process Control Block)
  • Contents of registers
  • Program counter
  • PSW (Program Status Word)
  • Process state
  • Pointers to code and data
  • Process identifier (PID)
  • Process priority
  • File descriptors
  • Pointer to the parent of the process
  • Pointers to all children of the process
  • The processor it is running on

7
Switching Processes
  • Save the real world of the currently active
    process in process table
  • Restore the real world from the process table
    of the selected process (the one to be executed
    next)

8
System Process Tables
Process Tables
Code
Process
Data
Stack
9
Shared Code
  • The shared code must be re-entrant (ie., it must
    not modify itself)

10
Process States
PREEMPT
Create
Ready
SCHEDULE
CONTINUE
Blocked
SUSPEND
Terminate
11
Process States
  • Create
  • A process is created by an existing process
    (parent/child) a process is created by a
    service, or as a new batch job, or an interactive
    logon
  • Terminate
  • Normal completion (exit) External completion
    (forced completion by operator, by parent)
    Internal completion (error, time overrun)
  • Schedule
  • A process is selected out of the ready queue (is
    scheduled) and dispatched to the running state
  • Preempt
  • The running process is preempted because some
    other process of higher priority has become ready
    (or it yields)

12
Process States
  • Suspend
  • A process starts a time consuming IO operation,
    or is swapped out, or makes a spontaneous request
    to sleep, or is blocked in a synchronization
    operation. When a process is suspended, it is on
    some queue, namely the queue of all the processes
    waiting for the same resource. Processes during
    their life move from queue to queue, with stays
    in the running state
  • Continue
  • The inverse of Suspension the resource requested
    becomes available (timer, IO completes,
    unblocking)

13
How to Create New Processes? Fork Exec
  • fork
  • create a new process that is a copy of current
    one
  • exec
  • change the program that a process is executing
  • Some systems combine the two into one

14
A Simple Shell
  • void main()
  • int child
  • if ( (child fork())-1 )
  • return( -1 )
  • else
  • if ( child0 )
  • printf( "This is the child executing\n")
  • exit(1)
  • printf( "This is the parent\n" )

15
Parent Child Relationship
  • root is the parent
  • p1, p2 and p3 are children of root process
  • p4 and p5 are children of p3
Write a Comment
User Comments (0)
About PowerShow.com