Tu sei qui

Sistemi Operativi

Sistemi Operativi
Corso di Laurea Triennale in Informatica F004

SCV0030
Docente: Simone Tini


CFU SSD LEZIONI ESERCITAZIONI ANNO LINGUA
8 INF/01 48 24 II Italiano


Obiettivi dell’insegnamento e risultati di apprendimento attesi
Dopo aver seguito il corso di Sistemi Operativi lo studente ha chiara l’evoluzione storica dei sistemi operativi, conosce le funzioni principali dei sistemi operativi, conosce come alcune di queste funzioni possono essere realizzate e quali problematiche presentano tali realizzazioni, conosce con un buon livello di dettaglio le interazioni tra il sistema operativo e l’hardware. Lo studente è in grado di comprendere porzioni di codice di sistemi operativi esistenti e di progettare e realizzare eventuali modifiche od estensioni. Lo studente è in grado di confrontare proposte alternative per l’implementazione di porzioni di codice di un sistema operativo e di capire quale possa essere più idonea a soddisfare determinati requisiti.

Prerequisiti
Lo studente che segue questo corso è già in grado di scrivere programmi in qualche linguaggio imperativo ad alto livello e conosce le architetture degli elaboratori. Lo studente padroneggia i principali costrutti dei linguaggi di programmazione ad alto livello ed ha perfettamente chiari i concetti di compilazione e compilatore, interpretazione ed interprete, errore statico ed errore a tempo di esecuzione. Lo studente conosce quali sono le principali componenti architetturali dell’elaboratore, in particolare conosce il funzionamento e la struttura delle unità di controllo e della ALU, della memoria e della CPU, ha il concetto di instruction set di un elaboratore ed è in grado di scrivere semplici programmi in assembly, anche con impiego di procedure ricorsive.

Contenuti e programma del corso
Il corso tratta i seguenti argomenti:

  • Evoluzione storica dei sistemi operativi.
  • Interrupt, funzionamento di base dei dispositivi di I/O e DMA, chiamate di sistema.
  • Nozione di processo, memory layout dei programmi, parallelismo e concorrenza, stati di un processo, descrittori di processi, context switch, creazione e terminazione di un processo.
  • Thread e loro implementazione.
  • Interazione tra processi, race condition, sezioni critiche, approccio algoritmico alle sezioni critiche, semafori, monitor.
  • Gestione della memoria, allocazione della memoria, gerarchia di memoria, riuso della memoria, paginazione e segmentazione, memoria virtuale, politiche di page replacement.

Tipologia delle attività didattiche
Il corso consiste in 48 ore di lezione e 24 di esercitazione. Le lezioni vengono svolte con l’ausilio di slide che vengono messe a disposizioni degli studenti sul sito e-learning. Le esercitazioni prevedono la proposta di esercizi da parte del docente, gli studenti dovranno pensare a possibili soluzioni, quindi tali soluzioni verranno discusse e confrontate con quelle proposte dal docente.

Testi e materiale didattico
Il materiale didattico principale del corso è costituito dai lucidi delle lezioni disponibili sul sito e-learning, nonché da un insieme di esercizi con relative soluzioni, anch’esso disponibile sul medesimo sito.

Modalità di verifica dell’apprendimento
E’ previsto un esame finale. L’esame consiste in una prova scritta seguita da una prova orale. La prova scritta prevede lo svolgimento di un esercizio la cui soluzione richiede che lo studente padroneggi la quasi totalità degli argomenti trattati nel corso, avrà una durata media di due ore, dovrà essere affrontata senza l’ausilio degli appunti delle lezioni o altro materiale didattico. La prova orale prevede una discussione sui contenuti della prova scritta ed alcune domande di teoria.

Orario di ricevimento
Lo studente che intende incontrare il docente può farne richiesta in qualsiasi momento, direttamente o tramite posta elettronica. Sarà cura del docente organizzare almeno un incontro settimanale con gli studenti interessati, nel rispetto dei vincoli derivanti dagli orari delle lezioni dell’anno del corso.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer