Sistemi Operativi A.A. 2022/2023

Benvenuti al corso di Sistemi Operativi per A.A. 2022/2023 del Corso di Laurea in Ingegneria Informatica di Roma Tre

Lecturer: Romolo Marotta

News

Warning

Pubblicati i risultati della sessione di Luglio 2023

Per la lista completa degli aggiornamenti visita la sezione dedicata: News

Course objectives

The course intends to provide competencies about the architecture of modern operating systems, expecially Linux, and knowledge about methodologies adopted for solving problems within the management of resources. Finally, practical aspects will be also covered, in particular system programming and scripting.

Schedule

Day

Time

Classroom

Tuesday

16:00 - 18:00

N13 [Vasca Navale 79/81] - Aula Teams

Wednesday

16:00 - 18:00

N13 [Vasca Navale 79/81] - Aula Teams

Warning

  • Il corso è pensato per essere seguito dagli studenti in presenza.

  • Le lezioni saranno comunque trasmesse in streaming e registrate, ma queste ulteriori modalità di erogazione sono disponibili soprattutto per coloro che saltuariamente non possono partecipare alle lezioni.

  • Se, per motivi tecnici, non sarà possibile registrare o trasmettere, la lezione sarà impartita ugualmente.

  • Se il docente riterrà utile usare la lavagna e non sarà possibile inquadrarla in modo efficace, la lezione si svolgerà ugualmente.

  • Non è detto che sarà possibile, per gli studenti che parteciperanno in remoto, interagire con il docente durante la lezione.

Student reception

Contattare il docente alla seguente email {nome}.{cognome}@uniroma3.it e riportare il prefisso [SO2223] nell’oggetto.

Exam details

L’esame prevede 2 prove i cui punteggi sono ripartiti secondo quanto segue.

# Test

Topic

Points

Perc.

Minimum mark

Durata

1

Theory questions

~21

~65%

~12

~2h

2

Programming exercises

~10

~35%

~6

~1h30m

Rules:

  1. The final mark is the sum of points obtained

  • by passing test 1 and 2;

  • by winning the challenges provided by the lecturer.

  1. To pass the exam it is necessary to obtain at least the minimum mark in both tests.

  2. Qualora la sufficienza sia stata conseguita solo su uno dei due test, lo studente è esonerato dal sostenere il test in cui è risultato sufficiente nell’A.A. 2022/2023. Potrà perciò risostenere unicamente il test dove non ha conseguito la sufficienza.

  3. A score of 31 points is required for honors

  4. I punteggi ottenuti nei test e nelle sfide potranno essere mantenuti fino all’ultima sessione di esame per l’A.A. 2022/2023.

Dates

  • I Appello (Gennaio)

    • Prova di programmazione: 31/01 in Aula ECampus (turni disponibili dopo il 25/01)

    • Prova di teoria: 07/02 in Aula N11 ore 14:00

  • II Appello (Febbraio)

    • Prova di programmazione: 21/02 (turni disponibili dopo il 15/02)

    • Prova di teoria: 28/02 in Aula N11 ore 10:00

Planned topics

  • Overview of modern operating systems: definition, goals, architectures, kernel/user mode, main concepts

  • Processes and Threads. dispatching, states, description and control, models and process memory

  • Scheduling: long, mid and short term scheduling, CPU scheduling

  • Synchonization: synchronization primitives, Read-Modify-Write, locks, mutex, semaphores

  • Memory:, allocators, partitioning, paging, segmentation, virtual memory

  • I/O e File Management. Disk scheduling, UNIX File Management, inode, Linux VFS, ext2

  • Introduzione a Linux. comandi di utilizzo frequente (e.g., gestione file e directory), variabili di ambiente, redirection, piping, segnali, espressioni regolari (sed e grep), scripting (bash, awk), linux filesystem management

  • System programming: Process and thread management in C

  • **Debugger**. utilizzo di gdb stepping, breakpoints, watching, backtrace, comandi gdb.

  • **Virtualizzazione.** Concetti generali, container, Docker