Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original.

Similar presentations


Presentation on theme: "11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original."— Presentation transcript:

1 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides by Silberschatz, Galvin, and Gagne ©2007 from Operating System Concepts with Java, 7th Edition with some modifications –Also includes material by Dr. Susan Vrbsky from the Computer Science Department at the University of Alabama

2 11/13/20152 Process Concept The main components of a process include –Program counter (instruction pointer – IP register) Contains the address of the next instruction in the program Also has other data in the CPU’s registers –Data section Global data (static variables in Java) –Code section All the code in a program –Stack (runtime stack) Temporary data for method calls such as parameters, return address, local variables, and return value –Heap Dynamically allocated memory for a running process The data for Java objects is stored here

3 11/13/20153 Process Concept A process is a program in execution –Textbook uses the terms job and process almost interchangeably –The main components of a process include Program counter (instruction pointer – IP register) Data section Code section Stack Heap

4 11/13/2015 4 Process Management A process is a program in execution. –It is a unit of work within the system. A program is a passive entity, process is an active entity. Process needs resources to accomplish its task –CPU, memory, I/O, files Process termination requires reclaim of any reusable resources

5 11/13/20155 Process in Memory

6 11/13/20156 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 processor –terminated: The process has finished execution

7 11/13/20157 Diagram of Process State

8 11/13/20158 Process Control Block (PCB) Information associated with each process is stored in a process control block (PCB) Information includes 1.Process state New, ready, running, waiting, etc. 2.Program counter Register containing the address of the next instruction 3.CPU registers Different registers contain sums, index to array elements, runtime stack addresses, etc.

9 11/13/20159 Process Control Block (PCB) Information includes 4.CPU scheduling information Such information as process priority, addresses to scheduling queues (lines), etc. 5.Memory-management information Information about where the data is stored 6.Accounting information Time limits, account numbers, process numbers, etc. 7.I/O status information List of I/O devices, open files, etc.

10 11/13/201510 Process Control Block (PCB)

11 11/13/201511 Process to Process CPU Switch

12 11/13/201512 Process Scheduling Queues Processes migrate among the 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 Note that queue is a fancy word for line –As in a line (queue) of people waiting to buy movie tickets

13 11/13/201513 Ready Queue And Various I/O Device Queues

14 11/13/201514 Schedulers Long-term scheduler (or job scheduler) –selects which processes should be brought into the ready queue Short-term scheduler (or CPU scheduler) –selects which process should be executed next and allocates the CPU to one of them Medium-term scheduler –remove process from memory to disk and later returns the process back to memory (swapping) helps to free up memory

15 11/13/201515 Schedulers Short-term scheduler is invoked very frequently –In milliseconds, because must be fast Long-term scheduler is invoked very infrequently –In seconds, or minutes, because may be slow –The long-term scheduler controls the degree of multiprogramming (number of processes in memory) Long-term scheduler may only need to be invoked when a process leaves the system

16 11/13/201516 Schedulers Processes can be described as either 1.I/O-bound process Spends more time doing I/O than computations, many short CPU bursts 2.CPU-bound process spends more time doing computations; few very long CPU bursts Long-term scheduler balances the system –By selecting a good process mix of both I/O- bound and CPU-bound processes

17 11/13/201517 Context Switch When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process –Context-switch time is pure overhead the system does no useful work while switching –Time dependent on hardware support

18 11/13/201518 PID On the UNIX & Windows operating systems, each process is assigned a unique number –Called a process identifier (PID) UNIX command to list user processes –ps UNIX command to list all processes –ps -el –To view the processes on the Windows, press the three keys ctrl-alt-delete Then press Task Manager

19 11/13/201519 Process Creation Parent process create children processes, which, in turn create other processes, forming a tree of processes Three possibilities for Resource sharing –Parent and children share all resources –Children share subset of parent’s resources –Parent and child share no resources

20 11/13/201520 A tree of processes on a typical Solaris The Solaris Operating System is a Unix-based operating system by Sun Microsystems

21 11/13/201521 Process Creation (Cont.) Two possibilities for execution –Parent and children execute concurrently –Parent waits until children terminate Two possibilities for address space –Child duplicate of parent –Child has a program loaded into it

22 11/13/201522 Process Termination Process executes last statement and asks the operating system to delete it (exit) –Status value returned to parent process –Process resources are deallocated by OS 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

23 11/13/201523 Interprocess Communication Mechanisms to allow processes to communicate 1.shared memory two processes read & write to the shared region 2.message passing two processes exchange data with messages

24 11/13/201524 Interprocess Communication Message PassingShared Memory

25 11/13/201525 Shared Memory Producer-Consumer Problem –Paradigm for cooperating processes, producer process produces information that is consumed by a consumer process –For example, a web server produces HTML files & images, which a web browser consumes unbounded-buffer places no practical limit on the size of the buffer bounded-buffer assumes that there is a fixed buffer size

26 11/13/201526 Message Passing Processes communicate with each other without resorting to shared variables Message passing facility provides two operations: –send(message) – message size can be fixed or variable –receive(message) If P and Q wish to communicate, they need to: –establish a communication link between them –exchange messages via send/receive For example, a chat program on the Internet communicates by exchanging messages


Download ppt "11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original."

Similar presentations


Ads by Google