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.
Academic calendar
The academic calendar shows the deadlines and scheduled events that are relevant to students, teaching and technical-administrative staff of the University. Public holidays and University closures are also indicated. The academic year normally begins on 1 October each year and ends on 30 September of the following year.
Course calendar
The Academic Calendar sets out the degree programme lecture and exam timetables, as well as the relevant university closure dates..
Period | From | To |
---|---|---|
I sem. | Oct 2, 2017 | Jan 31, 2018 |
II sem. | Mar 1, 2018 | Jun 15, 2018 |
Session | From | To |
---|---|---|
Sessione invernale d'esame | Feb 1, 2018 | Feb 28, 2018 |
Sessione estiva d'esame | Jun 18, 2018 | Jul 31, 2018 |
Sessione autunnale d'esame | Sep 3, 2018 | Sep 28, 2018 |
Session | From | To |
---|---|---|
Sessione di laurea estiva | Jul 18, 2018 | Jul 18, 2018 |
Sessione di laurea autunnale | Nov 22, 2018 | Nov 22, 2018 |
Sessione di laurea invernale | Mar 20, 2019 | Mar 20, 2019 |
Period | From | To |
---|---|---|
Christmas break | Dec 22, 2017 | Jan 7, 2018 |
Easter break | Mar 30, 2018 | Apr 3, 2018 |
Patron Saint Day | May 21, 2018 | May 21, 2018 |
Vacanze estive | Aug 6, 2018 | Aug 19, 2018 |
Exam calendar
Exam dates and rounds are managed by the relevant Science and Engineering Teaching and Student Services Unit.
To view all the exam sessions available, please use the Exam dashboard on ESSE3.
If you forgot your login details or have problems logging in, please contact the relevant IT HelpDesk, or check the login details recovery web page.
Academic staff
Ugolini Simone
![Zoppello, May 3, 2019](https://docs.univr.it/documenti//Persona/foto/foto793831.jpg)
Zoppello Marta
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.
1° Year
Modules | Credits | TAF | SSD |
---|
Mathematical analysis 1
Computer Architecture
2° Year activated in the A.Y. 2018/2019
Modules | Credits | TAF | SSD |
---|
3° Year activated in the A.Y. 2019/2020
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
Modules | Credits | TAF | SSD |
---|
Mathematical analysis 1
Computer Architecture
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
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.
Operating Systems (2018/2019)
Teaching code
4S00019
Credits
12
Language
Italian
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
The teaching is organized as follows:
Teoria
Esercitazioni
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:
------------
* Shell programming in Unix/Linux.
* Introduction to the system programming in Unix/Linux.
* System calls for I/O.
* System calls for process management.
* System calls and techniques for inter-process communication and synchronization (pipe, fifo, message queue, share memory, semaphores, ...).
Bibliography
Activity | Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|---|
Teoria | A. Silberschatz, P.B. Galvin, G. Gagne | Sistemi operativi. Concetti ed esempi. (Edizione 9) | Pearson | 2014 | 9788865183717 |
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.
Laboratory:
-----------
The exam can be taken in two modes: oral or written.
Oral mode:
During the course, students must solve 4 homeworks and provide the corresponding solutions within deadlines defined by the theacher. Then, at the end of the course, on the second half of June, each student must present orally the provided solutions to the theacher.
The exam can be taken in oral mode only on the first week of July.
The observance of deadlines is mandatory. Students that miss the deadline cannot take the exam in the oral mode.
Written mode:
The exam consists of solving some exercises related to system programming by means of shell scripts and/or C programs.
Total grade
-----------
The total grade (thery+laboratory) is given by:
theory_grade*0.5 + laboratory_grade*0.5.
Teaching materials e documents
-
Materiale didattico (it, 0 KB, 27/09/18)
Type D and Type F activities
Modules not yet included
Career prospects
Module/Programme news
News for students
There you will find information, resources and services useful during your time at the University (Student’s exam record, your study plan on ESSE3, Distance Learning courses, university email account, office forms, administrative procedures, etc.). You can log into MyUnivr with your GIA login details: only in this way will you be able to receive notification of all the notices from your teachers and your secretariat via email and also via the Univr app.
Graduation
List of thesis proposals
theses proposals | Research area |
---|---|
Analisi e percezione dei segnali biometrici per l'interazione con robot | AI, Robotics & Automatic Control - AI, Robotics & Automatic Control |
Integrazione del simulatore del robot Nao con Oculus Rift | AI, Robotics & Automatic Control - AI, Robotics & Automatic Control |
Domain Adaptation | Computer Science and Informatics: Informatics and information systems, computer science, scientific computing, intelligent systems - Computer graphics, computer vision, multi media, computer games |
Domain Adaptation | Computer Science and Informatics: Informatics and information systems, computer science, scientific computing, intelligent systems - Machine learning, statistical data processing and applications using signal processing (e.g. speech, image, video) |
BS or MS theses in automated reasoning | Computing Methodologies - ARTIFICIAL INTELLIGENCE |
Domain Adaptation | Computing Methodologies - IMAGE PROCESSING AND COMPUTER VISION |
Domain Adaptation | Computing methodologies - Machine learning |
Dati geografici | Information Systems - INFORMATION SYSTEMS APPLICATIONS |
Analisi e percezione dei segnali biometrici per l'interazione con robot | Robotics - Robotics |
Integrazione del simulatore del robot Nao con Oculus Rift | Robotics - Robotics |
BS or MS theses in automated reasoning | Theory of computation - Logic |
BS or MS theses in automated reasoning | Theory of computation - Semantics and reasoning |
Proposte di tesi/collaborazione/stage in Intelligenza Artificiale Applicata | Various topics |
Proposte di Tesi/Stage/Progetto nell'ambito dell'analisi dei dati | Various topics |
Attendance modes and venues
As stated in the Teaching Regulations, attendance at the course of study is not mandatory.
Part-time enrolment is permitted. Find out more on the Part-time enrolment possibilities page.
The course's teaching activities take place in the Science and Engineering area, which consists of the buildings of Ca‘ Vignal 1, Ca’ Vignal 2, Ca' Vignal 3 and Piramide, located in the Borgo Roma campus.
Lectures are held in the classrooms of Ca‘ Vignal 1, Ca’ Vignal 2 and Ca' Vignal 3, while practical exercises take place in the teaching laboratories dedicated to the various activities.