Strumenti di monitoraggio delle prestazioni in ambiente real-time: confronto tra le piattaforme VxWorks e QNX

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Strumenti di monitoraggio delle prestazioni in ambiente real-time: confronto tra le piattaforme VxWorks e QNX"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Sistemi Real-Time Strumenti di monitoraggio delle prestazioni in ambiente real-time: confronto tra le piattaforme VxWorks e QNX Anno Accademico 2013/2014 Candidato: Gaetano Rucco matr. N

2 A tutti quelli che mi hanno sempre sostenuto e che mi fanno sentire vivo ed importante.

3 Indice Indice... III Introduzione... 4 Capitolo 1: VxWorks Caratteristiche generali Gestione delle interruzioni Componenti della piattaforma VxWorks Virtualization Profile Strumenti di monitoraggio delle prestazioni Trace Recorder e Tracealyzer WindView Spy Data Monitor Capitolo 2: QNX Neutrino Caratteristiche generali QNX Momentics Monitoring tools QNX System Profiler SAT (System Analysis Toolkit) Capitolo 3: Tool suite a confronto Conclusioni Ringraziamenti Bibliografia... 36

4 Introduzione Il monitoraggio del comportamento di un sistema real-time è fondamentale per via dei requisiti temporali che lo stesso deve soddisfare, i quali possono riferirsi ad aspetti più o meno critici (infatti le attività real-time sono suddivise in soft, firm e hard real-time). D altronde i sistemi real-time sono quei sistemi di calcolo nei quali si ha un doppio concetto di correttezza di funzionamento: logica ( it does the right thing ) e temporale ( it does it on time ). Pertanto la bontà del sistema non dipende solo dalla validità dei risultati ottenuti, ma anche dal tempo in cui questi sono conseguiti: i task real-time devono infatti rispettare le proprie deadline, in maniera più o meno stringente a seconda della loro classe di criticità. L altro concetto fondamentale riguarda la parola reale, la quale indica che la risposta del sistema agli eventi esterni deve avvenire durante l evolversi degli eventi stessi. E chiaro quindi che il concetto di tempo reale non è una proprietà intrinseca di un sistema di controllo né tantomeno un concetto associato alla velocità di reazione del sistema, bensì una caratteristica strettamente legata all ambiente in cui esso opera, giacchè il tempo interno di sistema e quello dell ambiente devono essere misurati con lo stesso riferimento temporale. Infatti è d obbligo ricordare che, mentre l obiettivo generale di un elaborazione veloce è quello di minimizzare il tempo di risposta medio di un insieme di processi, il target di una elaborazione real-time è quello di soddisfare i requisiti temporali individuali di ciascun task real-time [2]. Lo scopo principale del monitoring di un sistema è quello di fornire statistiche ed aiutare lo sviluppatore nell apportare miglioramenti al sistema: in tal senso il 4

5 monitoraggio di un sistema si diversifica dal debugging, il quale mira invece a scoprire potenziali bug nel sistema che possono portare quest ultimo al failure (malfunzionamento, ossia l incapacità del software di comportarsi secondo le aspettative o le specifiche) a run-time. Esistono diversi tool commerciali per il monitoraggio delle prestazioni di un sistema real-time e per il logging delle informazioni ottenute; tuttavia non sempre è possibile adattare tali strumenti a tutti i sistemi ed alcuni di essi possono essere usati solo in fase di sviluppo del sistema. Al fine di offrire garanzie più robuste circa il funzionamento di un sistema real-time, possono essere previsti dei meccanismi del kernel atti a gestire esplicitamente la variabile tempo : infatti la maggior parte dei sistemi real-time si avvale di sistemi operativi real-time (RTOS, Real-Time Operating System), i quali introducono algoritmi di scheduling dei task, meccanismi di mutua esclusione e sincronizzazione tra task, comunicazione con scambio di messaggi, gestione delle interrupt e della memoria, virtualizzazione delle risorse hardware e cosi via. In tal modo è possibile realizzare software di controllo con linguaggi di programmazione di alto livello (cosi da avere una maggiore flessibilità e da semplificare lo sviluppo dei programmi) e con maggiore robustezza rispetto al soddisfacimento dei vincoli temporali. La maggior parte degli RTOS fornisce anche un supporto per la programmazione concorrente attraverso processi e thread. Lo scheduler è tipicamente di tipo preemptive (perché consente di avere latenze più basse ed una maggiore efficienza nell utilizzo di risorse) e basato su priorità fisse. Tuttavia la qualità principale che deve avere un RTOS è la prevedibilità, ossia la capacità di determinare in anticipo se uno o più task riusciranno a completare la loro esecuzione entro le proprie deadline; pertanto l obiettivo degli sviluppatori di RTOS è quello di favorire tale proprietà fondamentale ed in generale di eliminare le fonti di non determinismo dovute appunto alle politiche di gestione realizzate dai SO general-purpose e ad altri fattori ad essi correlati (scheduling, system calls, concorrenza e semafori, gestione delle periferiche, e cosi via), nonché a meccanismi interni al processore (ad esempio interrupt, DMA, MMU e cache). 5

6 Attualmente esistono circa un centinaio di RTOS commerciali e la loro scelta dipende anche dai tool software che gli fanno da corredo e che favoriscono lo sviluppo di applicazioni real-time, quali performance profiler, schedulability analyzer, memory analyzer, tracer, strumenti di monitoraggio real-time (per visualizzare lo stato delle variabili durante l esecuzione di un programma) e code analyzer (per determinare i worst-case execution time (WCET) dei task su architetture specifiche). Chiaramente nella scelta di un RTOS bisogna valutare i vari trade-off (costi, efficienza, tempi di risposta, ecc.) e inoltre è bene ricordare che l utilizzo di un RTOS non è la soluzione a tutti i problemi relativi allo sviluppo di sistemi real-time: nel progetto di sistemi critici bisogna fare sempre delle assunzioni pessimistiche sull ambiente nel quale questi operano (worst case analysis), in modo da tenere in conto tutte le situazioni più gravose. Questo elaborato va ad analizzare gli strumenti di monitoraggio più importanti nel panorama real-time relativamente alle due piattaforme sotto analisi: VxWorks e QNX Neutrino, che sono due tra i RTOS commerciali più utilizzati per lo sviluppo di applicazioni real-time. In particolare, il primo è un RTOS Unix-like proprietario progettato essenzialmente per sistemi embedded che richiedono performance deterministiche e real-time, anche se nel corso degli anni sono stati sviluppati diversi profili al fine di specializzare il prodotto su un vasto range di aree di mercato: automotive, automazione industriale e robotica, area medica e networking, elettronica di consumo, aerospaziale. Anche QNX è un RTOS proprietario Unix-like, conforme allo standard POSIX ed alla sua estensione real-time (RT-POSIX). Esso è usato essenzialmente per progetti ed applicazioni mission critical quali controllori industriali, apparecchiature mediche, router internet, sistemi di controllo del traffico aereo e sistemi di difesa. Nel seguito dell elaborato saranno esposte le caratteristiche principali di questi due importanti RTOS, e infine sarà sostenuto un confronto tra le tool suite prese in considerazione per le due piattaforme, nonché un piccolo parallelo tra queste ultime considerando alcuni parametri e studi sperimentali. 6

7 Capitolo 1: VxWorks Installato su oltre 1,5 miliardi di dispositivi, VxWorks è il principale RTOS al mondo. E stato scelto come RTOS da aziende ed agenzie leader nei relativi settori, quali Alcatel, Boeing, Huawei, Mitsubishi e NASA. VxWorks è un RTOS sviluppato come software proprietario dalla Wind River Systems di Alameda (California) ed è commercializzato come il componente run-time della piattaforma di sviluppo Tornado, la quale però è stata sostituita dall IDE Eclipse-based Wind River Workbench a partire da VxWorks 6.x. Esso supporta numerose architetture hardware quali ARM, Intel, MIPS, Hitachi H8, PowerPC e altre. Le piattaforme VxWorks forniscono il supporto a sistemi uniprocessore (UP) e multiprocessore, comprese le architetture multiprocessore SMP (Symmetric MultiProcessing) e AMP (Asymmetric MultiProcessing); inoltre il RTOS può essere installato anche in modalità multi-boot. Il prodotto è fornito con un kernel multitasking, tecnologie middleware, BSPs (Board Support Packages, cioè l implementazione di uno specifico codice di supporto per una determinata scheda che sia conforme al SO, tipicamente costituito da un bootloader minimale per caricare il kernel del SO ed i device driver per tutte le periferiche della scheda in questione), la suite di sviluppo Wind River Workbench, software di terze parti e tecnologie hardware. Nell ultima versione (VxWorks 7) è stato fatto un lavoro di re-engineering (cioè il processo attraverso il quale un sistema esistente subisce delle modifiche al fine di essere ricostruito in una nuova forma) del RTOS per migliorare la modularità e l evolvibilità, cosi che il kernel possa essere separato da middleware, applicazioni 7

8 ed altri package: in questo modo è possibile aggiungere o effettuare l upgrade di diversi package senza dover modificare il kernel, consentendo quindi ai clienti di correggere eventuali bug e di aggiornare prodotti senza dover revisionare o testare nuovamente l intero sistema [4]. Inoltre sono state migliorate scalabilità, safety, security, grafica e connettività per adattare il RTOS all Internet of Things (IoT) [7], vale a dire la possibile evoluzione dell uso della rete che ha come fine quello di collegare qualsiasi oggetto fisico a questa, fornendo ad esso un identità elettronica ed una certa intelligenza (si pensi ad esempio ad una sveglia che suona prima dell orario impostato se viene rilevato traffico o ad una pianta che comunica all innaffiatoio quando è il momento di essere annaffiata). Infine è utile ricordare che VxWorks presenta anche un simulatore integrato chiamato VxSim, il quale è appunto in grado di simulare un sistema target: tale utility può essere utilizzata ad esempio nello sviluppo del prototipo di un sistema e per il testing del sistema target. Nel corso del capitolo verranno esposte le caratteristiche della piattaforma VxWorks ed i tool software per le varie analisi in ambiente real-time. 1.1 Caratteristiche generali VxWorks offre il supporto al multitasking; il suo kernel utilizza di default uno scheduler preemptive a priorità fisse (in totale abbiamo 256 livelli di priorità), anche se è possibile adottare una politica di tipo Round-Robin (RR); inoltre un task può modificare la sua priorità a run-time a seconda di alcuni parametri. Per quanto riguarda l IPC (Inter-Process Comunication) il kernel offre numerosi meccanismi, fra i quali: shared memory, semafori per la mutua esclusione e per la sincronizzazione, code di messaggi, socket e RPC (Remote Procedure Call). Al fine di evitare il problema della priority inversion (un task ad alta priorità viene bloccato per un tempo indefinito da un task a bassa priorità) nel caso di accesso a risorse condivise con il classico meccanismo semaforico è possibile anche abilitare sui 8

9 semafori di mutua esclusione il protocollo di Priority Inheritance, che però non previene problematiche rilevanti come il deadlock e le catene di bloccaggi. Per quanto concerne i meccanismi di protezione, VxWorks si basa sugli stati gerarchici di privilegio, consentendo la doppia modalità di esecuzione (kernel mode e user mode). Storicamente VxWorks ha sempre fornito solo la modalità kernel; poi, dalla versione 6, è stato introdotto il modello RTP (Real-Time Processes), il quale definisce appunto la demarcazione tra task in user-mode (RTP) e task in kernel-mode. Ad ogni modo gli RTP possono comunque beneficiare indirettamente delle routine del kernel, il quale è protetto da applicazioni che eseguono in user-mode e consente una allocazione affidabile delle risorse ai task. Figura 1.1 : Diagramma a blocchi dell architettura RTP Come si vede infatti dalla figura 1.1, gli RTP eseguono in user-mode e possono condividere opzionalmente delle shared libraries, le quali migliorano l efficienza e la riusabilità del codice, cosi come la velocità di sviluppo del codice ed il debugging. Inoltre VxWorks 6.x consente ai produttori di aumentare l affidabilità dei loro device attraverso la protezione di memoria basata su MMU (Memory Management Unit), supporto hardware che consente la rilocazione dinamica, ossia ritarda l associazione degli indirizzi logici agli indirizzi fisici alla fase di esecuzione cosi che un processo (o meglio la sua immagine) possa essere spostato da un 9

10 segmento di memoria all altro a run-time: la CPU, quindi, vede solo indirizzi virtuali ed i processi possono accedere solo ai propri spazi di indirizzamento. Nel 2004 Wind River ha annunciato la conformità allo standard POSIX ed a RT-POSIX PSE54 [9]. Giacchè VxWorks è stato progettato essenzialmente per sistemi embedded, è normale l utilizzo della cross-compilazione, la quale viene largamente usata per la compilazione di applicazioni per tali sistemi che, avendo generalmente risorse molto limitate, non ne prevedono una normale. Lo sviluppo è quindi fatto su una macchina host che esegue il cross-compiler per compilare il codice sorgente, generando alla fine un file binario eseguibile su una macchina target con architettura diversa dalla macchina host. Tra gli host supportati da VxWorks abbiamo: Windows 8/7/Vista/XP, Ubuntu Desktop 9.04/8.04 e Solaris Gestione delle interruzioni Per quanto riguarda le interrupt, queste vengono gestite da ISR (Interrupt Service Routine) che hanno un livello di priorità maggiore di quello dei task del sistema ed eseguono in un contesto diverso rispetto a quello di tutti i task. Essendo prevista la preemption, anche le ISR possono essere interrotte a scapito di ISR relative ad interrupt a priorità maggiore. Per implementare i meccanismi semaforici di mutua esclusione, il supporto hardware è dato dalla disabilitazione delle interrupt: in VxWorks è possibile disabilitare ed abilitare le interrupt rispettivamente con le API proprietarie intlock() e intunlock(), eseguibili chiaramente solo in kernel-mode. 1.3 Componenti della piattaforma Come già detto nell introduzione, le piattaforme VxWorks sono ottimizzate per diversi settori applicativi. La piattaforma VxWorks general-purpose è composta da componenti run-time e strumenti di sviluppo. I primi consistono in: un Sistema Operativo, software per il supporto delle applicazioni (file system, stack di rete e IPC) e supporto hardware (device drivers e BSP). Per quanto riguarda invece gli 10

11 strumenti di sviluppo abbiamo gli elementi di base per ogni RTOS, vale a dire i compilatori (come GNU o Intel C++ Compiler), i debugger e gli editor. Abbiamo infine diversi tool di produttività a corredo del RTOS, la maggior parte dei quali sono integrati nella suite di sviluppo Wind River Workbench (in sostituzione alla piattaforma di sviluppo Tornado prevista nelle versioni precedenti a VxWorks 6). 1.4 VxWorks 7 L ultima versione di VxWorks consiste in una piattaforma modulare, configurabile ed espandibile per dispositivi connessi, nata con lo scopo di aiutare le grandi aziende a capitalizzare le opportunità offerte dall Internet of Things (IoT). Il RTOS è stato riprogettato, o meglio re-ingegnerizzato, cosi da separare il kernel dai vari package che compongono il sistema: come visto prima, ciò consente di evitare revisioni inutili dell intero sistema, andando cosi ad aumentare la scalabilità e la capacità di adattamento rapido ai mutamenti del mercato. Oltre alla modularità ed alla scalabilità, un altro importante miglioramento introdotto è quello relativo alla security: la connettività pervasiva dovuta all IoT espone chiaramente i dispositivi a più rischi in termini di sicurezza. VxWorks 7 offre un insieme personalizzabile di caratteristiche di sicurezza built-in per proteggere i dispositivi nelle fasi di sviluppo, accensione, trasmissione/ricezione dati e spegnimento. Altro aspetto soggetto al miglioramento è la safety (che, a differenza della security, è intesa piuttosto come incolumità per persone e cose), per la quale è stato ideato un modulo di partizionamento della safety che permette il partizionamento di tempo, spazio e risorse richiesto per la certificazione ARINC 653 (che è uno standard di interfacce software per applicazioni di avionica) ed altre certificazioni IEC. Altro punto cardine è la connettività, che è appunto un requisito fondamentale per l IoT: VxWorks 7 offre il supporto per una vasta gamma di standard e protocolli leader nei propri settori (come Bluetooth, USB e CAN), oltre che a funzionalità di rete ad alte prestazioni. Inoltre è stata arricchita la tool suite Wind River Workbench con 11

12 un sistema di analisi stato dell arte che consente l accesso immediato al codice, permettendo agli sviluppatori di ottimizzarlo e contemporaneamente rilevare bug e memory leak. Infine, l aspetto più interessante introdotto da VxWorks 7 è il Virtualization Profile, il quale permette ai clienti di consolidare più piattaforme hardware stand-alone su una singola piattaforma multi-core. Segue un focus su questo aspetto, partendo da una panoramica sul concetto di virtualizzazione ed approfondendo poi la descrizione del relativo profilo in VxWorks Virtualization Profile La potenza di calcolo e la complessità degli attuali sistemi informatici implica la ricerca di nuovi metodi per ottimizzarne la gestione e l utilizzo. Questo vale soprattutto per le macchine server che, per motivi di sicurezza e praticità, vengono sottoutilizzate: di norma, infatti, viene installata una sola applicazione per sistema operativo, vale a dire una sola applicazione per calcolatore! E evidente dunque l ingente spreco di spazio e di denaro, vista la necessaria presenza di un certo numero di calcolatori quando si vuole realizzare un determinato sistema informatico; bisogna considerare inoltre i costi dovuti alla gestione e soprattutto alla manutenzione di questi calcolatori. Per questo motivo la maggior parte delle aziende (in primis) ha deciso di virare sulla virtualizzazione, la quale permette ad un server fisico ospitante (in gergo, macchina host) di gestire più SO, o meglio più macchine virtuali (macchine guest), vale a dire l insieme delle componenti hardware virtuali (CPU, RAM, Hard Disk, scheda di rete) che vengono astratte durante il processo di virtualization e sulle quali può essere installato il sistema operativo guest e le relative applicazioni. In questo modo le componenti hardware dei calcolatori vengono rese disponibili sotto forma di risorsa virtuale all host. Uno dei vantaggi chiari della virtualizzazione è l ottimizzazione delle risorse hardware della macchina host grazie ai meccanismi di distribuzione delle risorse disponibili di una piattaforma fisica: difatti le macchine virtuali che girano su una macchina host condividono le risorse fisiche di quest ultima e le eventuali contese 12

13 di risorse vengono gestite dai software di virtualizzazione (come ad esempio VMware, VirtualBox, vsphere) che si occupano della gestione dell ambiente. Il componente centrale di un sistema basato su macchine virtuali è l hypervisor (o VMM, Virtual Machine Monitor), il quale si occupa di creare ed eseguire le macchine virtuali, ed in generale di eseguire attività di controllo e di allocazione di risorse sul sistema host. In particolare possiamo avere un hypervisor di tipo 1 (anche detto nativo o bare-metal (da zero) in quanto viene eseguito direttamente sull hardware della macchina host), il quale ha il compito di controllare la piattaforma hardware sul quale esso è eseguito e di gestire i sistemi operativi guest che vengono eseguiti ad un livello superiore rispetto a quello dell hypervisor stesso, ed un hypervisor di tipo 2: entrambi sono esemplificati in figura 1.2: Figura 1.2 : Tipi di hypervisor Il Virtualization Profile di VxWorks estende la scalabilità della piattaforma VxWorks integrando un hypervisor real-time di tipo 1 nel kernel del RTOS. Tale componente rende possibile la virtualizzazione, la quale permette ai clienti di combinare più workloads su un unico processore multi-core, come è mostrato nella figura 1.3 suggerita dagli sviluppatori del Virtualization Profile: 13

14 Figura 1.3 : Consolidamento di funzionalità e sistemi operativi eterogenei grazie al Virtualization Profile. Secondo gli sviluppatori di tale RTOS questa soluzione è ottimale e rispetta il principio ingegneristico dell anticipazione del cambiamento : un architettura in grado di adattarsi ed evolversi per soddisfare le mutevoli esigenze del mercato e dei clienti, e per affrontare al meglio le innovazioni tecnologiche. Inoltre rappresenta una struttura all avanguardia per l IoT, per il quale sono richieste essenzialmente tre proprietà: connettività, scalabilità e sicurezza [10]. Tale profilo sviluppato dalla Wind River è parte dell investimento fatto nelle tecnologie multi-core (intrapreso dagli anni 2000 con la versione 6 di VxWorks) per la safety e la security in tutti i mercati, dai controlli automatici alle apparecchiature mediche ai sistemi di controllo avionici. Tra le key features di questo profilo abbiamo un throttling framework ( framework di strozzamento ) contenuto nell hypervisor che permette di rallentare i sistemi operativi general-purpose guest che stanno consumando troppe risorse a livello di sistema (come ad esempio il bus di memoria e la PCI), in maniera tale da preservare le attività real-time esegsuite dal RTOS di base: ciò è particolarmente utile per sistemi o processi hard real-time. Inoltre l hypervisor garantisce un elevato throughput ed una bassa latenza per quanto riguarda l IPC. 14

15 1.5 Strumenti di monitoraggio delle prestazioni VxWorks è ricco di tool che consentono di fare system monitoring. In particolare l IDE Wind River Workbench 3.3 prevede sei tool per l analisi a run-time di un sistema real-time, i quali offrono una visualizzazione dinamica e molto dettagliata dei componenti del sistema. Nel seguito della trattazione andremo ad analizzare gli strumenti di monitoraggio più interessanti per la piattaforma VxWorks Trace Recorder e Tracealyzer Questi tool nascono col fine di registrare dati rilevanti da un sistema real-time in azione. Sono presentati dal progetto di ricerca Remodel [11] e possono essere adattati manualmente su ogni sistema che utilizza la piattaforma VxWorks. Il Trace Recorder memorizza il comportamento dei task nel sistema, andando a registrare quale task è in esecuzione e quando lo fa. Tracealyzer è un tool offline che va invece a caricare le informazioni nel log creato dal Trace Recorder, le analizza e le mostra in un ambiente grafico all utente. Il primo tool è in grado di monitorare le interrupt ed i context-switch dei task, ma anche delle sonde e/o dei task virtuali definiti dall utente a seconda delle necessità. Le sonde vengono definite dall utente al fine di memorizzare delle informazioni desiderate in un log che può essere analizzato offline. I task virtuali invece sono utilizzati per misurare il tempo di esecuzione di un determinato blocco di codice al fine di valutare il WCET per eventuali task da creare e lanciare o per task e/o funzioni già esistenti. Quando un file di log viene creato a partire dal tracing di determinate informazioni, questo può essere analizzato dal Tracealyzer: un esempio di utilizzo è mostrato in figura 1.4, situata nella pagina successiva. E possibile zoomare nella traccia (il file di log ha appunto estensione.trc), osservare l utilizzo della CPU da parte dei task, i loro execution time e response time, il loro livello di priorità, mostrare la comunicazione tra processi (IPC events), ricercare specifici task o eventi (ad esempio l acquisizione/rilascio di semafori o l invio/ricezione di messaggi) e generare rapporti statistici su un insieme di task 15

16 (contenenti ad esempio il fattore di utilizzazione della CPU U i, il WCET C i, la lateness L i e lo start time r i ) in formato HTML. Infine è molto importante sottolineare che il codice sorgente del Trace Recorder e del Tracealyzer è disponibile ed è modificabile: tale aspetto è non banale e non usuale per i tool. Figura 1.4: Execution view di un task in Tracealyzer WindView WindView è un tool grafico sviluppato dalla Wind River ed integrato nella piattaforma di sviluppo Tornado, utilizzata da VxWorks 5.x. Questo tiene traccia di diversi eventi: l esecuzione dei task, i context-switch, l acquisizione/rilascio di semafori, l utilizzo della memoria, le interrupt e cosi via. Il programma prevede una finestra grafica ed è molto user-friendly : l utente deve premere il pulsante GO per far partire la registrazione delle informazioni del sistema real-time target 16

17 (l utente può anche scegliere cosa loggare), e fermare l analisi premendo il pulsante STOP. Inoltre è anche possibile loggare gli eventi definiti dall utente utilizzando la funzione wvevent della libreria C di VxWorks wvlib, la quale consente di memorizzare le informazioni desiderate in un buffer. In figura 1.5 la semantica del grafico è questa: il task tnettask è nello stato pronto nell intervallo compreso tra i numeri 1 e 2; nell intervallo compreso tra 3 e 4 il task viene prelazionato e viene eseguita la ISR relativa alla interrupt interrupt35 ; la bandierina rossa nel punto 5 indica che è stato rilasciato un semaforo. Figura 1.5 : Esempio di file di log ottenuto con WindView Si tratta dunque di uno strumento molto potente che consente di effettuare un analisi accurata dell ambiente VxWorks con un interfaccia utente molto semplice da utilizzare. Il trade-off è che quando si effettua il logging di dati del sistema target viene creato un nuovo task che va quindi ad incrementare l overhead sul sistema di una quantità sconosciuta (dipendente dalla dimensione del file di log 17

18 e dagli eventi da registrare selezionati dall utente), anche per via del context-switch. Infine un altro svantaggio è che l analisi dei file di log può essere fatta solo nell ambiente Tornado, il quale ha una licenza molto costosa e che è stato sostituito dall IDE Wind River Workbench dalla versione 6 di VxWorks Spy Anche Spy è un tool di monitoraggio molto semplice ed intuitivo da usare; esso stila dei rapporti ciclici sull utilizzazione della CPU da parte dei task di un sistema real-time. Figura 1.6: Il rapporto grafico di Spy lanciato dalla piattaforma Tornado Questo tool esiste sia sulla piattaforma Tornado (si lancia facilmente dalla toolbar) sia come funzione della libreria C di VxWorks spylib : in questo ultimo caso, per lanciare il tool deve essere chiamata la funzione spy() o da un applicazione o dalla shell. Spy mostra periodicamente la quantità di tempo di CPU usata da ogni task, la quantità di tempo spesa in interrupt level (cioè il contesto in cui vengono eseguite le ISR), il tempo speso in kernel-mode ed il tempo in cui il task è nello stato idle. Il vantaggio di Spy è che si tratta di un tool che mostra in maniera molto semplice l utilizzazione della CPU corrente. Gli svantaggi sono dovuti all overhead 18

19 apportato dalla funzione che mostra il rapporto periodicamente e dal fatto che i risultati non sono esatti al 100 % in quanto Spy effettua un campionamento delle informazioni dal sistema e non una vera e propria osservazione di queste Data Monitor Questo ultimo tool grafico in ambiente real-time fa parte dell IDE Wind River Workbench 3.3 ed è utilizzato per monitorare variabili, strutture dati e locazioni di memoria nel sistema real-time di interesse. E possibile fare un analisi live, mentre il nostro programma è in esecuzione, andando a monitorare set specifici di variabili ed i loro valori assunti nel corso dell esecuzione, osservare valori di picco, controllare eventuali errori del tipo out-of-range (grazie al focus sulle locazioni di memoria accedute), modificare il valore delle variabili mentre il programma esegue e salvare tutte le informazioni di interesse su un file. Il vantaggio più grande di questo tool è che fornisce un analisi in tempo reale, senza stoppare o comunque rallentare l applicazione real-time in esecuzione che stiamo monitorando. In figura 1.7 è mostrato un esempio di monitoraggio effettuato con Data Monitor.. Figura 1.7: Esempio di monitoraggio con Data Monitor 19

20 Capitolo 2: QNX Neutrino QNX fu sviluppato nei primi anni 80 dalla compagnia canadese Quantum Software Systems, ma nel 2010 la società è stata acquisita dalla BlackBerry. Il prodotto è indirizzato principalmente al mercato dei sistemi embedded, anche se ha trovato ampia diffusione in altre aree di mercato, come il campo automobilistico e quello dei cellulari. Molte importanti aziende come Cisco, Delphi, Siemens e General Electric fanno ampio affidamento sulla piattaforma software costituita dal RTOS QNX e dai tool di corredo. Negli anni recenti ha avuto un particolare successo commerciale: nell aprile 2011 infatti è stato lanciato sul mercato il BlackBerry PlayBook, un tablet basato appunto sul sistema operativo QNX; qualche mese fa, nel marzo 2014, è invece la Apple a rilasciare il sistema CarPlay per l informatica mobile su auto, basato anch esso sul RTOS QNX Neutrino. In realtà QNX e QNX Neutrino non sono proprio dei nomi interscambiabili: quest ultimo nome è relativo alla versione sviluppata nel 2001, quando il RTOS viene esteso per il supporto nativo a sistemi SMP e quando viene ufficializzata la conformità allo standard POSIX ed alla sua estensione real-time RT-POSIX. Quasi contemporaneamente la QNX System divenne membro del consorzio Eclipse e rilasciò QNX Momentics, un IDE Eclipse-based con plug-in dedicati allo sviluppo di QNX Neutrino. Sebbene in precedenza QNX forniva una licenza d uso utilizzabile per scopi non commerciali, oggi questa non è più prevista ed è possibile scaricare l intero sistema solo in versione di prova per 30 giorni; inoltre, nonostante la licenza proprietaria, nel 2007 è stato rilasciato il codice sorgente di QNX sotto una licenza open-source ibrida, nel senso che il codice è stato fornito solo parzialmente. Attualmente QNX 20

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Soft Control facile con RTX e Windows Embedded Standard 7 RTX 2009: funzionalità ed uso pratico Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Definizione di Sistema Tempo Reale: Definizione

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Sistemi e schedulazione in tempo reale

Sistemi e schedulazione in tempo reale Sistemi e schedulazione in tempo reale 1 Sistemi in tempo reale Sistemi di calcolo in cui la correttezza del funzionamento dipende criticamente dal tempo in cui i risultati sono prodotti. Possibili campi

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Introduzione alle architetture per il controllo dei manipolatori

Introduzione alle architetture per il controllo dei manipolatori Introduzione alle architetture per il controllo dei manipolatori Nicola SMALDONE Controllo digitale Perché un sistema di elaborazione dati? Le uscite dell impianto vengono campionate mediante un convertitore

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Lezione R14. Sistemi embedded e real-time

Lezione R14. Sistemi embedded e real-time Lezione R14 Sistemi embedded e 22 gennaio 2013 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R14.1 Di cosa parliamo in questa lezione? In

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

Implementazione di sistemi real time

Implementazione di sistemi real time Implementazione di sistemi real time Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO HARDWARE ABSTRACTION LAYER IMPLEMENTAZIONE EVENT-DRIVEN IMPLEMENTAZIONE TIME-DRIVEN SISTEMI DI

Dettagli

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE Logic Lab soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE un progetto italiano www.axelsw.it Logic Lab La garanzia e l economia degli standard più diffusi sul mercato LogicLab è un ambiente di sviluppo

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

Dettagli

Sistemi di Controllo Real Time

Sistemi di Controllo Real Time Sistemi di Controllo Real Time Automazione 13/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO SISTEMI REAL TIME CLASSIFICAZIONE DEI SISTEMI REAL TIME PARALLELISMO E PROGRAMMAZIONE CONCORRENTE SISTEMI

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente

Dettagli

Prefazione. Contenuti

Prefazione. Contenuti Prefazione Il sistema operativo costituisce uno dei componenti fondamentali di ogni sistema di elaborazione, in particolare è quello con cui l utente entra direttamente in contatto quando accede al sistema,

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS Il modello SaaS Architettura 3D Cloud Il protocollo DCV Benefici Il portale Web EnginFrame EnginFrame

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Virtualizzazione e Macchine Virtuali

Virtualizzazione e Macchine Virtuali Virtualizzazione e Macchine Virtuali Gabriele D Angelo, Ludovico Gardenghi {gda, garden}@cs.unibo.it http://www.cs.unibo.it/~gdangelo/ http://www.cs.unibo.it/~gardengl/ Università di Bologna Corso di Laurea

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Capitolo 1: Introduzione

Capitolo 1: Introduzione Capitolo 1: ntroduzione Che cos è un sistema operativo? Sistemi mainframe. Sistemi desktop. Sistemi multiprocessore. Sistemi distribuiti. Sistemi cluster. Sistemi in tempo reale. Sistemi palmari. Migrazione

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi basati su kernel Sistemi con microkernel Sistemi con

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Virtualizzazione VirtualBox 4.1.2 su Host Windows

Virtualizzazione VirtualBox 4.1.2 su Host Windows Virtualizzazione VirtualBox 4.1.2 su Host Windows La virtualizzazione, quando riferita all informatica, consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente.

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013

Dettagli

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza Dipartimento di Informtica e stica Università di Roma La Sapienza Cosa è un sistema operativo Esempi di Insieme di componenti SW che gestiscono le operazioni di basso livello dell elaboratore Compiti di

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

Dettagli

Low Power Scheduling per Sistemi Real Time

Low Power Scheduling per Sistemi Real Time Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni

Dettagli

Applied Research & Technology Dept.

Applied Research & Technology Dept. 17/12/08 Elenco Tesi Disponibili Applied Research & Technology Dept. La Società MBDA La MBDA Italia è un azienda leader nella realizzazione di sistemi di difesa che con i suoi prodotti è in grado di soddisfare

Dettagli

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi Lezione 10 Cenni ai sistemi operativi distribuiti 2. Gestione della CPU e della memoria nei multiprocessori Gestione dei processi Scheduling Bilanciamento del carico Migrazione dei processi Gestione della

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI Buona lezione a tutti!! SISTEMI OPERATIVI Gli appunti sono disponibili per tutti gratis sul sito personale del Prof M. Simone al link: www.ascuoladi.135.it nella pagina web programmazione, sezione classi

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Protezione del Kernel Tramite Macchine Virtuali

Protezione del Kernel Tramite Macchine Virtuali Protezione del Kernel Tramite Macchine Virtuali Fabio Campisi Daniele Sgandurra Università di Pisa 27 Novembre 2007 1/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa Sommario della

Dettagli

Open Core Engineering Libertà ed efficienza nelle vostre mani

Open Core Engineering Libertà ed efficienza nelle vostre mani Open Core Engineering Libertà ed efficienza nelle vostre mani Nuove opportunità per affrontare le attuali sfide nella progettazione di software Cicli di vita dei prodotti sempre più brevi stanno alimentando

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Roma, Febbraio 2011 Operating Systems & Middleware Operations Potenza Elaborativa e Sistemi Operativi La virtualizzazione Operating Systems & Middleware

Dettagli

Capitolo 2 -- Silberschatz

Capitolo 2 -- Silberschatz Struttura dei Sistemi Operativi Capitolo 2 -- Silberschatz Struttura di un sistema operativo Servizi di un sistema operativo Interfaccia Utente Chiamate di sistema Tipi di chiamate Programma di sistema

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows La genealogia di Windows Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 La genealogia di Windows DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Real-Time Systems GmbH (RTS) Partition where you can Virtualize where you have to. Real Time Hypervisor

Real-Time Systems GmbH (RTS) Partition where you can Virtualize where you have to. Real Time Hypervisor Real-Time Systems GmbH (RTS) Partition where you can Virtualize where you have to Real Time Hypervisor Esperti di Real-Time e Sistemi Embedded Real-Time Systems GmbH Gartenstrasse 33 D-88212 Ravensburg

Dettagli

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

Dettagli

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010. Dipartimento di Matematica e Informatica Catania

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010. Dipartimento di Matematica e Informatica Catania Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010 Dipartimento di Matematica e Informatica Catania Introduzione Prof. Mario Di Raimondo Sistemi Operativi 9 CFU (72 ore)

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

PATENTE EUROPEA DEL COMPUTER 4.0 MODULO

PATENTE EUROPEA DEL COMPUTER 4.0 MODULO PATENTE EUROPEA DEL COMPUTER 4.0 MODULO 2 Uso del Computer e Gestione dei file ( Windows XP ) A cura di Mimmo Corrado MODULO 2 - USO DEL COMPUTER E GESTIONE DEI FILE 2 FINALITÁ Il Modulo 2, Uso del computer

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Sistemi Operativi: Sistemi realtime

Sistemi Operativi: Sistemi realtime 1 Sistemi Operativi: Sistemi realtime Amos Brocco, Ricercatore, DTI / ISIN 30 luglio 2012 Basato su: [STA09] Operating Systems: Internals and Design Principles, 6/E, William Stallings, Prentice Hall, 2009

Dettagli

Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica

Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione

Dettagli

MDaemon e Outlook Connector for MDaemon

MDaemon e Outlook Connector for MDaemon MDaemon e Outlook Connector for MDaemon Introduzione...2 Cos'è il groupware...2 Che cosa significa groupware?...2 Cos è WorldClient...2 MDaemon e l evoluzione delle funzionalità groupware...3 Nuove funzionalità

Dettagli

Hardware Efficient Un singolo server può generare metadata per centinaia di telecamere simultaneamente

Hardware Efficient Un singolo server può generare metadata per centinaia di telecamere simultaneamente Vi-Search consente di raccogliere i veri benefits della tua rete di videosorveglianza permettendoti il recupero automatico e l analisi delle preziose informazioni contenute nelle registrazioni. Vi-Search

Dettagli

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing Palm OS Symbian OS

Dettagli

Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux

Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Elettronica Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Sistemi operativi e reti A.A. 2013-14. Lezione 2

Sistemi operativi e reti A.A. 2013-14. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I

Dettagli

USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000

USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000 VERITAS StorageCentral 1 USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000 1. Panoramica di StorageCentral...3 2. StorageCentral riduce il costo totale di proprietà per lo storage di Windows...3 3. Panoramica

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il ROI del consolidamento dei Server

Il ROI del consolidamento dei Server Il ROI del consolidamento dei Server Sul lungo periodo, un attività di consolidamento dei server è in grado di far scendere i costi IT in modo significativo. Con meno server, le aziende saranno in grado

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Linux nei sistemi Real-Time. Andrea Sambi

Linux nei sistemi Real-Time. Andrea Sambi Linux nei sistemi Real-Time Andrea Sambi Sistemi Real-Time Sistema Real-Time (RT) non è sinonimo di sistema veloce. Un Processo Real-Time deve terminare rispettando i vincoli temporali (le deadline) stabiliti

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli