Questo sito utilizza cookie tecnici e di terze parti. Se vuoi saperne di più o negare il consenso consulta l'informativa sulla privacy. Proseguendo la navigazione o cliccando su "Chiudi" acconsenti all'uso dei cookie. Chiudi
vai al contenuto vai al menu principale vai alla sezione Accessibilità vai alla mappa del sito
Login  Docente | Studente | Personale | Italiano  English
 
Home page Home page

SISTEMI OPERATIVI E BASI DI DATI

Corso Ingegneria dell'Informazione
Curriculum Curriculum unico
Orientamento Orientamento unico
Anno Accademico 2017/2018

Modulo: SISTEMI OPERATIVI

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

Canale unico

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
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta
Valutazione prova orale
Valutazione test attitudinale No
Valutazione progetto No
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni

Nessun materiale didattico inserito per questo insegnamento
Nessun avviso pubblicato
Nessuna lezione pubblicata
Codice insegnamento online non pubblicato

Modulo: BASI DI DATI

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

Canale unico

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
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta No
Valutazione prova orale
Valutazione test attitudinale No
Valutazione progetto
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni

Descrizione Descrizione
Dispensa Esportazione-Importazione DB (dispensa) Descrizione
Dispensa Installazione XAMPP (dispensa) Descrizione
Dispensa Interfacce Web (dispensa) Descrizione
Dispensa MySQL - Esercitazione (dispensa) Descrizione
Dispensa MySQL - Installazione (dispensa) Descrizione
Dispensa N. 1 (dispensa) Descrizione
Dispensa N. 2 (dispensa) Descrizione
Dispensa N. 3 (dispensa) Descrizione
Dispensa N. 4 (dispensa) Descrizione
Dispensa N. 5 (dispensa) Descrizione
Dispensa N. 6 (dispensa) Descrizione
Dispensa N. 7 (dispensa) Descrizione
Dispensa N. 8 (dispensa) Descrizione
Linee Guida Consegna (dispensa) Descrizione
Programma ufficiale del corso (programma) Descrizione

Elenco dei rievimenti:

Descrizione Avviso
Ricevimenti di:
Venerdì ore 15 presso Laboratorio Barbiana 2.0 ad Ingegneria vicino alla Cappella Universitaria
Nessun avviso pubblicato
Nessuna lezione pubblicata
Codice insegnamento online non pubblicato

Cerca nel sito

 

Posta Elettronica Certificata

Direzione

Tel +39 0965.1693217/3252

Fax +39 0965.1693247

Indirizzo e-mail


Protocollo

Tel +39 0965.1693422

Fax +39 0965.1693247

Indirizzo e-mail

Didattica e orientamento

Tel +39 0965.16933385

Fax +39 0965.1693247

Indirizzo e-mail


Segreteria studenti

Tel +39 0965.1691475

Fax +39 0965.1691474

Indirizzo e-mail

Amministrazione

Tel +39 0965.1693214

Fax +39 0965.1693247

Indirizzo e-mail


Ricerca

Tel +39 0965.1693422

Fax +39 0965.1693247

Indirizzo e-mail

Social

Facebook

Twitter

YouTube

Instagram