CODE 98516 ACADEMIC YEAR 2023/2024 CREDITS 6 cfu anno 3 INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE 9273 (L-8) - GENOVA 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 ALESSANDRO ARMANDO SIMONE MINISI Exam Board SIMONE MINISI (President) LUCA VERDERAME ALESSANDRO ARMANDO (President Substitute) LESSONS LESSONS START https://corsi.unige.it/9273/p/studenti-orario 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