Go to:
Logótipo
You are here: Start > L.EIC015

Operating Systems

Code: L.EIC015     Acronym: SO

Keywords
Classification Keyword
OFICIAL Informatics Engineering and Computing

Instance: 2023/2024 - 1S Ícone do Moodle

Active? Yes
Web Page: https://moodle.up.pt/course/view.php?id=1639
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Bachelor 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
L.EIC 348 Syllabus 2 - 6 52 162
Mais informaçõesLast updated on 2025-01-20.

Fields changed: Curricular Unit support software, Complementary Bibliography, Mandatory literature, Bibliografia Obrigatória, Componentes de Avaliação e Ocupação

Teaching language

Suitable for English-speaking students
Obs.: Os materiais de estudo estão disponíveis em Inglês e as aulas são leccionadas em Português

Objectives

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

Learning outcomes and competences

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

Working method

B-learning

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

Previous knowledge of programming with the C language is required. Approval in the curricular unit of "Programming" is recommended.

Program

INTRODUCTION TO OPERATING SYSTEMS
- Objectives and functions of an operating system
- System boot
- Command interface: Shell
- Supported abstractions, system calls and their programming interface
PROCESS MANAGEMENT
- Process life cycle
- Scheduling
- IPC: Signals, mmap, pipes / UNIX sockets
THREADS and CONCURRENT PROGRAMMING
- Thread live cycle
- Mutual exclusion: Peterson, test & set
- Locks, semaphores and condition variables
- Lock order and two-phase locking
- Thread-safe structures: Queues, Barrier, RW registers
MEMORY MANAGEMENT
- Memory hierarchy
- Physical memory management
- Virtual memory
- Process memory model
- Segmentation and pagination
- Hardware-level support
FILE SYSTEMS
- Storage devices
- Partitioning, volumes, swap space
- File-system
- OS API and implementation
- Data structures and space management
INPUT/OUTPUT SYSTEMS
- Devices and bandwidth profile
- Interrupts and interrupt management
- Controllers and device drivers
- UNIX /dev directory 

Complementary practice (covered along the course )
SYSTEM PROGRAMMING (UNIX/LINUX API)
- 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

Abraham Silberschatz, Peter Baer Galvin, Greg Gagne; Operating system concepts, Hoboken : Wiley, 2019

Teaching methods and learning activities

- Theoretical classes: presentation and discussion of the subject matter.
- Theoretical/practical classes: resolution of programming exercises involving the use of the 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 a project, involving the use of the API.

Software

C Development Environment
Linux Operating System

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 100,00
Total: 100,00

Amount of time allocated to each course unit

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

Eligibility for exams

The evaluation is "distributed without a final exam" and includes the following components:

  • Two tests (T1 and T2, each worth 10 points) covering approximately half of the theoretical material and exercises from the practical classes (TP).
    To meet the attendance requirements for the course, students must achieve at least 50% in the TP components of the tests.

For students who meet the attendance requirements, the final grade is calculated as follows: Final = T1 + T2.

The resit exam covers the entirety of the course material.

Calculation formula of final grade

Assuming the student meets the attendance requirements, the final grade (Final) is calculated using the following formula:

Final = T1 + T2

where T1 and T2 are each graded out of 10 points.

The resit exam covers the entirety of the course material.

Special assessment (TE, DA, ...)

Students enrolled under special regimes without attending practical classes are subject to the same assessment conditions as regular students, except that they are exempt from attending practical classes.

Classification improvement

The grade can be improved at the legally stipulated times, covering all the lecture material.

Observations

Very important: Cases of dishonest academic conduct will be brought to the attention of the Course Director.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-16 at 15:33:40 | Acceptable Use Policy | Data Protection Policy | Complaint Portal