Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Understand Process concept Process scheduling Creating.

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.
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
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.
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, Feb 7, 2006 Process Concept Process – a program.
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 ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
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.
Processes – Part I Processes – Part I. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Review on OSs Upon brief introduction of OSs,
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.
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 - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
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.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 8 Processes II Read Ch.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
XE33OSA Chapter 3: Processes. 3.2XE33OSASilberschatz, Galvin and Gagne ©2005 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes.
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.
Chapter 3: Processes.
Chapter 4: Processes Process Concept Process Scheduling
Lecture 2: Processes Part 1
Chapter 3: Processes.
Operating System Concepts
Chapter 3: Processes.
Chapter 3: Process Concept
Presentation transcript:

Chapter 3: Processes

3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Understand Process concept Process scheduling Creating and terminating processes Interprocess communication

3.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Concept An operating system executes a variety of programs: Batch system – jobs Time-shared systems – user programs or tasks The terms job and process are almost interchangeable Process – a program in execution; process execution must progress in sequential fashion A process includes: program counter stack data section

3.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process in Memory int global = 0; int main (int arg) { float local; char *ptr; ptr = malloc(100); local = 0; local += 10*5; ….. …. foo(); …. /* return addr */ …. return 0; } Dynamically allocated Global variables Program code Local variables Return address

3.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts 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 ready: The process is waiting to be assigned to a process terminated: The process has finished execution

3.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Control Block (PCB) OS maintains info about process in PCB Process state Program counter CPU registers CPU scheduling information Memory-management information Accounting information I/O status information Typically, a large C structure in the kernel Linux: struct task_struct Used extensively to manage processes E.g., to switch CPU from one process to another

3.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts CPU Switch From Process to Process (Context Switch) When switching occurs, kernel Saves state of P 0 in PCB 0 (in memory) Loads state of P 1 from PCB 1 into registers State = values of the CPU registers, including the program counter, stack pointer

3.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Context Switch Context-switch time is pure overhead; no useful work is done The switching time depends on the hardware support Some systems (Sun UltraSPARC) provide multiple register sets  very fast switching (just change a pointer) Typical systems, few milliseconds for switching

3.9 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Job Types Jobs (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

3.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Scheduling: The Big Picture Consider a large computer system to which many jobs are submitted Initially, jobs go to the secondary storage (disk) Then, job scheduler chooses some of them to go to the memory (ready queue) Then, CPU scheduler chooses from the ready queue a job to run on the CPU Medium-term scheduler may move (swap) some partially-executed jobs from memory to disk (to enhance performance)

3.11 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Scheduling: The Big Picture (cont’d) Disk Jobs Job sched.CPU sched. Midterm sched. In most small and interactive systems (UNIX, WinXP, …), only the CPU scheduler exists

3.12 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Schedulers Long-term scheduler (or job scheduler) Selects which processes should be brought into ready queue Controls the degree of multiprogramming Invoked infrequently (seconds, minutes)  (can be slow) Should maintain a ‘good mix’ of CPU-bound and I/O-bound jobs in the system Short-term scheduler (or CPU scheduler) selects which process should be executed next and allocates CPU Short-term scheduler is invoked very frequently (milliseconds)  (must be fast) Medium-term scheduler Swap processes in and out of the ready queue to enhance performance (i.e., maintain the good mix of jobs)

3.13 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Scheduling Queues Processes migrate among various queues Job queue – set of all processes in the system Ready queue – set of all processes residing in main memory, ready and waiting to execute Device queues – set of processes waiting for an I/O device

3.14 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Lifetime

3.15 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Creation Parent process creates children processes, which, in turn create other processes, forming a tree of processes Execution Parent and children execute concurrently Parent waits until children terminate Resource sharing can take the form (depending on the OS): Parent and children share all resources Children share subset of parent’s resources Parent and children share no resources

3.16 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Creation: Unix Example Process creates another process (child) by using fork system call Child is a copy of the parent Typically, child loads another program into its address space using exec system Parent waits for its children to terminate

3.17 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts C Program Forking Separate Process int main() { pid_t pid; pid = fork(); /* fork another process */ if (pid < 0) { /* error occurred */ fprintf (stderr, "Fork Failed"); exit(-1); } else if (pid == 0) { /* child process */ execlp ("/bin/ls", "ls", NULL); } else { /* parent process */ /* parent will wait for child to complete */ wait (NULL); printf ("Child Complete"); exit(0); } Note: fork returns 0 to child and the pid of the new process to parent.

3.18 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts A tree of processes on a typical Solaris

3.19 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Process Termination Process executes last statement and asks the operating system to delete it (exit) Output data from child to parent (via wait) Process’ resources are deallocated by operating system Parent may terminate execution of children processes (abort) Child has exceeded allocated resources Task assigned to child is no longer required If parent is exiting  Some operating system do not allow child to continue if its parent terminates – All children terminated - cascading termination

3.20 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Cooperating Processes Cooperating process can affect or be affected by the execution of another process Why processes cooperate? Information sharing Computation speed-up Modularity, Convenience Interprocess Communications (IPC) methods Shared memory Message passing

3.21 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Interprocess Communications Models Message Passing Shared Memory

3.22 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts IPC: Shared Memory Processes communicate by creating a shared place in memory One process creates a shared memory—shmget() Other processes attach shared memory to their own address space—shmat() Then, shared memory is treated as regular memory Synchronization is needed to prevent concurrent access to shared memory (conflicts) Pros Fast (memory speed) Convenient to programmers (just regular memory) Cons Need to manage conflicts (tricky for distributed systems)

3.23 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts IPC: Message Passing If processes P and Q wish to communicate, they need to: establish a communication channel between them exchange messages via:  send (message) – message size fixed or variable  receive (message) Pros No conflict  easy to exchange messages especially in distributed systems Cons Overhead (message headers) Slow  prepare messages  Kernel involvement: sender  kernel  receiver (several system calls)

3.24 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts IPC: Message Passing (cont’d) Communication channel can be Direct: Processes must name each other explicitly:  send (P, message) – send a message to process P  receive (Q, message) – receive a message from process Q Indirect: Processes communicate via mailboxes (or ports)  Messages are sent to and received from mailboxes  Each mailbox has a unique id – Send (A, message) – send a message to mailbox A – Receive (A, message) – receive a message from mailbox A

3.25 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts IPC: Message Passing (cont’d) Synchronization: message passing is either Blocking (or synchronous)  send () has the sender block until the message is received  receive () has the receiver block until a message is available Non-blocking (or asynchronous)  send () has the sender send the message and continue  receive () has the receiver receive a valid message or null Buffering: Queue of messages attached to the comm. channel Zero capacity – Sender must wait for receiver (rendezvous) Bounded capacity – Sender must wait if link full Unbounded capacity – Sender never waits

3.26 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Summary Process is a program in execution OS maintains process info in PCB Process State diagram Creating and terminating processes (fork) Process scheduling Long-, short-, and medium-term schedulers Scheduling queues Interprocess communication Shared memory Message passing