Attività Didattica
Orario di ricevimento
9.00/11.00 (Dipartimento di Informatica, piano 6°, C/O Impedovo studio)
Avvisi
Nessun avviso
Materiali didattici
Corsi attribuiti
a.a. 2013-2014:
Pattern Recognition (laurea Magistrale Informatica)
Programma didattico
Pattern Recognition
Cenni sull'analisi del segnale determinitica e statistica.
Caratteristiche dei processi stocastici: di Gauss, di Poisson;
Analisi di insieme e trasformate polinomiali. Analisi di Fourier e cenni sulle trasformate di Hilbert, di Adamard, di Haar, di Hough e di Walsh;
Sistemi Discreti: Successioni, Impulso digitale, Impulso digitale traslato,sistema ortonormale degli impulsi digitali traslati, succesione esponenziale complesso,successione sinusoidale, cosinusoidale,esponenziale, gradino unitario, gradino unitario traslato. Sistema discreto lineare,sistema discreto invariate per traslazione. Teorema della convoluzione.
Sistemi causali, sistemi stabili. Sistemi con equazioni alle differenze, del 1° e del 2° ordine. Risposta in frequenza di un sistema discreto e trasformata di Fourier di una successione. Inversione della formula di calcolo della trasformata di Fourier di una successione. Relazione tra trasformata di fourier di una funzione e trasformata di fourier di una sua versione campionata.Aliasing.
Brevi cenni sulla trasformata Z. Considerazioni sull'esistenza della trasformata z, relazione tra trasformata z e trasformata di Fourier di una successione. Relazione di Parseval. Brevi cenni sulla rappresentazione grafica di un sistema discreto.
Algoritmi FFT: DIT .
Interpolatori Lagrangiani e loro uso nei sistemi di acquisizione ad alta risoluzione.
Teoria dei processi Markoviani;
Elementi di un Hidden Markov Models ed esempi reali vedi il riconoscimento della scrittura a mano libera.le previsioni metereologiche e per lo studio dei giochi, ecc....
I tre problemi centrali degli Hidden Markov Models:
Algoritmo Forward-Backward (AFB),
Algoritmo di Viterbi (AV),
Algoritmo Baum-Welch (ABW).
Calcolo dell'abattimento della complessità computazionale.
Tipi di HMM: modello completamente connesso, modello sinistra destra, altri tipi di modelli;
Applicazione: Riconoscitori di caratteri e di singole parole.
Altri algoritmi di riconoscimento statistici e dinamici, il caso delle Wrapping Funtions.
Riconoscimento di forme: Zonizzazioni classiche (regolari), zonizzazioni di Voronoi.
Processi di mapping e classificazione.
Algoritmi di ottimizzazione e convergenza, algoritmi genetici e Membership Functions di tipo:
Abstract level,
Ranked level,
Measurement levels.
Indagine sull'uso delle funzioni esponenziali.
Data Base internazionali e realizzazione di esperimenti con uso di Data Base internazionali:(esemplificazione con l'uso della directory BR 10 del CEDAR DB per il riconoscimento di cifre e dell'MNIST Data Base).
Funzioni di trasferimento neuro muscolari : Log-norm, Delta-log, Sigma-log del modello di Plamondon. Analisi della crittura a mano libera per l'individuazione di malattie neuromuscolari. Creazione di un data base per persone sane e persone neurolese.
Algoritmi di combinazione di classificatori; Tecniche di riconoscimento multiesperto.
Abstract level approach: Modello majority vote,Modello Ranked level:Behavioural knowledge space, Dempster Shafer, Measurement Level: Massima Probabilità, Regola Somma, Regola Prodotto.
Frameworks di progettazione: il Framework Visiquest e frameworks da open source (Docebo). Casi di studio.
Sistemi Operativi
1) INTRODUZIONE AI SISTEMI OPERATIVI
Obiettivi e funzioni dei sistemi operativi:
Il sistema operativo come interfaccia utente/computer;
Il sistema operativo come gestore delle risorse;
Facilità di evoluzione di un sistema operativo.
Evoluzione dei sistemi operativi:
Elaborazione seriale;
Semplici sistemi batch;
Sistemi batch multiprogrammati;
Sistemi time-sharing.
Aspetti principali di un sistema operativo:
Processi;
Gestione della memoria;
Protezione dell’informazione e sicurezza;
Schedulazione e gestione delle risorse;
Struttura del sistema.
Caratteristiche dei sistemi operativi moderni.
Panoramica su windows NT:
La storia ;
Multitasking a singolo utente;
Architettura di Windows NT: NT executive; Sottosistemi di ambiente; Modello
Client/Server; Thread ed SMP; Oggetti in Windows NT.
Sistemi UNIX tradizionali:
Storia;
Descrizione.
Sistemi UNIX moderni:
Sistema V Release 4 (SVR4)
Solaris 2.x
4.4 BSD.
2) DESCRIZIONE E CONTROLLO DEI PROCESSI
Stati dei processi:
Un modello a due stati;
Creazione e terminazione dei processi;
Un modello a cinque stati;
Processi sospesi.
Descrizione dei processi:
Strutture di controllo dei processi;
Attributi dei processi;
EFLAGS del Pentium;
Il ruolo del PCB.
Controllo dei processi:
Modi di esecuzione;
Creazione dei processi;
Cambio dei processi: cambiamento di modo, cambiamento dello stato di un processo;
Esecuzione del Sistema Operativo: Kernel non implementato con processi; Esecuzione
all’interno dei processi utente; Sisitemi operativi basati sui processi.
Gestioni dei processi in UNIX SVR4:
Stati dei processi;
Descrizione dei processi.
Controllo dei processi in UNIX e fork 0.
3) TREAD, SMP E MICROKERNEL
Processi e thread:
Multithreading;
Funzionalità dei thread;
Thread a livello utente e di Kernel.
Multiprocessing simmetrico:
Architettura SMP;
Organizzazione SMP;
Considerazioni per la progettazione di sistemi operativi multiprocessore:
Processi e thread concorrenti;
Schedulazione;
Sincronizzazione;
Gestione della Memoria.
Microkernel.
Architetutra del Microkernel;
Benefici di un’organizzazione a mikrokernel;
Prestazioni del Microkernel;
Progettazione del Microkernel.
Thread e SMP in Windows NT.
Oggetti di tipo processo e di tipo thread
Multithreading;
Stati dei thread;
Supporto per i sottosistemi del sistema operativo;
Supporto al multiprocessing.
Thread e gestione del SMP in Solaris:
Architettura multithreading;
Motivazioni
Struttura dei processi;
Esecuzione dei thread;
Interrupt come thread
Esercitazioni:
Programma in C per la creazione di un processo separato in Unix : uso del comando
fork ( );
Albero dei processi: Esemplificazione di albero dei processi in Solaris;
Rappresentazione dei processi in Linux;
Creazione di nuovo processo con la API Win 32;
Programma in C di creazione di un thread in POSIX con esemplificazione di
multithread per la somma di interi e stampa della å ;.
Esempio di creazione di un thread in Win 32 con esemplificazione di multithread
per la somma di interi e stampa del risultatoå:
Cenno al caso Java;.
Terminazione di un processo.
4) CONCORRENZA: Mutua esclusione e Sincronizzazione.
Proncipi della concorrenza:
Un semplice esempio;
Problemi di concorrenza nei sistemi operativi;
Interazione tra processi : competizione per le risorse; cooperazione tramite
condivisione; cooperazione tramite comunicazione.
Mutua esclusione: approcci software.
Algoritmo di Dekker: Insidie della programmazione concorrente. 1°, 2°, 3°, 4°
tentativo di soluzione e la soluzione corretta.
Algoritmo di Peterson.
Mutua esclusione supporto hardware:
Abilitazione e disabilitazione degli interrupt;
Istruzioni di macchina speciali: Test and set e Scambio.
Uso di Test-set e Scambio per la mutua esclusione.
Semafori:
Definizione della primitiva Signal e wait;
Primitive Signal e wait per i semafori binari;
Mutua esclusione con semafori.
Il problema del produttore consumatore
Soluzione non corretta del problema produttore-consumatore con semafori binari nel
caso di buffer infinito;.
Soluzione generale corretta del problema del produttore-consumatore nel caso di
buffer infinito;
Soluzione del problema del produttore-consumatore nel caso di buffer finito.
Implementazione dei semafori
Il problema del barbiere ingiusto.
Il problema del barbiere equo.
Monitor
Monitor di Hoare.
Risoluzione del problema Produttore/Consumatore con Monitor Hoare.
Monitor di Lampson-Redell.
Scambio di messaggi
Sincronizzazione
Indirizzamento
Formato di messaggi
Organizzazione delle code
Mutua esclusione usando i messaggi
Soluzione del problema produttore/consumatore con buffer limitato usando i
messaggi .
5) SCHEDULING
Introduzione allo scheduling
Scheduler di lungo, medio e breve termine
Schema di collocazione degli scheduler
Frequenza di scheduling
Scheduling e valutazione delle prestazioni
sfruttamento della CPU
lavoro utile
tempo di ricircolo
tempo di attesa
tempo di risposta
Algoritmi di scheduling
metodi interrompenti e non interrompenti
Scheduling con modello First Come First Served
Scheduling con modello Short Remaining Time Next
Scheduling con modello Round Robin
Scheduling con modello interrompibile basato sulla priorità (Event Driven)
Scheduling con modello a code multiple
Scheduling con modello a code multiple con retroazione
6) STALLO
Le risorse
Gli stalli
Condizioni per lo stallo
Modelli per le situazioni di stallo
L’algoritmo dello struzzo
L’identificazione e la risoluzione dello stallo
L’identificazione dello stallo con una risorsa per ogni classe
L’identificazione dello stallo con risorse multiple per ogni classe
La risoluzione dello stallo
Evitare lo stallo
Traettorie di risorsa
Stati sicuri e non sicuri
L’algoritmo del banchiere per una singola risorsa
L’algoritmo del banchiere per risorse multiple
La prevenzione delle situazioni di stallo
Negazione della condizione di mutua-esclusione
Negazione della condizione di hold-and-wait
Negazione della condizione di mancanza di prerilascio
Negazione della condizione di attesa circolare.
7) GESTIONE DELLA MEMORIA
1) Introduzione:
allocazione contigua della memoria
monoallocazione
partizionamento statico
partizionamento dinamico
segmentazione
allocazione non contigua della memoria
paginazione
memoria virtuale
Principi di base della gestione della Memoria Centrale
Parametri di confronto degli schemi di gestione
8) Monoallocazione
Principi
Meccanismi di protezione (mediante supporti hardware):
registro barriera
diritti di accesso mediante bit di protezione
sistema operativo in memoria a sola lettura
Meccanismi di condivisione
Prestazioni
9) Partizionamento Statico
Principi operativi
Tabella delle partizioni
Algoritmi di ricerca delle partizioni
Swapping, supporti per lo swapping
Frammentazione interna
Condivisione nel partizionamento statico
Meccanismi di protezione
Prestazioni
10) Partizionamento Dinamico
Principi operativi
Tabella delle partizioni
Tabella della memoria
Algoritmi di ricerca delle partizioni
Frammentazione esterna
Compattazione, Tempi e modalità della compattazione
Condivisione nel partizionamento dinamico
Meccanismi di protezione
Prestazioni
11) Segmentazione
Principi Operativi
Indirizzamento bi-dimensionale
Caricamento dei processi
Traduzione dell’indirizzo
Tabella dei descrittori dei segmenti (TDS)
Tabella e lista della memoria libera
Registri barriera
Commutazione di processo nella segmentazione
Swapping nella segmentazione
Compattazione nella segmentazione
Protezione
Condivisione
Collegamento dinamico
Prestazioni
12) Paginazione
Principi operativi
Pagine
Tabella delle pagine
Traduzione dell’indirizzo virtuale
Restituzione delle pagine
Frammentazione
Ricerca delle pagine libere
Supporti hardware per la paginazione
Registri limite
Cache di traduzione
Protezione
Condivisione
Prestazioni
13) Memoria Virtuale
Principi Operativi
Memoria Virtuale con Paginazione
Tabella delle pagine
Tabella di descrizione dei file
Interrompibilità dell’istruzione ed esempi esplicativi
Gestione della memoria virtuale:
strategia di allocazione
strategia di ricerca
strategia di sostituzione
strategia di posizionamento
Località dei programmi
Algoritmi di sostituzione delle pagine
Algoritmo FIFO
Algoritmo LRU
Algoritmo di Belady
Algoritmo NRU
Confronto operativo tra gli algoritmi
Concetti di distanza futura e distanza passata
Working-Set
Supporti hardware per la memoria virtuale
14) FILE SYSTEM
I file
Denominazione di File
Struttura dei File
Tipi di File
Accesso ai File
Attributi
Operazioni sui file
File mappati in memoria
Le Directory
Sistemi Gerarchici di Directory
I path name
Operazioni sulle Directory
Implementazione del File System
Implementazione dei File
Implementazioni delle Directory
File condivisi
Gestione dello spazio su disco
Affidabilità del file system
Prestazioni del file system
Sicurezza
L’ambiente di sicurezza
Principi di progettazione per la sicurezza
Autenticazione dell’utente
Meccanismi di protezione
I domini di protezione
Liste di controllo degli accessi
Le capability list
Modelli di protezione
Canali nascosti.
LABORATORIO
WINDOWS:
Avviare e spegnere correttamente il computer/Apertura e chiusura di una sessione di
lavoro/ Modificare l'utente connesso col PC (nuova login e password)/Reboot del
sistema: Ctrl-Alt-Canc/Impostazioni del desktop: barra delle Applicazioni, menù
Start, eventi/Desktop: icone di cartelle, di programmi, di file di dati, di file di
collegamento, il cestino/Lavorare con le finestre: aprire, ridurre, ampliare,
spostare e chiudere una finestra/Lavorare con le cartelle: creare, spostare,
copiare e organizzare cartelle e sottocartelle/Configurare mouse, tastiera e sfondo
del desktop, data e ora/Formattare un dischetto/Funzioni di Help/Lavorare con i
file: creare, spostare e copiare file; proprietà di un file/Estensione di un file/
Il menù Dati Recenti/Il menù Trova/Il Registro di Windows/Deframmentazione del
disco e scandisk/Backup/Gestione della stampa: installazione di una stampante,
stampante predefinita/Utilizzare gli strumenti a disposizione: calcolatrice, il
Blocco Note, Paint, strumento di compressione dei file ZIP/Il browser Internet
Explorer e la posta elettronica.
LINUX:
Accensione e spegnimento della macchina: reboot, shutdown -h now/Apertura e
chiusura di una sessione di lavoro: login, logout, ^D, exit/Utenti e tipi di
utenze/Gruppi di lavoro/Terminali a interfaccia grafica e a interfaccia
testo/Cambio di terminale: Control Alt Fn, Alt Fn/La shell dei comandi: sh, csh,
bash/Lavorare con la shell: clear, history, !numero, Shift page up/down/Accesso al
manuale del sistema operativo: whatis, man, man 2 mount/Informazioni sugli utenti
collegati al sistema: whoami, who, w/Files e tipi di files (visibili nascosti
normali e directory files. e ..)/Semplici operazioni sul file system: mkdir, rmdir,
cd, pwd, ln -s directory_fisica nome/Editor di testo: more, less, head, tail, cat,
vi (operazioni fondamentali)/Semplici operazioni sui files: ls, cp, mv, rm, touch/
Informazioni sul sistema: df, free, top, ps [-axu/lwf], hostname, uname [-snvrma],
date/Ridirezione di input e output: <, <<, >, >>/Pipe di comandi: ls/more, who/wc -
l, ps-aux/grep sbin/Accesso ai dispositivi: mount/mnt/floppy, umount/mnt/floppy,
mount/dev/fd0 eject/Generazione di files di backup: tar -c/xvf file.tar dir,
compress -f file.tar, uncompress file.tar/Gestione degli utenti e dei gruppi:
[adduser, groupadd passwd]/Gestione dei permessi di accesso ai files: chmod,
[chown, chgrp]/Files di configurazione e variabili d'ambiente: echo, set, setenv/
Script di shell.