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

Slides:



Advertisements
Similar presentations
Abhinav Kamra Computer Science, Columbia University 4.1 Operating System Concepts Silberschatz, Galvin and Gagne  2002 Chapter 4: Processes Process Concept.
Advertisements

Adapted from slides ©2005 Silberschatz, Galvin, and Gagne Lecture 4: Processes.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Understand Process concept Process scheduling Creating.
Chapter 3: Processes.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
CMPT 300: Operating Systems I Ch 3: Processes Dr. Mohamed Hefeeda
1/30/2004CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
Process Concept n An operating system executes a variety of programs: –Batch system – jobs –Time-shared systems – user programs or tasks n Textbook uses.
Chapter 3: Processes. Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
Operating System Concepts
1/26/2007CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
CE Operating Systems Lecture 5 Processes. Overview of lecture In this lecture we will be looking at What is a process? Structure of a process Process.
Silberschatz and Galvin  Operating System Concepts Module 4: Processes Process Concept Process Scheduling Operation on Processes Cooperating.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Operation on Processes.
Process Management. Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication.
Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems.
Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server.
Chapter 3 Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Jan 19, 2005 Chapter 3: Processes Process Concept.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 4 Process Slide 1 Chapter 4 Process.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
AE4B33OSS Chapter 3: Processes. 3.2Silberschatz, Galvin and Gagne ©2005AE4B33OSS Chapter 3: Processes Process Concept Process Scheduling Operations on.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Outline n Process Concept n Process.
Chapter 3: Processes (6 th edition chap 4). 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
1 11/1/2015 Chapter 4: Processes l Process Concept l Process Scheduling l Operations on Processes l Cooperating Processes l Interprocess Communication.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating.
Processes. Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication.
11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original.
CS212: OPERATING SYSTEM Lecture 2: Process 1. Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 3 Operating Systems.
Chapter 3: Process-Concept. Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating.
3.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Overview: Process Concept Process Scheduling Operations on Processes.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Jan 19, 2005 Chapter 3: Processes Process Concept.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Chapter 3: Processes-Concept. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes-Concept Overview Process Scheduling.
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
Lecture 4: Processes & Threads. Lecture 4 / Page 2AE4B33OSS Silberschatz, Galvin and Gagne ©2005 Contents The concept of Process Process states and life-cycle.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 3: Processes Process Concept Process Scheduling Operations.
Chapter 3: Process-Concept. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 3: Process-Concept Process Concept Process Scheduling.
4.1 Operating System Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
Operating System Components) These components reflect the services made available by the O.S. Process Management Memory Management I/O Device Management.
Chapter 3: Process Concept
Topic 3 (Textbook - Chapter 3) Processes
Operating System Concepts
Process Management Presented By Aditya Gupta Assistant Professor
Processes Overview: Process Concept Process Scheduling
Chapter 3: Process Concept
Chapter 3: Processes.
Applied Operating System Concepts
Chapter 3: Processes.
Chapter 4: Processes Process Concept Process Scheduling
Lecture 2: Processes Part 1
Recap OS manages and arbitrates resources
Process & its States Lecture 5.
Chapter 3: Processes.
Operating System Concepts
Presentation transcript:

Chapter 2 Processes 1

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

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)

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 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 Diagram of Process State

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 A Seven-state Process Model

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

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 CPU Switch From Process to Process

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 Ready Queue And Various I/O Device Queues

14 Representation of Process Scheduling

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 Life cycle of a typical process

17 Addition of Medium Term Scheduling

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 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 Dispatcher at work

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 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 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 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 A fork() System Call

26 Process Creation

27 A exec() System Call

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 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 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 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 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 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 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 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 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 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 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.