Download presentation
Presentation is loading. Please wait.
Published byCori Gaines Modified over 8 years ago
1
240-323 OS,2000 1 240-323, Part II Processes Department of Computer Engineering, PSUWannarat Suntiamorntut
2
240-323 OS,2000 2 Department of Computer Engineering, PSUWannarat Suntiamorntut Process Concept
3
240-323 OS,2000 3 Department of Computer Engineering, PSUWannarat Suntiamorntut Process State Transitions
4
240-323 OS,2000 4 Department of Computer Engineering, PSUWannarat Suntiamorntut Process State
5
240-323 OS,2000 5 Department of Computer Engineering, PSUWannarat Suntiamorntut Process control block (PCB) Stores all of information about a process Processes (PCBs) are manipulated by two main components of the process subsystem in order to achieve the effects of multiprogramming: Scheduler: determines the order by which processes will gain access to the CPU. Efficiency and fair-play are issues here. Dispatcher: actually allocates CPU to process next in line as determined by the scheduler.
6
240-323 OS,2000 6 Department of Computer Engineering, PSUWannarat Suntiamorntut Process control block (PCB) pointer Process state Process number Program counter Registers Memory limits List of open files...
7
240-323 OS,2000 7 Department of Computer Engineering, PSUWannarat Suntiamorntut Process control block (PCB) Process status (or state): new, ready to run, user running, kernel running, waiting, halted Program counter: where in program the process is executing CPU registers: contents of general-purpose register stack pointer, PSW, index registers Memory Management info: segment base and limit registers, page table, location of pages on disk, process size User ID, Group ID, Process ID, Parent PID,... Event Descriptor: when process is in the “sleep” or waiting state Scheduling info: process priority, size of CPU quantum, length of current CPU burst
8
240-323 OS,2000 8 Department of Computer Engineering, PSUWannarat Suntiamorntut Process scheduling Scheduling queues
9
240-323 OS,2000 9 Department of Computer Engineering, PSUWannarat Suntiamorntut Schedulers Process scheduling select process long-term scheduler (job scheduler) selects processes from the pool and loads them into memory for execution. Short-term scheduler(cpu scheduler) selects processes from among the processes that are ready to execute and allocates the CPU to one of them.
10
240-323 OS,2000 10 Department of Computer Engineering, PSUWannarat Suntiamorntut Process Priority
11
240-323 OS,2000 11 Department of Computer Engineering, PSUWannarat Suntiamorntut Context Switch Switch the CPU to another process speed varied from machine to machine context-switch times are depended on hardware support
12
240-323 OS,2000 12 Department of Computer Engineering, PSUWannarat Suntiamorntut Multiprogramming to Context Switch executing process Aprocess B i/o request, timeout,... waiting save A’s state restore B’s state dispatch save B’s state restore A’s state
13
240-323 OS,2000 13 Department of Computer Engineering, PSUWannarat Suntiamorntut Forking a new process
14
240-323 OS,2000 14 Department of Computer Engineering, PSUWannarat Suntiamorntut Process terminate
15
240-323 OS,2000 15 Department of Computer Engineering, PSUWannarat Suntiamorntut Process terminate
16
240-323 OS,2000 16 Department of Computer Engineering, PSUWannarat Suntiamorntut Concurrent Process Implementing a multiprogramming OS requires programming to accommodate a number of simultaneously executing processes Multiple-process paradigm also useful for applications (e.g., parallel processing, background processing) Two kinds of parallelism in today's computer systems: –Pseudo-parallelism - one CPU supports multiple processes –True parallelism - processes run on multiple CPUs
17
240-323 OS,2000 17 Department of Computer Engineering, PSUWannarat Suntiamorntut Two kinds of communication paradigms: - Shared-variable model - Message-passing model Most systems incorporate a mixture of the two. Concurrent Process
18
240-323 OS,2000 18 Department of Computer Engineering, PSUWannarat Suntiamorntut Interprocess Communication (IPC)
19
240-323 OS,2000 19 Department of Computer Engineering, PSUWannarat Suntiamorntut How are links established? Direct communication send(process_id, message) receive(process_id, message) Example : producer and consumer problem
20
240-323 OS,2000 20 Department of Computer Engineering, PSUWannarat Suntiamorntut Direct communication Process : producer repeat... Produce an item in nextp... Send(consumer,nextp);... until false; Process : consumer repeat receive(producer,nextc);... Consume the item in nextc... until false; This is a symmetry in addressing
21
240-323 OS,2000 21 Department of Computer Engineering, PSUWannarat Suntiamorntut Indirect Communication send(mailbox, message) receive(mailbox, message) How are links established? - Associate with more than two processes. mbox P R Q
22
240-323 OS,2000 22 Department of Computer Engineering, PSUWannarat Suntiamorntut What’s the capacity of the links? Buffering : three ways to implement queue - Zero capacity - Bounded capacity - Unbounded capacity A “zero-capacity” buffer means processes must “handshake” in order to communicate.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.