CODE 114616 ACADEMIC YEAR 2026/2027 CREDITS 6 cfu anno 2 INGEGNERIA INFORMATICA 11880 (L-8 R) - 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. Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles. The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita. 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.11, 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. SAVERIO IACONO Ricevimento: By appointment via Microsoft Teams or at 3DLabFactory (room T.008, Lagorio Building, ground floor), Savona Campus, Via A. Magliotto 2, Savona. Appointment must be previously arranged via email (saverio.iacono@unige.it) Exam Board GIANNI VIARDO VERCELLI (President) DANIELE ZOLEZZI NORBERT MAGGI (President Substitute) LESSONS LESSONS START https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Written exam based on closed and open–ended questions. 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 valid certifications for Specific Learning Disorders (SLD) may request accommodations for exams at least 7 days prior to the exam date by filling out the “accommodation request form” (available via online services at https://modulionline.unige.it/richiesta-adattamenti# no-back), which will be automatically forwarded by the system to the instructor in charge of the course and to the faculty liaison for students with disabilities and SLDs in their School/Department. The student will receive a copy of their request. Agenda 2030 - Sustainable Development Goals Quality education Decent work and economic growth Industry, innovation and infrastructure