Next:
List of Tables
Up:
Ceng 328 Operating Systems
Previous:
Ceng 328 Operating Systems
Contents
List of Tables
List of Figures
First Meeting
Lecture Information
Overview
Text Book
Grading Criteria & Policies
Introduction/Overview
What Is An Operating System?
User View - The OS as an Extended Machine
System View - The OS as a Resource Manager
Defining OS and Functionalities
Computer-System Organization
Computer-System Operation
Storage Structure
I/O Structure
OPERATING SYSTEMS LABORATORY I - UNIX Tutorial - Additional
History of the UNIX operating system
Debugging C/C++ Programs Using gdb
Evolution of Operating Systems, Computer-System Architecture and Operating-System Structure
Mainframe Systems
Batch and Multiprogrammed Systems
Time Sharing
Personnel Computers and Single-Processor Systems
Multiprocessor Systems; Parallel Processing Systems - Tightly coupled systems
Multiprocessor Systems; Distributed Systems - Loosely coupled systems
Real-Time Embedded Systems
Handheld Systems
Operating-System Operations
Dual-Mode Operation
Timer
Process Management
Memory Management
Storage Management
File-System Management
Mass-Storage Management
Caching
I/O Systems
Protection
Operating-System Structures
Operating-System Services
User Operating-System Interface
System Calls
Types of System Calls
Operating-System Design and Implementation
Operating-System Structure
Virtual Machines
Processes
Process Concept
The Process
Process State
Process Control Block
Process Scheduling
Scheduling Queues
Schedulers
Context Switch
Modelling Multiprogramming
Operations on Processes
Process Creation
Process Termination
Interprocess Communication
Shared-Memory Systems
Threads
Overview
Motivation
Benefits
Multithreading Models
Many-to-One Model
One-to-One Model
Many-to-Many Model
Thread Libraries
Pthreads
Threading Issues
The
and
System Calls
Cancellation
Signal Handling
Operating-System Examples
Linux Threads
CPU scheduling
Basic Concepts
CPU-I/O Burst Cycle
CPU Scheduler
Pre-emptive Scheduling
Dispatcher
Scheduling Criteria
Scheduling Algorithms
First-Come, First-Served Scheduling
Shortest-Job-First Scheduling
Priority Scheduling
Round-Robin Scheduling
Multilevel Queue Scheduling
Multilevel Feedback-Queue Scheduling
Multiple-Processor Scheduling
Approaches to Multiple-Processor Scheduling
Load Balancing
Operating System Examples
Example: Linux Scheduling
Process Synchronization
Race Condition
The Critical-Section Problem
Disabling Interrupts: (Systems approach)
Lock Variables: (Software approach)
Mutual Exclusion with Busy Waiting
Strict Alternation (Software approach)
Peterson's Solution (Software approach)
Semaphores
Usage
Implementation
Deadlocks and Starvation
Mutexes
Classic Problems of Synchronization
The Bounded-Buffer Problem
The Readers-Writers Problem
The Dining-Philosophers Problem
Monitors
Usage
Deadlocks
System Model
Deadlock Characterization
Necessary Conditions
Resource-Allocation Graph
Methods for Handling Deadlocks
Deadlock Prevention
Mutual Exclusion
Hold and Wait
No Preemption
Circular Wait
Deadlock Avoidance
Safe State
Deadlock Detection
Single Instance of Each Resource Type
Several Instances of a Resource Type
Detection-Algorithm Usage
Recovery From Deadlock
Process Termination
Resource Preemption
Main memory
Background
Basic Hardware
Address Binding
Logical Versus Physical Address Space
Dynamic Loading
Dynamic Linking and Shared Libraries
Swapping
Contiguous Memory Allocation
Memory Mapping and Protection
Memory Allocation
Fragmentation
Paging
Basic Method
Protection
Shared Pages
Segmentation
Basic Method
Hardware
Virtual Memory
Background
Demand Paging
Basic Concepts
Performance of Demand Paging
Copy-on-Write
Page Replacement
Basic Page Replacement
FIFO Page Replacement
Optimal Page Replacement
LRU Page Replacement
Allocation of Frames
Allocation Algorithms
Global versus Local Allocation
Thrashing
Cause of Thrashing
File-System Interface
File Concept
File Attributes
File Operations
An Example Program Using File System Calls
File Types
Internal File Structure
Access Methods
Sequential Access
Direct (Random) Access
Other Access Methods
Directory Structure
Storage Structure
Directory Overview
Single-Level Directory
Two-Level Directory
Tree-Structured Directories
Acyclic-Graph Directories
File-System Mounting
File Sharing
Multiple Users
Protection
Types of Access
Access Control
File System Implementation
File-System Structure
File-System Implementation
Overview
Partitions and Mounting
Virtual File Systems
Directory Implementation
Linear List
Hash Table
Allocation Methods
Contiguous Allocation
Linked Allocation
Indexed Allocation
Free-Space Management
Bit Vector
Linked List
Grouping
Counting
Log-Structured File Systems
Mass-Storage Structure
Overview of Mass-Storage Structure
Magnetic Disks
Disk Structure
Disk Attachment
Host-Attached Storage
Network-Attached Storage
Storage-Area Network
Disk Scheduling
FCFS Scheduling
SSTF Scheduling
SCAN Scheduling
C-SCAN Scheduling
LOOK Scheduling
Disk Management
Disk Formatting
RAID Structure
Improvement of Reliability via Redundancy
Improvement in Performance via Parallelism
RAID Levels
References:
Vita
Cem Ozdogan 2011-02-14