Studying at the University of Verona

Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.

This information is intended exclusively for students already enrolled in this course.
If you are a new student interested in enrolling, you can find information about the course of study on the course page:

Laurea in Informatica - Enrollment from 2025/2026

The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.

2° Year  activated in the A.Y. 2024/2025

ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
6
C
ING-INF/04
12
B
ING-INF/05

3° Year  It will be activated in the A.Y. 2025/2026

ModulesCreditsTAFSSD
12
B
ING-INF/05
Final exam
6
E
-
activated in the A.Y. 2024/2025
ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
6
C
ING-INF/04
12
B
ING-INF/05
It will be activated in the A.Y. 2025/2026
ModulesCreditsTAFSSD
12
B
ING-INF/05
Final exam
6
E
-
Modules Credits TAF SSD
Between the years: 2°- 3°
Between the years: 2°- 3°
Training
6
F
-

Legend | Type of training activity (TTA)

TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S00019

Credits

12

Coordinator

Andrea Masini

Language

Italian

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Courses Single

Authorized

The teaching is organized as follows:

Teoria 1

Credits

3

Period

Semester 1

Academic staff

Andrea Masini

Esercitazioni 1

Credits

2

Period

Semester 1

Academic staff

Andrea Masini

Laboratorio 1

Credits

1

Period

Semester 1

Academic staff

Andrea Masini

Teoria 2

Credits

3

Period

Semester 2

Academic staff

Luca Geretti

Esercitazioni 2

Credits

2

Period

Semester 2

Academic staff

Luca Geretti

Laboratorio 2

Credits

1

Period

Semester 2

Academic staff

Luca Geretti

Learning objectives

The course aims to provide an introduction to the principles and design of operating systems, with particular regard to the concepts related to the software architectures of an operating system, the management and synchronization of processes and the management of the resources of the system. At the end of the course, the student will have acquired knowledge and skills related to the internal organization, operation and services of an operating system. In particular, the student will have learned: - the main functionalities of an operating system with respect to users and application programs; - the strategies adopted by an operating system to manage the resources of a computer; - the techniques used to implement the different components of an operating system. Furthermore, the student will be able to apply the acquired knowledge and will have adequate comprehension skills for: - develop programs with the awareness of how the operating system manages the resulting processes; - develop applications that use the primitives (system calls) provided by the operating system; - develop and modify components of an operating system. Finally, the student will be able to: - autonomously evaluate the advantages and disadvantages of different design choices within the services offered by an operating system; - carry out a laboratory project and present the relative results motivating the choices with language appropriateness; - develop the necessary skills to continue the study related to operating systems, addressing advanced issues related to the scenarios of distributed, real time and embedded systems.

Prerequisites and basic notions

First year computer science courses

Program

TEORY (I semester)
Structure of operating systems;
Process management:
- process concept
- process scheduling
- process operations
- inter-process communication
- shared memory communication
- message passing communication
- client-server architecture
Threads and concurrency:
- multicore programming
- multithreading
- CPU Scheduling libraries:
- concepts fundamentals
- scheduling algorithms
- thread scheduling
- scheduling for multiprocessor systems
- real-time scheduling
- algorithm evaluation
Process synchronization:
- critical sections
- Peterson algorithm
- HW support
- lock/unlock
- semaphores
- monitor
- liveness Deadlock:
- deadlock and multithread
- deadlock characterizations
- management methods
- prevention methods
- how to avoid deadlock
- deadlock detection
- recovery
LABORATORY (1st semester)
The BASH shell:
- BASH programming
posix API:
- file management
- rights management
- reading/writing
- process management
- the signals
- communication between processes via PIPE
- basic knowledge of threads (Pthread)

Bibliography

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Didactic methods

Classroom lessons for the theory part. Lessons and practical exercises in the laboratory

Learning assessment procedures

All exam texts will be published in this directory The written exam is divided into two intermediate tests and/or 4 overall tests plus a project with its oral discussion. The project can be done in groups of no more than three people Each written test is divided into two parts. The first part consists of 6 multiple-choice questions. Each correct answer is assigned 1; • each incorrect answer is assigned -0.5; • each unanswered question is assigned 0. The exercises in the second part will be corrected only if at least 3 points are scored in this part. The second part consists of 5 open-ended questions. Each question is worth a maximum of 7 points.

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE

Evaluation criteria

The ability to learn the concepts taught in the classroom and the ability to write C programs using the APIs illustrated in the laboratory are assessed.

Criteria for the composition of the final grade

3/4 written exam mark + 1/4 project mark

Exam language

italiano