Operating Systems

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

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