PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Sistemi operativi

05CJCOA

A.A. 2020/21

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea in Ingegneria Informatica - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 30
Esercitazioni in aula 10
Esercitazioni in laboratorio 20
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
Quer Stefano - Corso 1 Professore Associato IINF-05/A 30 2,5 10,5 0 14
Sterpone Luca - Corso 2 Professore Ordinario IINF-05/A 30 5 30 0 9
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2020/21
L’insegnamento, presente nella Laurea in Ingegneria Informatica, è obbligatorio ed è collocato nel primo periodo didattico del terzo anno. Il modulo ha lo scopo di introdurre gli elementi di base dell'architettura dei sistemi operativi e di approfondire i concetti e le tecniche di programmazione concorrente. Esso permette di acquisire conoscenze specifiche ai sistemi operativi UNIX-like, con particolare riferimento ai sistemi Linux, approfondendone l'utilizzo dei comandi di utente e di amministrazione nonché la programmazione di sistema.
Mandatory course in the Bachelor Degree curricula in Computer Engineering, the course is held at the first semester of the third year. The main targets of the course are to present basic elements of an operating system architecture and to introduce the basic concepts and methodologies of concurrent programming. The course explicitly refer to UNIX-like (Linux) operating systems. The course also illustrates how to manage an operating system by means of shell commands, filters, and shell scripts.
• Classificazione dei principali sistemi operativi moderni. • Funzionalità di base fornite da un sistema operativo. • Amministrazione di sistemi UNIX/Linux mediante utilizzo di comandi, shell, filtri e linguaggi di script. • Architettura di un sistema operativo visto come gestore e organizzatore delle risorse del sistema. • Gestione di processi e di thread, ovvero la capacità di utilizzare le tecniche principali per la creazione, la sincronizzazione e la terminazione di processi e di thread di esecuzione. • Utilizzo della programmazione concorrente per la risoluzione di problemi elementari. • Analisi di problemi classici di sincronizzazione.
• Conoscenza della sintassi (base e avanzata) del linguaggio di programmazione C. • Capacità di risolvere problemi di media complessità tramite la scrittura di programmi. • Conoscenza relative all'architettura di un sistema di elaborazione, con particolare riferimento alla struttura di un processore, all’organizzazione della memoria e ai tipi di dato. • Conoscenza del meccanismo di interruzione. • Fondamenti di un linguaggio assembler.
• Architettura di un sistema operativo (3.0h) o Introduzione e classificazione dei sistemi operativi. o Struttura di un sistema operativo, risorse gestite e moduli principali. o Possibili organizzazioni di un kernel. • Gli aspetti base del sistema operativo Linux (6.0h) o Comandi utente. o Comandi per la gestione del sistema. • Gli aspetti avvanzati del sistema operativo Linux (5.5h) o Shell. o Linguaggi di script. • Il file system (3.0h). • Processi (11.0h) o Introduzione ai processi e alla programmazione concorrente. o Controllo avvanzato dei processi. o Segnali. o Gestione e comunicazione tra processi. • Thread (6.0h) o Concetti principali. o Differenze dai processi. o La libreria Pthread. • Sincronizzazione di processi e thread (7.5h) o Soluzioni software e hardware al problema della sincronizzazione. o Variabili e primitive semaforiche. o Problemi di sincronizzazione classici (produttore e consumatore, lettori e scrittori, filosofi, etc.). • Lo scheduling dei processi (1.5h). • Il problema dello stallo (1.5h).
Il corso è organizzato in lezioni, esercitazioni e laboratori. Non vi è alcuna distinzione formale tra ore di lezione e ore di esercitazione. Le esercitazioni, relative ai vari argomenti, sono svolte contestualmente alla trattazione della parte teorica. Il corso comprende inoltre circa 15 ore di esercitazioni assistite in laboratorio. L’attività di laboratorio comprende esercitazioni su quasi tutti gli argomenti trattati in aula. Tali esercitazioni sono svolte utilizzando il sistema operativo Linux e prevedono l’utilizzo dei comandi e dei linguaggi di shell, la scrittura di script e quella di programmi concorrenti in linguaggio C.
• Materiale fornito dal docente o Trasparenze proiettate in aula. o Materiale utilizzato in laboratorio, con particolare riferimento alel eserctazioni di laboratorio e alle relative soluzioni. o Dispense e opuscoli su argomenti definiti. • Materiale (didattico e non) a disposizione sul World Wide Web. • Testi in forma cartacea o A. Silbershatz, P. Galvin, G. Gagne, " Sistemi Operativi. Concetti ed Esempi ", Pearson Education Italia. o A. S. Tanenbaum, H. Bos, “I moderni sistemi operativi”, Pearson Education Italia. o W. R. Stevens, S. A. Rago, "Advanced programming in the UNIX Environment", Addison-Wesley Publishing Company.
Modalità di esame: Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
L’esame consiste in un’unica prova scritta. Tale prova scritta viene effettuata mediante computer, utilizzando la piattaforma "Exam". A seconda della situazione sanitaria, l'esame sarà effettuato con modalità vis-à-vis, in uno dei laboratori, oppure con modalità in remoto. Nel primo caso, gli instruttori effettueranno l'assistenza e la consulenza necessaria direttamente in laboratorio. Nel secondo caso, l'esame verrà effettuato integrando la piattaforma "Exam" con gli strumenti di proctoring disponibili sulla piattaforma di Ateneo. Tutti gli studenti sono tenuti a documentarsi sulle regole dell'Università in relazione alle modalità di esame e di procurarsi i necessari strumenti hardware e software per poter effettuare le prove. Tutti gli studenti sono tenuti a rispettare il codice etico dell’Ateneo. In caso di problemi di natura infrastrutturale, gli studenti devono comunicare prontamente tali problemi via e-mail non più tardi di un'ora dalla fine della prova. Nel caso vengano riscontrate irregolarità, i docenti si riservano il diritto di effettuare una prova orale su tutti gli argomenti del corso. La prova scritta include da 6 a 18 domande aperte o chiuse. Tali domande sono volte a verificare: • Le conoscenze acquisite durante il corso e relative tanto agli aspetti teorici quanto a quelli più pratici • Le capacità di svolgere esercizi che coinvolgano le conoscenze pratiche acquisite in relazione ai comandi di shell, ai linguaggi di script, e alla programmazione concorrente. La prova dura circa 110 minuti. Durante la prova non è ammesso l’utilizzo di appunti, libri di testo, né altro materiale. Computer portatili, cellulari, palmari, etc., sono proibiti. Eventuali dispense predisposte dal docente (per esempio quelle relative ai comandi Linux di shell, agli script BASH e alla libreria Pthread), e ritenute necessarie per lo svolgimento della prova, saranno rese disponibili direttamente all'interno della piattaforma "Exam". Il voto massimo aquisibile è pari a 36 punti. Voti superiori a 32 o a 33 (a seconda della prova scritta) saranno automaticamente convertiti in 30 con lode.
Modalità di esame: Test informatizzato in laboratorio; Prova scritta tramite PC con l'utilizzo della piattaforma di ateneo;
L’esame consiste in un’unica prova scritta. Tale prova scritta viene effettuata mediante computer, utilizzando la piattaforma "Exam". A seconda della situazione sanitaria, l'esame sarà effettuato con modalità vis-à-vis, in uno dei laboratori, oppure con modalità in remoto. Nel primo caso, gli instruttori effettueranno l'assistenza e la consulenza necessaria direttamente in laboratorio. Nel secondo caso, l'esame verrà effettuato integrando la piattaforma "Exam" con gli strumenti di proctoring disponibili sulla piattaforma di Ateneo. Tutti gli studenti sono tenuti a documentarsi sulle regole dell'Università in relazione alle modalità di esame e di procurarsi i necessari strumenti hardware e software per poter effettuare le prove. Tutti gli studenti sono tenuti a rispettare il codice etico dell’Ateneo. In caso di problemi di natura infrastrutturale, gli studenti devono comunicare prontamente tali problemi via e-mail non più tardi di un'ora dalla fine della prova. Nel caso vengano riscontrate irregolarità, i docenti si riservano il diritto di effettuare una prova orale su tutti gli argomenti del corso. La prova scritta include da 6 a 18 domande aperte o chiuse. Tali domande sono volte a verificare: • Le conoscenze acquisite durante il corso e relative tanto agli aspetti teorici quanto a quelli più pratici • Le capacità di svolgere esercizi che coinvolgano le conoscenze pratiche acquisite in relazione ai comandi di shell, ai linguaggi di script, e alla programmazione concorrente. La prova dura circa 110 minuti. Durante la prova non è ammesso l’utilizzo di appunti, libri di testo, né altro materiale. Computer portatili, cellulari, palmari, etc., sono proibiti. Eventuali dispense predisposte dal docente (per esempio quelle relative ai comandi Linux di shell, agli script BASH e alla libreria Pthread), e ritenute necessarie per lo svolgimento della prova, saranno rese disponibili direttamente all'interno della piattaforma "Exam". Il voto massimo aquisibile è pari a 36 punti. Voti superiori a 32 o a 33 (a seconda della prova scritta) saranno automaticamente convertiti in 30 con lode.
Esporta Word