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

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

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

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

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

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

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

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

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

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

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

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

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

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 sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

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

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

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. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

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

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

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

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

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

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

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

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Application note. CalBatt NomoStor per i sistemi di accumulo di energia 1. Panoramica Application note CalBatt NomoStor per i sistemi di accumulo di energia Gli Energy Management Systems () sono dispositivi atti al controllo dei flussi di energia dalle sorgenti di produzione

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

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

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

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

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology Virtualization Strutturare per semplificare la gestione Communication Technology Ottimizzare e consolidare Le organizzazioni tipicamente si sviluppano in maniera non strutturata e ciò può comportare la

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

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

Dettagli

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

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 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Guida di Pro Spam Remove

Guida di Pro Spam Remove Guida di Pro Spam Remove 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) FILTRO 5) ARCHIVIO E-MAIL 6) NOTE CONCLUSIVE 1) SOMMARIO Pro Spam Remove è un software che si occupa di bloccare tutto lo

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

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

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri. Roma, 25 ottobre 2010 Ing. Antonio Salomè Ing. Luca Lezzerini

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Guida di Pro PC Secure

Guida di Pro PC Secure 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) INFORMAZIONI AGGIUNTIVE 1) SOMMARIO Guida di Pro PC Secure Pro PC Secure è un programma che si occupa della protezione dagli attacchi provenienti

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Procedura per la configurazione in rete di DMS.

Procedura per la configurazione in rete di DMS. Procedura per la configurazione in rete di DMS. Sommario PREMESSA... 2 Alcuni suggerimenti... 2 Utilizzo di NAS con funzione di server di rete - SCONSIGLIATO:... 2 Reti wireless... 2 Come DMS riconosce

Dettagli

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

ANALISI SOSPENSIONI Modalità Base

ANALISI SOSPENSIONI Modalità Base ANALISI SOSPENSIONI Modalità Base INTRODUZIONE Nella versione 2.30.04 di Race Studio 2 è stata introdotta una nuova funzionalità relativa allo strumento di Analisi delle sospensioni presente all interno

Dettagli

Guida Rapida di Syncronize Backup

Guida Rapida di Syncronize Backup Guida Rapida di Syncronize Backup 1) SOMMARIO 2) OPZIONI GENERALI 3) SINCRONIZZAZIONE 4) BACKUP 1) - SOMMARIO Syncronize Backup è un software progettato per la tutela dei dati, ed integra due soluzioni

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS Adobe Open Options Domande frequenti Modifiche principali al programma Adobe Open Options NOVITÀ! SCONTO SPECIALE PER ORDINI CLP HIGH-VOLUME DEL SOFTWARE ADOBE ACROBAT NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL

Dettagli

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro

Vodafone Device Manager. La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro La soluzione Vodafone per gestire Smartphone e Tablet aziendali in modo semplice e sicuro In un mondo in cui sempre più dipendenti usano smartphone e tablet per accedere ai dati aziendali, è fondamentale

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

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010 2010 List Suite 2.0 Sviluppo Software Il Telefono Sas 10/06/2010 List Suite 2.0 List Suite 2.0 è un tool software in grado di archiviare, analizzare e monitorare il traffico telefonico, effettuato e ricevuto

Dettagli

Sommario. Introduzione 1

Sommario. Introduzione 1 Sommario Introduzione 1 1 Il Telecontrollo 1.1 Introduzione... 4 1.2 Prestazioni di un sistema di Telecontrollo... 8 1.3 I mercati di riferimento... 10 1.3.1 Il Telecontrollo nella gestione dei processi

Dettagli

System Center Virtual Machine Manager Library Management

System Center Virtual Machine Manager Library Management System Center Virtual Machine Manager Library Management di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione La Server Virtualization è la possibilità di consolidare diversi server fisici in un unico

Dettagli