Systems and Networking - Unit I - 2022-23

News | General Information | Syllabus | Class Schedules | Previous Years

News

  • All the students that are willing to attend this class must subscribe ASAP to the Moodle web page of the course, as indicated below. In addition, we remind students to fill out the dedicated Google Form as specified below.
  • Classes will start on Wednesday, September 28 2022. Students are kindly asked to refer to the class schedule at the following link.

General Information

Welcome to the System and Networking - Unit I class!

This is a second-year, first-semester course of the BSc in Applied Computer Science and Artificial Intelligence of Sapienza University of Rome.

This repository contains class material along with any useful information for the 2022-23 academic year.

Class Schedule

  • Wednesday from 1:00 p.m. to 4:00 p.m. (Room 2L - Via del Castro Laurenziano, 7 [map])
  • Thursday from 8:00 a.m. to 10:00 a.m. (Room 2L - Via del Castro Laurenziano, 7 [map])

How to Attend Classes

As indicated by the latest rules provided by Sapienza, to prevent and contain the spread of COVID-19 infection, a "lightweight" contact tracing tool has been developed via a dedicated Google Form that can be filled anytime (before, during, or after classes).

This will help keep students and the entire Sapienza community safe. Therefore, we kindly ask students willing to attend classes in person to fill out the proper form that can be found at this link.

We thank all the students for their collaboration.

Moodle Web Page

Students must subscribe to the Moodle web page using the same credentials (username/password) to access Wi-Fi network and Infostud services, at the following link: https://elearning.uniroma1.it/course/view.php?id=15524

Office Hours

Please, drop me a message to tolomei@di.uniroma1.it if you like to arrange an in-person meeting or schedule a remote call either on Google Meet or Zoom. To issue your request, kindly specify "SN-I 2022-23: Meeting" in the subject of your message.
In-person meetings will be held in my office, which is located in Room 106 at the 1st floor of Building E in Viale Regina Elena 295 (map).

Contacts

Description and Goals

The Operating System (OS) is the key component of any modern computing device. Moreover, it very well represents a fundamental concept at the heart of any Computer Science curriculum, namely abstraction.

More specifically, by virtualizing the physical resources of a computer system, OS allows programmers to develop software applications without worrying about the nitty-gritty of the hardware. Decoupling the software from the hardware guarantees more flexibility for the system developer as well as greater usability for the end user. It is therefore essential for any Computer Science student to have the ability to comprehend how to effectively and efficiently design and exploit the main functionalities of a highly complex software system, such as a modern operating system.

To this end, we will deeply discuss the key responsibilities of so-called general purpose OSs (i.e., those typically installed on our PCs and laptops). Amongst those responsibilities are: CPU scheduling, process/thread synchronization, memory management, file systems, just to name a few. In addition, we will explore how OSs should adapt to resource-limited mobile devices (i.e., tablets and smartphones).

All the concepts introduced are totally covered by the lecture materials provided during the course, and will be treated independently from a specific operating system implementation. However, many examples will be taken from popular OSs available on the market like UNIX/Linux, Windows, macOS, Android, iOS, etc.

Prerequisites

  • Fundamentals of computer architectures
  • Basics of computer programming

Exams

Written and oral exam. Written exam consists of a Moodle quiz containing 20 multiple-answer questions. Each correct answer accounts for 3 points, each wrong answer subtracts 1 point, whilst no answer gives no points. The quiz is successfully passed if the overall score is greater than or equal to 15/30. Those who obtain a score ranging between 15/30 and 17/30 must take a mandatory oral exam; instead, those who passed the quiz with a score of 18/30 or higher can decide to accept this as their final score or to take an additional oral exam.

Recommended Textbooks

Despite they are not mandatory for successfully pass the exam, the following textbooks are really useful to anyone who wants to dig deeper into the subjects addressed in this course:

  • Operating System Concepts [Silberschatz et al.];
  • Modern Operating Systems [Tanenbaum et al.];
  • Operating Systems: Three Easy Pieces [Remzi] (freely available online).

Syllabus

Part I: Introduction

  • Basic concepts
  • History of operating systems
  • Relationship between operating systems and hardware
  • Operating systems structures

Part II: Process Management

  • Processes
  • CPU Scheduling
  • Threads

Part III: Process Synchronization

  • Synchronization Tools
  • Synchronization Examples
  • Deadlock

Part IV: Memory Management

  • Main memory (RAM)
  • Virtual memory

Part V: Storage Management

  • Mass storage devices
  • I/O systems

Part VI: File System

  • File system interface
  • File system implementation
  • File system internals

Part VII: Advanced Topics

  • Protection
  • Security
  • Distributed operating systems
  • Mobile operating systems

Class Schedules

Lecture # Date Topic Material
Lecture 1 09/28/2022 Basics and History of Operating Systems [slides: PDF]
Lecture 2 09/29/2022 Computer Architecture and OS Structures (Part I) [slides: PDF]
Lecture 3 10/05/2022 Computer Architecture and OS Structures (Part II) [slides: PDF]
Lecture 4 10/06/2022 Computer Architecture and OS Structures (Part III) [slides: PDF]
Lecture 5 10/12/2022 Process Virtual Address Space and PCB [slides: PDF]
Lecture 6 10/13/2022 Basics of OS Process Management [slides: PDF] [code]

Previous Years

In the following, you can quickly navigate through Systems and Networking I class information and material from previous years.

NOTA: The folder containing the class material is unique and it is subject to changes and/or updates; as such, there may be differences between the content displayed on this website and what have been shown in class in the past.