Corso | Ingegneria dell'Informazione |
Curriculum | Curriculum unico |
Orientamento | Orientamento unico |
Anno Accademico | 2017/2018 |
Corso | Ingegneria dell'Informazione |
Curriculum | Curriculum unico |
Orientamento | Orientamento unico |
Anno Accademico | 2017/2018 |
Crediti | 6 |
Settore Scientifico Disciplinare | ING-INF/05 |
Anno | Terzo anno |
Unità temporale | Primo semestre |
Ore aula | 48 |
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 |
Corso | Ingegneria dell'Informazione |
Curriculum | Curriculum unico |
Orientamento | Orientamento unico |
Anno Accademico | 2017/2018 |
Crediti | 6 |
Settore Scientifico Disciplinare | ING-INF/05 |
Anno | Terzo anno |
Unità temporale | Primo semestre |
Ore aula | 48 |
Attività formativa | Attività formative caratterizzanti |
Docente | DOMENICO URSINO |
Obiettivi | Il corso ha lo scopo di illustrare le tecniche di progettazione e implementazione di un sistema informativo. Inizialmente vengono descritti il ciclo di vita dei sistemi informativi, la specifica e l’analisi dei requisiti, la progettazione della componente dati e quella della componente applicativa. Successivamente, ci si concentra sui linguaggi per DBMS e viene trattato in modo molto dettagliato SQL. Al fine di illustrare SQL e l’implementazione di un sistema informativo viene trattato il DBMS MySQL. Il corso si conclude con la descrizione delle transazioni, delle forme normali, di XML e JSON. |
Programma | Introduzione (0.25 CFU) Il ciclo di vita dei sistemi informativi; metodologia di progettazione di un sistema informativo; progettazione dei dati; progettazione delle applicazioni Specifica e analisi dei requisiti (0.25 CFU) Introduzione; requisiti funzionali; requisiti non funzionali; organizzare i requisiti; attributi dei requisiti; formalizzare i requisiti funzionali: UML e i diagrammi dei casi d’uso Progettazione della componente dati (1 CFU) Introduzione; modelli dei dati; il modello Entità/Relazione; entità; relazioni o associazioni; attributi; cardinalità delle relazioni; cardinalità degli attributi; identificatori o chiavi; generalizzazioni; documentazione degli schemi E/R; la progettazione concettuale; le regole di progettazione concettuale; introduzione al 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; introduzione alla progettazione logica; ristrutturazione dello schema E/R, traduzione dello schema E/R ristrutturato nel modello relazionale; 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 della componente applicativa (0.5 CFU) Introduzione; definizione dell’architettura del sistema: introduzione, mappa di un sito; definizione dei mock-up; process flow e flow chart Linguaggi per DBMS ed SQL (2 CFU) Introduzione ai linguaggi per DBMS; Data Definition Language; Data Manipulation Language; l’Algebra Relazionale; introduzione ad SQL; l’istruzione SELECT; utilizzo dei commenti; la clausola ORDER BY; la clausola WHERE; gli operatori relazionali; filtraggio dei valori NULL; gli operatori booleani; l’operatore IN; l’operatore LIKE; creazione di campi calcolati; funzioni di manipolazione dei dati; operatori aggregati; la clausola DISTINCT; la clausola GROUP BY; la clausola HAVING; le sottoquery; join di tabelle; inner join; self join; natural join; outer join; gli operatori insiemistici; inserimento, cancellazione e modifica di dati; creazione di tabelle; tipi di dati in SQL; operare con i valori NULL; specificare valori di default; aggiornamento delle tabelle; rimozione delle tabelle; rinominare le tabelle; introduzione alle viste; regole e restrizioni sulle viste; creazione, rimozione e aggiornamento delle viste; utilizzo delle viste per semplificare join complesse, per riformattare i dati recuperati e per filtrare i dati indesiderati; introduzione alle stored procedures; perché usare le stored procedures; eseguire le stored procedures; creazione delle stored procedures; introduzione alle transazioni; gestione delle transazioni in SQL; introduzione ai cursori; creare i cursori; utilizzo dei cursori; chiusura dei cursori; vincoli; indici; trigger; sicurezza del database Tranzazioni (0.5 CFU) 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 (0.5 CFU) 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. XML e JSON (0.5 CFU) Introduzione ad XML; motivazioni alla base di XML; confronto con il modello relazionale; struttura dei dati; nesting dei dati; attributi e sottoelementi; namespace; schemi associati ai documenti XML; Document Type Definition (DTD); limiti della DTD; XML Schema; XPath; XQuery; XSLT; SAX; DOM; mapping XML – relazionale; introduzione a JSON; perché usarlo; confronto con XML; sintassi degli oggetti JSON; gli array; tipi di dati semplici; oggetti; caratteristiche di JSON; problematiche relative a JSON; applicazioni che utilizzano JSON. Il DBMS MySQL (0.5 CFU) 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 • B. Forta, “SQL in 10 minutes”, Quarta Edizione, Pearson Education, 2013 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 |
Descrizione | Avviso | |
---|---|---|
Ricevimenti di: | ||
Venerdì ore 15 presso Laboratorio Barbiana 2.0 ad Ingegneria vicino alla Cappella Universitaria |
|
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.1693386/3385
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