0% found this document useful (0 votes)
6 views19 pages

Understanding Operating System Processes

Chapter 3 of 'Operating System Concepts' introduces the concept of processes, detailing their features such as scheduling, creation, termination, and interprocess communication. It explains the states a process can be in, the structure of a Process Control Block (PCB), and the mechanisms for process creation and communication. Additionally, it discusses interprocess communication methods like shared memory and message passing, along with examples from client-server systems.

Uploaded by

mumarfarooqsahu9
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views19 pages

Understanding Operating System Processes

Chapter 3 of 'Operating System Concepts' introduces the concept of processes, detailing their features such as scheduling, creation, termination, and interprocess communication. It explains the states a process can be in, the structure of a Process Control Block (PCB), and the mechanisms for process creation and communication. Additionally, it discusses interprocess communication methods like shared memory and message passing, along with examples from client-server systems.

Uploaded by

mumarfarooqsahu9
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Chapter 3: Processes

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013
Chapter 3: Processes
 Process Concept
 Process Scheduling
 Operations on Processes
 Interprocess Communication
 Examples of IPC Systems
 Communication in Client-Server Systems

Operating System Concepts – 9th Edition 3.2 Silberschatz, Galvin and Gagne ©2013
Objectives
 To introduce the notion of a process -- a program in
execution, which forms the basis of all computation
 To describe the various features of processes, including
scheduling, creation and termination, and communication
 To explore interprocess communication using shared memory
and message passing
 To describe communication in client-server systems

Operating System Concepts – 9th Edition 3.3 Silberschatz, Galvin and Gagne ©2013
Process Concept
 An operating system executes a variety of programs:
 Batch system – jobs
 Time-shared systems – user programs or tasks
 Textbook uses the terms job and process almost interchangeably
 Process – a program in execution; process execution must
progress in sequential fashion
 Multiple parts
 The program code, also called text section
 Current activity including program counter, processor
registers
 Stack containing temporary data
 Function parameters, return addresses, local variables
 Data section containing global variables
 Heap containing memory dynamically allocated during run time

Operating System Concepts – 9th Edition 3.4 Silberschatz, Galvin and Gagne ©2013
Process Concept (Cont.)
 Program is passive entity stored on disk (executable file),
process is active
 Program becomes process when executable file loaded into
memory
 Execution of program started via GUI mouse clicks, command
line entry of its name, etc
 One program can be several processes
 Consider multiple users executing the same program

Operating System Concepts – 9th Edition 3.5 Silberschatz, Galvin and Gagne ©2013
Process in Memory

Operating System Concepts – 9th Edition 3.6 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 3.7 Silberschatz, Galvin and Gagne ©2013
Diagram of Process State

Operating System Concepts – 9th Edition 3.8 Silberschatz, Galvin and Gagne ©2013
Process Control Block (PCB)
Information associated with each process
(also called task control block)
 Process state – running, waiting, etc
 Program counter – location of instruction
to next execute
 CPU registers – contents of all process-
centric registers
 CPU scheduling information- priorities,
scheduling queue pointers
 Memory-management information –
memory allocated to the process
 Accounting information – CPU used,
clock time elapsed since start, time limits
 I/O status information – I/O devices
allocated to process, list of open files

Operating System Concepts – 9th Edition 3.9 Silberschatz, Galvin and Gagne ©2013
CPU Switch From Process to Process

Operating System Concepts – 9th Edition 3.10 Silberschatz, Galvin and Gagne ©2013
Threads
 So far, process has a single thread of execution
 Consider having multiple program counters per process
 Multiple locations can execute at once
 Multiple threads of control -> threads
 Must then have storage for thread details, multiple program
counters in PCB
 See next chapter

Operating System Concepts – 9th Edition 3.11 Silberschatz, Galvin and Gagne ©2013
Operations on Processes

 System must provide mechanisms for:


 process creation,
 process termination,
 and so on as detailed next

Operating System Concepts – 9th Edition 3.12 Silberschatz, Galvin and Gagne ©2013
Process Creation
 Parent process create children processes, which, in turn
create other processes, forming a tree of processes
 Generally, process identified and managed via a process
identifier (pid)
 Resource sharing options
 Parent and children share all resources
 Children share subset of parent’s resources
 Parent and child share no resources
 Execution options
 Parent and children execute concurrently
 Parent waits until children terminate

Operating System Concepts – 9th Edition 3.13 Silberschatz, Galvin and Gagne ©2013
Interprocess Communication
 Processes within a system may be independent or cooperating
 Cooperating process can affect or be affected by other processes,
including sharing data
 Reasons for cooperating processes:
 Information sharing
 Computation speedup
 Modularity
 Convenience
 Cooperating processes need interposes communication (IPC)
 Two models of IPC
 Shared memory
 Message passing

Operating System Concepts – 9th Edition 3.14 Silberschatz, Galvin and Gagne ©2013
Examples of IPC Systems – Windows

 Message-passing centric via advanced local procedure call


facility
 Only works between processes on the same system
 Uses ports (like mailboxes) to establish and maintain
communication channels
 Communication works as follows:
 The client opens a handle to the subsystem’s
connection port object.
 The client sends a connection request.
 The server creates two private communication ports
and returns the handle to one of them to the client.
 The client and server use the corresponding port handle
to send messages or callbacks and to listen for replies.

Operating System Concepts – 9th Edition 3.15 Silberschatz, Galvin and Gagne ©2013
Local Procedure Calls in Windows

Operating System Concepts – 9th Edition 3.16 Silberschatz, Galvin and Gagne ©2013
Communications in Client-Server Systems

 Sockets
 Remote Procedure Calls
 Pipes
 Remote Method Invocation (Java)

Operating System Concepts – 9th Edition 3.17 Silberschatz, Galvin and Gagne ©2013
Sockets
 A socket is defined as an endpoint for communication

 Concatenation of IP address and port – a number included at


start of message packet to differentiate network services on a
host

 The socket [Link]:1625 refers to port 1625 on host


[Link]

 Communication consists between a pair of sockets

 All ports below 1024 are well known, used for standard
services

 Special IP address [Link] (loopback) to refer to system on


which process is running

Operating System Concepts – 9th Edition 3.18 Silberschatz, Galvin and Gagne ©2013
End of Chapter 3

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013

You might also like