Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


SISTEMI OPERATIVI
OPERATING SYSTEMS

Sistemi Operativi
Operating Systems

A.A. CFU
2013/2014 12
Docente Email Ricevimento studentesse e studenti
Emanuele Lattanzi giovedì - 16:00-18:00

Assegnato al Corso di Studio

Giorno Orario Aula

Obiettivi Formativi

Il Corso ha lo scopo di illustrare la struttura di un sistema operativo multiprogrammato e le relative politiche di amministrazione delle risorse computazionali, con particolare riferimento alla schedulazione della CPU e alla gestione della memoria centrale, del file system e dei dispositivi di I/O.

Programma

01. Introduzione:
  01.01 Introduzione ai sistemi operativi.
  01.02 Strutture dei sistemi operativi.
  01.03 Principali funzioni di un sistema operativo.
  01.04 Chiamate di sistema.

02. Processi:
  02.01 Gestione dei processi.
  02.02 Context switch.
  02.03 Thread vs. processi.
  02.04 Comunicazione tra processi.

03. Sincronizzazione:
  03.01 Il problema della sezione critica.
  03.02 Strumenti per la sincronizzazione e loro uso.
  03.03 Problemi di sincronizzazione e deadlock.

04. Scheduling:
  04.01 Concetti fondamentali.
  04.02 Criteri di scheduling.
  04.03 Algoritmi di scheduling.
  04.04 Scheduling dei thread.

05. Scheduling in Linux:
  05.01 Process descriptor.
  05.02 Caratteristiche principali.
  05.03 Lo scheduler 2.4.x.
  05.04 Lo scheduler 2.6.x.
  05.05 Lo scheduler SMP.

06. Memoria principale:
  06.01 Organizzazione della memoria principale.
  06.02 Paginazione.
  06.03 Struttura della tabella delle pagine.
  06.04 Segmentazione.
  06.05 Esempi: Pentium Intel, Linux.

07. Memoria virtuale:
  07.01 Paginazione su richiesta.
  07.02 Sostituzione delle pagine.
  07.03 Allocazione dei frame.
  07.04 File mappati in memoria.

08. File system:
  08.01 Concetto di file system.
  08.02 Montaggio, condivisione e protezione.
  08.03 Implementazione.
  08.04 Metodi di allocazione.
  08.05 Gestione dello spazio libero.

09. Dischi magnetici:
  09.01 Struttura del disco.
  09.02 Performance dei dischi.
  09.03 Algoritmi di scheduling.

10. Sistemi di input/output:
  10.01 Polling, interrupt e DMA.
  10.02 Dispositivi a caratteri, a blocchi e di rete.
  10.03 Interfaccia del kernel per l'I/O.

11. Macchine virtuali:
  11.01 Macchine virtuali astratte.
  11.02 Macchine virtuali reali.
  11.03 Struttura delle macchine virtuali.
  11.04 JVM - Java Virtual Machine.

12. Il sistema operativo Android:
  12.01 Struttura.
  12.02 La Virtual Machine Dalvik.
  12.03 Applicazioni.
  12.04 Message passing: Intents.

13. Attività di laboratorio:
  13.01 Gestione dei processi nei sistemi UNIX-like.
  13.02 Gestione dei thread nei sistemi UNIX-like.
  13.03 Introduzione alla programmazione Java.
  13.04 Gestione dei thread in Java.
  13.05 Strumenti per la sincronizzazione dei thread in Java.

Eventuali Propedeuticità

Non vi sono propedeuticità obbligatorie.

Si suggerisce di sostenere l'esame di Sistemi Operativi dopo aver sostenuto gli esami di Programmazione Procedurale e Logica, Architettura degli Elaboratori, Algoritmi e Strutture Dati e prima di sostenere l'esame di Reti di Calcolatori.

Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento

Modalità didattiche

Lezioni frontali ed esercitazioni di laboratorio

Obblighi

Sebbene formtemente consigliata, la frequenza non è obbligatoria.

Testi di studio
  • Silbershatz, Galvin, Gagne, "Sistemi Operativi Concetti ed Esempi",Pearson
  • Tanenbaum, "I Moderni Sistemi Operativi", Pearson
  • Ancilotti, Boari, "Programmazione Concorrente e Distribuita", McGraw-Hill.
  • Bovet, Cesati, "Understanding the Linux Kernel", O'Reilly
  • Goetz, Peierls, Bloch, Bowbeer, Holmes, Lea, "Java Concurrency in Practice", Addison-Wesley
  • Modalità di
    accertamento

    Prova di programmazione concorrente al calcolatore e prova orale.

    La prova di programmazione viene valutata in trentesimi ed è ritenuta sufficiente se il relativo voto è di almeno 18/30.
    La prova orale può essere sostenuta solo previo superamento della prova di programmazione.

    Disabilità e DSA

    Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

    A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

    Note

    Il corso è erogato sia nel "percorso in presenza" che nel "percorso online" del Corso di Laurea di Informatica Applicata.

    Per materiale didattico e informazioni aggiuntive visitare http://www.sti.uniurb.it/lattanzi/OS.html

    « torna indietro Ultimo aggiornamento: 24/07/2014


    Il tuo feedback è importante

    Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

    Posta elettronica certificata

    amministrazione@uniurb.legalmail.it

    Social

    Università degli Studi di Urbino Carlo Bo
    Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
    Partita IVA 00448830414 – Codice Fiscale 82002850418
    2024 © Tutti i diritti sono riservati

    Top