Course code: AT70.08
This course is elective
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.
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.
I. Evolution of Operating Systems
1. Early Operating Systems
2. Improvements in System Utilization
4. Interrupts and Interrupt Handling
II. Processes and Threads
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
1. Queuing and response times
3. Long and Short Term Scheduling
4. Round Robin.
5. Real-time scheduling Policies
6. Multiprocessor Scheduling
2. Producer and consumer problem.
1. Files regarded as Virtual Devices
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
1. Performance modeling
2. Load Balancing
3. Cache Management
XIII. Emerging Trends