SlideShare uma empresa Scribd logo
1 de 38
4.1 Silberschatz, Galvin and GagneOperating System Concepts with Java
Chapter 4: ProcessesChapter 4: Processes
Process Concept
Process Scheduling
Operations on Processes
Cooperating Processes
Interprocess Communication
Communication in Client-Server Systems
4.2 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process ConceptProcess Concept
An operating system executes a variety of programs:
Batch system – jobs
Time-shared systems – user programs or tasks
We will use the terms job and process almost
interchangeably
Process – a program in execution; process execution
must progress in sequential fashion
A process includes:
program counter
Stack(Contains temporary data, such method parameters,
return address and local variables)
data section(Contains Global variables)
4.3 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process StateProcess State
As a process executes, it changes state
new: The process is being created
ready: The process is waiting to be assigned to a process
running: Instructions are being executed
waiting: The process is waiting for some event to occur
terminated: The process has finished execution
4.4 Silberschatz, Galvin and GagneOperating System Concepts with Java
Diagram of Process StateDiagram of Process State
4.5 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process Control Block (PCB)Process Control Block (PCB)
Each process is represented in the operating system by a
PCB. Information associated with each process
Process state (ready, running, waiting etc.)
Program counter(indicate the address of the next ins.)
CPU registers(accumulators, index register, stack pointer)
CPU scheduling information(process priority)
Memory-management information(Base and limit register)
Accounting information(amount of CPU time used, time
limit etc.)
I/O status information(I/O devices allocated to this
process)
4.6 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process Control Block (PCB)Process Control Block (PCB)
4.7 Silberschatz, Galvin and GagneOperating System Concepts with Java
CPU Switch From Process toCPU Switch From Process to
ProcessProcess
4.8 Silberschatz, Galvin and GagneOperating System Concepts with Java
PROCESS SCHEDULINGPROCESS SCHEDULING
Process Scheduling QueuesProcess Scheduling Queues
A process resides in different queues during his life cycle:
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
Process migration between the various queues
4.9 Silberschatz, Galvin and GagneOperating System Concepts with Java
Representation of ProcessRepresentation of Process
SchedulingScheduling
4.10 Silberschatz, Galvin and GagneOperating System Concepts with Java
Cont.Cont.
• The process could issue an I/O request, and then be placed in an I/O
queue.
•The process could create a new subprocess and wait for its termination.
•The process could be removed forcibly from the CPU as a result of an
interrupt, and be put back in the ready queues.
4.11 Silberschatz, Galvin and GagneOperating System Concepts with Java
SchedulersSchedulers
Long-term scheduler (or job scheduler) – selects which new
processes should be brought into the ready queue when space
is available
Short-term scheduler (or CPU scheduler) – selects which
process should be executed next and allocates CPU
Medium-term scheduler – Selects a partially run and swapped
out process to be brought in the memory and put in the ready
queue
4.12 Silberschatz, Galvin and GagneOperating System Concepts with Java
Addition of Medium Term SchedulingAddition of Medium Term Scheduling
4.13 Silberschatz, Galvin and GagneOperating System Concepts with Java
Schedulers (Cont.)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
4.14 Silberschatz, Galvin and GagneOperating System Concepts with Java
Context SwitchContext 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 overhead; the system does no useful work
while switching
Time dependent on hardware support
4.15 Silberschatz, Galvin and GagneOperating System Concepts with Java
OPERATIONS ON PROCESSESOPERATIONS ON PROCESSES
Process CreationProcess 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
4.16 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process Creation (Cont.)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
4.17 Silberschatz, Galvin and GagneOperating System Concepts with Java
Processes Tree on a UNIXProcesses Tree on a UNIX
SystemSystem
4.18 Silberschatz, Galvin and GagneOperating System Concepts with Java
Process TerminationProcess Termination
Process executes last statement and asks the operating system
to delete it (exit)
Output data from child to parent (via wait)
Process’ resources are deallocated by operating system
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
4.19 Silberschatz, Galvin and GagneOperating System Concepts with Java
Cooperating ProcessesCooperating 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
Computation speed-up
Modularity
Convenience
4.20 Silberschatz, Galvin and GagneOperating System Concepts with Java
Cont.Cont.
Several users may be interested in the same piece of information
(Shared files), we must provide an environment to allow
concurrent access to these types of resources.
When we break up a task into subtasks, each of which can be
executed in parallel with the other, causes the overall
computation speedup.
When we want to construct the system in a modular fashion, we
divide the system into separate processes or threads.
Even an individual user may have many tasks on which to work
at one time. For instance, a user mat be editing , printing, and
compiling in parallel.
4.21 Silberschatz, Galvin and GagneOperating System Concepts with Java
Producer-Consumer ProblemProducer-Consumer Problem
Paradigm for cooperating processes, producer process produces
information that is consumed by a consumer process
unbounded-buffer places no practical limit on the size of the buffer
bounded-buffer assumes that there is a fixed buffer size
4.22 Silberschatz, Galvin and GagneOperating System Concepts with Java
Bounded-Buffer – Insert() MethodBounded-Buffer – Insert() Method
public void insert(Object item) {
while (count == BUFFER SIZE)
; // do nothing -- no free buffers
// add an item to the buffer
++count;
buffer[in] = item;
in = (in + 1) % BUFFER SIZE;
}
4.23 Silberschatz, Galvin and GagneOperating System Concepts with Java
Bounded Buffer – Remove() MethodBounded Buffer – Remove() Method
public Object remove() {
Object item;
while (count == 0)
; // do nothing -- nothing to
consume
// remove an item from the buffer
--count;
item = buffer[out];
out = (out + 1) % BUFFER SIZE;
return item;
}
4.24 Silberschatz, Galvin and GagneOperating System Concepts with Java
Interprocess Communication (IPC)Interprocess Communication (IPC)
Mechanism for processes to communicate and to synchronize
their actions
Message system – processes communicate with each other
without using shared variables and using different address space
IPC facility provides two operations:
send(message) – message size 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
Implementation of communication link
physical (e.g., shared memory, hardware bus)
logical (e.g., logical properties)
4.25 Silberschatz, Galvin and GagneOperating System Concepts with Java
Implementation QuestionsImplementation Questions
How are links established?
Can a link be associated with more than two processes?
How many links can there be between every pair of
communicating processes?
What is the capacity of a link?
Is the size of a message that the link can accommodate fixed or
variable?
Is a link unidirectional or bi-directional?
4.26 Silberschatz, Galvin and GagneOperating System Concepts with Java
Direct CommunicationDirect Communication
Processes must name each other explicitly:
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
4.27 Silberschatz, Galvin and GagneOperating System Concepts with Java
Indirect CommunicationIndirect 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 in this scheme
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
4.28 Silberschatz, Galvin and GagneOperating System Concepts with Java
Indirect CommunicationIndirect 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
Mail box may be owned by a process or by operating
system
4.29 Silberschatz, Galvin and GagneOperating System Concepts with Java
Indirect CommunicationIndirect Communication
Mailbox sharing
P1, P2, and P3 share mailbox A
P1, sends; P2 and P3 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.
4.30 Silberschatz, Galvin and GagneOperating System Concepts with Java
SynchronizationSynchronization
Message passing may be either blocking or non-blocking
Blocking is considered synchronous
Blocking send has the sender block until the message is
received
Blocking receive has the receiver block until a message is
available
Non-blocking is considered asynchronous
Non-blocking send has the sender send the message and
continue
Non-blocking receive has the receiver receive a valid message or
null
4.31 Silberschatz, Galvin and GagneOperating System Concepts with Java
BufferingBuffering
Queue of messages attached to the link; implemented in one of
three ways
1. Zero capacity – 0 messages
Sender must wait for receiver (rendezvous)
2. Bounded capacity – finite length of n messages
Sender must wait if link full
3. Unbounded capacity – infinite length
Sender never waits
4.32 Silberschatz, Galvin and GagneOperating System Concepts with Java
Client-Server CommunicationClient-Server Communication
Sockets
Remote Procedure Calls
Remote Method Invocation (Java)
4.33 Silberschatz, Galvin and GagneOperating System Concepts with Java
SocketsSockets
A socket is defined as an endpoint for communication
Concatenation of IP address and port
The socket 161.25.19.8:1625 refers to port 1625 on host
161.25.19.8
Communication consists between a pair of sockets
4.34 Silberschatz, Galvin and GagneOperating System Concepts with Java
Remote Procedure CallsRemote Procedure Calls
Remote procedure call (RPC) abstracts procedure calls between
processes on networked systems.
Stubs – client-side proxy for the actual procedure on the server.
The client-side stub locates the server and marshals the
parameters.
The server-side stub receives this message, unpacks the
marshaled parameters, and performs the procedure on the
server.
The return value from the procedure is sent back to the client
4.35 Silberschatz, Galvin and GagneOperating System Concepts with Java
Cont.Cont.
Each message contains a time stamp so that duplicate
messages can be detected.
The server keeps history large enough to detect repeated
messages
4.36 Silberschatz, Galvin and GagneOperating System Concepts with Java
ThreadsThreads
A thread (or lightweight process) is a basic unit of CPU
utilization; it consists of:
program counter
register set
stack space
A thread shares with its peer threads its:
code section
data section
operating-system resources
collectively know as a task.
A traditional or heavyweight process is equal to a task with one
thread
4.37 Silberschatz, Galvin and GagneOperating System Concepts with Java
Threads (Cont.)Threads (Cont.)
In a multiple threaded task, while one server thread is blocked
and waiting, a second thread in the same task can run.
Cooperation of multiple threads in same job confers higher
throughput and improved performance.
Applications that require sharing a common buffer (i.e., producer-
consumer) benefit from thread utilization.
Threads provide a mechanism that allows sequential
processes to make blocking system calls while also achieving
parallelism.
Kernel-supported threads (Mach and OS/2).
User-level threads; supported above the kernel, via a set of
library calls at the user level (Project Andrew from CMU).
Hybrid approach implements both user-level and kernel-
supported threads (Solaris 2).
4.38 Silberschatz, Galvin and GagneOperating System Concepts with Java
Threads Support in Solaris 2Threads Support in Solaris 2
Solaris 2 is a version of UNIX with support for threads at the
kernel and user levels, symmetric multiprocessing, and
real-time scheduling.
LWP – intermediate level between user-level threads and
kernel-level threads.
Resource needs of thread types:
Kernel thread: small data structure and a stack; thread
switching does not require changing memory access information
– relatively fast.
LWP: PCB with register data, accounting and memory
information,; switching between LWPs is relatively slow.
User-level thread: only need stack and program counter; no
kernel involvement means fast switching. Kernel only sees the
LWPs that support user-level threads.

Mais conteúdo relacionado

Destaque (20)

Chapter03
Chapter03Chapter03
Chapter03
 
Process Scheduling
Process SchedulingProcess Scheduling
Process Scheduling
 
Digitaalinen asiakaskohtaaminen
Digitaalinen asiakaskohtaaminenDigitaalinen asiakaskohtaaminen
Digitaalinen asiakaskohtaaminen
 
Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.
 
Linkedin Search_GK
Linkedin Search_GKLinkedin Search_GK
Linkedin Search_GK
 
Ch4
Ch4Ch4
Ch4
 
Process in operating system
Process in operating systemProcess in operating system
Process in operating system
 
J2ME
J2MEJ2ME
J2ME
 
Database Administration
Database AdministrationDatabase Administration
Database Administration
 
Process of operating system
Process of operating systemProcess of operating system
Process of operating system
 
Ch5: Threads (Operating System)
Ch5: Threads (Operating System)Ch5: Threads (Operating System)
Ch5: Threads (Operating System)
 
4 Statistics of Successfull General Digital Marketing
4 Statistics of Successfull General Digital Marketing4 Statistics of Successfull General Digital Marketing
4 Statistics of Successfull General Digital Marketing
 
2017 State of the Creator Economy
2017 State of the Creator Economy2017 State of the Creator Economy
2017 State of the Creator Economy
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Interrupt
InterruptInterrupt
Interrupt
 
Operating system - Process and its concepts
Operating system - Process and its conceptsOperating system - Process and its concepts
Operating system - Process and its concepts
 
Interrupts
InterruptsInterrupts
Interrupts
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-scheduling
 
Processes and threads
Processes and threadsProcesses and threads
Processes and threads
 
Interrupts
Interrupts Interrupts
Interrupts
 

Semelhante a Ch4

Galvin-operating System(Ch4)
Galvin-operating System(Ch4)Galvin-operating System(Ch4)
Galvin-operating System(Ch4)dsuyal1
 
OperatingSystem02..(B.SC Part 2)
OperatingSystem02..(B.SC Part 2)OperatingSystem02..(B.SC Part 2)
OperatingSystem02..(B.SC Part 2)Muhammad Osama
 
3.Process Management
3.Process Management3.Process Management
3.Process ManagementSenthil Kanth
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptKAnurag2
 
Qrs.011 workflow execution-models_and_design_patterns
Qrs.011 workflow execution-models_and_design_patternsQrs.011 workflow execution-models_and_design_patterns
Qrs.011 workflow execution-models_and_design_patternsAdhy Rizaldy
 
Ch4 OS
Ch4 OSCh4 OS
Ch4 OSC.U
 
Week03-Ch3-Process Concept.pptx.gfhgvjhg
Week03-Ch3-Process Concept.pptx.gfhgvjhgWeek03-Ch3-Process Concept.pptx.gfhgvjhg
Week03-Ch3-Process Concept.pptx.gfhgvjhgalianwar88
 
Big Data Testing Approach - Rohit Kharabe
Big Data Testing Approach - Rohit KharabeBig Data Testing Approach - Rohit Kharabe
Big Data Testing Approach - Rohit KharabeROHIT KHARABE
 
OS_Process_Management_Chap4.pptx
OS_Process_Management_Chap4.pptxOS_Process_Management_Chap4.pptx
OS_Process_Management_Chap4.pptxDrAmarNathDhebla
 
Introduction to data flow management using apache nifi
Introduction to data flow management using apache nifiIntroduction to data flow management using apache nifi
Introduction to data flow management using apache nifiAnshuman Ghosh
 

Semelhante a Ch4 (20)

Galvin-operating System(Ch4)
Galvin-operating System(Ch4)Galvin-operating System(Ch4)
Galvin-operating System(Ch4)
 
OperatingSystem02..(B.SC Part 2)
OperatingSystem02..(B.SC Part 2)OperatingSystem02..(B.SC Part 2)
OperatingSystem02..(B.SC Part 2)
 
3.Process Management
3.Process Management3.Process Management
3.Process Management
 
Process threads operating system.
Process threads operating system.Process threads operating system.
Process threads operating system.
 
Processes
ProcessesProcesses
Processes
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
 
Qrs.011 workflow execution-models_and_design_patterns
Qrs.011 workflow execution-models_and_design_patternsQrs.011 workflow execution-models_and_design_patterns
Qrs.011 workflow execution-models_and_design_patterns
 
Ch4 OS
Ch4 OSCh4 OS
Ch4 OS
 
OS_Ch4
OS_Ch4OS_Ch4
OS_Ch4
 
Process
ProcessProcess
Process
 
OSCh4
OSCh4OSCh4
OSCh4
 
Ch6
Ch6Ch6
Ch6
 
Week03-Ch3-Process Concept.pptx.gfhgvjhg
Week03-Ch3-Process Concept.pptx.gfhgvjhgWeek03-Ch3-Process Concept.pptx.gfhgvjhg
Week03-Ch3-Process Concept.pptx.gfhgvjhg
 
Big Data Testing Approach - Rohit Kharabe
Big Data Testing Approach - Rohit KharabeBig Data Testing Approach - Rohit Kharabe
Big Data Testing Approach - Rohit Kharabe
 
Embedded multiple choice questions
Embedded multiple choice questionsEmbedded multiple choice questions
Embedded multiple choice questions
 
Ch03- PROCESSES.ppt
Ch03- PROCESSES.pptCh03- PROCESSES.ppt
Ch03- PROCESSES.ppt
 
OS_Process_Management_Chap4.pptx
OS_Process_Management_Chap4.pptxOS_Process_Management_Chap4.pptx
OS_Process_Management_Chap4.pptx
 
unit-2.pdf
unit-2.pdfunit-2.pdf
unit-2.pdf
 
Introduction to data flow management using apache nifi
Introduction to data flow management using apache nifiIntroduction to data flow management using apache nifi
Introduction to data flow management using apache nifi
 
OS UNIT2.ppt
OS UNIT2.pptOS UNIT2.ppt
OS UNIT2.ppt
 

Último

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxannathomasp01
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 

Último (20)

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Ch4

  • 1. 4.1 Silberschatz, Galvin and GagneOperating System Concepts with Java Chapter 4: ProcessesChapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems
  • 2. 4.2 Silberschatz, Galvin and GagneOperating System Concepts with Java Process ConceptProcess Concept An operating system executes a variety of programs: Batch system – jobs Time-shared systems – user programs or tasks We will use the terms job and process almost interchangeably Process – a program in execution; process execution must progress in sequential fashion A process includes: program counter Stack(Contains temporary data, such method parameters, return address and local variables) data section(Contains Global variables)
  • 3. 4.3 Silberschatz, Galvin and GagneOperating System Concepts with Java Process StateProcess State As a process executes, it changes state new: The process is being created ready: The process is waiting to be assigned to a process running: Instructions are being executed waiting: The process is waiting for some event to occur terminated: The process has finished execution
  • 4. 4.4 Silberschatz, Galvin and GagneOperating System Concepts with Java Diagram of Process StateDiagram of Process State
  • 5. 4.5 Silberschatz, Galvin and GagneOperating System Concepts with Java Process Control Block (PCB)Process Control Block (PCB) Each process is represented in the operating system by a PCB. Information associated with each process Process state (ready, running, waiting etc.) Program counter(indicate the address of the next ins.) CPU registers(accumulators, index register, stack pointer) CPU scheduling information(process priority) Memory-management information(Base and limit register) Accounting information(amount of CPU time used, time limit etc.) I/O status information(I/O devices allocated to this process)
  • 6. 4.6 Silberschatz, Galvin and GagneOperating System Concepts with Java Process Control Block (PCB)Process Control Block (PCB)
  • 7. 4.7 Silberschatz, Galvin and GagneOperating System Concepts with Java CPU Switch From Process toCPU Switch From Process to ProcessProcess
  • 8. 4.8 Silberschatz, Galvin and GagneOperating System Concepts with Java PROCESS SCHEDULINGPROCESS SCHEDULING Process Scheduling QueuesProcess Scheduling Queues A process resides in different queues during his life cycle: 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 Process migration between the various queues
  • 9. 4.9 Silberschatz, Galvin and GagneOperating System Concepts with Java Representation of ProcessRepresentation of Process SchedulingScheduling
  • 10. 4.10 Silberschatz, Galvin and GagneOperating System Concepts with Java Cont.Cont. • The process could issue an I/O request, and then be placed in an I/O queue. •The process could create a new subprocess and wait for its termination. •The process could be removed forcibly from the CPU as a result of an interrupt, and be put back in the ready queues.
  • 11. 4.11 Silberschatz, Galvin and GagneOperating System Concepts with Java SchedulersSchedulers Long-term scheduler (or job scheduler) – selects which new processes should be brought into the ready queue when space is available Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU Medium-term scheduler – Selects a partially run and swapped out process to be brought in the memory and put in the ready queue
  • 12. 4.12 Silberschatz, Galvin and GagneOperating System Concepts with Java Addition of Medium Term SchedulingAddition of Medium Term Scheduling
  • 13. 4.13 Silberschatz, Galvin and GagneOperating System Concepts with Java Schedulers (Cont.)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
  • 14. 4.14 Silberschatz, Galvin and GagneOperating System Concepts with Java Context SwitchContext 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 overhead; the system does no useful work while switching Time dependent on hardware support
  • 15. 4.15 Silberschatz, Galvin and GagneOperating System Concepts with Java OPERATIONS ON PROCESSESOPERATIONS ON PROCESSES Process CreationProcess 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
  • 16. 4.16 Silberschatz, Galvin and GagneOperating System Concepts with Java Process Creation (Cont.)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
  • 17. 4.17 Silberschatz, Galvin and GagneOperating System Concepts with Java Processes Tree on a UNIXProcesses Tree on a UNIX SystemSystem
  • 18. 4.18 Silberschatz, Galvin and GagneOperating System Concepts with Java Process TerminationProcess Termination Process executes last statement and asks the operating system to delete it (exit) Output data from child to parent (via wait) Process’ resources are deallocated by operating system 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
  • 19. 4.19 Silberschatz, Galvin and GagneOperating System Concepts with Java Cooperating ProcessesCooperating 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 Computation speed-up Modularity Convenience
  • 20. 4.20 Silberschatz, Galvin and GagneOperating System Concepts with Java Cont.Cont. Several users may be interested in the same piece of information (Shared files), we must provide an environment to allow concurrent access to these types of resources. When we break up a task into subtasks, each of which can be executed in parallel with the other, causes the overall computation speedup. When we want to construct the system in a modular fashion, we divide the system into separate processes or threads. Even an individual user may have many tasks on which to work at one time. For instance, a user mat be editing , printing, and compiling in parallel.
  • 21. 4.21 Silberschatz, Galvin and GagneOperating System Concepts with Java Producer-Consumer ProblemProducer-Consumer Problem Paradigm for cooperating processes, producer process produces information that is consumed by a consumer process unbounded-buffer places no practical limit on the size of the buffer bounded-buffer assumes that there is a fixed buffer size
  • 22. 4.22 Silberschatz, Galvin and GagneOperating System Concepts with Java Bounded-Buffer – Insert() MethodBounded-Buffer – Insert() Method public void insert(Object item) { while (count == BUFFER SIZE) ; // do nothing -- no free buffers // add an item to the buffer ++count; buffer[in] = item; in = (in + 1) % BUFFER SIZE; }
  • 23. 4.23 Silberschatz, Galvin and GagneOperating System Concepts with Java Bounded Buffer – Remove() MethodBounded Buffer – Remove() Method public Object remove() { Object item; while (count == 0) ; // do nothing -- nothing to consume // remove an item from the buffer --count; item = buffer[out]; out = (out + 1) % BUFFER SIZE; return item; }
  • 24. 4.24 Silberschatz, Galvin and GagneOperating System Concepts with Java Interprocess Communication (IPC)Interprocess Communication (IPC) Mechanism for processes to communicate and to synchronize their actions Message system – processes communicate with each other without using shared variables and using different address space IPC facility provides two operations: send(message) – message size 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 Implementation of communication link physical (e.g., shared memory, hardware bus) logical (e.g., logical properties)
  • 25. 4.25 Silberschatz, Galvin and GagneOperating System Concepts with Java Implementation QuestionsImplementation Questions How are links established? Can a link be associated with more than two processes? How many links can there be between every pair of communicating processes? What is the capacity of a link? Is the size of a message that the link can accommodate fixed or variable? Is a link unidirectional or bi-directional?
  • 26. 4.26 Silberschatz, Galvin and GagneOperating System Concepts with Java Direct CommunicationDirect Communication Processes must name each other explicitly: 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
  • 27. 4.27 Silberschatz, Galvin and GagneOperating System Concepts with Java Indirect CommunicationIndirect 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 in this scheme 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
  • 28. 4.28 Silberschatz, Galvin and GagneOperating System Concepts with Java Indirect CommunicationIndirect 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 Mail box may be owned by a process or by operating system
  • 29. 4.29 Silberschatz, Galvin and GagneOperating System Concepts with Java Indirect CommunicationIndirect Communication Mailbox sharing P1, P2, and P3 share mailbox A P1, sends; P2 and P3 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.
  • 30. 4.30 Silberschatz, Galvin and GagneOperating System Concepts with Java SynchronizationSynchronization Message passing may be either blocking or non-blocking Blocking is considered synchronous Blocking send has the sender block until the message is received Blocking receive has the receiver block until a message is available Non-blocking is considered asynchronous Non-blocking send has the sender send the message and continue Non-blocking receive has the receiver receive a valid message or null
  • 31. 4.31 Silberschatz, Galvin and GagneOperating System Concepts with Java BufferingBuffering Queue of messages attached to the link; implemented in one of three ways 1. Zero capacity – 0 messages Sender must wait for receiver (rendezvous) 2. Bounded capacity – finite length of n messages Sender must wait if link full 3. Unbounded capacity – infinite length Sender never waits
  • 32. 4.32 Silberschatz, Galvin and GagneOperating System Concepts with Java Client-Server CommunicationClient-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
  • 33. 4.33 Silberschatz, Galvin and GagneOperating System Concepts with Java SocketsSockets A socket is defined as an endpoint for communication Concatenation of IP address and port The socket 161.25.19.8:1625 refers to port 1625 on host 161.25.19.8 Communication consists between a pair of sockets
  • 34. 4.34 Silberschatz, Galvin and GagneOperating System Concepts with Java Remote Procedure CallsRemote Procedure Calls Remote procedure call (RPC) abstracts procedure calls between processes on networked systems. Stubs – client-side proxy for the actual procedure on the server. The client-side stub locates the server and marshals the parameters. The server-side stub receives this message, unpacks the marshaled parameters, and performs the procedure on the server. The return value from the procedure is sent back to the client
  • 35. 4.35 Silberschatz, Galvin and GagneOperating System Concepts with Java Cont.Cont. Each message contains a time stamp so that duplicate messages can be detected. The server keeps history large enough to detect repeated messages
  • 36. 4.36 Silberschatz, Galvin and GagneOperating System Concepts with Java ThreadsThreads A thread (or lightweight process) is a basic unit of CPU utilization; it consists of: program counter register set stack space A thread shares with its peer threads its: code section data section operating-system resources collectively know as a task. A traditional or heavyweight process is equal to a task with one thread
  • 37. 4.37 Silberschatz, Galvin and GagneOperating System Concepts with Java Threads (Cont.)Threads (Cont.) In a multiple threaded task, while one server thread is blocked and waiting, a second thread in the same task can run. Cooperation of multiple threads in same job confers higher throughput and improved performance. Applications that require sharing a common buffer (i.e., producer- consumer) benefit from thread utilization. Threads provide a mechanism that allows sequential processes to make blocking system calls while also achieving parallelism. Kernel-supported threads (Mach and OS/2). User-level threads; supported above the kernel, via a set of library calls at the user level (Project Andrew from CMU). Hybrid approach implements both user-level and kernel- supported threads (Solaris 2).
  • 38. 4.38 Silberschatz, Galvin and GagneOperating System Concepts with Java Threads Support in Solaris 2Threads Support in Solaris 2 Solaris 2 is a version of UNIX with support for threads at the kernel and user levels, symmetric multiprocessing, and real-time scheduling. LWP – intermediate level between user-level threads and kernel-level threads. Resource needs of thread types: Kernel thread: small data structure and a stack; thread switching does not require changing memory access information – relatively fast. LWP: PCB with register data, accounting and memory information,; switching between LWPs is relatively slow. User-level thread: only need stack and program counter; no kernel involvement means fast switching. Kernel only sees the LWPs that support user-level threads.