Chapter 2 Processes Processes Topics Process Concept Process
- Slides: 38
Chapter 2 Processes
Processes Topics • • • Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication 2
Process Concept • An operating system executes a variety of programs: – Batch system – jobs – Time-shared systems – user programs or tasks • Process – a program in execution; process execution must progress in sequential fashion • A process includes: – program counter (Current activity) – Stack (Temporary Data) – data section (Global Variables) 3
Why Have Processes? · Resource sharing ( logical (files) and physical (hardware) ). · Computation speedup - taking advantage of multiprogramming – i. e. example of a customer/server database system. · Modularity for protection. 4
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. (I/O Completion or reception of a signal). – Ready: The process is waiting to be assigned to a processor. – Suspended: Another process has explicitly told this process to sleep. It will be awakened when a process explicitly awakens it. – Terminated: The process has finished execution. • Only one process can be running on any processor at any instant. 5
Diagram of Process State 6
Suspended state and swapping · Suspended : Another process has explicitly told this process to sleep. It will be awakened when a process explicitly awakens it. • So far, all the processes had to be (at least partly) in main memory • The OS may need to suspend some processes, ie: to swap them out to disk. We add 2 new states: • Blocked Suspend: blocked processes which have been swapped out to disk • Ready Suspend: ready processes which have been swapped out to disk 7
A Seven-state Process Model 8
New state transitions (mid-term scheduling) • Blocked --> Blocked Suspend – When all processes are blocked, the OS will make room to bring a ready process in memory • Blocked Suspend --> Ready Suspend – When the event for which it has been waiting occurs (state info is available to OS) • Ready Suspend --> Ready – when no more ready process in main memory • Ready--> Ready Suspend (unlikely) – When there are no blocked processes and must free memory for adequate performance 9
Process Control Block (PCB) Contains Information Associated With Each Process: • It's a data structure holding: · PC, CPU registers, · memory management information, · Accounting ( Amount of CPU used, ID, . . . ) · I/O status ( such as file resources ), · scheduling data ( relative priority, etc. ) · Process State (so running, suspended, etc. is simply a field in the PCB )
CPU Switch From Process to Process 11
Process Scheduling Queues • Job queue – set of all processes entered in the system. • Ready queue – Set of all processes residing in main memory, and are ready and waiting to execute. – Header will contain pointers to the first and last PCBs in the list. • Device queues – set of processes waiting for an I/O device. • Process migration between the various queues. 12
Ready Queue And Various I/O Device Queues 13
Representation of Process Scheduling 14
Schedulers • Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue. • Medium-term scheduling – Swaps processes out to secondary storage – Scheduling involves suspending or resuming processes by swapping (rolling) them out of or into memory. • Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU. 15
Life cycle of a typical process 16
Addition of Medium Term Scheduling 17
Schedulers (Cont. ) • Short-term scheduler is invoked very frequently (milliseconds) (must be fast). • Long-term scheduler is invoked very infrequently (seconds, minutes) (may be slow). • The long-term scheduler controls the degree of multiprogramming. • 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. 18
Dispatcher (short-term scheduler) • Swaps processes out to secondary storage. • It prevents a single process from monopolizing processor time. • It decides who goes next according to a scheduling algorithm. (chapter 6) • The CPU will always execute instructions from the dispatcher while switching from process A to process B. 19
Dispatcher at work 20
Context Switch • When an event occurs, the operating system saves the state of the active process and restores the state of the interrupt service routine (ISR). This mechanism is called a Context Switch. • What must get saved? Everything that the next process could or will damage. For example: – – Program counter CPU registers File access pointer Memory • While saving the state, the operating system should mask (disable) all interrupts. 21
Memory: to save or NOT to save • Here are the possibilities: • Save all memory onto disk. – Could be very time-consuming. E. g. , assume data transfers to disk at 1 MB/sec. How long does saving a 4 MB process take? • Don't save memory; trust next process. • This is the approach taken by PCs. • Isolate (protect) memory from next process. This is memory management, 22
Process Creation • Parent process create children processes, which, in turn create other processes, forming a tree of processes. • Resource sharing – Parent and children share all resources. – Children share subset of parent’s resources. – Parent and child share no resources. • Execution – Parent and children execute concurrently. – Parent waits until children terminate. 23
Process Creation (Cont. ) • Address space – Child duplicate of parent. – Child has a program loaded into it. • UNIX examples – fork system call creates new process – exec system call used after a fork to replace the process’ memory space with a new program. 24
A fork() System Call 25
Process Creation 26
A exec() System Call 27
Process Creation • Parent process create children processes, which, in turn create other processes, forming a tree of processes. Processes Tree on a UNIX System 28
Process Termination • Process executes its last statement and asks the operating system to delete it by using the exit system call. – Process may return data (output) to its parent (via wait system call). – Process’ resources are deallocated by operating system. • Parent may terminate execution of children processes (via system call abort). – Child has exceeded allocated resources. – Task assigned to child is no longer required. – Parent is exiting, and the operating system does not allow a child to continue if its parent terminates. 29
Cooperating Processes • Independent process cannot affect or be affected by the execution of another process. • Cooperating process can affect or be affected by the execution of another process • Advantages of process cooperation – Information sharing • Several users may be interested in the same piece of information (a shared file). 30
Cooperating Processes (Contd. . ) – Computation speed-up • We want a particular task to run faster, we must break it into subtasks, each of which will be executing in parallel with the others. (Multiple processing elements CPUs) – Modularity • Construct the system in a modular fashion, dividing the system functions into separate processes. – Convenience • An individual user may have many tasks to work on at one time. (Editing, printing and compiling in parallel). 31
Interprocess Communication (IPC) • Mechanism for processes to communicate and to synchronize their actions. • Message system – processes communicate with each other without resorting to shared variables. • IPC facility provides two operations: – Send (message) – message size fixed or variable – Receive (message) 32
Interprocess Communication (IPC) • If P and Q wish to communicate, they need to: – establish a communication link between them – exchange messages via send/receive • Implementation of communication link – physical (e. g. , shared memory, hardware bus) – logical (e. g. , logical properties) 33
Direct Communication • Processes that wants to communicate must explicitly name the recipient or sender of comm. : – send (P, message) – send a message to process P – receive(Q, message) – receive a message from process Q • Properties of communication link – Links are established automatically. – A link is associated with exactly one pair of communicating processes. – Between each pair there exists exactly one link. – The link may be unidirectional, but is usually bi-directional. 34
Indirect Communication • Messages are directed and received from mailboxes (also referred to as ports). – Each mailbox has a unique id. – Processes can communicate only if they share a mailbox. • Properties of communication link – Link established only if processes share a common mailbox – A link may be associated with many processes. – Each pair of processes may share several communication links. – Link may be unidirectional or bi-directional. 35
Indirect Communication • Operations – create a new mailbox – send and receive messages through mailbox – destroy a mailbox • Primitives are defined as: send(A, message) – send a message to mailbox A receive(A, message) – receive a message from mailbox A 36
Indirect Communication • Mailbox sharing – P 1, P 2, and P 3 share mailbox A. – P 1, sends; P 2 and P 3 receive. – Who gets the message? • Solutions – Allow a link to be associated with at most two processes. – Allow only one process at a time to execute a receive operation. – Allow the system to select arbitrarily the receiver. – Sender is notified who the receiver was. 37
Buffering • Queue of messages attached to the link; implemented in one of three ways. 1. Zero capacity – 0 messages (Max. length = 0) Sender must wait until the recipient receives the message. 2. Bounded capacity – finite length of n messages at most n messages can reside in the queue. Sender must wait if link full. 3. Unbounded capacity – infinite length Sender never waits. 38
- Concurrent processes are processes that
- Real self and ideal self venn diagram
- Contoh selling concept
- Chapter 9 topics in analytic geometry
- What processes are crucial to the ipde process
- Chapter 19 normal newborn processes of adaptation
- Chapter 8 designing and managing service processes
- Multiple sclerosis concept map
- Discuss in detail the concept and process of hydrosere'
- Pollination mind map
- What is process concept
- Process concept
- Explain the communication process in detail
- Topics for writing articles for school magazine
- Paragraph examples grade 9
- What is a thematic essay
- Behavioural training topics
- Skill 23: anticipate the topics answers
- Purpose of interview
- Informative and surprising essay topics
- Themes in the great gatsby
- What is a thematic topic
- Table topics questions
- Subjective summary examples
- Solo talk ideas
- Software project management topics
- Sociolinguistics topics
- Smaw welding lesson plans
- Pertanyaan tentang materi seminar
- Youth gathering theme
- Psle science syllabus
- Customer service discussion topics
- Example of thesis
- Philosophical chairs questions
- Problem solution persuasive speech
- Leadership management topics
- Leaflet writing examples
- In an outline the relationship of topics
- Osslt essay topics