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

Processes

Chapter 3 discusses the concept of processes in operating systems, defining a process as a program in execution with various components such as the program code, current activity, data section, and heap. It outlines the different states a process can be in (new, running, waiting, ready, terminated) and introduces the Process Control Block (PCB) that contains essential information about each process. The chapter also covers process scheduling, creation, and termination, highlighting the roles of different types of schedulers and the relationship between parent and child processes.

Uploaded by

Fa Rish
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)
7 views19 pages

Processes

Chapter 3 discusses the concept of processes in operating systems, defining a process as a program in execution with various components such as the program code, current activity, data section, and heap. It outlines the different states a process can be in (new, running, waiting, ready, terminated) and introduces the Process Control Block (PCB) that contains essential information about each process. The chapter also covers process scheduling, creation, and termination, highlighting the roles of different types of schedulers and the relationship between parent and child processes.

Uploaded by

Fa Rish
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
You are on page 1/ 19

Chapter 3: Processes

Shatabdi Roy Moon


Lecturer, Dept. of CSE
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 3.2 Silberschatz, Galvin and Gagne ©2005


Program to Process

Process page table, PCB, device


PROGRAM driver, memory mapped H/W deices
kernel code etc.
Hard Disk
Mode
bit =0
RAM KERNEL
.cpp 2GB
Kernel
Space
Compile STACK
Systemcall

P1
.obj, .asm 2GB
User HEAP
Space
Mode
Linker DATA
bit =1
OS Kernel CODE/TEXT
IVT
.exe
./hello.exe

Operating System Concepts 3.3 Silberschatz, Galvin and Gagne ©2005


Process in Memory

Operating System Concepts 3.4 Silberschatz, Galvin and Gagne ©2005


Two State Process Model

Process may be in one of two states


Running
Not-running

Operating System Concepts 3.5 Silberschatz, Galvin and Gagne ©2005


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 3.6 Silberschatz, Galvin and Gagne ©2005


Diagram of Process State

Operating System Concepts 3.7 Silberschatz, Galvin and Gagne ©2005


Process Control Block (PCB)
Information associated with each process
(also called task control block)
Process ID – unique number assigned for a process
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 3.8 Silberschatz, Galvin and Gagne ©2005


Process Control Block (PCB)

Operating System Concepts 3.9 Silberschatz, Galvin and Gagne ©2005


CPU Switch From Process to Process

Operating System Concepts 3.10 Silberschatz, Galvin and Gagne ©2005


Process Scheduling

 Maximize CPU use, quickly switch processes onto CPU for


time sharing
 Process scheduler selects among available processes for
next execution on CPU
 Maintains scheduling queues of processes
 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
Processes migrate among the various queues

Operating System Concepts 3.11 Silberschatz, Galvin and Gagne ©2005


(Queueing-Diagram)
Representation of Process Scheduling

Operating System Concepts 3.12 Silberschatz, Galvin and Gagne ©2005


Schedulers
 Long-term scheduler (or job scheduler) – selects which processes should
be brought into the ready queue
 Short-term scheduler (or CPU scheduler) – selects which process should
be executed next and allocates CPU
 Sometimes the only scheduler in a system
 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
Operating System Concepts 3.13 Silberschatz, Galvin and Gagne ©2005
Mid-term scheduler
 Medium-term scheduler can be added if degree of multiple programming
needs to decrease
 Remove process from memory, store on disk, bring back in from disk
to continue execution: swapping

Operating System Concepts 3.14 Silberschatz, Galvin and Gagne ©2005


Process Creation
 Parent process creates 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 3.15 Silberschatz, Galvin and Gagne ©2005


Process Creation
 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

Operating System Concepts 3.16 Silberschatz, Galvin and Gagne ©2005


Processes Tree on a UNIX System

Operating System Concepts 3.17 Silberschatz, Galvin and Gagne ©2005


Process 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 systems do not allow child to continue if its parent
terminates All children terminated - cascading termination
 If no parent waiting, then terminated process is a zombie
 If parent terminated, processes are orphans

Operating System Concepts 3.18 Silberschatz, Galvin and Gagne ©2005


End of Chapter 3

You might also like