Operating Systems
“Process Description and Control”
Roadmap
• How are processes represented and controlled by the OS.
• Process states which characterize the behaviour of processes.
• Data structures used to manage processes.
• Ways in which the OS uses these data structures to control process execution.
2
Operating System
• How are processes represented and controlled by the OS.
• Process states which characterize the behaviour of processes.
• Data structures used to manage processes.
• Ways in which the OS uses these data structures to control process
execution.
3
Requirements of an Operating System
• Fundamental Task: Process Management
• The Operating System must
• Interleave the execution of multiple processes
• Allocate resources to processes, and protect the resources of each process
from other processes,
• Enable processes to share and exchange information,
• Enable synchronization among processes.
4
The OS Manages Execution of Applications
• Resources are made available to multiple applications
• The processor is switched among multiple application
• The processor and I/O devices can be used efficiently
5
What is a “process”?
• A program in execution
• An instance of a program running on a computer
• The entity that can be assigned to and executed on a processor
• A unit of activity characterized by the execution of a sequence of
instructions, a current state, and an associated set of system
instructions
6
Process Elements
• A process is comprised of:
• Program code (possibly shared)
• A set of data
• A number of elements including
• Identifier
• State
• Priority
• Program counter
• Memory pointers
• Context data
• I/O status information
• Accounting information
7
Process Control Block
• Contains the process elements
• Created and manage by the
operating system
• Allows support for multiple
processes
8
Trace of the Process
• The behavior of an individual process is shown by listing the sequence
of instructions that are executed
• This list is called a Trace
• Dispatcher is a small program which switches the processor from one
process to another
9
Process Execution
• Consider three processes
being executed
• All are in memory (plus the
dispatcher)
• Lets ignore virtual memory
for this.
10
Trace from Processors
point of view
Timeout
I/O
11
Roadmap
• How are processes represented and controlled by the OS.
• Process states which characterize the behaviour of processes.
• Data structures used to manage processes.
• Ways in which the OS uses these data structures to control process execution.
• Discuss process management in UNIX SVR4.
12
Two-State Process Model
• Process may be in one of two states
• Running
• Not-running
13
Process creation and termination
Creation Termination
New batch job Normal Completion
Interactive Login Memory unavailable
Created by OS to Protection error
provide a service
Spawned by existing Operator or OS
process Intervention
See tables 3.1 and 3.2 for more
14
Process Creation
• The OS builds a data structure to manage the process
• Traditionally, the OS created all processes
• But it can be useful to let a running process create another
• This action is called process spawning
• Parent Process is the original, creating, process
• Child Process is the new process
15
Process Termination
• There must be some way that a process can indicate completion.
• This indication may be:
• A HALT instruction generating an interrupt alert to the OS.
• A user action (e.g. log off, quitting an application)
• A fault or error
• Parent process terminating
16
Five-State
Process Model
17
Using Two Queues
18
Multiple Blocked Queues
19
Suspended Processes
• Processor is faster than I/O so all processes could be waiting for I/O
• Swap these processes to disk to free up more memory and use processor on
more / other processes
• Blocked state becomes suspend state when swapped to disk
(secondary storage)
• Two new states
• Blocked/Suspend … from memory disc
• Ready/Suspend … from disc memory
20
One Suspend State
21
Two Suspend States
• Ready: The process is in main memory and available for execution.
• Blocked: The process is in main memory and awaiting an event.
• Blocked/Suspend: The process is in secondary memory and awaiting an event.
• Ready/Suspend: The process is in secondary memory but is available for
execution as soon as it is loaded into main memory.
22
Reason for Process Suspension
Reason Comment
Swapping The OS needs to release sufficient main memory to
bring in a process that is ready to execute.
Other OS Reason OS suspects process of causing a problem.
Interactive User Request e.g. debugging or in connection with the use of a
resource.
Timing A process may be executed periodically (e.g., an
accounting or system monitoring process) and may be
suspended while waiting for the next time.
Parent Process Request A parent process may wish to suspend execution of a
descendent to examine or modify the suspended
process, or to coordinate the activity of various
descendants.
Table 3.3 Reasons for Process Suspension
23
Roadmap
• How are processes represented and controlled by the OS.
• Process states which characterize the behaviour of processes.
• Data structures used to manage processes.
• Ways in which the OS uses these data structures to control process execution.
24
Processes and Resources
25
Operating System Control Structures
• For the OS is to manage processes and resources, it must have
information about the current status of each process and resource.
• Tables are constructed for each entity the operating system manages
26
OS Control Tables
27
Memory Tables
• Memory tables are used to keep track of both main and secondary
memory.
• Must include this information:
• Allocation of main memory to processes
• Allocation of secondary memory to processes
• Protection attributes for access to shared memory regions
• Information needed to manage virtual memory
28
I/O Tables
• Used by the OS to manage the I/O devices and channels of the
computer.
• The OS needs to know
• Whether the I/O device is available or assigned
• The status of I/O operation
• The location in main memory being used as the source or destination of the
I/O transfer
29
File Tables
• These tables provide information about:
• Existence of files
• Location on secondary memory
• Current Status
• other attributes.
• Sometimes this information is maintained by a file management
system
30
Process Tables
• To manage processes the OS needs to know details of
the processes
• Current state
• Process ID
• Location in memory
• etc
• Process control block
• Process image is the collection of program. Data, stack, and
attributes
31
Process Attributes
• We can group the process control block information into three
general categories:
• Process identification
• Processor state information
• Process control information
32
Typical Elements of a Process Control Block
33
Process Identification
• Each process is assigned a unique numeric identifier.
• Many of the other tables controlled by the OS may use process
identifiers to cross-reference process tables
34
Processor State Information
• This consists of the contents of processor registers.
• User-visible registers
• Control and status registers
• Stack pointers
• Program status word (PSW)
• contains status information
• Example: the EFLAGS register on Pentium processors
35
Pentium II EFLAGS Register
Also see Table 3.6
36
Process Control Information
• This is the additional information needed by the OS to control and
coordinate the various active processes.
• See table 3.5 for scope of information
37
Structure of Process Images in Virtual
Memory
38
Role of the Process Control Block
• The most important data structure in an OS
• It defines the state of the OS
• Process Control Block requires protection
• A faulty routine could cause damage to the block destroying the OS’s ability to
manage the process
• Any design change to the block could affect many modules of the OS
39
Roadmap
• How are processes represented and controlled by the OS.
• Process states which characterize the behaviour of processes.
• Data structures used to manage processes.
• Ways in which the OS uses these data structures to control process execution.
40
Modes of Execution
• Most processors support at least two modes of execution
• User mode
• Less-privileged mode
• User programs typically execute in this mode
• System mode
• More-privileged mode
• Kernel of the operating system
41
Typical Functions of an Operating System
Kernel
42
Process Creation
• Once the OS decides to create a new process it:
• Assigns a unique process identifier
• Allocates space for the process
• Initializes process control block
• Sets up appropriate linkages
• Creates or expand other data structures
43
Switching Processes
• Several design issues are raised regarding process switching
• What events trigger a process switch?
• We must distinguish between mode switching and process switching.
• What must the OS do to the various data structures under its control to
achieve a process switch?
44
When to switch processes
A process switch may occur any time that the OS has gained control from the
currently running process. Possible events giving OS control are:
Mechanism Cause Use
Interrupt External to the execution of the Reaction to an asynchronous
current instruction external event
Trap Associated with the execution of Handling of an error or an
the current instruction exception condition
Supervisor call Explicit request Call to an operating system
function
Table 3.8 Mechanisms for Interrupting the Execution of a Process
45
Change of Process State …
• The steps in a process switch are:
1. Save context of processor including program counter and other registers
2. Update the process control block of the process that is currently in the
Running state
3. Move process control block to appropriate queue – ready; blocked;
ready/suspend
4. Select another process for execution
5. Update the process control block of the process selected
6. Update memory-management data structures
7. Restore context of the selected process
46
Is the OS a Process?
• If the OS is just a collection of programs and if it is executed by the
processor just like any other program, is the OS a process?
• If so, how is it controlled?
• Who (what) controls it?
47
Execution of the Operating System
48
Non-process Kernel
• Execute kernel outside of any process
• The concept of process is considered to apply only to
user programs
• Operating system code is executed as a separate entity that
operates in privileged mode
49
Execution Within User Processes
• Execution Within User Processes
• Operating system software within context
of a user process
• No need for Process Switch to run OS
routine
50
Process-based Operating System
• Process-based operating system
• Implement the OS as a collection of system process
51
Security Issues
• An OS associates a set of privileges with each process.
• Highest level being administrator, supervisor, or root, access.
• A key security issue in the design of any OS is to prevent anything
(user or process) from gaining unauthorized privileges on the system
• Especially - from gaining root access.
52
System access threats
• Intruders
• Masquerader (outsider)
• Misfeasor (insider)
• Clandestine user (outside or insider)
• Malicious software (malware)
53
Countermeasures: Intrusion Detection
• Intrusion detection systems are typically designed to detect human
intruder and malicious software behaviour.
• May be host or network based
• Intrusion detection systems (IDS) typically comprise
• Sensors
• Analyzers
• User Interface
54
Countermeasures: Authentication
• Two Stages:
• Identification
• Verification
• Four Factors:
• Something the individual knows
• Something the individual possesses
• Something the individual is (static biometrics)
• Something the individual does (dynamic biometrics)
55
Countermeasures: Access Control
• A policy governing access to resources
• A security administrator maintains an authorization database
• The access control function consults this to determine whether to grant
access.
• An auditing function monitors and keeps a record of user accesses to
system resources.
56
Countermeasures: Firewalls
• Traditionally, a firewall is a dedicated computer that:
• interfaces with computers outside a network
• has special security precautions built into it to protect sensitive files on
computers within the network.
57
Thank You
58