Monday, November 12, 2007

Syllabus

Course Code: COS 5
Course Title: Operating system
Pre-Requisite: Cos 1, Cos 2
Credit: 3 Units
Course Description

Instructional Methodologies

1. Lectures

2. Exercises

3. Quizzes

4. Case Study

5. Research

6. Group Project

7. Baby Thesis

8. Term Exam

IV. Grading System

Attendance 10%

Seatwork/Assignments 20% (Case Study/Baby Thesis)

Quizzes 40%

Term Exams 30%

Grade=((Total x 2)+Term Exam) /3

Final Grade=Prelim Grade+Midterm Grade + Final Grade

----------------------PRELIM-----------------------

I. Introduction
a. What is an operating system
b. Batch system
c. Time-sharing system
d. Personal Computer system
e. Parallel system
f. Real-time system
g. Distributed system

II. Computer System Structure
a. Computer system operation
b. I/O Structure
c. Storage structure
d. Storage Hierarchy
e. Hardware protection
f. General system architecture

III. OS Structure
a. System components
b. Operating system services
c. System calls
d. System programs
e. System structure
f. Virtual machines
g. System design and implementation
h. System generation

IV. Process
a. Process control
b. Process scheduling
c. Operation on process
d. Cooperating process
e. Interprocess communication

V. Thread
a. Overview
b. Benefits
c. User and kernel
d. Multithreading models
e. Solaris 2 threads

VI. CPU Scheduling
a. Basic concepts
b. Scheduling criteria
c. Scheduling algorithms
d. Multiple processor scheduling
e. Real-time scheduling
f. Thread scheduling
g. Algorithms
----------------------MIDTERM-----------------------
VII. Process Synchronization
a. Background
b. Critical-section problem
c. Two-task solution
d. Synchronization problems
e. Semaphores
f. Classical Synchronization problems
g. Monitors
h. OS Synchronization

VIII. Deadlocks
a. System model
b. Deadlock for handling
c. Methods for handling
d. Deadlock prevention
e. Deadlock avoidance
f. Deadlock detection
g. Recovery from deadlock

IX. Memory Management
a. Background
b. Swapping
c. Contigous memory allocation
d. Paging
e. Segmentation
f. Segmentation with paging

X. Virtual memory
a. Background
b. Demand paging
c. Page replacement
d. Allocation of frames
e. Thrashing
f. Operating system examples
g. Other considerations

XI. File Structure
a. File concepts
b. Access methods
c. Directory structure
d. Protection
e. File-system structure
f. Allocation methods
g. Free-space management
h. Directory implementation
i. Efficiency and performance
j. Recovery

XII. I/O system
a. Overview
b. I/O Hardware
c. Application to interface
d. Kernel I/O Subsystem
e. I/O request handling
f. Performance

XIII. Mass Storage
a. Disk structure
i. Disk Scheduling
ii. Disk Management
iii. Swap-management
iv. Disk Reliability
v. Stable-storage implementation
vi. Tertiary Structure

----------------------FINALS-----------------------

XIV. Network Structures
a. Background
b. Network types
c. Communication
d. Comm. Process
e. Robustness
f. Design issues
g. Network examples

XV. Distributed Communication
a. Sockets
b. Remote procedure Calls
c. Remote Method invocation
d. COBRA
e. Object registration

XVI. Distributed Coordination
a. Event Ordering
b. Mutaul exclusion
c. Deadlosk handling
d. Election algorithms

XVII. Distributed File System
a. Background
b. Naming and transparency
c. Remote access
d. State full vs. stales services
e. File Replication
f. Example of System NFS

XVIII. Protection
a. Goal protection
b. Dominion of protection
c. Access matrix
d. Implementation of acces matrix
e. Revocation of access rights
f. Lanaguage based protection

XIX. Security
a. The security probkem
b. Authentication
c. Program threats
d. System threat
e. Threat modeling
f. Encryption
g. Computer security classification
h. An example security model windows NT

XX. The Linux System
a. History
b. Design
c. Kernel modules
d. Process mgnt.
e. Scheduling
f. Mem. Mgnt.
g. Files system
h. I/O
i. Interprocess com.
j. Net. Struct.
k. Security

XXI. Windows 2000
a. History
b. Design prin.
c. Syste. Comp.
d. Environment subsystem
e. Networking
f. Programmer interface

XXII. Apple Macintosh OS
a. History
b. Design Principles
c. Kernel Modules
d. Process Mgnt.
e. Scheduling
f. Memory mgnt.
g. File Systems
h. I/O
i. Interprocess comm..
j. Network structures
k. security

No comments: