Skip to main content
CODE 80300
ACADEMIC YEAR 2025/2026
CREDITS
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

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.