SISTEMI OPERATIVI

Bruno CARPENTIERI SISTEMI OPERATIVI

0512100006
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2016/2017



OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2015
PRIMO SEMESTRE
CFUOREATTIVITÀ
756LEZIONE
330LABORATORIO


Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE:

VISIONE STRUTTURATA ED ORGANICA DI UN MODERNO SISTEMA OPERATIVO.

COMPRENSIONE DELLE PRINCIPALI SCELTE IMPLEMENTATIVE E DEI MECCANISMI ALLA BASE DELLA GESTIONE DI UN SISTEMA INFORMATIVO

DESCRIZIONE DELL’INTERFACCIA ED IMPLEMENTAZIONE DI UN FILE SYSTEM.

DEFINIZIONE DELLA STRUTTURA DEI PROCESSI, DEGLI ALGORITMI DI SCHEDULING PER OTTIMIZZARE L’USO DELLA CPU E DELLA SINCRONIZZAZIONE PER LA GESTIONE DELLE RISORSE CONDIVISE.

GESTIONE DELLA MEMORIA CENTRALE.

SISTEMA OPERATIVO LINUX (UNIX) CON LE PRINCIPALI SYSTEM CALL E SHELL

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:

USARE, CONFIGURARE ED AMMINISTRARE UN SISTEMA OPERATIVO.

PROGETTARE ED IMPLEMENTARE SEMPLICI FUNZIONI DI SISTEMA.

VALUTARE, IN TERMINI DI RISORSE, IL COSTO DEI DIVERSI SERVIZI OFFERTI DAL SISTEMA OTTIMIZZANDO L’USO DELLE RISORSE DISPONIBILI.

INDIVIDUARE SOLUZIONI OTTIMALI VALUTANDONE AUTONOMAMENTE L’EFFICIENZA E LA CORRETTEZZA FORMALE.
Prerequisiti
LO STUDENTE DEVE CONOSCERE LA ARCHITETTURA DEI SISTEMI DI ELABORAZIONE ED IL LINGUAGGIO DI PROGRAMMAZIONE IN LINGUAGGIO C.
Contenuti
IL CORSO È COSTITUITO DA 56 ORE DI LEZIONI FRONTALI E 30 ORE DI LABORATORIO. I CONTENUTI PREVISTI SONO DESCRITTI DI SEGUITO:

1) CONCETTI INTRODUTTIVI RIGUARDANTI L’ORGANIZZAZIONE, LA STRUTTURA E LE OPERAZIONI DI UN SISTEMA OPERATIVO, NONCHÉ LA GESTIONE DEI PROCESSI E DELLA MEMORIA;

2) ELEMENTI INTRODUTTIVI DEL SISTEMA OPERATIVO LINUX: INSTALLAZIONE, ELEMENTI DI COMPILAZIONE E DEBUGGING E UNA PRIMA INTRODUZIONE ALLA BASH;

4) STRUTTURA DEI SISTEMI OPERATIVI: SERVIZI, INTERFACCIA UTENTE, CHIAMATE DI SISTEMA, TIPI DI CHIAMATE E PROGRAMMI DI SISTEMA;

5) INTERFACCIA DEL FILE SYSTEM: CONCETTO DI FILE,
METODI DI ACCESSO, STRUTTURA DELLE DIRECTORY, MONTAGGIO DI UN FILE SYSTEM, METODI DI ALLOCAZIONE DEI BLOCCHI, GESTIONE DELLO SPAZIO LIBERO;

6) IMPLEMENTAZIONE DEL FILE SYSTEM: STRUTTURA DI UN FS, IMPLEMENTAZIONE DI UN FS E DI DIRECTORY;

7) I/O SU FILE: FILE DESCRIPTOR, STANDARD FILE, OPERAZIONI SU FILE, FILE TABLE, CONDIVISIONE DI FILE, OPERAZIONI ATOMICHE, I/O BUFFERIZZATO;

8) FILE E DIRECTORY: TIPI DI FILE, STRUTTURA STAT, REAL ED EFFECTIVE USER ID, PERMESSI DI ACCESSO, LINK; PROCESSI: CONCETTO DI PROCESSO, ISOLAMENTO, SCHEDULING, OPERAZIONI SUI PROCESSI, PID, FORK, WAIT, EXIT, AMBIENTE E VARIABILI DI AMBIENTE, CONDIVISIONE DI FILE, FUNZIONI EXEC;

12) SCHEDULING: CONCETTI DI BASE, CRITERI, ALGORITMI DI SCHEDULING, ESEMPI

13) COMUNICAZIONE TRA PROCESSI: LE PIPE() DI UNIX, FIFO DI UNIX;

14) INTRODUZIONE DEL CONCETTO DI THREAD: THREAD A LIVELLO UTENTE E A LIVELLO KERNEL, LA LIBRERIA
PTHREAD;

15) SINCRONIZZAZIONE TRA PROCESSI: IL PROBLEMA
DELLA REGIONE CRITICA, L’ALGORITMO DI PETERSON, SEMAFORI, MONITOR;

16) GESTIONE DELLA MEMORIA: BACKGROUND, SWAPPING, ALLOCAZIONE CONTIGUA, PAGINAZIONE, STRUTTURA DELLA TABELLA DELLE PAGINE;

18) MEMORIA VIRTUALE: BACKGROUND, PAGINAZIONE SU RICHIESTA, COPIA IN SCRITTURA, SOSTITUZIONE DELLE PAGINE, ALLOCAZIONE DEI FRAME, THRASHING;

19) SEGNALI: CONCETTO, TIPI ED USO DEI SEGNALI;

20) BASH: COMANDI, EDITING DA LINEA DI COMANDO, VARIABILI DI AMBIENTE E PERSONALIZZAZIONE, SCRIPT E FUNZIONI;
Metodi Didattici
IL CORSO DI SISTEMI OPERATIVI PREVEDE:

UNA PARTE DI LEZIONI DI CARATTERE TEORICO (56 ORE) PER IL TRASFERIMENTO DELLE CONOSCENZE RELATIVE ALLA STRUTTURA DI UN SISTEMA OPERATIVO IN GENERALE ED A QUELLA DI SISTEMA LINUX (EREDE DI UNIX) IN PARTICOLARE.

IN PARALLELO SARANNO CONDOTTE ATTIVITÀ PRATICHE (30 ORE IN LABORATORIO PER ESERCIZI DI PROGRAMMAZIONE DURANTE LE QUALI LO STUDENTE DOVRÀ UTILIZZARE LE PRINCIPALI SYSTEM CALL DEL SISTEMA LINUX SCRIVENDO SEMPLICI APPLICAZIONI SOFTWARE DIMOSTRATIVE UTILIZZANDO IL LINGUAGGIO DI PROGRAMMAZIONE C.
Verifica dell'apprendimento
L’ESAME CHE CIASCUNO STUDENTE DOVRÀ SOSTENERE POTRÀ SEGUIRE DUE MODALITÀ ALTERNATIVE:

1. UNA PROVA SCRITTA E, PREVIO IL SUPERAMENTO DELLA STESSA, UNA PROVA ORALE CON CONTESTUALE VERIFICA DELLE COMPETENZE ACQUISITE.
LA PROVA SCRITTA PREVEDRÀ UN INSIEME DI DOMANDE ATTE A VERIFICARE LA CONOSCENZA DEI PRINCIPALI MODULI DI UN SISTEMA OPERATIVO E L’ORGANIZZAZIONE DEGLI STESSI. ALCUNI QUESITI DELLA PROVA SCRITTA RICHIEDERANNO LA SCRITTURA DI UN PROGRAMMA IN LINGUAGGIO C PER LA SOLUZIONE DI UN PROBLEMA INVOCANDO LE SYSTEM CALL DEL SISTEMA LINUX PER VERIFICARE LA CONOSCENZA DELLE FUNZIONI DEL SISTEMA OPERATIVO ED IL LORO CORRETTO UTILIZZO PER LA SOLUZIONE DI UN PROBLEMA CONCRETO.

2. OPPURE DUE O TRE VERIFICHE INTERCORSO CIASCUNA CONSISTENTE DI UNA PROVA SVOLTA CON MODALITÀ ANALOGHE ALLA PROVA SCRITTA MA RELATIVA AD ARGOMENTI AFFRONTATI NEL PERIODO DI CORSO CORRISPONDENTE.

GLI STUDENTI POTRANNO SCEGLIERE SE EFFETTUARE TUTTE LE VERIFICHE INTERCORSO E REGISTRARE IL VOTO FINALE O SOSTENERE L’ESAME TRADIZIONALE.

GLI STUDENTI CHE NON HANNO SUPERATO LE VERIFICHE INTERCORSO POTRANNO COMUNQUE SOSTENERE L’ESAME TRADIZIONALE.
Testi
A. SILBERSCHATZ, P. B. GALVIN, G. GAGNE:
SISTEMI OPERATIVI: CONCETTI ED ESEMPI. 9 A EDIZIONE. PEARSON EDUCATION ITALIA, 2014,
ISBN: 9788865183717

W.R. STEVENS, S.A. RAGO, “ADVANCED PROGRAMMING IN THE UNIX ENVIRONMENT”,
ADDISON-WESLEY, ISBN: 9780321637734

TESTI CONSIGLIATI

C. NEWHAM, B. ROSENBLATT, “LEARNING THE BASH SHELL”, O'REILLY, ISBN: 0-596- 00965-8 SOFTWARE / HARDWARE:

SISTEMA OPERATIVO: LINUX
PC CON CONNESSIONE ALLA RETE.
Altre Informazioni
E-MAIL DEL DOCENTE: BC@DIA.UNISA.IT

IL SITO WEB DEL CORSO

HTTP://WWW.DI.UNISA.IT/PROFESSORI/BC CONTERRÀ AVVISI, SLIDE, ESERCIZI, PROVE DI ESAME.

LA FREQUENZA DEL CORSO, SEPPURE NON OBBLIGATORIA, È VIVAMENTE CONSIGLIATA SIA PER LE LEZIONI FRONTALI CHE PER LE ESERCITAZIONI IN LABORATORIO. PER LE CARATTERISTICHE DEL CORSO È NECESSARIO ACQUISIRE UNA SUFFICIENTE ABILITÀ CON LA PROGRAMMAZIONE DI SISTEMA IN LINGUAGGIO C (SCRITTURA DEL CODICE, COMPILAZIONE, DEBUGGING ED ESECUZIONE). PERTANTO È AUSPICABILE CHE LO STUDENTE TRASCORRA IL NUMERO NECESSARIO DI ORE NEI LABORATORI DIDATTICI NON ASSISTITI AL FINE DI EVIDENZIARE E COLMARE EVENTUALI DEFICIT FORMATIVI.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]