+ All Categories
Home > Documents > 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer...

11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer...

Date post: 04-Jan-2016
Category:
Upload: curtis-summers
View: 213 times
Download: 0 times
Share this document with a friend
26
06/27/22 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
Transcript
Page 1: 11/13/20151 Processes ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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


Recommended