Go to:
Esta página em português Ajuda Autenticar-se
You are in:: Start > CC2004

Site map
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Operating Systems

Code: CC2004     Acronym: CC2004     Level: 200

Classification Keyword
OFICIAL Computer Science

Instance: 2019/2020 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Computer Science
Course/CS Responsible: First Degree in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 0 Official Study Plan 3 - 6 56 162
L:CC 64 Plano de estudos a partir de 2014 2 - 6 56 162
L:EG 3 The study plan from 2019 3 - 6 56 162
L:F 0 Official Study Plan 2 - 6 56 162
L:G 0 study plan from 2017/18 2 - 6 56 162
L:M 8 Official Study Plan 2 - 6 56 162
L:Q 0 study plan from 2016/17 3 - 6 56 162
MI:ERS 92 Plano Oficial desde ano letivo 2014 2 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Luís Miguel Barros Lopes

Teaching - Hours

Theoretical classes: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Theoretical classes Totals 1 2,00
Luís Miguel Barros Lopes 2,00
Laboratory Practice Totals 6 12,00
Miguel João Gonçalves Areias 4,00
Luís Miguel Barros Lopes 2,00
Ricardo Jorge Gomes Lopes da Rocha 6,00

Teaching language

Suitable for English-speaking students


Provide students with the fundamental concepts of the theory and practice of the organization, structure and operation of an operating system.

Be able to implement parts of an operating system and write programs using the API of an operating system.

Learning outcomes and competences

At the end of the course, the students are expected to know:

  • A historical perspective of the evolution of operating systems;
  • How the major components of an operating system work;
  • How an operating system interfaces the hardware;
  • Different types and structure of operating systems;
  • The programming interface of an operating system;
  • How to write programs using the programming interface of an operating system;
  • How to implement parts of an operating system.

Working method



Basic Concepts
Organization, structure and typical functions of an operating system. Major components and services of an operating system.

Process concept. Process creation and termination. Process scheduling. Preemptive versus nonpreemptive scheduling. Scheduling criteria. Scheduling algorithms. Pipes.

Memory Management and Virtual Memory
Logical and physical address space. Contiguous memory allocation. Internal and external fragmentation. Segmentation. Paging. Virtual address space. Page-replacement algorithms. Frame-allocation models.

File System and Storage Devices
File system organization, structure and layers. File concept. Directory structure and hierarchy. File allocation methods. Free-space management. HDD and SSD disks. Disk scheduling algorithms.

Mandatory literature

Silberschatz Abraham; Operating system concepts. ISBN: 978-0-470-23399-3
R. Stevens, S. Rago; Advanced Programming in the UNIX Environment, Addison-Wesley, 2005. ISBN: 978-0201433074

Complementary Bibliography

000106107. ISBN: 9780273751502 pbk
Tanenbaum Andrew S. 1944-; Modern operating systems. ISBN: 978-0-13-813459-4 pbk

Teaching methods and learning activities

In the lectures the fundamental concepts of operating systems are presented and discussed.

In the practical classes, students will get hands-on experience in programming over an operating system programming interface.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

designation Weight (%)
Teste 50,00
Exame 50,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 106,00
Frequência das aulas 56,00
Total: 162,00

Eligibility for exams

Skip no more than a quarter of the practical classes.

Grade in practical test >= 50%.

Calculation formula of final grade

Two theory tests - T1 and T2 - during the semester (each covering half of the theory).

One practical test (in computer lab) - TP.

Assuming the student has "frequência", the final grade is:

Grade = ( 6*TP + 7*T1 + 7*T2 ) / 20

If the student must do "exame de recurso" - ER - then the grade will be:

Grade = ( 6*TP + 14*ER ) / 20

(the exam will cover all the theory).

Classification improvement

Contact the lecturer.



Due to the logistical and sanitary control difficulties imposed by the COVID-19 epidemic, I inform you that the evaluation for "Operating Systems" will be carried out ** only ** by final presential examination ("normal" and "recurso" epochs).

The dates and conditions in which these exams are going to be carried out are being studied by the direction and by the pedagogical council of FCUP and by the directions of the courses.

To be clear: ** there will be no computer test **

The evaluation of the practical component will be made in the exam with several questions about the exercises of the sheets of the practical classes or similar.


Recommend this page Top
Copyright 1996-2022 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2022-08-14 at 10:42:12 | Reports Portal