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.
Type D and Type F activities
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/2026Le attività formative di tipologia D sono a scelta dello studente, quelle di tipologia F sono ulteriori conoscenze utili all’inserimento nel mondo del lavoro (tirocini, competenze trasversali, project works, ecc.). In base al Regolamento Didattico del Corso, alcune attività possono essere scelte e inserite autonomamente a libretto, altre devono essere approvate da apposita commissione per verificarne la coerenza con il piano di studio. Le attività formative di tipologia D o F possono essere ricoperte dalle seguenti attività.
1. Insegnamenti impartiti presso l'Università di Verona
Comprendono gli insegnamenti sotto riportati e/o nel Catalogo degli insegnamenti (che può essere filtrato anche per lingua di erogazione tramite la Ricerca avanzata).
Modalità di inserimento a libretto: se l'insegnamento è compreso tra quelli sottoelencati, lo studente può inserirlo autonomamente durante il periodo in cui il piano di studi è aperto; in caso contrario, lo studente deve fare richiesta alla Segreteria, inviando a carriere.scienze@ateneo.univr.it il modulo nel periodo indicato.
2. Attestato o equipollenza linguistica CLA
Oltre a quelle richieste dal piano di studi, per gli immatricolati dall'A.A. 2021/2022 vengono riconosciute:
- Lingua inglese: vengono riconosciuti 3 CFU per ogni livello di competenza superiore a quello richiesto dal corso di studio (se non già riconosciuto nel ciclo di studi precedente).
- Altre lingue e italiano per stranieri: vengono riconosciuti 3 CFU per ogni livello di competenza a partire da A2 (se non già riconosciuto nel ciclo di studi precedente).
Tali cfu saranno riconosciuti, fino ad un massimo di 6 cfu complessivi, di tipologia F se il piano didattico lo consente, oppure di tipologia D. Ulteriori crediti a scelta per conoscenze linguistiche potranno essere riconosciuti solo se coerenti con il progetto formativo dello studente e se adeguatamente motivati.
Gli immatricolati fino all'A.A. 2020/2021 devono consultare le informazioni che si trovano qui.
Modalità di inserimento a libretto: richiedere l’attestato o l'equipollenza al CLA e inviarlo alla Segreteria Studenti - Carriere per l’inserimento dell’esame in carriera, tramite mail: carriere.scienze@ateneo.univr.it
3. Competenze trasversali
Scopri i percorsi formativi promossi dal TALC - Teaching and learning center dell'Ateneo, destinati agli studenti regolarmente iscritti all'anno accademico di erogazione del corso https://talc.univr.it/it/competenze-trasversali
Modalità di inserimento a libretto: non è previsto l'inserimento dell'insegnamento nel piano di studi. Solo in seguito all'ottenimento dell'Open Badge verranno automaticamente convalidati i CFU a libretto. La registrazione dei CFU in carriera non è istantanea, ma ci saranno da attendere dei tempi tecnici.
4. Periodo di stage/tirocinio
Oltre ai CFU previsti dal piano di studi (verificare attentamente quanto indicato sul Regolamento Didattico): qui informazioni su come attivare lo stage.
Insegnamenti e altre attività che si possono inserire autonomamente a libretto
years | Modules | TAF | Teacher |
---|---|---|---|
2° 3° | The fashion lab (1 ECTS) | D |
Caterina Fratea
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
2° 3° | Introduction to Robotics for students of scientific courses. | D |
Paolo Fiorini
(Coordinator)
|
2° 3° | Matlab-Simulink programming | D |
Bogdan Mihai Maris
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
2° 3° | The fashion lab (1 ECTS) | D |
Caterina Fratea
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
2° 3° | Introduction to Robotics for students of scientific courses. | D |
Paolo Fiorini
(Coordinator)
|
2° 3° | Introduction to 3D printing | D |
Franco Fummi
(Coordinator)
|
2° 3° | LaTeX Language | D |
Enrico Gregorio
(Coordinator)
|
2° 3° | HW components design on FPGA | D |
Franco Fummi
(Coordinator)
|
2° 3° | Rapid prototyping on Arduino | D |
Franco Fummi
(Coordinator)
|
2° 3° | Protection of intangible assets (SW and invention)between industrial law and copyright | D |
Roberto Giacobazzi
(Coordinator)
|
years | Modules | TAF | Teacher | |
---|---|---|---|---|
1° | Subject requirements: mathematics | D |
Franco Zivcovich
|
|
2° 3° | Python programming language | D |
Giulio Mazzi
(Coordinator)
|
Operating Systems (2021/2022)
Teaching code
4S00019
Credits
12
Language
Italian
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
The teaching is organized as follows:
Teoria
Credits
10
Period
Primo semestre, Secondo semestre
Academic staff
Laboratorio [Laboratorio 1]
Laboratorio [Laboratorio 2]
Learning outcomes
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.
Program
Theory
----------
* Introduction: Evolution and role of the operating system. Architectural concepts. Organization and functionality of an operating system.
* Process Management: Processes. Process status. Context switch. Process creation and termination. Thread. User-level threads and kernel-level threads. Process cooperation and communication: shared memory, messagges. Direct and indirect communication.
* Scheduling: CPU and I/O burst model. Long term, short term and medium term scheduling. Preemption. Scheduling criteria. Scheduling algorithm: FCFS, SJF, priority-based, RR, HRRN, multiple queues with and without feedback. Algorithm evaluation: deterministic and probabilistic models, simulation.
* Process synchronization: data coherency, atomic operations. Critical sections. SW approaches for mutual exclusion: Peterson and Dekker's algorithms, baker's algorithm. HW for mutual exclusion: test and set, swap. Synchronization constructs: semaphores, mutex, monitor.
* Deadlock: Deadlock conditions. Resource allocation graph. Deadlock prevention. Deadlock avoidance. Banker's algorithm. Deadlock detection e recovery.
* Memory management: Main memory. Logical and physical addressing. Relocation, address binding. Swapping. Memory allocation. Internal and external fragmentation. Paging. HW for paging: TLB. Page table. Multi-level paging. Segmentation. Segment table. Segmentation with paging.
* Virtual memory: Paging on demand. Page fault management. Page substitution algorithms: FIFO, optimal, LRU, LRU approximations. Page buffering. Frame allocation: local and global allocation. Thrashing. Working set model. Page fault frequency.
* Secondary memory. Logical and physical structure of disks. Latency time. Disk scheduling algorithms: FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK. RAID.
*File System: file, attributes and related operation. File types. Sequential and direct access. Directory structure. Access permissions and modes. Consistency semantics. File system structure. File system mounting. Allocation techniques: adjacent, linked, indexed. Free space management: bit vector, lists. Directory implementation: linear list, hash table.
* I/O subsystem: I/O Hardware. I/O techniques: programmed I/O, interrupt, DMA. Device driver and application interface. I/O kernel services: scheduling, buffering, caching, spooling.
Laboratory:
------------
- System calls for management of the file system
- System calls for management of processes
- System calls for management of signals and pipes
- System calls for management of fifo and message queues
- System calls for management of semaphores and shared memory
- Scheduling and memory management in MentOS
Bibliography
Examination Methods
The exam is composed of two parts: theory and laboratory.
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.
Theory:
-------
The final exam consists of a written test containing questions and exercises. In case of restrictions due to the Coronavirus, there could be changes in the exam modality.
Laboratory:
-----------
The final exam consists in developing and delivering a laboratory project according to the specifications provided by the professors. The project will then be discussed in an oral exam. In case of restrictions due to Coronavirus, the examination modalities could change.
Total grade
-----------
The total grade (thery+laboratory) is given by:
theory_grade*0.5 + laboratory_grade*0.5.