Corso di Programmazione dei Sistemi Avionici Ingegneria dei Sistemi Aerospaziali A. A. 2016- 2017 Programmazione dei Sistemi Avionici Prof. Ing. Michele Ruta 1 di 12 Introduzione M. Ruta Conoscenze preliminari • Principi della programmazione strutturata. • Algoritmi e strutture dati. • Principi della programmazione orientata agli oggetti. 2 di 12 Introduzione M. Ruta Obiettivi •Corso di Teoria Studio dell’architettura tipica di un Sistema Operativo interfacce dei sistemi avionici struttura del nucleo politiche di gestione delle risorse gestione dei processi per l’avionica analisi della concorrenza comunicazione e sincronizzazione blocco critico sistemi real time avionici 3 di 12 Introduzione M. Ruta Obiettivi •Corso di Esercitazioni Addestramento all’utilizzo del S.O. LINUX caratteristiche generali del sistema struttura del nucleo sistema grafico licenze confronto con Microsoft Windows comandi di SHELL con esempi concreti di utilizzo al calcolatore 4 di 12 Introduzione M. Ruta Struttura del corso • I Parte: struttura e funzionamento generale di un S.O. • II Parte: attività computazionali, nucleo e gestione delle risorse • III Parte: gestione dei processi • IV Parte: sistemi real-time • V Parte: esercitazioni in aula • VI Parte: esercitazioni in laboratorio 5 di 12 Introduzione M. Ruta Parte I/II I Parte: struttura e funzionamento generale di un S.O. per l’avionica • Storia ed evoluzione dei S.O.; • Interfacce; • Modelli del nucleo. II Parte: attività computazionali, nucleo e gestione delle risorse • Job, job-step, task; • Stati di una attività computazionale; • Nucleo e sue componenti; • Politiche di gestione delle risorse. 6 di 12 Introduzione M. Ruta Parte III/IV III Parte: gestione dei processi dei sistemi avionici • Concorrenza di processi; • Cooperazione tra processi; • Blocco critico; • Comunicazione interprocesso. IV Parte: sistemi real-time avionici • Generalità sui sistemi real-time e relativo scheduling; • Cenni all’architettura di FreeRTOS 7 di 12 Introduzione M. Ruta Parte V V Parte: esercitazioni in aula • Generalità sui S.O. UNIX-like; • Architettura generale di LINUX; • Sistema grafico X-Window; • Microsoft Windows vs LINUX; • GNU GPL, garanzia del diritto d’autore per il software liberamente distribuibile; • BASH Shell. 8 di 12 Introduzione M. Ruta Parte VI VI Parte: esercitazioni in laboratorio • Comandi di uso generale (pwd, cd, ls, cp, mv…); • Comandi di help; • Comandi per visualizzare, scrivere e manipolare file testuali; • Ridirezione dell’input, dell’output e/o dell’error standard; • Pipeline; • Gestione dei processi; • Comandi informativi; • Comandi di filtering dell’output; • Gestione degli utenti; • Link e permessi: organizzazione del file system; • Script di shell (cenni). 9 di 12 Introduzione M. Ruta Modalità d’esame • Prova scritta – – 10 di 12 Domande teoriche ed esercizi pratici sull’architettura dei S.O. e su LINUX. Gli studenti che abbiano superato la prova scritta con una votazione uguale o superiore a 18/30 possono verbalizzare l’esame. Introduzione M. Ruta Testi consigliati Testi di riferimento principali: • A. Silberschatz, P.B. Galvin, G. Gagne, Sistemi Operativi con esempi per l’uso in Java, Apogeo, giugno 2005. Ulteriori testi suggeriti: • P. Ancillotti, M. Boari, A. Ciampolini, G. Lipari, Sistemi operativi, McGraw-Hill, luglio 2004. • W. Stallings, Sistemi Operativi, Jackson libri, 2000. • D.P. Bovet, M. Cesati, Understanding the LINUX kernel - Third Edition, O’Reilly, Novembre 2005. • David I. Schwartz, Introduzione a UNIX, Apogeo Education, 2001. 11 di 12 Introduzione M. Ruta Materiale didattico • Appunti-dispense del corso, reperibili sul sito: http://sisinflab.poliba.it/ruta/ • Contatto: – e-mail: • [email protected] • Orario di ricevimento: – Martedì ore 16.30-17.30 presso SisInfLab 12 di 12 Introduzione M. Ruta