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.

Study Plan

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.

It will be activated in the A.Y. 2027/2028
ModulesCreditsTAFSSD
6
B
ING-INF/05
6
B
ING-INF/04
Final exam
3
E
-
Modules Credits TAF SSD
Between the years: 2°- 3°
Training
6
F
-
Between the years: 2°- 3°
Between the years: 1°- 2°- 3°
English B2
3
E
-

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

4S009887

Credits

6

Also offered in courses:

  • Operating systems of the course Bachelor's degree in Human Centered Medical System Engineering

Language

Italian

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Period

I semestre dal Oct 1, 2026 al Jan 29, 2027.

Courses Single

Authorized

Learning objectives

The course aims to introduce the principles of operating systems, regarding the software architecture of an operating system, the management and synchronization of processes and the management of the computing system resources. At the end of the course, students must demonstrate that they have:
- Knowledge and understanding related to the internal organization, functioning and services of an operating system. In particular, they will have understood: the main functions of an operating system in relation to users and application programs, the strategies used by the operating system to manage the resources of a computer, and the techniques used to implement the components of an operating system.
- Ability to apply the acquired knowledge to: develop applications with awareness of how the operating system manages processes, develop applications that use the primitives made available by the operating system, and develop and modify components of an operating system.
- Ability to autonomously evaluate the advantages and disadvantages of different design choices in the context of the services offered by an operating system.
- Ability to carry out a group laboratory project and to present the relative results, motivating the choices with appropriate language.
- Ability to develop the skills necessary to continue studying operating systems, addressing advanced issues related to distributed, real-time and embedded systems.

Prerequisites and basic notions

In order to best learn the topics covered in the course, it is necessary to have acquired knowledge and skills relating to:
- Computer architecture
- C programming

Program

Theory
---------
* Introduction: Structure and functions of an operating system.
* Process management: Memory image and process states. Context switching. Operations on processes. Cooperation and communication between processes.
* Scheduling: Long-term, medium-term and short-term scheduling. CPU scheduling with and without preemption.
* Synchronization between processes: Data consistency. Critical sections. Synchronization schemes and constructs.
* Deadlock: Conditions for triggering a deadlock. Techniques for prevention, detection and recovery.
* Main memory management: Logical and physical addressing, and address binding. Memory allocation techniques. Virtual memory management.
* Secondary memory management: Storage devices. File system.
Lab:
------------
* System calls for process and thread management
* System calls for inter-process communication
* System calls for inter-process synchronization
* System calls for memory sharing between processes

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

The theory will be organized in lectures, exercises and self-assessment activities. The laboratory will be structured in practical exercises on the computer.

Learning assessment procedures

The exam consists of two tests: a theory test and a laboratory test. There are no midterm tests. The exam is the same for both attending and non-attending students.
Theory
---------
The theory exam consists of a two-hour written test, typically containing four questions, including two open questions and two exercises.
Laboratory
-------------------
The laboratory exam consists of solving programming exercises on the computer according to the specifications provided by the instructor. The student will be required to discuss and comment on the design choices made during a subsequent oral examination.

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

To pass the exam, students must demonstrate that they:
- understand the principles underlying the functioning of an operating system
- be able to present their arguments in a precise and organic way without digressions
- know how to apply the knowledge acquired to solve application problems presented in the form of exercises, questions and projects.

Criteria for the composition of the final grade

Each test is worth a maximum of 33 points.
The final grade is calculated using the following formula: Theory Grade * 0.5 + Lab Grade * 0.5.
Honors will be awarded to those who achieve a final score higher than 30.

Exam language

Italiano

Sustainable Development Goals - SDGs

This initiative contributes to the achievement of the Sustainable Development Goals of the UN Agenda 2030. More information on sustainability