An Operating Systems Vade Mecum

Raphael A. Finkel

Publisher: Prentice Hall, 1986, 292 pages

ISBN: 0-13-637570-7

Keywords: Operating Systems

Last modified: June 30, 2021, 5:23 p.m.

Not Available

  1. Introduction
    1. The Resource Principle
    2. Historical Development
      1. Open shop
      2. Operator-driven shop
      3. Offline transput
      4. Spooling systems
      5. Batch multiprogramming
      6. Interactive multiprogramming
      7. Distributed computing
    3. The Beautification Principle
    4. Philosophy of the Book
    5. Further reading
  2. Time Management
    1. Nuts and Bolts
      1. Processes and context blocks
      2. Process Lists
    2. Goals, Measures, and Assumptions
    3. Policies
      1. First-come, first served (FCFS)
      2. Round robin (RR)
      3. Shortest process next (SPN)
      4. Preemptive shortest process next (PSPN)
      5. Highest penalty ratio next (HPRN)
      6. Multiple-level feedback (FB)
      7. Selfish round robin (SRR)
      8. Hybrid methods
      9. State-dependent priority methods
      10. External priority methods
    4. Perspective
      1. Classification of scheduling policies
      2. Scheduling levels
      3. Countermeasures
      4. Guiding principles
    5. Further Reading
    6. Exercises
  3. Space Management
    1. Preliminaries
      1. Swapping
      2. Physical and virtual
      3. Address translation
      4. Sharing
    2. Fixed Partitions
      1. Protection
      2. Overlays
    3. Single Segment
      1. Mechanism
      2. Benefits
      3. Placement and replacement policies
    4. Two Segments
    5. Segmentation
      1. Implementation
      2. Storing the necessary information
      3. Swapping
      4. Large segment spaces
      5. Shared segments
      6. Unusable space
      7. Initial loading and execution
    6. Paging
      1. Implementation
      2. Protection and sharing
      3. Case Study: Multics
      4. Case Study: VAX
    7. Page-replacement Policies
      1. Random replacement
      2. MIN
      3. First-in, first-out (FIFO)
      4. Least-recently used (LRU)
      5. Not used recently (NUR)
      6. Second-chance cyclic
      7. Global policies
      8. Working set
      9. PFF (Page-fault frequency)
      10. Working Size
      11. WSCLOCK
      12. If the field is missing
      13. Classification of replacement methods
        • when is a page swapped in?
        • which page should be swapped out?
        • startup-phase conflicts
    8. Perspective
    9. Further Reading
    10. Exercises
  4. Non-Preemptable Resources
    1. Nuts and Bolts
    2. Deadlock and Starvation
    3. Dining Philosophers
    4. One-shot Allocation
    5. Hierarchical Allocation
    6. Banker's Algorithm
    7. Deadlock Discoveries
    8. Deadlock Recovery
    9. Starvation
    10. Perspective
    11. Further Reading
    12. Exercises
  5. Transput
    1. Device Hardware
      1. Disks
      2. Magnetic tape
      3. Drums
      4. Communication lines
        • hardware characteristics
        • synchronous transmission
        • asynchronous transmission
    2. Cpu-device Interaction
      1. Device registers
      2. Direct memory access
      3. Channels
    3. Software Control of Devices
      1. Two levels of device drivers
      2. Terminal device drivers
      3. Disk device drivers
    4. Data Modification
      1. Data compaction
      2. Data encryption
      3. Reliability
    5. The Process View of Transput
      1. To block or not to block
      2. Main-store addresses
      3. Implementing the service calls
      4. Buffer depletion
    6. Perspective
    7. Further Reading
    8. Exercises
  6. File Structures
    1. Naming Structure of Files
      1. One-level (flat) directories
      2. Two-level directories
      3. Aliases
      4. Hierarchical directories
    2. Access Control
      1. A formal model of access control
      2. Capability lists
      3. Access lists
      4. Directories and access control
      5. Aliases and indirect files
    3. Access Methods
      1. Sequential Access
      2. Direct access
      3. Mapped file access
      4. Structured files
    4. File Recovery
      1. Dumps
      2. Backup files and versions
      3. Partial deletion
    5. Transactions
      1. Synchronization atomicity
      2. Failure atomicity
    6. Physical Representation
      1. Allocation
      2. File headers
      3. Implementing directories
      4. Disk layout
      5. Implementing transactions
    7. Perspective
    8. Further Reading
    9. Exercises
  7. The User Interface
    1. The Command Interpreter
      1. Invoking programs and establishing environments
      2. The user principle
      3. Interacting with programs
      4. Advanced features
        • wild cards
        • history
        • command completion
        • subordinate command interpreters
        • redirection of transput
        • bit-mappped displays
    2. Interactive Programs
    3. Utility Programs
      1. Document preparation
      2. Program preparation
      3. Data management
      4. Communication
    4. Perspective
    5. Further Reading
    6. Exercises
  8. Concurrency
    1. The Problems
      1. Mutual exclusion
      2. Synchronization
    2. Mechanisms
      1. Disable interrupts
      2. Busy wait on MutEx
      3. Switch variable
      4. Non-alternating switch
      5. Locks
      6. Semaphores
      7. Critical region
      8. Conditional critical region
      9. Monitors
      10. Crowd monitors
      11. Event counts and sequencers
      12. Path expressions
      13. Invariant expressions
    3. Perspective
    4. Further Reading
    5. Exercises
  9. Co-Operating Processes
    1. Process Creation and Naming
      1. Service calls
      2. Programming language syntax
    2. Interprocess Communication
      1. Semaphores
      2. Software interrupts
      3. Pipes
      4. Ports
        • data
        • access
        • naming and transfer
      5. Semantics of read and write
    3. Distributed Operating Systems
      1. Multiprocessors
      2. Local-area networks
      3. Long-haul networks
      4. Multicomputers
    4. Perspective
    5. Further Reading
    6. Exercises

Reviews

An Operating Systems Vade Mecum

Reviewed by Roland Buresund

Good ******* (7 out of 10)

Last modified: May 21, 2007, 2:54 a.m.

A good introductory text on operating system innards.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required