Copyright 2017 - CSIM - Asian Institute of Technology

Operating Systems

Course code: AT70.08
Credits: 3(3–0)
This course is elective

Course objectives

This course is about the concepts, structures, and mechanisms of operating systems taking into account their evolution and the rapid advances in technology, resulting into a variety of systems. The variety is not just in the capacity and speed of machines, their interconnections and interactions, but with the newer applications with demands on systems requirements. The intent of the course is to develop a conceptual framework from the point of view of the management of system resources and user interface, and relate them to contemporary design issues and to current trends in technology.

Learning outcome

Evolution of Operating Systems. Processes and Threads. Multiprogramming and Time Sharing. Concurrency Management. Scheduling. Devices. Files. User Interface. Virtual Systems. Resources Allocation. Distributed Computing and Network Based Systems. Web Server System. Emerging Trends.

Course outline

I.            Evolution of Operating Systems
1.     Early Operating Systems
2.     Improvements in System Utilization
3.     Spooling
4.     Interrupts and Interrupt Handling
 
II.          Processes and Threads
1.     Attributes
2.     State Space Description of the Operating System.
 
III.         Multiprogramming and Time Sharing
1.     Sharing of Space and Time
2.     Protection and Integrity
 
IV.         Concurrency Management
1.     Erroneous Results from Concurrent Accesses
2.     Critical Sections
3.     Semaphores
 
V.          Scheduling
1.     Queuing and response times
2.     Spooling
3.     Long and Short Term Scheduling
4.     Round Robin.
5.     Real-time scheduling Policies
6.     Multiprocessor Scheduling
 
VI.         Devices
1.     Handlers
2.     Producer and consumer problem.
3.     Buffers
 
VII.       Files
1.     Files regarded as Virtual Devices
2.     Directories
3.     Access attributes
4.     File management
 
VIII.      User Interface
1.     Command Line interpreter
2.     Graphical User Interface.
 
IX.         Virtual Systems
1.     Virtual Memory
2.     Virtual Devices and Generalization to Virtual Systems
 
X.          Resources Allocation
1.     Issues, policy and mechanism
2.     Deadlock, preconditions, prevention
3.     Banker’s Algorithm.
4.     Dining Philosopher’s problem
 
XI.         Distributed Computing and Network Based Systems
1.     Client Server Models
2.     Peer-to-Peer Computing
 
XII.       Performance
1.     Performance modeling
2.     Load Balancing
3.     Cache Management
 
XIII.      Emerging Trends

Learning resources

Textbook

Lecture Notes

Journals

ACM Computer Surveys
ACM Transactions on Programming Languages and Systems
Communications of the ACM Distributed Computing

Reference books

H.M. Dietel:
An Introduction to Operating Systems, Revise Second Edition, Addison Wesley, Massachusetts, 1990.
 
W. Stallings:
Operating Systems, Prentice Hall, 2002.
 
S.V. Raghavan and S. K. Tripathi:
Networked Multimedia Systems, Prentice-Hall International Inc., 1998.
 
A. S. Tanenbaum and M. Van Steen:
Distributed Systems, Pearson Education Asia, 2002.
 
D. A. Menasce and V. A. F. Almeida:
Web Performance, Metrics and Models, Prentice Hall, 1998.

Grading

The final grade will be computed from the following constituent parts: 
 
Mid-semester exam       - 40%
Final exam                    - 40%
Assignments/projects    - 20%
 
Closed-book examination is used for both mid-semester and final examinations

Back to the list

 

Login Form

Search

School of Engineering and technologies     Asian Institute of Technology