
Operating Systems Design and Implementation
Code
11162
Academic unit
Faculdade de Ciências e Tecnologia
Department
Departamento de Informática
Credits
6.0
Teacher in charge
Hervé Miguel Cordeiro Paulino, Pedro Abílio Duarte de Medeiros
Weekly hours
4
Total hours
58
Teaching language
Português
Objectives
This course aims at providing the students with an in-depth knowledge on the Operating System (OS) internal organization, and the techniques and algorithms used in its implementation.
Knowledge:
- Issues in the design and organization of OS, and the techniques and algorithms for implementing OS, including:
- resource management (processors, memory and input/output devices);
- file systems;
- processes and threads, protection mechanisms;
- OS support for virtualization, multiprocessing and embedded systems.
Application:
- identify the trade-offs in the design and implementation of OS kernel and services, and how to estimate their expected behaviour under specific requirements
- ability to implement/modify internal OS modules and handle their complexity
- ability to experimentally evaluate distinct systems, depending on their internal organizations and strategies
Prerequisites
Passing in 1st cycle in Computer Architecture and Operating Systems.
Subject matter
1. Introduction
-Functions and internal organization of the OS kernel and services
2. Process Management
-Strategies and mechanisms for process/thread management and implementation
-Process/thread interactions and resource sharing.
-Scheduling under multiprogramming, multiprocessing, and real-time environments.
3. Memory Management
-Memory hierarchy, Virtual memory: Swapping, paging and segmentation.
-Strategies and algorithms. On-demand paging, working sets and thrashing, protection and sharing.
-Memory-mapped files
4. File Systems and Input/output Systems
-Meta-data and data management. Disk space management.
-Availability, verification and recovery.
-Alternative storage media.
-Input/output strategies and mechanisms. Device drivers.
-File system case studies.
5. Virtualization, multiprocessing, and dedicated embedded systems
-Hw and Sw support for virtualization.
-Multiprocessor OS. Single System Image.
-OS for embedded systems: memory, time, and power constraints.
Bibliography
- Main reference
- T. Andersson, M. Dahlin, Operating Systems: Principles and Practice, 2012, Recursive Books
- Alternative references:
- Avi Silberschatz, Peter Baer Galvin, Greg Gagne,Operating System Concepts, John Wiley & Sons, Inc.
- Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, Prentice Hall
- Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, 2013, http://pages.cs.wisc.edu/~remzi/OSTEP/
- Course page @ CLIP
- Slides, tutorials, class and take home programming assignments
Teaching method
The course teaching methodology includes lectures and project assignments, partially developed in the laboratory practical classes.
The lectures motivate for the study of the OS architectural components, identify their objetives and difficulties, and present the techniques and algorithms used to address them.
The practical classes provide privileged contact time with instructor, inform about the details of the project assignments, support the student in adapting to the experimental HW and SW environment used, and also provide some time for project development.
Assessment Components:
1. Individual tests or final exam (50 %).
2. Group project assignments, including written reports (50 %).
Evaluation method
- Grading (students without “frequência” from the previous year)
- 50% from two individual tests, each contributing with 25% to the final grade
- 50% from three group projects, each contributing with 16.(6)% to the final grade
- Grading (students with “frequência” from last year)
- 1000% from two individual tests, each contributing with 50% to the final grade
- Each project will be graded according to the following distribution:
- [75%] functionality
- [12.5%] testing
- [12.5%] report
To obtain "frequência" the student must have an average ≥ 9.5 points in the lab projects.