SISTEMI OPERATIVI

Informatica SISTEMI OPERATIVI

0512100006
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2013/2014



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2008
SECONDO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
336LABORATORIO
012ALTRO


Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE:
L’OBIETTIVO DEL CORSO È DI CONSENTIRE LA COMPRENSIONE, DA PARTE DELLO STUDENTE, DI COME SIA STRUTTURATO E COME VENGA GESTITO UN SISTEMA OPERATIVO. TALE OBIETTIVO È PERSEGUITO ATTRAVERSO LA DESCRIZIONE DELLA INTERFACCIA E DELLA IMPLEMENTAZIONE DEL FILE SYSTEM, ATTRAVERSO LA DEFINIZIONE DELLA STRUTTURA DEI PROCESSI E DEGLI ALGORITMI DI SCHEDULING, ED ATTRAVERSO LA GESTIONE DELLA MEMORIA E DELL’ I/O.
TALE CONOSCENZA GENERALE DI UN SISTEMA OPERATIVO VIENE ANCHE ATTUALIZZATA ATTRAVERSO LA CONOSCENZA E L’UTILIZZO DEL SISTEMA OPERATIVO UNIX, DEL QUALE SI CONOSCERANNO ANCHE LE PRINCIPALI SYSTEM CALL E IL FUNZIONAMENTO DELLA SHELL.
TALE CORSO SI PONE COME SINTESI DELLE CONOSCENZE, GIÀ ACQUISITE, DI ARCHITETTURA DEI SISTEMI E DEL LINGUAGGIO DI PROGRAMMAZIONE C ESSENDO UNIX REALIZZATO UTILIZZANDO IL LINGUAGGIO C.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:
BASANDOSI SULLA CONOSCENZA DELLE PRINCIPALI FUNZIONI DEI MODERNI SISTEMI OPERATIVI ED DEL LORO FUNZIONAMENTO, ED UTILIZZANDO ANCHE LE SPERIMENTAZIONI PRATICHE EFFETTUATE SUL SISTEMA UNIX SIA NELL’AMBITO DELLA SCRITTURA DI SCRIPT SHELL SIA NELL’AMBITO DELLA PROGRAMMAZIONE DI SISTEMA, SI INTENDE RENDERE LO STUDENTE CAPACE DI USARE IL SISTEMA MA ANCHE DI PROGETTARE ED IMPLEMENTARE SEMPLICI PROGRAMMI CHE UTILIZZANO LE PRINCIPALI FUNZIONI DI SISTEMA.

AUTONOMIA DI GIUDIZIO:
IL CORSO STIMOLA LE CAPACITÀ CRITICHE DELLO STUDENTE ED IN PARTICOLARE ATTRAVERSO LE ESERCITAZIONI IN LABORATORIO INTENDE FORNIRE TUTTI GLI ELEMENTI NECESSARI PER PERMETTERE DI EFFETTUARE TUTTE LE PRIME ELEMENTARI SCELTE PROGETTUALI SIA IN TERMINI DI ARCHITETTURA CHE IN TERMINI DI STRUMENTI DA UTILIZZARE. OGNI STUDENTE, AL TERMINE DEL CORSO DOVRÀ ESSERE IN GRADO DI PREVEDERE, IN TERMINI DI RISORSE, IL COSTO DELLE DIVERSE STRATEGIE (SYSTEM CALL) E QUINDI DI SCEGLIERE LA MIGLIORE.

ABILITÀ COMUNICATIVE:
SIA IN AULA CHE IN LABORATORIO DIDATTICO GLI STUDENTI SARANNO INVOGLIATI A PARTECIPARE ALLE LEZIONI FORNENDO AL DOCENTE DA UN LATO INDICATORI SULL'AVANZAMENTO DEL CORSO E DALL'ALTRO SPUNTI PER APPROFONDIMENTI SU TEMI DI SPECIFICO INTERESSE.
IN PARTICOLARE ATTRAVERSO LA PIATTAFORMA DI ELEARNING OGNI ANNO VIENE AVVIATO UN FORUM ATTRAVERSO IL QUALE OGNI STUDENTE PROMUOVE DISCUSSIONI ON-LINE PER CONDIVIDERE SOLUZIONI A QUESITI O PER CERCARE IL MIGLIORE RISULTATO.

CAPACITÀ DI APPRENDIMENTO:
OGNI STUDENTE IN FUNZIONE DELLE PROPRIE CAPACITÀ DI APPRENDIMENTO POTRÀ SCEGLIERE LE MODALITÀ DI STUDIO PIÙ ADATTE. IN PARTICOLARE AD OGNI LEZIONE IN AULA SEGUE UNA SPERIMENTAZIONE IN LABORATORIO E/O A IN GRUPPI A CASA PER VERIFICARE IN FORMA DEDUTTIVA LO STESSO RISULTATO PRESENTATO IN AULA. CIÒ AVVIENE IN PARTICOLARE PER I MODULI PER LA GESTIONE DELLA MEMORIA E PER L'INPUT/OUTPUT PER I QUALI GLI STUDENTI, REALIZZANO DEI BENACHMARK DA ESEGUIRE OGNUNO SUL PORPRIO COMPUTER. I RISULTATI SONO SUCCESSIVAMENTE DISCUSSI IN AULA.
Prerequisiti
LO STUDENTE DEVE CONOSCERE L’ARCHITETTURA DEI SISTEMI DI ELABORAZIONE ED IL LINGUAGGIO DI PROGRAMMAZIONE C.
Contenuti
ORE DI LEZIONI FRONTALI: 48
ORE DI LABORATORIO: 36

CONCETTI INTRODUTTIVI RIGUARDANTI L’ORGANIZZAZIONE, LA STRUTTURA E LE OPERAZIONI DI UN SISTEMA OPERATIVO, NONCHÉ LA GESTIONE DEI PROCESSI E DELLA MEMORIA. (4 ORE FRONTALI)

ELEMENTI INTRODUTTIVI DEL SISTEMA OPERATIVO LINUX: INSTALLAZIONE, ELEMENTI DI COMPILAZIONE E DEBUGGING E UNA PRIMA INTRODUZIONE ALLA BASH. (3 ORE LABORATORIO)

STRUTTURA DEI SISTEMI OPERATIVI: SERVIZI, INTERFACCIA UTENTE, CHIAMATE DI SISTEMA, TIPI DI CHIAMATE E PROGRAMMI DI SISTEMA. (2 ORE FRONTALI)

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. (4 ORE FRONTALI)

IMPLEMENTAZIONE DEL FILE SYSTEM: STRUTTURA DI UN FS, IMPLEMENTAZIONE DI UN FS E DI DIRECTORY. (2 ORE FRONTALI)

I/O SU FILE: FILE DESCRIPTOR, STANDARD FILE, OPERAZIONI SU FILE, FILE TABLE, CONDIVISIONE DI FILE, OPERAZIONI ATOMICHE, I/O BUFFERIZZATO. (1 ORA FRONTALE, 3 ORE LABORATORIO)

FILE E DIRECTORY: TIPI DI FILE, STRUTTURA STAT, REAL ED EFFECTIVE USER ID, PERMESSI DI ACCESSO, LINK (1 ORA FRONTALE, 3 ORE LABORATORIO)

PROCESSI: CONCETTO, SCHEDULING, OPERAZIONI SUI PROCESSI, PID, FORK, WAIT, EXIT, AMBIENTE E VARIABILI DI AMBIENTE, CONDIVISIONE DI FILE, FUNZIONI EXEC. (8 ORE FRONTALI, 12 ORE LABORATORIO)

SEGNALI: CONCETTO, TIPI ED USO DEI SEGNALI. (4 ORE FRONTALI, 3 ORE LABORATORIO)

SCHEDULING: CONCETTI DI BASE, CRITERI, ALGORITMI DI SCHEDULING, ESEMPI. (4 ORE FRONTALI)

GESTIONE DELLA MEMORIA: BACKGROUND, SWAPPING, ALLOCAZIONE CONTIGUA, PAGINAZIONE, STRUTTURA DELLA TABELLA DELLE PAGINE. (4 ORE FRONTALI)

MEMORIA VIRTUALE: BACKGROUND, PAGINAZIONE SU RICHIESTA, COPIA IN SCRITTURA, SOSTITUZIONE DELLE PAGINE, ALLOCAZIONE DEI FRAME, THRASHING (4 ORE FRONTALI)

BASH: COMANDI, EDITING DA LINEA DI COMANDO, VARIABILI DI AMBIENTE E PERSONALIZZAZIONE, SCRIPT E FUNZIONI. (9 ORE LABORATORIO)
Metodi Didattici
IL CORSO DI SISTEMI OPERATIVI PREVEDE UNA PARTE DI LEZIONI A CARATTERE TEORICO PER IL TRASFERIMENTO DELLE CONOSCENZE RELATIVE ALLA STRUTTURA DI UN SISTEMA OPERATIVO IN GENERALE ED A QUELLA DI UNIX IN PARTICOLARE, ED UNA PARTE DEDICATA ALLE ATTIVITÀ PRATICHE DI LABORATORIO IN CUI LO STUDENTE USERÀ UNIX ED, ADOPERANDO IL LINGUAGGIO DI PROGRAMMAZIONE C, SVILUPPERÀ PICCOLE APPLICAZIONI SOFTWARE PER LA GESTIONE DEL SISTEMA.
Verifica dell'apprendimento
L’ESAME CHE CIASCUNO STUDENTE DOVRÀ SOSTENERE CONSISTE IN UNA PROVA SCRITTA E, PREVIA IL SUPERAMENTO DI ESSA, UNA PROVA ORALE CON CONTESTUALE VERIFICA DELLE COMPETENZE ACQUISITE.
PER LA PARTE TEORICA SARÀ VALUTATA LA CAPACITÀ CRITICA DEGLI STUDENTI NECESSARIA PER VALUTARE LE SOLUZIONI PRESENTATE.
IN VIRTÙ DELL'AMPIEZZA DEL PROGRAMMA SARÀ PARTICOLARMENTE APPREZZATA LA CAPACITÀ DI SINTESI E LA CAPACITÀ DI INDIVIDUARE SOLUZIONI SPECIFICHE A PROBLEMI REALI.
LA PARTE RELATIVA AL LABORATORIO SARÀ VALUTATA IN FUNZIONE DELL'OTTIMALITÀ DELLE SCELTE EFFETTUATE NEL DISEGNO E L'IMPLEMENTAZIONE DELLA SOLUZIONE.

Testi
A. SILBERSCHATZ, P.B.GALVIN, G.GAGNE, “SISTEMI OPERATIVI”, ADDISON-WESLEY, 8TH EDITION
W.R. STEVENS, S.A. RAGO, “ADVANCED PROGRAMMING IN THE UNIX ENVIROMENT”, ADDISON-WESLEY, 2ND EDITION.
C. NEWHAM, B. ROSENBLATT, “LEARNING THE BASH SHELL”, O'REILLY, 3RD EDITION

SOFTWARE / HARDWARE:
SISTEMA OPERATIVO: LINUX
PC CON COLLEGAMENTO IN RETE
Altre Informazioni
E-MAIL DEL DOCENTE: CATTANEO@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]