Operating Systems

Computer Engineering
6 ECTS; 2º Ano, 2º Semestre, 28,0 T + 42,0 PL + 5,0 OT + 5,0 O

Lecturer
- António Manuel Rodrigues Manso
- Luis Agnelo de Almeida

Prerequisites
Basic knowledge of programming skills and computer architecture.

Objectives
Students should understand the concept of operating system (OS), its functions and components. They should be able to specify, configure and maintain operating systems.

Program
1- Introduction to Operating Systems,
2- The core of an Operating System,
3- Management of Processes and Threads,
4- Process Synchronization and Deadlocks,
5- Inter-process Communications,
6- Memory Mechanisms and Memory Management Algorithms,
7- File System,
8- Security and Protection,
9- Practical content: shell, unix and windows OS programming,Unix and Windows Server system.

Evaluation Methodology
Written test: 40%
Laboratory test: 30%
Ongoing coursework: 30%
(minimum 30% in each component)

Bibliography
- Galvin, P. e Silberschatz, A. (2003). Operating System Concepts. : Addison-Wesley
- Stallings, W. (2005). Operating systems internals and design principles. : Prentice-Hall
- Veiga, L. e Ribeiro, C. e Ferreira, P. e Marques, J. e Rodrigues, R. (2012). Sistemas Operativos. : FCA - Editora Informática
- Nutt, G. (2004). Operating Systems: A Modern Perspective. : Addison Wesley

Method of interaction
Lectures and Laboratory classes.

Software used in class
Windows 2016 server, Linux (CentOS, Ubuntu), VirtualBox, GParted, GNU Compiler Collection (GCC)