11/13/20151 processes ics 240: operating systems –william albritton information and computer...
TRANSCRIPT
![Page 1: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/1.jpg)
04/20/23 1
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
![Page 2: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/2.jpg)
04/20/23 2
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
![Page 3: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/3.jpg)
04/20/23 3
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
![Page 4: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/4.jpg)
04/20/2304/20/23 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
![Page 5: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/5.jpg)
04/20/23 5
Process in Memory
![Page 6: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/6.jpg)
04/20/23 6
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
![Page 7: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/7.jpg)
04/20/23 7
Diagram of Process State
![Page 8: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/8.jpg)
04/20/23 8
Process Control Block (PCB)
• Information associated with each process is stored in a process control block (PCB)
• Information includes1. 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.
![Page 9: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/9.jpg)
04/20/23 9
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.
![Page 10: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/10.jpg)
04/20/23 10
Process Control Block (PCB)
![Page 11: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/11.jpg)
04/20/23 11
Process to Process CPU Switch
![Page 12: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/12.jpg)
04/20/23 12
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
![Page 13: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/13.jpg)
04/20/23 13
Ready Queue And Various I/O Device Queues
![Page 14: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/14.jpg)
04/20/23 14
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
![Page 15: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/15.jpg)
04/20/23 15
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
![Page 16: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/16.jpg)
04/20/23 16
Schedulers
• Processes can be described as either1. 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
![Page 17: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/17.jpg)
04/20/23 17
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
![Page 18: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/18.jpg)
04/20/23 18
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
![Page 19: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/19.jpg)
04/20/23 19
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
![Page 20: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/20.jpg)
04/20/23 20
A tree of processes on a typical Solaris•The Solaris Operating System is a Unix-based operating system by Sun Microsystems
![Page 21: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/21.jpg)
04/20/23 21
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
![Page 22: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/22.jpg)
04/20/23 22
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
![Page 23: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/23.jpg)
04/20/23 23
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
![Page 24: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/24.jpg)
04/20/23 24
Interprocess CommunicationMessage Passing Shared Memory
![Page 25: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/25.jpg)
04/20/23 25
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
![Page 26: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original](https://reader035.vdocuments.mx/reader035/viewer/2022062721/56649f205503460f94c388e7/html5/thumbnails/26.jpg)
04/20/23 26
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