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

SISTEMI OPERATIVI E BASI DI DATI

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

Modulo: SISTEMI OPERATIVI

Corso Ingegneria dell'Informazione
Curriculum Curriculum unico
Orientamento Orientamento unico
Anno Accademico 2016/2017
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 Si
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta Si
Valutazione prova orale Si
Valutazione test attitudinale No
Valutazione progetto No
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni


Modulo: BASI DI DATI

Corso Ingegneria dell'Informazione
Curriculum Curriculum unico
Orientamento Orientamento unico
Anno Accademico 2016/2017
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.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 “Database Systems – The complete book”, Pearson Education, 2014.
• Silberschatz, H.F. Korth, S. Sudarshan, “Database System Concepts”, VI Edizione, McGraw Hill, 2010
• C. Coronel, S. Morris, “Database Systems: Design, Implementation & Management”, XI Edizione, Cengage Learning, 2014
• T. Connolly, C. Begg, “A Practical Approach to Design, Implementation, and Management”, VI Edizione, Pearson Education, 2014

Eventuali dispense fornite dal docente
Erogazione tradizionale Si
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta No
Valutazione prova orale Si
Valutazione test attitudinale No
Valutazione progetto Si
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni

Descrizione Allegato
Dispensa MySQL (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 1 (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 2 (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 3 (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 4 (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 5 (dispensa) Icona dell'estensione dell'allegato
Dispensa N. 6 (dispensa) Icona dell'estensione dell'allegato
Esempio N. 1 di tesina (dispensa) Icona dell'estensione dell'allegato
Esempio N. 2 di tesina (dispensa) Icona dell'estensione dell'allegato
Esempio N. 3 di tesina (dispensa) Icona dell'estensione dell'allegato
Esempio N. 4 di tesina (dispensa) Icona dell'estensione dell'allegato
Tracce di esame (dispensa) Icona dell'estensione dell'allegato

Elenco dei ricevimenti:

Descrizione Avviso
Ricevimenti del docente: Domenico Ursino
Venerdì ore 15 presso Laboratorio Barbiana 2.0 ad Ingegneria vicino alla Cappella Universitaria
Nessun avviso pubblicato
Nessuna lezione pubblicata
Salita Melissari - 89124 Reggio Calabria - CF 80006510806 - Fax 0965 332201 - URP:Indirizzo di posta elettronica dell'ufficio relazioni con il pubblico- PEC:Indirizzo di posta elettronica certificata dell'amministrazione
Feed RSS Facebook Twitter YouTube Google+

PRIVACY - NOTE LEGALI