Skip to main content
CODE 98516
ACADEMIC YEAR 2023/2024
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER Annual
TEACHING MATERIALS AULAWEB

OVERVIEW

The course provides an introduction to the structure and organization on modern operating systems and to databases.

AIMS AND CONTENT

LEARNING OUTCOMES

The target of this course is to make students acquire notions about the structure of operating systems and an introduction to databases. As for operating systems, the focus in on the functions of their modules, the algorithms and the software structures they use. With respect to databases, an introduction to relational databases is provided together with the languages for the creation, interrogation and manipulation of centralized databases. Another goal of the course is to provide a first introduction to the SQL language and to let students get acquired with the practical aspects of the language.

TEACHING METHODS

The course is divided in two parts: databases and operating systems.

Lectures will be complemented with hands-on sessions

SYLLABUS/CONTENT

Databases
1. Objective of a DBMS
2. Information Modeling: what to model and how
3. The Object Data Model and the Relational Data Model
4. SQL: A Relational Database Language for data definition and query
5. DBMS in action: SQLite

Operating systems
1. Introduction to the structure of operating systems.
2. Processes and Threads
3. Inter-process communications (signal, pipe, socket, shared memory, ...). Mutual exclusion and synchronization. Dekker's algorithm,  Peterson's  Algorithm. Hardware support to mutual exlcusion. The Producer-Consumer Problem. Sempahors. Monitors. Message Passing. The Readers-Writers Problem.
4. Deadlock and Starvation. Dealing with deadlocks: Detection, Prevention and Avoidance. Resourse Allocation Graphs. The Dining Philosophers' Problem.
5. Memory Management. Physical Memory vs Virtual Memory. Paging vs Segmentation.
6. Uniprocessor Scheduling. Lont-term. medium-term and short-term scheduling: FCFC, Round Robin, SPN, SRT, HRRN, Feedback.
7. I/O Management. DMA, Disk Scheduling.
8. The file system. Structure and attributes of files and directories.
9. Access Control.  Models, policies and mechanisms for access control. Access control in in Linux (ACL in Unix, setuid)

RECOMMENDED READING/BIBLIOGRAPHY

Databases
A. Albano, G. Ghelli, R. Orsini. Database essentials. http://fondamentidibasididati.it

Operating systems
Operating Systems: Internals and Design Principles. 8th edition di W. Stallings, Pearson

TEACHERS AND EXAM BOARD

Exam Board

SIMONE MINISI (President)

LUCA VERDERAME

ALESSANDRO ARMANDO (President Substitute)

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam is divided in two parts.

Databases: Project discussion or oral exam.

Operating systems: Written exam

 

Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities.

Exam schedule

Data appello Orario Luogo Degree type Note
11/06/2024 15:00 GENOVA Scritto + Orale
10/07/2024 11:00 GENOVA Scritto + Orale
09/09/2024 16:00 GENOVA Scritto + Orale