Università degli Studi Guglielmo Marconi

Insegnamento
Calcolatori e sistemi operativi
Docente
Prof. Simonetta Alessandro
Settore Scientifico Disciplinare
ING-INF/05
CFU
12
Descrizione dell'insegnamento

Il corso è organizzato in due distinte aree di competenze: le architetture di calcolatori elettronici e i sistemi operativi. I principali obiettivi della prima parte sono: la comprensione della struttura dei moderni calcolatori elettronici che si basa sull’architettura a livelli. Nell’ambito dei diversi strati verranno approfonditi il livello logico-digitale, i livelli di micro e macro architettura (ISA), il livello del linguaggio assemblativo e le architetture per il calcolo parallelo. Verranno inoltre proposti alcuni casi di studio con particolare riferimento alle architetture Intel Pentium 4, Sun Ultra-SPARC III e Intel 8051 (utilizzato nei sistemi embedded). Il livello del sistema operativo coprirà la seconda parte del corso, l´obiettivo principale sarà di fornire competenze specifiche sulla struttura di un sistema operativo moderno, con particolare riferimento al sistema Unix e MS Windows. Tra gli argomenti trattati: l’introduzione ai sistemi operativi, le principali astrazioni dei sistemi operativi, la gestione dei processi e dei thread, la gestione della memoria, la gestione del file system, la gestione dell’Input/Output, il trattamento del deadlock e i sistemi operativi per ambienti a più processori. A livello pratico, il corso offrirà nozioni di programmazione concorrente congiuntamente a nozioni di base sull´utilizzo del sistema Unix e MS Windows.

Obiettivi formativi (espressi come risultati di apprendimento attesi)

Al termine di questo corso, lo studente sarà in grado di:

  • comprendere la struttura e le funzioni chiave delle architetture di calcolatori, i principi di funzionamento e le tecniche di progettazione dei moderni sistemi operativi;
  • risolvere problemi di algebra di boole, esercizi di elettronica digitale (circuiti combinatori e sequenziali), esercizi sul funzionamento interno del sistema operativo (processi e thread, memoria, file system, I/O e deadlock);
  • sviluppare sistemi elettronici interni al calcolatore, algoritmi di risoluzione di problematiche inerenti il sistema operativo e programmi in linguaggio C per la gestione delle risorse in Unix utilizzando le primitive offerte dal sistema operativo.
Prerequisiti

Non sono richiesti requisiti specifici.

Contenuti dell'insegnamento
  • Introduzione
  • Organizzazione dei sistemi di calcolo
  • Livello logico digitale
  • Livello di microarchitettura
  • Livello di architettura dell’insieme d’istruzioni
  • Livello del sistema operativo
  • Livello del linguaggio assemblativo
  • Architetture per il calcolo parallelo
Attività didattiche
Didattica Erogativa
L'insegnamento prevede, per ciascun CFU, 5 ore di Didattica Erogativa, costituite da 2,5 videolezioni (tenendo conto delle necessità di riascolto da parte dello studente). Ciascuna videolezione esplicita i propri obiettivi e argomenti, ed è corredata da materiale testuale in pdf.

Didattica Interattiva
L'insegnamento segue quanto previsto dalle Linee Guida di Ateneo sulla Didattica Interattiva e l'interazione didattica, e propone, per ciascun CFU, 1 ora di Didattica Interattiva dedicata alle seguenti attività: lettura area FAQ, partecipazione ad e-tivity strutturata costituita da attività finalizzate alla restituzione di un feedback formativo e interazioni sincrone dedicate a tale restituzione.
Criteri di valutazione
Tutte le prove di verifica e autoverifica intermedie previste dai Corsi ed erogate in modalità distance learning sono da considerarsi altamente consigliate e utili ai fini della preparazione e dello studio individuali. Le prove di verifica e autoverifica intermedie non sono obbligatorie ai fini del sostenimento della prova d´esame, la quale deve essere svolta in presenza dello studente davanti ad apposita Commissione ai sensi dell´art. 11 c.7 lett.e) del DM 270/2004.
Modalità della prova finale

L´esame si svolge in forma scritta.

La prova scritta consiste in 5/6 domande che riguardano gli argomenti teorici e pratici studiati a lezione. A titolo esemplificativo possono essere esercizi di algebra di Boole, conversioni numeriche tra differenti basi, strategie risolutive del sistema operativo nella gestione delle risorse (memoria, file system, processi/thread, input/output), misure di performance dei calcolatori elettronici, problematiche di arbitraggio di dispositivi elettronici, modalità di interfacciamento, schemi elettronici per calcolatori elettronici, circuiti per il calcolo aritmetico e logico, ecc.

Libri di testo

Oltre alle lezioni realizzate dal Docente ed ai materiali didattici pubblicati in piattaforma, è obbligatorio lo studio dei seguenti testi:

  • Architettura dei calcolatori. Un approccio strutturale, Sesta Edizione, Pearson, ultima edizione, Andrew S. Tanenbaum, Todd Austin
  • I moderni Sistemi Operativi, terza edizione, Pearson-Prentice Hall, ultima edizione, Andrew S. Tanenbaum
Ricevimento studenti

Previo appuntamento (a.simonetta@unimarconi.it).