CODE 80300 ACADEMIC YEAR 2025/2026 CREDITS 12 cfu anno 2 INFORMATICA 8759 (L-31) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 1° Semester TEACHING MATERIALS AULAWEB OVERVIEW The purpose of this course is first to learn how operating systems work and how to administer and interact with them, and second to examine the mechanisms used to create networks of computers that communicate with each other and learn how to exploit them through programming. AIMS AND CONTENT AIMS AND LEARNING OUTCOMES Know how to interact with the operating system via command line. Describe how file systems work. Know how to use system primitives Know how to explain the use of memory Know how to configure an operating system Describe the main network architectures Explain the operation of IP, TCP, DHCP, DNS network protocols Analyze TCP/IP-based data packets. Implement networks of computers communicating via sockets (both UDP and TCP) Know how to implement multi-threaded systems Know how to recognize the risks due to the use of concurrency PREREQUISITES Familiarity with the C/C++ language Knowledge of computer architecture TEACHING METHODS Lectures on theory (52 hours) Laboratory exercises (28 hours) Project SYLLABUS/CONTENT Shell usage Scripting languages System administration Basics related to security in operating systems Types of networks Information transmission Ethernet, WiFi, IP, TCP and UDP protocols System primitives Memory management Input/Output and file system Socket programming Basic concurrent programming RECOMMENDED READING/BIBLIOGRAPHY Lecturer's notes made available on Aulaweb Online materials Operating system concepts -- Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Operating Systems: Three Easy Pieces -- Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (https://ostep.org) Computer Networks -- Tanenbaum, Wetherall https://beej.us/guide/ TEACHERS AND EXAM BOARD DANIELE D'AGOSTINO Ricevimento: By appointment, in presence or via TEAMS. MATTEO DELL'AMICO Ricevimento: By appointment (in person or online), taken via email (matteo.dellamico@unige.it). ARNAUD HENRI PAUL SANGNIER Ricevimento: Reception through appointment via mail. LESSONS LESSONS START According to the calendar approved by the Degree Program Board: https://corsi.unige.it/corsi/8759/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam consists of a quiz, a written test and a programming project to be presented during an oral. In order to take the written test, it is necessary to have passed the quiz. To be able to discuss the project, it is necessary to have passed the written test. ASSESSMENT METHODS The written test verifies the student's knowledge of the main theoretical concepts presented in class and the student's ability to apply them to the proposed exercises. The project delves into verifying that the student is able to put them into practice through programming. FURTHER INFORMATION Contact the instructor for any additional information not included in the course description.