- Docente: Armir Bujari
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Moduli: Eugenio Faldella (Modulo 1) Armir Bujari (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Ingegneria meccatronica (cod. 9250)
Conoscenze e abilità da conseguire
Lo studente acquisisce i principi, le metodologie e gli strumenti fondamentali per la progettazione del software in ambiti applicativi, quali quelli dell’automazione e del controllo di processi industriali, contraddistinti dall’esigenza di gestire concorrentemente una molteplicità di attività soggette a stringenti e differenziati vincoli temporali.
Contenuti
Il corso si articola in due parti. Nella prima parte, allo studente vengono presentati argomenti nel contesto dei moderni sistemi operativi; loro evoluzione, concetto di processo, gestione della memoria e sistemi di input/output. Nella seconda parte del corso lo studente impara a conoscere e ad utilizzare design patterns di generale applicabilità nel contesto della progettazione del software di automazione.
Parte #1: Introduzione ai Moderni Sistemi Operativi (30 h)
- Visione storica del Sistema Operativo e principali sotto-sistemi.
- Gestione dei Processi: definizione, strutture, concorrenza, sincronizzazione, ordinamento (con ceni all'ordinamento a tempo reale), stallo.
- Gestione della Memoria: gerarchie, rilocazione, strutture, memoria virtuale, paginazione.
- Modelli e Architetture di Sistemi Operativi: discussione sulle scelte progettuali dei sistemi UNIX/Linux e dei sistemi Windows.
Parte #2: Design patterns nel contesto del software di automazione (30 h)
- Peculiarità delle applicazioni multitasking real-time. Parametri temporali e modelli di riferimento per le diverse tipologie di task real-time.
- Principali strategie per la schedulazione di applicazioni comprendenti una molteplicità di task periodici: “Rate Monotonic Priority Ordering” e “Earliest Deadline First”. Il fondamentale requisito della predicibilità delle prestazioni: metodi per la verifica a priori della schedulabilità di un’applicazione.
- Criteri di progetto del software di automazione orientati a favorirne la portabilità in ambienti di esecuzione differenziati.L’approccio progettuale “divide et impera”. Il fondamentale principio della distinzione dei tre aspetti “what to do”, “when to do”, “how to do”.
o Decomposizione funzionale di un sistema complesso in termini di una gerarchia di entità, astratte o concrete, opportunamente cooperanti.
o Definizione del ruolo e delle funzionalità di ciascuna entità (“what to do”), nonché delle relative interfacce e dei protocolli previsti per l’interazione con le altre entità operanti nello stesso livello o nei livelli adiacenti della gerarchia.
o Modelli di riferimento per la definizione formale del comportamento delle singole entità (“how to do”).
o Modelli di riferimento per la definizione delle modalità di esecuzione dei compiti delle singole entità (“when to do”).
- Esemplificazione degli aspetti di carattere teorico e metodologico con riferimento a casi applicativi di notevole interesse nell’ambito delle macchine automatiche per il packaging.
Testi/Bibliografia
- A. S. Tanenbaum, Modern Operating Systems - 4th Edition, Prentice Hall, 2014.
- Slide e riferimenti bibliografici resi disponibili dal docente
Metodi didattici
Il corso sarà affiancato da un set di esercitazioni pratiche di laboratorio, in cui gli studenti saranno stimolati a compiere attività a svolgimento guidato in forma di lavoro personale e autonomo. Tali attività saranno necessarie per il completamento della preparazione e il raggiungimento delle abilità desiderate; testi e soluzioni delle esercitazioni saranno rese disponibili sul sito Web del corso.
Modalità di verifica e valutazione dell'apprendimento
Il corso prevede una prova scritta che valuta il livello di apprendimento raggiunto sul tema dei sistemi operativi: principali problematiche e scelte progettuali. Inoltre, e' prevista la consegna di un progetto con successiva discussione orale di durata circa 30-45 minuti. La prova progettuale verte sull'argomento di progettazione di un modulo applicativo nel contesto dell'automazione.
Strumenti a supporto della didattica
Il materiale mostrato a lezione (slide, esercizi risolti, esercizi suggeriti, esempi e proposte di progetto) sarà interamente messo a disposizione sul sito Web del corso.
Tale materiale deve essere considerato il principale materiale di studio per la preparazione dell'esame; la bibliografia suggerita è indicata come supporto e integrazione opzionale.
Orario di ricevimento
Consulta il sito web di Armir Bujari
Consulta il sito web di Eugenio Faldella
SDGs
![Istruzione di qualità](https://www.unibo.it/++resource++unibo.didattica/sdg/it/04.jpg?v=2)
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.