Corso | Ingegneria dell'Informazione |
Curriculum | Curriculum unico |
Orientamento | Orientamento unicoGGG |
Anno Accademico | 2014/2015 |
Crediti | 12 |
Settore Scientifico Disciplinare | ING-INF/05 |
Anno | Terzo anno |
Unità temporale | Primo semestre |
Ore aula | 96 |
Attività formativa | Attività formative caratterizzanti |
Docente | FRANCESCO ANTONIO BUCCAFURRI |
Obiettivi | Il corso fornisce i concetti e le nozioni di base sui sistemi operativi, attraverso lo studio delle funzioni e delle strutture proprie dei sistemi operativi. Gli obiettivi che si intendono raggiungere sono: - Conoscenza delle funzioni principali dei sistemi operativi con riferimento a Processi, Gestione della Memoria, Gestione dell'I/O e File System - Capacità di programmare in accordo al paradigma concorrente, con particolare riferimento al multi-threading di Java - Capacità di valutare in maniera critica le scelte fatte dai diversi sistemi operativi. - Acquisizione di un appropriato livello di autonomia nella conoscenza degli aspetti teorici e gestione di aspetti pratici relativi ai sistemi operativi. - Capacità di comunicare con adeguata competenza tecnica con altri partner in attività di gruppo volte alla progettazione e alla implementazione di sistemi con funzionalità simili a quelle dei sistemi operativi. |
Programma | introduzione Concetti di base Tipi di sistemi operativi Architetture dei calcolatori (cenni) Struttura del Sistema Operativo componenti Servizi e funzioni dei SO Interrupt e System Call Processi Rappresentazione di un processo in un sistema operativo Scheduling dei processi Diagramma di transizione di stato La cooperazione e la comunicazione tra processi Threads Programmazione multithreading Thread a livello utente e livello kernel Soluzioni miste (Solaris) Scheduling dei Thread Programmazione concorrente e Deadlock Liveness, Fairness Sezione critica Soluzione di Peterson Semafori Problema Produttore-Consumatore Monitor Implementazione del monitor Gestione delle risorse Deadlock Rilevamento e prevenzione del Deadlock La programmazione concorrente in Java La classe Thread Costrutti synchronized, notify(), wait() e notifyAll() Esempi di programmi concorrenti Gestione della memoria Swap di processi Allocazione contigua, rilocazione, registri base e limite, Paginazione Tabella delle pagine e tabella delle pagine invertita Bit di riferimento, bit di modifica, bit di blocco, bit ab/dis cache, bit di validità Segmentazione MMU, TLB Memoria virtuale Algoritmi di sostituzione delle pagine Allocazione locale e globale Working set e trashing File system L'astrazione file Directory Struttura di un file system Metodi di allocazione dei file Gestione dello spazio libero I/O I/O a controllo di programma I/O interrupt-driven I/O basato su DMA Memory mapped I/O Memoria secondaria Struttura dei dischi Scheduling del disco RAID (0,1,2,3,4,5) Sistemi operativi con orientamento specifico Sistemi operativi real-time Sistemi operativi Multimediali |
Testi docente | • Silberschatz, Galvin, Gagne. Sistemi operativi: Concetti ed esempi (8° ed.). Pearson, ISBN: 9- 788871-925691 • S. Tanenbaum. Modern Operating Systems, (3° ed.). Pearson Prentice Hall, ISBN-10: 0136006639 • Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari. Sistemi Operativi, (2° ed.) McGraw-Hill ISBN: 9788838664328 • Deitel & Deitel: Java. Fondamenti di programmazione. 2a ediz, Apogeo, 2003 (per la parte di Programmazione Concorrente in Java) |
Erogazione tradizionale | Sì |
Erogazione a distanza | No |
Frequenza obbligatoria | No |
Valutazione prova scritta | Sì |
Valutazione prova orale | Sì |
Valutazione test attitudinale | No |
Valutazione progetto | No |
Valutazione tirocinio | No |
Valutazione in itinere | No |
Prova pratica | No |
Docente | DOMENICO URSINO |
Obiettivi | Il corso fornisce i concetti e le nozioni di base sui sistemi operativi, attraverso lo studio delle funzioni e delle strutture proprie dei sistemi operativi. Gli obiettivi che si intendono raggiungere sono: - Conoscenza delle funzioni principali dei sistemi operativi con riferimento a Processi, Gestione della Memoria, Gestione dell'I/O e File System - Capacità di programmare in accordo al paradigma concorrente, con particolare riferimento al multi-threading di Java - Capacità di valutare in maniera critica le scelte fatte dai diversi sistemi operativi. - Acquisizione di un appropriato livello di autonomia nella conoscenza degli aspetti teorici e gestione di aspetti pratici relativi ai sistemi operativi. - Capacità di comunicare con adeguata competenza tecnica con altri partner in attività di gruppo volte alla progettazione e alla implementazione di sistemi con funzionalità simili a quelle dei sistemi operativi. |
Programma | Introduzione (0.5 crediti) Introduzione Scopi di un DBMS, modelli dei dati, schemi e istanze, Data Definition Language, Data Manipulation Language, Architettura di un DBMS, il ciclo di vita dei sistemi informativi, metodologia di progettazione di un sistema informativo Modellazione di un Sistema Informativo (1.5 crediti) Modello Entità-Relazione Entità, Relazioni o associazioni, attributi, costruzioni di schemi con i costrutti di base, cardinalità delle relazioni, cardinalità degli attributi, identificatori o chiavi, generalizzazioni, documentazione degli schemi E/R, ulteriori usi degli schemi E/R. Modello Relazionale Relazioni e tabelle, relazioni con attributi, relazioni e basi di dati, informazione incompleta e valori nulli, vincoli di integrità, vincoli di dominio, vincoli di tupla, chiavi, chiavi e valori nulli, vincoli di integrità referenziale. Analisi dei requisiti e progettazione di un Sistema Informativo (1 credito) Specifica e analisi dei requisiti Definizione del contesto di riferimento, tecniche per la specifica e l’analisi dei requisiti Progettazione della componente dati Introduzione, Metodologia generale di progettazione concettuale, criteri generali di rappresentazione di una realtà in un diagramma E/R, progettazione concettuale in un caso reale, ristrutturazione di schemi E/R nella progettazione logica, analisi delle ridondanze, eliminazione delle gerarchie, partizionamento/accorpamento di concetti, eliminazione di attributi multivalore, eliminazione degli attributi composti, scelta degli identificatori principali, traduzione verso il modello relazionale, progettazione logica di un caso reale, introduzione alla Progettazione Fisica, adattamento dello schema logico al DBMS prescelto, analisi delle transazioni, scelta dell’organizzazione dei file, scelta degli indici, stima delle richieste di spazio su disco, progettazione fisica di un caso reale. Progettazione della componente applicativa Introduzione, definizione dell’architettura, definizione dei mock-up, definizione del diagramma delle classi, l’Object Relational Mapping. I linguaggi di gestione delle basi di dati (1.5 crediti) Algebra Relazionale Introduzione all’Algebra Relazionale, Selezione, Proiezione, Rename, Unione, Differenza, Intersezione, Prodotto Cartesiano, Theta Join, Equi Join, Natural Join, Semi Join, Outer Join, Divisione. SQL Introduzione ad SQL, il Data Definition Language di SQL, tipi di dati, creazione di tabelle, cancellazione di tabelle, modifica di tabelle, valori di default, dichiarazione delle chiavi, la clausola UNIQUE, la clausola NOT NULL, vincoli di integrità referenziale, specifica dei vincoli di dominio e di tupla mediante la clausola CHECK, specifica dei vincoli intra-relazionali e inter-relazionali mediante le asserzioni Il Query Language di SQL, dichiaratività di SQL, interrogazioni semplici, l’istruzione LIKE, gestione dei valori nulli, interpretazione algebrica delle interrogazioni SQL, gestione dei duplicati, inner e outer join, uso di variabili, ordinamento, operatori aggregati, interrogazioni con raggruppamento, predicati sui gruppi, interrogazioni di tipo insiemistica, interrogazioni nidificate, l’operatore EXISTS, gestione dei concetti di “tutti” e “solo” in SQL. Inserimento, rimozione e modifica dei dati in SQL. Gestione delle viste in SQL. Aspetti Tecnologici (0.5 crediti) Tranzazioni Definizione di transazione, proprietà delle transazioni, controllo della concorrenza, architettura di un sistema per il controllo della concorrenza, anomalie delle transazioni concorrenti, teoria del controllo della concorrenza, locking a due fasi, lock gerarchico. Forme Normali Lo scopo della Normalizzazione, ridondanza dei dati e anomalie di aggiornamento, dipendenze funzionali, regole di inferenza delle dipendenze funzionali, il processo di normalizzazione, la Prima Forma Normale, la Seconda Forma Normale, la Terza Forma Normale, Definizioni generali di 2NF e 3NF, la Boyce-Codd Normal Form. Il DBMS MySQL (1 credito) Installazione di MySQL, SQL in MySQL, gestione di semplici applicazioni in MySQL. |
Testi docente | • P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, “Basi di Dati – Modelli e linguaggi di interrogazione”, Quarta Edizione, McGraw Hill, 2013 • M. Fowler, “UML Distilled”, III Edizione, Addison Wesley, 2004 • H. Garcia-Molina, J.D. Ullman, J. Widom, “Database Systems – The complete book”, Second Edition, Pearson Education, 2008. • Silberschatz, H.F. Korth, S. Sudarshan, “Database System Concepts”, VI Edizione, McGraw Hill, 2010 • R. Ramakrishnan, J. Gehrke, “Sistemi di Basi di Dati”, McGraw Hill, 2004 • T. Connolly, C. Begg, “Database Systems”, V Edizione, Pearson Education, 2009 Eventuali dispense fornite dal docente |
Erogazione tradizionale | Sì |
Erogazione a distanza | No |
Frequenza obbligatoria | No |
Valutazione prova scritta | No |
Valutazione prova orale | Sì |
Valutazione test attitudinale | No |
Valutazione progetto | Sì |
Valutazione tirocinio | No |
Valutazione in itinere | No |
Prova pratica | No |
Cerca nel sito
Posta Elettronica Certificata
Direzione
Tel +39 0965.1693217/3252
Fax +39 0965.1693247
Protocollo
Tel +39 0965.1693422
Fax +39 0965.1693247
Didattica e orientamento
Tel +39 0965.16933385
Fax +39 0965.1693247
Segreteria studenti
Tel +39 0965.1691475
Fax +39 0965.1691474
Amministrazione
Tel +39 0965.1693214
Fax +39 0965.1693247
Ricerca
Tel +39 0965.1693422
Fax +39 0965.1693247