Thursday, June 08, 2006 The number of UNIX installations has grown to 10, with more expected. The...
-
date post
19-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Thursday, June 08, 2006 The number of UNIX installations has grown to 10, with more expected. The...
Thursday, June 08, 2006
The number of UNIX installations has grown to 10, with more expected.
The UNIX Programmer's Manual, 2nd Edition, June, 1972
Completion of I/O triggers an interruptHardware Trap:
Division by zero Invalid memory access
Request for OS service Trap/System call/Monitor call
Protection
Dual Mode Operation User mode Kernel mode
Mode bit (0/1) (MS-DOS did not have it)System call (switches from user mode to
kernel mode)Privileged instructions should be
executed in kernel mode only
Protection
Changing mode bit?
I/O Protection
User cannot issue I/O instructions directly
Changes to interrupt vector?
Memory Protection
Memory Protection
Memory Protection
Changes to base and limit registers?
CPU Protection
E.g. Infinite loop executed by a process
CPU Protection
Timer handler?
Process :Program in execution
Associated state (PC, SP, registers etc)
Address space
ProcessesThe Process Model
Multiprogramming of four programsConceptual model of 4 independent, sequential processesOnly one program active at any instant
Logical program counter
Execution order not reproducible
Process creation• System initialization
• User request to create a new process
Process Termination
Conditions which terminate processes
1. Normal exit (voluntary)
2. Error exit (voluntary)
3. Fatal error (involuntary)
4. Killed by another process (involuntary)
Process Hierarchies
Parent creates a child process, child processes can create its own process
Forms a hierarchy UNIX calls this a "process group"
Windows has no concept of process hierarchy all processes are created equal
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
Process States
ps in Unix
Background processes
Process Control Block (PCB)
CPU Switch From Process to Process
Process Scheduling Queues
Job queue – set of all processes in the systemReady queue – set of all processes residing in main
memory, ready and waiting to executeDevice queues – set of processes waiting for an I/O
deviceProcesses migrate among the various queues
Ready Queue And Various I/O Device Queues
Representation of Process Scheduling
I/O parallelism:
overlap execution: make 1 CPU into many (Real parallelism: > 1 CPU (multiprocessing))
Completion time:
B’s completion time = 100s (A + B) So overlap
Why processes? Speed
emacs (Wait for input) (Wait for input)
gcc
A B
A
B
20 s80 s
Completion time for B? A?10 s
Context Switch
When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process
Context-switch time is overhead; the system does no useful work while switching
Time dependent on hardware support
Passing of Parameters As A Table
Process Creation (Cont.)
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