Home     Contact us    Feedback       
 
 
 
 

 

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.




Copyrights © 2003 Information Technology Incorporation. All rights reserved