CODE 98516 ACADEMIC YEAR 2022/2023 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 Students will be able to identify and describe the main functionalities of modern operating systems and an introduction to database design and management. In particular, for databases, students will be able to use SQL for querying and managing data. TEACHING METHODS The course is divided in two parts: databases in the first semester and operating systems in the second one. 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 DANIELE D'AGOSTINO ALESSANDRO ARMANDO Exam Board ALESSANDRO ARMANDO (President) ALESSIO MERLO DANIELE D'AGOSTINO (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 Exam schedule Data appello Orario Luogo Degree type Note 07/06/2023 10:00 GENOVA Esame su appuntamento 07/06/2023 10:00 GENOVA Scritto + Orale 21/06/2023 10:00 GENOVA Scritto + Orale 21/06/2023 10:00 GENOVA Esame su appuntamento 07/07/2023 10:00 GENOVA Scritto + Orale 07/07/2023 10:00 GENOVA Esame su appuntamento 08/09/2023 10:00 GENOVA Esame su appuntamento 08/09/2023 10:00 GENOVA Scritto + Orale