Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 2.1 : Processes Process concept Process concept Process scheduling Process scheduling Interprocess communication Interprocess communication Threads.

Similar presentations


Presentation on theme: "1 Chapter 2.1 : Processes Process concept Process concept Process scheduling Process scheduling Interprocess communication Interprocess communication Threads."— Presentation transcript:

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

2 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 (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 A process is an abstract form of a program

3 3 Sequential Execution Programs are run one after the other (run to completion) Programs are run one after the other (run to completion) Program 2Program 1Program 3 Start Terminate

4 4 Concurrent Execution All programs execute concurrently (share the time of the CPU) All programs execute concurrently (share the time of the CPU) Program 2Program 1Program 3 Start Terminate Start Terminate

5 5 How to Implement Concurrency? Separate a program into code, data and environment (Process table) segments 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 Process table contains all the necessary data to stop and restart a process at any time Start Terminate Start Terminate Code 1 Data 1 PCB 1 Code 2 Data 2 PCB 2 Code 3 Data 3 PCB 3

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

7 7 Switching Processes Save the “real world” of the currently active process in process table 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) Restore the “real world” from the process table of the selected process (the one to be executed next)

8 8 System Process Tables Process Tables Code Data Stack Process

9 9 Shared Code The shared code must be re-entrant (ie., it must not modify itself) The shared code must be re-entrant (ie., it must not modify itself) Shared Code Data 1 PCB 1 Data 2 PCB 2

10 10 Process States Ready Blocked Running Terminate Create SUSPEND CONTINUE SCHEDULE PREEMPT

11 11 Process States Create 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 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 Terminate Normal completion (exit); External completion (forced completion: by operator, by parent); Internal completion (error, time overrun) Normal completion (exit); External completion (forced completion: by operator, by parent); Internal completion (error, time overrun) Schedule Schedule A process is selected out of the ready queue (is scheduled) and dispatched to the running state A process is selected out of the ready queue (is scheduled) and dispatched to the running state Preempt Preempt The running process is preempted because some other process of higher priority has become ready (or it yields) The running process is preempted because some other process of higher priority has become ready (or it yields)

12 12 Process States Suspend 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 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 Continue The inverse of Suspension: the resource requested becomes available (timer, IO completes, unblocking) The inverse of Suspension: the resource requested becomes available (timer, IO completes, unblocking)

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

14 14 A Simple Shell void main() { int child; if ( (child = fork())==-1 ) return( -1 ); return( -1 );else if ( child==0 ) { printf( "This is the child executing\n"); exit(1);} printf( "This is the parent\n" ); }

15 15 Parent Child Relationship root is the parent root is the parent p1, p2 and p3 are children of root process p1, p2 and p3 are children of root process p4 and p5 are children of p3 p4 and p5 are children of p3 root p5 p3 p4 p2 p1


Download ppt "1 Chapter 2.1 : Processes Process concept Process concept Process scheduling Process scheduling Interprocess communication Interprocess communication Threads."

Similar presentations


Ads by Google