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
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 Bioinformatica - Enrollment from 2025/2026The 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 |
---|
2° Year activated in the A.Y. 2019/2020
Modules | Credits | TAF | SSD |
---|
1 module to be chosen among the following
3° Year activated in the A.Y. 2020/2021
Modules | Credits | TAF | SSD |
---|
1 module to be chosen among the following
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
1 module to be chosen among the following
Modules | Credits | TAF | SSD |
---|
1 module 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.
Introduction to computer architecture and operating systems (2019/2020)
Teaching code
4S02717
Credits
12
Language
Italian
Also offered in courses:
- Introduction to computer architecture of the course Bachelor's degree in Bioinformatics
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
The teaching is organized as follows:
Teoria mod. 1
Laboratorio
Teoria mod. 2
Learning outcomes
The aim of the course is to provide the theory and practice to implement an algorithm in hardware, exploring a spectrum of options ranging from dedicated specialized devices to programs on a general-purpose processor. The students will understand how a processor works and how an high-level program is translated into machine language and then executed; they will understand the organization of a computer system and of the operating systems running on it, with the related issues of cor-rectness and efficiency.
At the end of the course, the students will be able to design specialized hardware for simple algo-rithms; translate simple programs from an high-level specification to machine language; write shell scripts using system calls in C in the UNIX environment; manage an information system, especially for what the installation and maintenance of applications and resources is concerned.
Program
Computer Architecture.
Fundamentals: information coding, Boolean functions, arithmetic.
Digital design: combinational circuits, sequential circuits, special purpose architectures (control unit + data path), programmable units.
Computer architecture: basic principles, instruction set, processor, memory hierarchy, I/O organization.
Practical exercises: assembly programming of LC-3 architecture.
Operating systems.
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, messages. 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.
Practical exercises: system-level and shell programming with C.
Bibliography
Activity | Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|---|
Teoria mod. 1 | R.Katz, G.Borriello | Contemporary logic design (Edizione 2) | Pearson Education International | 2005 | 0-13-127830-4 | |
Teoria mod. 1 | Y.N. Patt, S.J. Patel | Introduction to Computing Systems (Edizione 2) | McGrawHill | 2004 | 978-0-07-246750-5 | |
Teoria mod. 1 | Franco Fummi, Mariagiovanna Sami, Cristina Silvano | Progettazione Digitale (Edizione 2) | McGraw-Hill | 2007 | 8838663521 | |
Teoria mod. 2 | Randal E. Bryant, David R. O'Hallaron | Computer Systems: A Programmer's Perspective (Edizione 3) | Pearson; 3 edition (March 12, 2015) | 2015 | 978-0134092669 | |
Teoria mod. 2 | Abraham Silberschatz, Peter Baer Galvin, Greg Gagne | Sistemi operativi. Concetti ed esempi. (Edizione 9) | Pearson | 2014 | 9788865183717 |
Examination Methods
Written test for the theoretical part with questions and exercises (3/4 of the final grade).
Programming projects and written test for the laboratory (1/4 of final grade).
Teaching materials e documents
-
Architettura - Cap. 1-10 CLD Borriello-Katz (en, 745 KB, 11/18/19)
-
Architettura - Lezioni LC3 (it, 6577 KB, 2/2/20)
-
XX-TV Temi d'esame (it, 4241 KB, 12/19/19)
-
2020-03-20 EserciziBaseScript.pdf (it, 170 KB, 3/20/20)
-
2020-Elaborato BASH.pdf (it, 259 KB, 4/15/20)
-
2020-Elaborato SystemCall.pdf (it, 108 KB, 5/15/20)
-
Corso shell UNIX (BASH) (it, 4992 KB, 3/11/20)
-
Elenco comandi di SHELL.pdf (it, 236 KB, 3/20/20)
-
Esercizi utilizzo comandi di shell (it, 83 KB, 3/11/20)
-
IstructionSet.pdf (it, 43 KB, 1/17/20)
-
LC3 - Esercizi.pdf (it, 292 KB, 1/30/20)
-
LC3 - Lezione1.pdf (it, 475 KB, 1/16/20)
-
LC3 - Lezione2.pdf (it, 540 KB, 1/16/20)
-
LC3 - Lezione3.pdf (it, 409 KB, 1/16/20)
-
ModalitàDiEsame2020.pdf (it, 327 KB, 1/30/20)
-
Shell_EserciziScript.pdf (it, 20 KB, 3/27/20)
-
SystemCallLucidi.pdf (it, 1538 KB, 4/15/20)
-
EASO-M0 Storia dei sistemi di calcolo (en, 3172 KB, 12/15/19)
-
EASO-M1 Processi (en, 1048 KB, 12/8/19)
-
EASO-M2 Sincronizzazione dei processi (en, 1109 KB, 12/19/19)
-
EASO-M3 Gestione dei processi (en, 1858 KB, 1/15/20)
-
EASO-M4 Memoria (en, 2296 KB, 2/18/20)