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.

CURRICULUM TIPO:
Modules Credits TAF SSD
Between the years: 2°- 3°
Between the years: 1°- 2°- 3°
Altre attività formative: lo studente può scegliere tra le 2 seguenti opzioni:
a) 2 CFU di seminari - di cui 1 CFU al 1 anno e 1 CFU al 2 anno - e 7 CFU di tirocinio al 3 anno; 
b) 9 CFU di tirocinio al 3 anno. Non sono previste ulteriori opzioni.

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

Language

Italian

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Courses Single

Authorized

The teaching is organized as follows:

Teoria

Credits

4

Period

Semester 1

Academic staff

Graziano Pravadelli

Laboratorio

Credits

2

Period

Semester 1

Academic staff

Samuele Germiniani

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 better learn the topics covered in the course it is necessary to have acquired knowledge and skills related to:
- Computer architecture
- C programming

Program

Theory
---------
* Introduction: Structure and functions of an operating system.
* Process Management: in memory image and state of a process. Context switch. Process operations. Cooperation and communication between processes.
* Scheduling: Long, medium 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. Prevention, detection and recovery techniques.
* Main memory management: Logical and physical addressing, and address binding. Memory allocation techniques. Virtual memory management.
* Secondary storage management: Storage devices. File system.
Lab:
------------
* System call for process and thread management
* System call for interprocess communication
* System calls for process synchronization
* System calls for shared memory

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, one in theory and one in the laboratory
Theory
---------
The exam of the theory part consists of a written test, containing multiple choice questions, open-ended questions and exercises.
Lab
-----------------
The examination of the laboratory part consists in developing and delivering a laboratory project according to the specifications provided by the teacher. The project will then be discussed in an oral exam.

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, the student must show
- they have understood the principles related to how an operating system works
- they are able to describe the concepts in a clear and exhaustive way without digressions
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions and projects.

Criteria for the composition of the final grade

The final grade is obtained from the following formula: grade_theory*0.5 + grade_laboratory*0.5.

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