Next:
List of Tables
Up:
Ceng 328 Operating Systems
Previous:
Ceng 328 Operating Systems
Contents
List of Tables
List of Figures
Introduction
What is Operating System?
Functionalities in OS:
History of operating Systems
Mainframe Systems
Batch and Multiprogrammed Systems
Time Sharing
Personnel Computers
Parallel Processing Systems
Distributed Systems
Clustered Systems
Real-Time
Embedded, Smart-Card and Handheld
Computer Hardware Review
Processor
Main Memory
I/O Modules and Structure
System bus
Storage Structure and Hierarchy
Protection
Interrupts and Traps
Accessing OS Services
Operating System Components
Bootstrapping
System Structure
Why Study Operating Systems?
Problems in building OS
Processes and Threads
Processes
The Process Model
Context Switch
Dispatcher
Process Creation
Process Termination
Process States
Threads
The Thread Model
Implementing Threads in User Space
Implementing Threads in the Kernel
Interprocess Communication
Race Conditions
Critical Regions
Mutual Exclusion with Busy Waiting (Software approach)
Sleep and wakeup
Semaphores
Monitors
Classical IPC Problems
The Dining Philosophers Problem (see Fig. 2.17)
The Readers and Writers Problem (see Fig. 2.19)
The Sleeping Barber Problem (see Fig. 2.20)
Scheduling
Introduction to Scheduling
Scheduling in Batch Systems
Scheduling in Interactive Systems
Policy versus Mechanism
Deadlock
Resources
Introduction to Deadlocks
Conditions for Deadlock (See Fig. 3.1)
Deadlock Modeling (See Fig. 3.2)
The Ostrich Algorithm
Deadlock Detection and Recovery
Deadlock Avoidance
Resource Trajectories (See Fig. 3.4)
Safe and Unsafe States (See Fig. 3.5)
The Banker's Algorithm for Deadlock Avoidance
Deadlock Prevention
Summary of Deadlock strategies
Memory Management
Basic Memory Management
Monoprogramming without Swapping or Paging (see the Fig. 4.3)
Multiprogramming with Fixed Partitions (see the Fig. 4.4)
Relocation and Protection (see the Fig. 4.5)
Swapping
Memory Management cont.
Virtual Memory
Paging (see the Fig. 4.8)
Page Tables (see Fig. 4.12)
Inverted Page Tables
Basic policies
Page Replacement Algorithms
Page Replacement Cont.
Segmentation
Segmentation with Paging
Segmentation with Paging: MULTICS
Segmentation with Paging: The Intel Pentium (see Fig. 4.18)
INPUT/OUTPUT
Principles of I/O Hardware
Device Controllers (see Fig. 5.1)
I/O Devices
Characteristics (see Table 5.2) and Differences in I/O Devices
Evolution of the I/O Function (see Fig. 5.2)
Memory-Mapped I/O (see Fig. 5.3)
Direct Memory Access (DMA)
Interrupts Revisited (see Fig. 5.6)
Principles of I/O Software
Programmed I/O (see Fig. 5.7a)
Interrupt-Driven I/O (see Fig. 5.7b)
Direct Memory Access (see Fig. 5.7c)
Operating System Design Issues
I/O Software Layers (see Fig. 5.8)
Interrupt Handlers
Device Drivers (see Fig. 5.9)
Device Independent I/O Software(see Fig. 5.10)
User Level Software
Disks (see Fig. 5.13)
Disk Hardware
Disk Formatting
Disk Arm Scheduling Algorithms (see Fig. 5.18)
Error-Handling
File Systems
Files
File Naming
File Structure; From OS's perspective
File Types
File Access
File Attributes(see Fig. 6.4)
File Operations
An Example Program Using File System Calls (see Fig. 6.6)
Memory-Mapped Files (see Fig. 6.7)
File Organization and Access; Programmer's Perspective
Directories
Path Names
File Sharing
File System Implementation
File System Layout
Implementing Files (see Fig. 6.13)
Implementing Directories
Shared Files (see Fig. 6.17)
Disk Space Management (Free space management)
Other file system implementation issues
UNIX File Management
vita
2004-05-25