OS
Operating Systems
Objectives
- Understand, through an integrated vision, the interaction between applications, the operating system, and hardware.
- Understand the evolution of operating systems based on changes in terms of applications and hardware over the years.
- Explore the concepts of process, multi-programming, and scheduling in the context of operating systems.
- Acquire knowledge of physical and virtual memory management mechanisms.
- Understand different designs and mechanisms for storing and accessing persistent data, from the file system interface to the block interface to the storage devices (disks).
- Explore operating system mechanisms that enable better performance, isolation, and security for applications sharing critical resources.
- Demonstrate the ability to write efficient and reliable programs that take advantage of the process, memory, and I/O management mechanisms of a modern operating system.
Program
- Introduction to base concepts and the evolution of operating systems. Process management:
- Concept of process, multi-programming, and scheduling strategies.
- Isolation and security mechanisms for multi-process environments. Memory management:
- Physical memory management, data structures, paging, and segmentation.
- Virtual memory systems and page swapping mechanisms.
- Isolation and security in shared memory access. Data storage:
- Storage stack of an operating system
- File systems and block interfaces
- Storage devices and I/O request scheduling.
Bibliography
Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, Arpaci-Dusseau. Books, 2018. Operating System Concepts, Abraham Silberschatz et al. John Wiley & Sons, 10th edition, 2021. Modern Operating Systems, Andrew S. Tanenbaum, Herbert Bos. Prentice Hall, 5th edition, 2022. Sistemas Operativos, Alves Marques et al. FCA Editora de Informática, 2a edição, 2012.