Lecture 1
Lecture 1
Process Management
Semester 4
B.Tech IT
Ms Anju.A
AP/IT
Outline
■ Process Concept
❑ Process Scheduling
❑ Operations on Processes
❑ Cooperating Processes
■ Threads
■ Interprocess Communication
Course Outcome
Apply process
K3
synchronization, process
CO2 scheduling, and
deadlocks concepts in
the given scenario to
solve the problems.
Process Concept
A() { A() {
A
main
… …
} Program } Proces
■ More to a process than just a program: s
❑ Program is just part of the process state
❑ I run Vim or Notepad on lectures.txt, you run it on homework.java – Same
program, different processes
■ Less to a process than a program:
❑ A program can invoke more than one process
❑ A web browser launches multiple processes, e.g., one per tab
Process State
new admitted
exit terminated
interrupt
running
ready
Scheduler
I/O or dispatch
event I/O or
completion event wait
waiting
Process States
Device
Queue
Ready
Queue
Ready Queue And Various I/O
Device Queues
Process Scheduling Queues
18
Process Profiles
■ Resource sharing
❑ Parent and children share all resources.
❑ Children share subset of parent‟s resources - prevents
many processes from overloading the system.
❑ Parent and children share no resources.
■ Execution
❑ Parent and child execute concurrently.
❑ Parent waits until child has terminated.
■ Address Space
❑ Child process is duplicate of parent process.
❑ Child process has a program loaded into it.
UNIX Process Creation
■ Resource Sharing
■ Economy
■ Utilization of MP Architectures
Threads(Cont.)
■ Network Servers
❑ Concurrent requests from network
❑ Again, single program, multiple concurrent operations
❑ File server, Web server, and airline reservation systems
MS/DOS, early
One Traditional UNIX
Macintosh
Embedded systems Mach, OS/2, Linux
(Geoworks, VxWorks, Windows 9x???
Many JavaOS,etc) Win NT to XP, Solaris,
JavaOS, Pilot(PC) HP-UX, OS X
■ Kernel-supported threads
■ User-level threads
■ Hybrid approach implements both user-level
and kernel-supported threads (Solaris 2).
Kernel Threads
■ Examples
❑ Windows XP/2000, Solaris, Linux,Tru64 UNIX,
Mac OS X, Mach, OS/2
User Threads
■ Supported above the kernel, via a set of library calls
at the user level.
■ Thread management done by user-level threads library
❑ User program provides scheduler and thread package
■ May have several user threads per kernel thread
■ User threads may be scheduled non-premptively relative to
each other (only switch on yield())
❑ Advantages
■ Cheap, Fast
❑ Threads do not need to call OS and cause interrupts to kernel
❑ Disadv: If kernel is single threaded, system call from any
thread can block the entire task.
■ Example thread libraries:
❑ POSIX Pthreads, Win32 threads, Java threads
Multithreading Models
■ Many-to-One
■ One-to-One
■ Many-to-Many
Many-to-One
■ Many user-level threads mapped to single
kernel thread
■ Examples:
❑ Solaris Green Threads
❑ GNU Portable Threads
One-to-One
Examples
❑ Windows NT/XP/2000; Linux; Solaris 9 and later
Many-to-Many Model
■ Allows many user level
threads to be mapped to
many kernel threads
■ Allows the operating
system to create a
sufficient number of
kernel threads
■ Solaris prior to version 9
■ Windows NT/2000 with
the ThreadFiber package
Thread Support in Solaris 2
B
Multiprocessing
C
A B C
Multiprogramming A B C A B C B
Cooperating Processes
…….
Direct Communication
■ Operations
▪ create a new mailbox
▪ send/receive messages through mailbox
▪ destroy a mailbox
■ Issue: Mailbox sharing
▪ P1, P2 and P3 share mailbox A.
▪ P1 sends message, P2 and P3 receive… who gets
message??
■ Possible Solutions
▪ disallow links between more than 2 processes
▪ allow only one process at a time to execute receive operation
▪ allow system to arbitrarily select receiver and then notify
sender.
Message Buffering
Apply process
synchronization, process
scheduling, and
deadlocks concepts in
the given scenario to K3
CO2 solve the problems.
Q&A
FEEDBA 3
1