The
Foundation Module Courses
Operating
Systems Fundamentals
Course
Objectives
This subject deals with computer organization and operating
systems and aims for a balance between theory and practice.
The students will become familiar with the important concepts
of operating systems, process management, memory management,
file systems, input/output management and distributed systems.
The subject will cover both the UNIX and Windows XP operating
systems to illustrate the fundamental materials introduced in
the lectures. It introduces the key mechanisms of all operating
systems - processes, memory management, file systems, protection
and security. The evolution of these mechanisms is presented
through a historical tour of operating system development, leading
to a study of current hardware and operating system speeds,
capacities, and physical limitations. The role of processes,
their creation, scheduling, synchronization, and communication
are covered. This is followed by the study of storage management
- static and dynamic allocation, paging & segmentation,
virtual memory, demand paging, page replacement algorithms and
memory caches showing their effect on performance. File system
concepts are addressed - input/output hardware and software,
files, directories, access mechanisms and file allocation. Finally,
the increasingly important areas of protection and security
are studied - goals, authentication, access mechanisms, protection
domains and access control lists.
Throughout the unit, reference is made to case studies from
two of today's most successful operating systems, Unix, and
Windows XP. Laboratory and tutorial work compare and contrast
the provision of the key operating system mechanisms in each
environment.
Prerequisites
Computer Systems Fundamentals
Course
Description
PART
(1): OVERVIEW
Chapter
(1): Introduction (1 Lecture)
1.
What is an Operating System?
2. Simple Batch Systems
3. Multiprogrammed Batched Systems
4. Time-Sharing Systems
5. Personal-Computer Systems
6. Parallel Systems
7. Distributed Systems
8. Real-Time Systems
Chapter
(2): Computer-System Structures( 1 Lecture)
1.
Computer-System Operation
2. I/O Structure
3. Storage Structure
4. Storage Hierarchy
5. Hardware Protection
6. General System Architecture
Chapter (3): Operating System structures (1 Lecture)
1.
System Components
2. Operating-System Services
3. System Calls
4. System Programs
5. System Structure
6. Virtual Machines
7. System Design and Implementation
PART
(2): PROCESS MANAGEMENT
Chapter
(4): Processes (2 Lectures)
1.
Process Concept
2. Process Scheduling
3. Operation on Processes
4. Cooperating Processes
5. Threads
6. Interprocess Communication
Chapter (5): CPU Scheduling (1 Lecture)
1.
Basic Concepts
2. Scheduling Criteria
3. Scheduling Algorithms
4. Multiple-Processor Scheduling
5. Real-Time Scheduling
Chapter
(6): Process Synchronization (2 Lectures)
1.
Background
2. The Critical-Section Problem
3. Semaphores
4. Classical Problems of Synchronization
5. Critical Regions
6. Monitors
Chapter
(7): Deadlocks (1 Lecture)
1.
System Model
2. Deadlock Characterization
3. Methods for Handling Deadlocks
4. Deadlock Prevention
5. Deadlock Avoidance
6. Deadlock Detection
7. Recovery from Deadlock
8. Combined Approach to Deadlock Handling
PART (3): STORAGE MANAGEMENT
Chapter
(8): Memory Management (1 Lecture)
1.
Logical versus Physical Address Space
2. Swapping
3. Contiguous Allocation
4. Paging
5. Segmentation
6. Segmentation with Paging
Chapter (9): Virtual Memory (1 Lecture)
1.
Background
2. Demand Paging
3. Performance of Demand Paging
4. Page Replacement
5. Page-Replacement Algorithms
6. Allocation of frames
7. Thrashing
8. Demand Segmentation
Chapter
(10): File-System Interface (1 Lecture)
1.
File Concept
2. Access Methods
3. Directory Structure
4. Protection
Chapter
(11): File-System Implementation (1 Lecture)
1.
File System Structure
2. Allocation Methods
3. Free-Space Management
4. Directory Implementation
5. Recovery
UNIX
Case Study
Windows Architecture Case-Study
References
Silberschatz, Abraham, "Operating System Concepts"
, Fifth Edition, Addison Wesley Inc., 1998.
Total
Hours
Theoretical 39 hrs.
Case Studies (UNIX and Windows XP) 30 hrs.
Note:
Two extra sessions will be allocated for students to solve problems
on CPU Scheduling & Memory Management.