ARCHITETTURE E SISTEMI OPERATIVI

Pierluigi RITROVATO ARCHITETTURE E SISTEMI OPERATIVI

0612400050
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE
CORSO DI LAUREA
INGEGNERIA ELETTRONICA
2014/2015

OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2012
SECONDO SEMESTRE
CFUOREATTIVITÀ
990LEZIONE
Obiettivi
IL CORSO MIRA ALL’ACQUISIZIONE DI COMPETENZE RELATIVE ALL’ORGANIZZAZIONE, FUNZIONAMENTO E GESTIONE DELLE RISORSE (CPU, MEMORIA E DISPOSITIVI) DI UN ELABORATORE ELETTRONICO. IN PARTICOLARE VERRANNO DAPPRIMA ACQUISITE COMPETENZE RELATIVE ALL’ORGANIZZAZIONE DEL CALCOLATORE, ALLE MODALITÀ DI INTERCONNESSIONE E COMUNICAZIONE DELLE SUE COMPONENTI PRINCIPALI E ALL’ARCHITETTURA E MODALITÀ OPERATIVE DELL’UNITÀ DI ELABORAZIONE CON SPECIFICO RIFERIMENTO AI SISTEMI ATTUALMENTE DISPONIBILI IN COMMERCIO; SUCCESSIVAMENTE SI PASSERÀ ALLA PARTE RELATIVA ALLA GESTIONE DELLE RISORSE DEL CALCOLATORE ACQUISENDO COMPETENZE SULL’ARCHITETTURA DI UN SISTEMA OPERATIVO, SULLE PRINCIPALI FUNZIONI SVOLTE, SULLE PROBLEMATICHE (POLITICHE E MECCANISMI) PER LA PROGETTAZIONE DI UN SISTEMA OPERATIVO E SU COME TALI ASPETTI SONO IMPLEMENTATI NEI SISTEMI OPERATIVI MODERNI.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: CONOSCENZE DELLE MODALITÀ DI FUNZIONAMENTO DELLA CPU E COMPRENSIONE DELLA TERMINOLOGIA E DEI CONCETTI FONDAMENTALI UTILIZZATI NELL’AMBITO DELLE ARCHITETTURE DEI CALCOLATORI E DEI LINGUAGGI ASSEMBLATIVI, CONOSCENZE DELLE FUNZIONI SVOLTE DA UN SISTEMA OPERATIVO MODERNO, CON PARTICOLARE RIFERIMENTO ALLA GESTIONE DEI PROCESSI, DELLA MEMORIA, DELLE PERIFERICHE E DEI FILE, E COMPRENSIONE DELLE TECNICHE DI BASE DI IMPLEMENTAZIONE DI TALI FUNZIONI (ALGORITMI DI SCHEDULING, ALLOCAZIONE DELLA MEMORIA, PAGE REPLACEMENT). CONOSCENZA DELLE MODALITÀ DI INTERAZIONE APPLICATIVA CON LE COMPONENTI BASE DI UN SO.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE: SAPER PROGRAMMARE UN CALCOLATORE IN LINGUAGGIO ASSEMBLATIVO, UTILIZZARE I COMANDI DI UN SISTEMA OPERATIVO ED I LINGUAGGI DI SCRIPTING PER REALIZZARE PROGRAMMI.

AUTONOMIA DI GIUDIZIO: SAPER VALUTARE L’IMPATTO SULLE APPLICAZIONI DA SVILUPPARE DELLE CARATTERISTICHE DELL’INFRASTRUTTURA TECNOLOGICA E DEL SISTEMA OPERATIVO ADOTTATO.

ABILITÀ COMUNICATIVE: SAPER LAVORARE IN GRUPPO ED ESPORRE ORALMENTE UN ARGOMENTO LEGATO ALLE PROBLEMATICHE DI FUNZIONAMENTO DEL SISTEMA OPERATIVO.

CAPACITÀ DI APPRENDERE: SAPER APPLICARE LE CONOSCENZE ACQUISITE A PROCESSORI E SISTEMI DIVERSI DA QUELLI PRESENTATI DURANTE IL CORSO, ED APPROFONDIRE GLI ARGOMENTI TRATTATI USANDO MATERIALI DIVERSI DA QUELLI PROPOSTI.
Prerequisiti
PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI SONO RICHIESTE CONOSCENZE INFORMATICHE DI BASE, CON PARTICOLARE RIFERIMENTO AL CONCETTO DI ALGORITMO, ALLA CODIFICA DELLE INFORMAZIONI ED ALLA PROGRAMMAZIONE.
Contenuti
ARCHITETTURA DI UN CALCOLATORE: INTRODUZIONE STORICA, IL MODELLO DI VON NEUMANN, UNITÀ FUNZIONALI, UNITÀ DI MEMORIA E SUO FUNZIONAMENTO, INTERCONNESSIONE DELLE UNITÀ FUNZIONALI - BUS, MODELLO DI ESECUZIONE; (ORE DI LEZIONE/ESERCITAZIONE/LABORATORIO: 6/-/-)

ARCHITETTURA DI UNA CPU: ORGANIZZAZIONE DI UN PROCESSORE; REGISTRI, CICLO FONDAMENTALE, MICRO-PROGRAMMI. (ORE: 6/-/-)

LINGUAGGIO MACCHINA: CLASSI DI ISTRUZIONI, FORMATO DELLE ISTRUZIONI, MODALITÀ DI INDIRIZZAMENTO, SOTTOPROGRAMMI E GESTIONE DELLA MEMORIA; ISTRUZIONI MIPS. (ORE: 6/4/6).

INTRODUZIONE AI SISTEMI OPERATIVI: INTRODUZIONE STORICA ALL’EVOLUZIONE DEI SISTEMI OPERATIVI, LE PRINCIPALI FAMIGLIE DEI MODERNI SISTEMI OPERATIVI, LL MODELLO A STRATI DEL SISTEMA OPERATIVO, ESEMPI DI ARCHITETTURE DI SO (WINDOWS E LINUX); (ORE: 4/-/-).

IL NUCLEO E LA GESTIONE DEI PROCESSI: IL CONCETTO DI PROCESSO E LA MULTIPROGRAMMAZIONE; STATI DI UN PROCESSO; ALGORITMI DI SCHEDULING; I THREAD. CENNI ALLO SCHEDULING SU SISTEMI MULTIPROCESSORE E MULTI-CORE. CENNI ALLE PROBLEMATICHE DI SINCRONIZZAZIONE E DEADLOCK DEI PROCESSI. ESEMPI DI CONTROLLO DEI PROCESSI SU SISTEMI WINDOWS; (ORE: 10/3/-).

LA GESTIONE DELLA MEMORIA: I PROBLEMI NELLA GESTIONE DELLA MEMORIA - FRAMMENTAZIONE, RILOCAZIONE, PROTEZIONE DEI PROCESSI. MMU. SEGMENTAZIONE E PAGINAZIONE DELLA MEMORIA. LA MEMORIA VIRTUALE - SWAPPING, CARICAMENTO DINAMICO. PRINCIPALI ALGORITMI DI RIMPIAZZAMENTO DELLE PAGINE. (ORE: 6/-/);

IL FILE SYSTEM E LA GESTIONE DELL'I/O: IL CONCETTO DI FILE E DIRECTORY E LORO ORGANIZZAZIONE - IL FILE SYSTEM. PARTIZIONI E VOLUMI. ALLOCAZIONE DELLO SPAZIO SU DISCO. GESTIONE DEI FILE. GESTIONE DELLE DIRECTORY. JOURNALING FS. SISTEMI RAID. CONTROLLO DI ACCESSO: PERMESSI E ACL. ESEMPI D’USO SUI SISTEMI WINDOWS; ASTRAZIONE E VIRTUALIZZAZIONE DELLE PERIFERICHE. I DRIVER. CARICAMENTO DINAMICO DEI DRIVER. (ORE: 8/3/-).

IL SISTEMA OPERATIVO LINUX: INTRODUZIONE AL SISTEMA UBUNTU (INSTALLAZIONE E CONFIGURAZIONE); CARATTERISTICHE DEL SISTEMA; INTERFACCIA GRAFICA E COMMAND LINE INTERFACE; COMANDI PRINCIPALI. (ORE: 6/6/-).

PROGRAMMAZIONE SHELL: LINGUAGGI DI SCRIPTING E BASH SHELL. ESPRESSIONI REGOLARI E COMANDI AVANZATI SI LINUX. (ORE: -/8/4).

ORE TOTALI: 56/24/10
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE, ESERCITAZIONI IN AULA ED ESERCITAZIONI PRATICHE DI LABORATORIO. NELLE ESERCITAZIONI IN AULA SARANNO AFFRONTATI IN COLLABORAZIONE CON IL DOCENTE SPECIFICI PROBLEMI LEGATI AD ARGOMENTI TRATTATI A LEZIONE, MENTRE NELLE ESERCITAZIONI IN LABORATORIO GLI STUDENTI SARANNO SUDDIVISI IN GRUPPI ED IN MODO AUTONOMO, RISOLVERANNO SPECIFICI ESERCIZI.
Verifica dell'apprendimento
LA PROVA DI ESAME È FINALIZZATA A VALUTARE NEL SUO COMPLESSO LE CONOSCENZE E LE CAPACITÀ DI COMPRENSIONE DEI CONCETTI PRESENTATI AL CORSO, LA CAPACITÀ DI APPLICARE TALI CONOSCENZE PER LA REALIZZAZIONE DI APPLICAZIONI UTILIZZANDO DIRETTAMENTE LE FUNZIONI DEL SISTEMA OPERATIVO; L’AUTONOMIA DI GIUDIZIO E LE ABILITÀ COMUNICATIVE.
LA PROVA D’ESAME CONSTA DI UNA PROVA PRATICA ED UN COLLOQUIO ORALE. LA PROVA PRATICA PREVEDE LA REALIZZAZIONE DI UN PROGETTO (REALIZZAZIONE DI UNA APPLICAZIONE UTILIZZANDO IL LINGUAGGIO BASH SU AMBIENTE LINUX) DA SVOLGERE IN GRUPPO (2-4 STUDENTI MAX). I DIVERSI PROGETTI SARANNO ASSEGNATI AI GRUPPI DI STUDENTI A METÀ CORSO. L’ELABORATO PROGETTUALE SARÀ UTILIZZATO PER VALUTARE LA CAPACITÀ DI APPLICARE LE CONOSCENZE E LE ABILITÀ ACQUISITE CON PARTICOLARE RIFERIMENTO ALLA PROGRAMMAZIONE DEI SISTEMI ATTRAVERSO L’UTILIZZO DEI LINGUAGGI DI SCRIPTING E DEI COMANDI PRINCIPALI DEL SISTEMA OPERATIVO LINUX, LE ABILITÀ COMUNICATIVE E L’AUTONOMIA DI GIUDIZIO. DURANTE LA VALUTAZIONE DELLA PROVA PRATICA I MEMBRI DEL GRUPPO DOVRANNO DESCRIVERE LE MODALITÀ DI FUNZIONAMENTO DELL’APPLICAZIONE REALIZZATA, DIMOSTRARNE IL SUO FUNZIONAMENTO SUL CALCOLATORE E COMMENTARE IL CODICE. DURANTE LA SEDUTA SARANNO POSTE DOMANDE SUI COMANDI E LE MODALITÀ DI FUNZIONAMENTO DEL SISTEMA LINUX. LA VALUTAZIONE DELLA PROVA PRATICA SARÀ FATTA IN TRENTESIMI.
CON IL COLLOQUIO ORALE SARANNO VALUTATE LE CONOSCENZE ACQUISITE IN MERITO ALLE MODALITÀ DI FUNZIONAMENTO DEI MICROPROCESSORI, LA LORO ARCHITETTURA, MODALITÀ DI FUNZIONAMENTO DI UN SO ED I MECCANISMI DI GESTIONE (ALGORITMI) DELLE COMPONENTI PRINCIPALI DI UN SO (PROCESSORE, MEMORIA CENTRALE E MEMORIA DI MASSA).
NELLA VALUTAZIONE FINALE, ESPRESSA IN TRENTESIMI, LA VALUTAZIONE DELLE PROVA SCRITTA PESERÀ PER IL 40% MENTRE IL COLLOQUIO ORALE PER IL 60%. LA LODE POTRÀ ESSERE ATTRIBUITA AGLI STUDENTI CHE DIMOSTRINO UNA PIENA CONOSCENZA DI TUTTE LE PRINCIPALI TEMATICHE AFFRONTATE AL CORSO E DI COME QUESTE SONO IMPLEMENTATE NEI SISTEMI OPERATIVI IN COMMERCIO.
Testi
D.A. PATTERSON, J.L. HENNESSY, STRUTTURA E PROGETTO DEI CALCOLATORI. ZANICHELLI, 3 EDIZIONE
SILBERSCHATZ, GALVIN, GAGNE, SISTEMI OPERATIVI: CONCETTI ED ESEMPI, ADDISON-WESLEY, 2008.
M. RUSSINOVICH, D. SOLOMON, MICROSOFT WINDOWS INTERNAL, 5TH EDITION, MICROSOFT PRESS, 2009
DISPENSE AGGIUNTIVE FORNITE DAL DOCENTE
MATERIALE DISPONIBILE IL RETE
Altre Informazioni
L’INSEGNAMENTO È EROGATO IN PRESENZA CON FREQUENZA OBBLIGATORIA. LA LINGUA DI INSEGNAMENTO È L’ITALIANO
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]