The Structure of THE Multiprogramming System - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

The Structure of THE Multiprogramming System

Description:

Each layer builds an abstraction hiding the details below it ... Modularity and information hiding. Each layer can be tested and verified independently ... – PowerPoint PPT presentation

Number of Views:200
Avg rating:3.0/5.0
Slides: 30
Provided by: syste195
Category:

less

Transcript and Presenter's Notes

Title: The Structure of THE Multiprogramming System


1
The Structure of THE Multiprogramming System
  • Dijkstra 1968
  • Aiman Erbad

2
Outline
  • Contributions
  • Platform Systems goals
  • System Components
  • Layered structure
  • Questions

3
Contributions
  • Layered Structure of OS
  • Concurrent Programming (semaphores)
  • Memory segments (virtual addresses)
  • Proof of correctness of the system

4
Definitions
  • Core memory ? Main Memory
  • Drum ? Secondary storage Disk
  • Sequential Processes not sequential execution

5
Platform (Hardware)
  • Dutch Electrologica EL X8 computer
  • 32K core memory (cycle time 2.5usec)
  • 512K words drum (1024 words per track, 40msec
    rev )
  • Low capacity channels supporting peripherals
  • (3 paper tape readers and punches, printer,
    plotter, and 2 teleprinter)
  • An indirect addressing (suited for stack
    implementation)
  • A sound control of interrupts and peripherals

6
System Goals
  • Reduce the turn-around time for programs of short
    duration
  • Efficient use of peripheral devices
  • Efficient use of memory and central processor
  • Support programs that need the flexibility of
    general purpose computer without the capacity and
    the processing power

7
Major Mistakes
  • Attempt a perfect installation
  • Late debugging
  • Prevention better than cure

8
System Components
  • Storage allocation
  • Processor allocation
  • System Structure

9
Storage Allocation
  • Distinction between memory units pages and
    information units segment
  • Segment have virtual address that are mapped to
    the page physical address

Magic
Physical Address
Virtual Address
10
Processor Allocation
  • Society of sequential processes
  • Process per program
  • Process per peripheral
  • 2 Processes for segment controller and message
    interpreter
  • These processes cooperate via explicit mutual
    synchronization (semaphores)
  • Mutual exclusion semaphores
  • Private semaphore

11
System Structure
  • THE has five Layers
  • Each layer builds an abstraction hiding the
    details below it
  • Each layer uses only the functionality of the
    lower layers

12
System Structure
  • Five Layers
  • Layer 0 CPU Scheduler (Process Allocator)
  • Handles CPU scheduling and handling clock
    interrupts (Virtual CPU)
  • Layer 1 Memory Manager (Segment Controller)
  • Handles automatic storage allocation (Virtual
    memory)
  • Layer 2 Console Manager (Message Interpreter)
  • Handles user input and processes output (Virtual
    console)
  • Layer 3 Device Managers
  • Handle devices and provide buffering (input and
    output)
  • Layer 4 User Programs

The original slide was from www.cs.washington.edu/
451
13
Layered Structure

Hardware
14
Layered Structure

CPU Scheduling
Hardware
15
Layered Structure

Memory Management
CPU Scheduling
Hardware
16
Layered Structure

Console Manager
Memory Management
CPU Scheduler
Hardware
17
Layered Structure

Device Manager
Console Manager
Memory Management
CPU Scheduler
Hardware
18
Layered Structure

19
Layered OS Structure
  • Pros
  • Modularity and information hiding
  • Each layer can be tested and verified
    independently
  • Cons
  • Difficult to define and order layers
  • Not flexible (real systems are more complex)
  • Poor performance
  • Disjunction between model and reality

20
Monolithic Structure
user programs
everything
OS
hardware
21
Monolithic OS
22
Microkernel structure
user mode
firefox
powerpoint
user processes
apache
network
file system
system processes
paging
threads
scheduling
kernel
communication
processor control
low-level VM
microkernel
protection
hardware
23
System Goals
  • Reduce the turn-around time for programs of short
    duration
  • Efficient use of peripheral devices
  • Efficient use of memory and central processor
  • Support programs that need the flexibility of
    general purpose computer without the capacity and
    the processing power

24
Conclusion
  • Contributions
  • Platform Systems goals
  • System Components
  • Layered structure
  • Questions

25
Mutual Exclusion
  • begin semaphore mutex mutex 1
  • parbegin
  • begin L1
  • P(mutex)
  • critcal section 1
  • V(mutex)
  • remainder of cycle 1
  • go to L1 end
  • begin L2
  • P(mutex)
  • critical section 2
  • V(mutex) remainder of cycle 2
  • go to L2 end
  • parend end

26
Private Semaphore
  • Process 1
  • P(mutex)
  •     If resource available then
  •           V(private semaphore)
  • V(mutex)
  • P(private semaphore)

27
Private Semaphore
  • Process 2
  • P(mutex)
  • "modification and inspection of state variables
  • V(private semaphore)
  • V(mutex) 

28
Proving the Harmonious Cooperation
  • Notion of cyclic processes having homing
    position and unstable situation
  • Proof outline
  • Process performing a task can generate only a
    finite number of tasks
  • System cannot be at rest if there are still
    pending tasks
  • All processes will eventually be in homing
    position (no deadlock)

29
References
  • "The structure of the THE-multiprogramming
    system", by E. Dijkstra, Communications of the
    ACM, Vol. 11, No. 5, 1968, 341--346
  • OS lecture slides University of Washington
  • www.cs.washington.edu/451
  • Dijkstra Home page University of Texas
  • http//www.cs.utexas.edu/users/EWD/
  • Class Presentation by S. Stipic and M. Dimitrov
  • www.cs.ucf.edu/courses/cop5611/spring05/item/T
    HE.pdf
Write a Comment
User Comments (0)
About PowerShow.com