logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 085779 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI
Docente Sciuto Donatella
Cfu 10.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (1 liv.)(ord. 270) - MI (356) INGEGNERIA DELLE TELECOMUNICAZIONI*ACM085779 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI
Ing Ind - Inf (1 liv.)(ord. 270) - MI (358) INGEGNERIA INFORMATICAI1AACM085779 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI
I1TACM085779 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI
IT1ACM085779 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI
Ing Ind - Inf (Mag.)(ord. 270) - CO (482) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ051673 - ARCHITETTURA DEI CALCOLATORI E SISTEMI OPERATIVI MODULO 2

Obiettivi dell'insegnamento

La prima parte dell'insegnamento è dedicata a comprendere la struttura di un calcolatore  seguendo un percorso di approfondimento a partire dal livello della programmazione fino al livello delle porte logiche. 
L’obiettivo della seconda parte è sia quello di ampliare la conoscenza della programmazione, acquisita nell'insegnamento di Fondamenti di Informatica, approfondendo le tecniche di programmazione parallela e concorrente, sia quello di comprendere e approfondire lo studio del sistema operativo. 


Risultati di apprendimento attesi

A seguito del superamento dell’esame, lo studente:

  • conosce i principi fondamentali di funzionamento dei sistemi digitali
  • conosce l’architettura dei calcolatori a livello delle istruzioni macchina
  • conosce la struttura interna di un calcolatore
  • conosce i meccanismi Hardware per la gestione del sistema, in particolare quello di interrupt
  • conosce i principi di funzionamento di un sistema operativo
  • conosce i principi della programmazione concorrente
  • è in grado di scrivere piccoli programmi in linguaggio assemblatore
  • è in grado di analizzare il comportamento di un programma multi-threaded
  • è in grado di apprendere in autonomia altre caratteristiche di base sull’architettura di calcolatori e sui sistemi operativi

Argomenti trattati

Programma delle lezioni e delle esercitazioni

1.   Istruzioni macchina, assemblaggio e collegamento

1.1 Classi di istruzioni macchina e modalità di indirizzamento

1.2 La realizzazione di sottoprogrammi

1.3 Linguaggio Assembler, assemblaggio e collegamento  

1.4 Traduzione di semplici programmi C in linguaggio Assembler 

2.   Microarchitettura

2.1 Struttura interna di un processore

2.2 Estensioni per architetture in pipeline

2.2 Funzionamento delle memorie Cache   

3.   Il livello dei circuiti logici

3.1 Algebra di Boole e Porte logiche fondamentali

3.2 Funzioni combinatorie, principali circuiti combinatori e ALU

3.3 Bistabili e sincronizzazione

3.4 Banchi di registri e memoria

4.   Programmazione di sistema e programmazione concorrente

4.1 Parallelismo e processi

4.2 Thread

4.3 Programmazione concorrente

5.   Struttura del Sistema Operativo

5.1 La gestione dei processi

5.2 La gestione della memoria virtuale

5.3 Il File System

5.4 I gestori delle periferiche

 


Prerequisiti

Il prerequisito ideale consiste nell'avere superato l'esame di Fondamenti di Informatica; è comunque indispensabile avere almeno la capacità di scrivere semplici programmi in linguaggio C.


Modalità di valutazione

Le prove d'esame assegnano 32 punti, che corrispondono al voto massimo di 30 e lode, suddividendoli tra due prove scritte indipendenti che verranno svolte durante gli appositi periodi previsti dal calendario accademico e potranno essere integrate da una eventuale discussione orale esclusivamente su richiesta del docente. Alle due prove sono assegnati un massimo di 16 punti ciascuna e il voto dell'esame è ottenuto come somma dei due punteggi. Ciascuna prova concorre alla definizione del voto d'esame solo se il suo punteggio è non inferiore a 7. La presenza ad una prova scritta comporta l'annullamento dell’eventuale punteggio precedentemente conseguito nella stessa prova. Le date delle singole prove saranno comunicate in aula e pubblicate sul Web di Ateneo. Gli appelli d’esame saranno comunque in accordo con le regole della Scuola e resi disponibili sul sito web di Ateneo. Gli allievi hanno l’obbligo di iscriversi alle prove in itinere e agli appelli d’esame.

Lo studente dovrà in sede d’esame:

  • saper analizzare il comportamento di programmi concorrenti
  • scrivere piccoli programmi in linguaggio assemblatore
  • saper analizzare il comportamento dei circuiti e l’andamento dei segnali dell’architettura di un processore
  • simulare il comportamento del Sistema Operativo in situazioni date

Bibliografia
Risorsa bibliografica obbligatoriaD.A. Patterson, J.L.Hennessy, Struttura e progetto dei calcolatori, Editore: Zanichelli
Note:

Quarta edizione italiana condotta sulla quinta edizione americana. ISBN: 9788808352026 http://www.myzanichelli.it

Risorsa bibliografica obbligatoriaGiuseppe Pelagatti, Programmazione e struttura del sistema operativo Linux
Note:

Dispensa scaricabile on-line https://beep.metid.polimi.it

Risorsa bibliografica obbligatoriaSistema Beep di Ateneo https://beep.metid.polimi.it
Note:

Trasparenze usate a lezione, e altro materiale di studio sulla struttura del sistema operativo e sull'architettura del calcolatore.


Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
60:00
90:00
Esercitazione
40:00
60:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 100:00 150:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Disponibilità di libri di testo/bibliografia in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
08/12/2019