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: 2024/2025 - 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 342 Syllabus 2 - 6 52 162

Teaching Staff - Responsibilities

Teacher Responsibility
Carlos Miguel Ferraz Baquero-Moreno
Luís Miguel Barros Lopes

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

Silberschatz, A.; Galvin, P. & Gagne; Operating System Concepts

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

Sistema de desenvolvimento em C
Sistema operativo LINUX

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

Attend 50% of the TP Classes

Calculation formula of final grade

The assessment is "distributed without a final exam" and consists of two tests, T1 and T2, each worth 10 points, each covering approximately half of the theoretical material and exercises from the TP classes.

Assuming that the student attends the class, the final grade is obtained by the following expression:

Final Grade = T1 + T2

Students who fail (Final Grade < 10) but attend the class or students who are enrolled to improve their grades must take the retake exam, which covers all of the theoretical and practical 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-20 at 14:52:57 | Acceptable Use Policy | Data Protection Policy | Complaint Portal