Go to:
Esta página em português Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
You are here: Start > EIC0027

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Operating Systems

Code: EIC0027     Acronym: SOPE

Classification Keyword
OFICIAL Operating Systems and Networks

Instance: 2014/2015 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 176 Syllabus since 2009/2010 2 - 6 56 162

Teaching - Hours

Lectures: 2,00
Recitations: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
Jorge Alves da Silva 2,00
Recitations Totals 6 12,00
José Manuel de Magalhães Cruz 6,00
António Miguel Pontes Pimenta Monteiro 4,00
Jorge Alves da Silva 2,00

Teaching language

Suitable for English-speaking students


The main objectives of this curricular unit are to provide the fundamental knowledge on:
O1- the structure and the functioning of an operating system;
O2- the use of the Application Programming Interface (API) of a real .

Learning outcomes and competences

The students who complete successfully this curricular unit must be able:
LO1- to describe the functions and the general structure of an operating system and to identify the main abstractions that it provides;
LO2- to describe the functioning of the essential components of an operating system, the way they interact and the fundamental algorithms used to implement them;
LO3- to develop programs using and exploring the API of a real operating system (Unix/Linux).

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Previous knowledge: C programming language. Aproval in the curricular unit of Programming is recommended.


- Objectives and functions of an operating system
- Evolution of operating systems; structure of modern operating systems
- Abstractions supported by an operating system and their programming interface
- Hardware support and protection requirements
- Processes and threads; process status
- Scheduling strategies
- Concurrent execution: problems and solutions
- Synchronization mechanisms between processes
- Deadlocks
- Basic memory management: overlays, swapping and partitions
- Virtual memory systems: paging and segmentation
- Implementation of virtual memory; strategies for memory allocation/ release
- Input/output hardware and software
- Abstraction of differences between devices
- File-system interface
- File-system implementation; disk management

SYSTEM PROGRAMMING (API, UNIX/LINUX) - covered along the course
- File and directory manipulation.
- Process and thread creation and management.
- Interprocess communication: signals, pipes, FIFOs, and shared memory.
- Process and thread synchronization: semaphores, mutexes and condition variables.

Mandatory literature

Avi Silberschatz, Peter Baer Galvin, Greg Gagne; Operating System Concepts (8th edition), John Wiley & Sons, Inc., 2008. ISBN: ISBN 0-470-12872-0
Robbins, Kay A.; UNIX systems programming. ISBN: 0-13-042411-0
Miguel Pimenta Monteiro; O Sistema Operativo Unix - Alguns aspectos da sua API

Complementary Bibliography

Andrew S. Tanenbaum; Modern operating systems. ISBN: 0-13-813459-6
William Stallings; Operating Systems: Internals and Design Principles, 6/E, Prentice Hall, 2008. ISBN: 0136006329
Richard W. Stevens, Stephen A. Rago; Advanced Programming in the UNIX Environment (2nd edition), Addison-Wesley Professional, 2005. ISBN: 0201433079
Stevens, W. Richard; Unix network programming. ISBN: 0-13-081-081-9
José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues; Sistemas Operativos, FCA, 2009. ISBN: 978-972-722-575-0

Teaching methods and learning activities

- Theoretical classes: exposure and discussion of the subject matter, accompanied by the resolution of small illustrative exercises.
- Theoretical/practical classes: resolution of programming exercises envolving the use of Unix/Linux API.
- Self-learning: study of the programme themes, using the bibliography and the materials available at the web page of the curricular unit; resolution of exercises and development of two projects, involving the use of the API.



Sistema de desenvolvimento em C
Sistema operativo LINUX

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 50,00
Trabalho laboratorial 50,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 78,00
Frequência das aulas 56,00
Trabalho laboratorial 28,00
Total: 162,00

Eligibility for exams

To be admitted to exams students have to attend to 75% of the classes and have to achieve a minimum mark of 40% in the practical assignments.

Continuous Assessment= 0.5*AG1 + 0.5*AG2 (AG1 and AG2- Assignment grade).

Even though practical assignments are group assignments, students can be graded in a different way, depending on the result of the evaluation of their performance during the project presentation and discussion.

Students who have attended to this course last year and have a passing mark in the continuous assessment component can keep the previous grade and do not need to attend classes and to do the practical assignments; for that, they need to inform the teacher at the beginning of the semester.

Calculation formula of final grade

Final Mark= 0.5*CA + 0.5 *FE (CA- Continuous assessment; FE- Final Exam).

To be approved, students have to achieve a minimum grade of 40% in both components.

Special assessment (TE, DA, ...)

Students with a special status will be assessed in the same way as ordinary students. They have to do all the assignments and the final exames. Whenever possible the assignments should be done in the periods established for the regular students and submited in the same dates.

Classification improvement

Students can only improve the mark of the continuous assessment component in the following year. Students can improve the mark of the written exam at the corresponding seasons (according to the rules).


Project work groups are composed by two students or, exceptionally, three students.

Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-05-22 at 02:50:08