CODE 114616 ACADEMIC YEAR 2025/2026 CREDITS 6 cfu anno 2 INGEGNERIA INFORMATICA 8719 (L-8) - IMPERIA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 LANGUAGE English TEACHING LOCATION IMPERIA SEMESTER 2° Semester MODULES Questo insegnamento è un modulo di: DATABASES AND OPERATING SYSTEMS AIMS AND CONTENT LEARNING OUTCOMES This course introduces the structure of operating systems, the functions of the modules they are organized into, and the algorithms and software structures used. AIMS AND LEARNING OUTCOMES The aim of the course is to help students develop awareness of fundamentals of modern Operating Systems (OS) and system programming through current ones. To this end, the course will teach the algorithms and policies necessary to manage the internals of operating systems, specifically interprocess communications, process scheduling, resource management, memory management, file systems, and I/O scheduling, as well as the architectures of operating systems and computer networks. Particular attention will be given to a comparative overview of Microsoft operating systems (especially Windows 10/11) and Linux distributions (such as Ubuntu), as well as the structure of the Internet and its main services based on TCP/IP. The course also aims to provide students with practical skills on system programming through hands-on activities. At the end of this course, students will be expected to be able to proficiently perform system programming tasks, as well as to explain differences among current operating systems architectures (either server/desktop/mobile/embedded). The students will known the principal management policies and algorithms to achieve various tasks in operating systems and use the acquired skills to tune better their programs. TEACHING METHODS Lectures (in presence and/or online), supported by videotutorials and laboratory exercises (even virtual) and by in-depth seminars. The teaching methodology used in the course will be based on the active involvement of students in the learning process, and will be re-contextualized for integrated digital didactics (IDD). It will therefore be a hybrid methodology between frontal lessons, Flipped Classroom. SYLLABUS/CONTENT PART ONE - Fundamentals of Operating Systems The structure of a generic operating system, with an emphasis on the algorithms and data structures needed to perform various tasks to manage processes, resources, memory, files, and IO devices. Topics: Introduction to the structure of operating systems. Basic concepts, functions and Architectures of Operating Systems (monolithic, microkernel, hybrid structures). Concurrent Programming, Process Interaction and Synchronization. Mutual exclusion and synchronization. Dekker's algorithm, Peterson's algorithm. Hardware support for mutual exclusion. The Producer and Consumer Problem. The traffic lights. The monitors. Message Passing. The Readers and Consumers Problem. Process Management and Scheduling. Resource Management and Deadlock Problem. Deadlock and Starvation. Approaches to deadlock management: Detection, Prevention and Avoidance. Resource allocation graphs. The Dining Philosophers Problem. Memory management. Physical memory and virtual memory. Paged management and its implementation problems. Segmented management. Uniprocessor scheduling. Long, medium and short term scheduling. Scheduling algorithms: FCFC, Round Robin, SPN, SRT, HRRN, Feedback. Input-output Management. CPU-device-memory interaction. DMA architecture. Disk scheduling. The file system. Structure and attributes of files and directories. File system implementation and optimization methods. Access Control. Access control models, policies and mechanisms. PART TWO - System Programming Shell Programming in Linux (Bash) and Windows (Powershell): basic commands Internals Programming. Inter-Process Communication (signal, pipe, socket, shared memory, ...). RECOMMENDED READING/BIBLIOGRAPHY Abraham Silberschatz - Peter Baer Galvin - Greg Gagne, Operating Systems Concepts, 10th Ed. (2019) Pearson (In English or in Italian). TEACHERS AND EXAM BOARD GIANNI VIARDO VERCELLI Ricevimento: In attendance: by appointment via e-mail at the DIBRIS (office TA.10, Villa Bonino - Mezzanine floor) in Viale Francesco Causa 13, Genoa or at the 3DLabFactory (room T.008, Palazzina Lagorio, ground floor), Campus di Savona, Via A. Magliotto 2, Savona Remote call: by appointment via e-mail at gianni.vercelli@unige.it During the semester the teacher will be available at the end of the planned activities, always by appointment, except impediments. LESSONS LESSONS START The timetable for this course is available here: Portale EasyAcademy Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Written exam based on closed and open–ended questions, followed by oral discussion. ASSESSMENT METHODS The written test will assess: the understanding of the operation and interdependence of the main features offered by a modern operating system, the ability to critically evaluate the characteristics of the various solutions to classical operating system problems (e.g. memory management, scheduling, process synchronization), the ability to solve problems related to the design and use of operating systems. FURTHER INFORMATION Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office (dsa@unige.it<mailto:dsa@unige.it>) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa Agenda 2030 - Sustainable Development Goals Quality education Decent work and economic growth Industry, innovation and infrastructure