
























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to the concepts of processes, process creation, and concurrent execution in operating systems. It covers the programmer's and operating system's perspectives of a program, process creation steps, process description, and address space allocation. Additionally, it discusses process scheduling sub-models, thread creation, and concurrent and parallel programming languages.
Typology: Exams
1 / 32
This page cannot be seen from the preview
Don't miss anything!

























Process Description
O.S describe a process by means of a description
table known as process control block (PCB)
PCB contains all the information related to to the
whole life cycle of a process like process
identification, owner, process status, description of
the allocated address space and so on.
Different O.S uses different names for process
description table like process table in UNIX,
Process Information Block in OS/2, and Task control
block in IBM mainframe operating systems.
Loading the Program Into Allocated
Address Space
Passing the Process Description to
the Scheduler
Process Creation Sub-models
Simpler model used by IBM/PCP,
IBM/360/DOS did not allow process to further
breakdown into sub-processes.
Process Spawning
a process may create a new process called a
child process.
Child process can be created by the programmer
by using standard process creation mechanisms.
Spawned processes form a process hierarchy
known as process tree.
Process Spawning
(Independent Processes)
The Concepts of Concurrent
Execution (N-client 1-server)
t
Simultaneous nature
Server
Clients
Clients
Server
t
Sequential nature
Concurrent execution is the temporal behavior of N-client 1
server model where one client is served at any given moment.
The concepts of concurrent
execution (N-client 1-server)
Non pre-emptive
Pre-
emptive
Time-shared
Priotized
Priority Client
Server
t
Server
Client
Preemption rule
Non preemptive
Time shared
preemptive
Prioritized
Concurrent and Parallel
Programming Languages
languages that do not support N-client model
(C, Pascal, Fortran, PROLOG, LISP)
employ constructs to implement the N-client 1
server model by specifying concurrent threads
and processes but lack language constructs to
describe N-server model (Ada, Concurrent
Pascal, Modula-2, concurrent PROLOG).
Concurrent and Parallel
Programming Languages
Data parallel language
introduces special data structures that are
processed in parallel, element by element (high
performance Fortran, DAP Fortran, DAP
PROLOG,Connection Machine LISP)
Parallel languages
extends the specifications of N-client model of
concurrent languages with processor allocation
language constructs that enable use of N-server
model (Occam-2, 3L Parallel C, Strand-88)