Spring 2000 Semester : Course - Operating Systems


Basic information

 

Course structure

Course Details

I. BACKGROUND.

1. Computer System Overview.
Basic definition of an Operating System, Hardware and Software Components of an o/s, Fetch and execute cycle,  Interrupts, Types of interrupts, Interrupt handling,  I/O concept, Interrupt processing, Multiple interrupt processing, I/O communication Techniques, DMA.

2. Operating System Overview.
Characteristice of an o/s, Objectives and function of an o/s, Desirable features of an o/s, Management of an o/s. The Evolution of Operating Systems. Major Achievements. Characteristics of Modern Operating Systems. Windows 2000 Overview. Traditional UNIX Systems. Modern UNIX Systems.


II. PROCESSES.

 

3. Process Description and Control.
Basic process concept, Details discussion from 2 state to the ultimate process states, Process creation, Suspended states and transitions, Characteristics of suspended processes, Process Description, O/S control structure, Process control structure, Process termination, process switch, Process identification, attributes, Process images, Process control, Execution of o/s, Processes and threads.


4. Threads, SMP, and Micro-kernels.
Processes and Threads. Symmetric Multiprocessing. Micro-kernels. Windows 2000 Thread and SMP Management. Solaris Thread and SMP Management. Linux Process and Thread Management.


5. Concurrency: Mutual Exclusion and Synchronization.
Principles of Concurrency. Mutual Exclusion: Software Approaches. Mutual Exclusion: Hardware Support. Semaphores. Monitors. Message Passing. Readers/Writers Problem.


6. Concurrency: Deadlock and Starvation.
Principles of Deadlock. Deadlock Prevention. Deadlock Avoidance. Deadlock Detection. An Integrated Deadlock Strategy. Dining Philosophers Problem. UNIX Concurrency Mechanisms. Solaris Thread Synchronization Primitives. Windows 2000 Concurrency Mechanisms.

 

III. MEMORY.

7. Memory Management.
Memory Management Requirements. Memory Partitioning. Paging. Segmentation. Appendix 7A: Loading and Linking.

8. Virtual Memory.
Hardware and Control Structures. Operating System Software. UNIX and Solaris Memory Management. Linux Memory Management. Windows 2000 Memory Management. Appendix 8A: Hash Tables.


IV. SCHEDULING.

9. Uni-processor Scheduling.
Types of Scheduling. Scheduling Algorithms. Traditional UNIX Scheduling. Appendix 9A: Response Time. Appendix 9B: Queuing Systems.

10. Multiprocessor and Real-Time Scheduling.
Multiprocessor Scheduling. Real-Time Scheduling. Linux Scheduling. UNIX SVR4 Scheduling. Windows 2000 Scheduling.


V. INPUT/OUTPUT AND FILES.

11. I/O Management and Disk Scheduling.
I/O Devices. Organization of the I/O Function. Operating System Design Issues. I/O Buffering. Disk Scheduling. RAID. Disk Cache. UNIX SVR4 I/O. Windows 2000 I/O. Appendix 11A: Disk Storage Devices.

12. File Management.
Overview. File Organization. File Directories. File Sharing. Record Blocking. Secondary Storage Management. UNIX File Management. Windows 2000 File System.

 

VI. DISTRIBUTED SYSTEMS.

13. Distributed Processing, Client/Server, and Clusters.
Client/Server Computing. Distributed Message Passing. Remote Procedure Calls. Clusters. Windows 2000 Cluster Server. Sun Cluster. Beowulf and Linux Clusters.

14. Distributed Process Management.
Process Migration. Distributed Global States. Distributed Mutual Exclusion. Distributed Deadlock.


VII. SECURITY.

15. Computer Security.
Security Threats. Protection. Intruders. Malicious Software. Trusted Systems. Windows 2000 Security. Appendix 15A: Encryption.

 

Course materials

Schedule

Week Day Time Room Class Topic Readings Slides