Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 Processes 1. 22 Processes Topics Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication.

Similar presentations


Presentation on theme: "Chapter 2 Processes 1. 22 Processes Topics Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication."— Presentation transcript:

1 Chapter 2 Processes 1

2 22 Processes Topics Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication

3 33 Process Concept An operating system executes a variety of programs: –Batch system – jobs –Time-shared systems – user programs or tasks Process – a program in execution; process execution must progress in sequential fashion A process includes: –program counter (Current activity) –Stack (Temporary Data) –data section (Global Variables)

4 44 Why Have Processes?  Resource sharing ( logical (files) and physical (hardware) ).  Computation speedup - taking advantage of multiprogramming – i.e. example of a customer/server database system.  Modularity for protection.

5 5 Process State As a process executes, it changes state – New : The process is being created. – Running : Instructions are being executed. – Waiting : The process is waiting for some event to occur. (I/O Completion or reception of a signal). – Ready : The process is waiting to be assigned to a processor. – Suspended: Another process has explicitly told this process to sleep. It will be awakened when a process explicitly awakens it. – Terminated : The process has finished execution. Only one process can be running on any processor at any instant.

6 6 Diagram of Process State

7 7 Suspended state and swapping  Suspended : Another process has explicitly told this process to sleep. It will be awakened when a process explicitly awakens it. So far, all the processes had to be (at least partly) in main memory The OS may need to suspend some processes, ie: to swap them out to disk. We add 2 new states: Blocked Suspend : blocked processes which have been swapped out to disk Ready Suspend : ready processes which have been swapped out to disk

8 8 A Seven-state Process Model

9 9 New state transitions (mid-term scheduling) Blocked --> Blocked Suspend –When all processes are blocked, the OS will make room to bring a ready process in memory Blocked Suspend --> Ready Suspend –When the event for which it has been waiting occurs (state info is available to OS) Ready Suspend --> Ready –when no more ready process in main memory Ready--> Ready Suspend (unlikely) –When there are no blocked processes and must free memory for adequate performance

10 Contains Information Associated With Each Process: It's a data structure holding:  PC, CPU registers,  memory management information,  Accounting ( Amount of CPU used, ID,... )  I/O status ( such as file resources ),  scheduling data ( relative priority, etc. )  Process State (so running, suspended, etc. is simply a field in the PCB ) Process Control Block (PCB)

11 11 CPU Switch From Process to Process

12 12 Process Scheduling Queues Job queue – set of all processes entered in the system. Ready queue –Set of all processes residing in main memory, and are ready and waiting to execute. –Header will contain pointers to the first and last PCBs in the list. Device queues – set of processes waiting for an I/O device. Process migration between the various queues.

13 13 Ready Queue And Various I/O Device Queues

14 14 Representation of Process Scheduling

15 15 Schedulers Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue. Medium-term scheduling –Swaps processes out to secondary storage –Scheduling involves suspending or resuming processes by swapping (rolling) them out of or into memory. Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU.

16 16 Life cycle of a typical process

17 17 Addition of Medium Term Scheduling

18 18 Schedulers (Cont.) Short-term scheduler is invoked very frequently (milliseconds)  (must be fast). Long-term scheduler is invoked very infrequently (seconds, minutes)  (may be slow). The long-term scheduler controls the degree of multiprogramming. Processes can be described as either: –I/O- bound process – spends more time doing I/O than computations, many short CPU bursts. – CPU - bound process – spends more time doing computations; few very long CPU bursts.

19 19 Dispatcher (short-term scheduler) Swaps processes out to secondary storage. It prevents a single process from monopolizing processor time. It decides who goes next according to a scheduling algorithm. (chapter 6) The CPU will always execute instructions from the dispatcher while switching from process A to process B.

20 20 Dispatcher at work

21 21 Context Switch When an event occurs, the operating system saves the state of the active process and restores the state of the interrupt service routine (ISR ). This mechanism is called a Context Switch. What must get saved? Everything that the next process could or will damage. For example: –Program counter –CPU registers –File access pointer –Memory While saving the state, the operating system should mask (disable) all interrupts.

22 22 Memory: to save or NOT to save Here are the possibilities: Save all memory onto disk. –Could be very time-consuming. E.g., assume data transfers to disk at 1MB/sec. How long does saving a 4MB process take? Don't save memory; trust next process. This is the approach taken by PCs. Isolate (protect) memory from next process. This is memory management,

23 23 Process Creation Parent process create children processes, which, in turn create other processes, forming a tree of processes. Resource sharing –Parent and children share all resources. –Children share subset of parent’s resources. –Parent and child share no resources. Execution –Parent and children execute concurrently. –Parent waits until children terminate.

24 24 Process Creation (Cont.) Address space –Child duplicate of parent. –Child has a program loaded into it. UNIX examples – fork system call creates new process – exec system call used after a fork to replace the process’ memory space with a new program.

25 25 A fork() System Call

26 26 Process Creation

27 27 A exec() System Call

28 28 Process Creation Parent process create children processes, which, in turn create other processes, forming a tree of processes. Processes Tree on a UNIX System

29 29 Process Termination Process executes its last statement and asks the operating system to delete it by using the exit system call. –Process may return data (output) to its parent (via wait system call). –Process ’ resources are deallocated by operating system. Parent may terminate execution of children processes (via system call abort ). –Child has exceeded allocated resources. –Task assigned to child is no longer required. –Parent is exiting, and the operating system does not allow a child to continue if its parent terminates.

30 30 Cooperating Processes Independent process cannot affect or be affected by the execution of another process. Cooperating process can affect or be affected by the execution of another process Advantages of process cooperation –Information sharing Several users may be interested in the same piece of information (a shared file).

31 31 Cooperating Processes (Contd..) –Computation speed-up We want a particular task to run faster, we must break it into subtasks, each of which will be executing in parallel with the others. (Multiple processing elements CPUs) –Modularity Construct the system in a modular fashion, dividing the system functions into separate processes. –Convenience An individual user may have many tasks to work on at one time. (Editing, printing and compiling in parallel).

32 32 Interprocess Communication (IPC) Mechanism for processes to communicate and to synchronize their actions. Message system – processes communicate with each other without resorting to shared variables. IPC facility provides two operations: – Send ( message ) – message size fixed or variable – Receive ( message )

33 33 Interprocess Communication (IPC) If P and Q wish to communicate, they need to: –establish a communication link between them –exchange messages via send/receive Implementation of communication link –physical (e.g., shared memory, hardware bus) –logical (e.g., logical properties)

34 34 Direct Communication Processes that wants to communicate must explicitly name the recipient or sender of comm. : – send ( P, message ) – send a message to process P – receive ( Q, message ) – receive a message from process Q Properties of communication link –Links are established automatically. –A link is associated with exactly one pair of communicating processes. –Between each pair there exists exactly one link. –The link may be unidirectional, but is usually bi- directional.

35 35 Indirect Communication Messages are directed and received from mailboxes (also referred to as ports). –Each mailbox has a unique id. –Processes can communicate only if they share a mailbox. Properties of communication link –Link established only if processes share a common mailbox –A link may be associated with many processes. –Each pair of processes may share several communication links. –Link may be unidirectional or bi-directional.

36 36 Indirect Communication Operations –create a new mailbox –send and receive messages through mailbox –destroy a mailbox Primitives are defined as: send ( A, message ) – send a message to mailbox A receive ( A, message ) – receive a message from mailbox A

37 37 Indirect Communication Mailbox sharing – P 1, P 2, and P 3 share mailbox A. – P 1, sends; P 2 and P 3 receive. –Who gets the message? Solutions –Allow a link to be associated with at most two processes. –Allow only one process at a time to execute a receive operation. –Allow the system to select arbitrarily the receiver. –Sender is notified who the receiver was.

38 38 Buffering Queue of messages attached to the link; implemented in one of three ways. 1.Zero capacity – 0 messages (Max. length = 0) Sender must wait until the recipient receives the message. 2.Bounded capacity – finite length of n messages at most n messages can reside in the queue. Sender must wait if link full. 3.Unbounded capacity – infinite length Sender never waits.


Download ppt "Chapter 2 Processes 1. 22 Processes Topics Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication."

Similar presentations


Ads by Google