Estensioni Linux per il Real-Time

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Estensioni Linux per il Real-Time"

Transcript

1 Estensioni Linux per il Real-Time

2 Il Sistema Operativo Linux Numerazione versioni di linux: a.b.c (es ) dove a no. versione, b kernel stabile (se pari), in sviluppo (se dispari) c no. di rilascio del kernel (se pari stabile, se dispari in sviluppo) Storia del kernel

3 Linux non è in tempo reale Linux è nato come un sistema multiutente per usi generali Sistemi Operativi per usi generali massimizzano il throughput alle spese del tempo d'attesa Sistemi Operativi in tempo reale minimizzano il tempo d'attesa alle spese del throughput In particolare: Le chiamate di sistema di Linux non sono interrompibili tempi d'attesa non riducibili Linux usa memoria paginata tempi d'attesa impredicibili Linux usa una schedulazione equa trattando in modo equanime tutti i processi si penalizzano i processi a alta priorità Linux ordina le richieste di I/O per ottimizzare l'uso dell'i/o un processo a bassa priorità potrebbe avere precedenza rispetto ad uno a alta priorità

4 Prestazioni di Linux

5 Sistemi in tempo reale Un sistema opera in tempo reale soltanto se fornisce i risultati attesi entro predefiniti limiti temporali Proprietà desiderate: non solo correttezza affidabilità flessibilità portabilità riusabilità ma anche efficienza prevedibilità Attenzione: Tempo reale non significa necessariamente elevata potenza di calcolo!

6 Tipi di processo Real-time con vincoli temporali Hard se la relativa deadline deve sempre essere rispettata Periodico con frequenza di esecuzione costante Sporadico in caso contrario Soft se la relativa deadline può essere disattesa in condizioni di temporaneo sovraccarico Periodico con frequenza di esecuzione costante Aperiodico in caso contrario Non real-time senza vincoli temporali

7 Tipologie di schedulazione Off-line se integralmente pianificata a priori On-line se stabilita a tempo di esecuzione in base a parametri attribuiti ai processi in maniera statica dinamica Guaranteed se rispetta i vincoli di esecuzione di ogni processo Best-effort se tende viceversa ad ottimizzare le prestazioni medie dell insieme di processi Preemptive se l esecuzione di un processo può essere sospesa Non-preemptive in caso contrario

8 Sistemi embedded e sistemi in tempo reale I sistemi embedded (dedicati) sono quelli che fanno parte integrante di un dispositivo Ad esempio: un calcolatore PDA, un telefono cellulare, una segreteria telefonica elettronica, una centralina di controllo di un automobile sono tutti sistemi che vengono attivati all accensione del dispositivo di cui fanno parte integrale A seconda dei vincoli temporali richiesti dal dispositivo i sistemi possono essere considerati in tempo reale o meno Una delle caratteristiche più importanti del sistema in tempo reale è il tempo con cui il sistema risponde a eventi interni (segnali o trappole software) o esterni (timer esterni o interrupt hardware).

9 Sistemi embedded e sistemi in tempo reale Una prima misura della risposta del sistema è la latenza, cioè il tempo che intercorre tra l evento e la prima istruzione della routine di servizio dell evento Una seconda misura è lo jitter, la variazione del periodo di eventi periodici con periodo costante Per essere in grado di presentare bassa latenza e basso jitter, il sistema operativo deve garantire che il kernel venga interrotto da i processi in tempo reale.

10 Alcuni SO in tempo reale VxWorks (Motorola, Pentium, StrongArm, Arm) Aderisce a POSIX Robotica, controllo di processi, avionica, telecomunicazioni, medicina Prestazioni su Pentium 200: latenza media 1.7 us, latenza massima 6.8 us Windows CE.NET (ARM, StrongArm, XScale, MIPS, Pentium) Non aderisce a POSIX Prestazioni su Pentium 200: latenza media 2.4 us, latenza massima 5.6 us QNX Neutrino RTOS (Pentium, Power PC, ARM, StrongArm, XScale, MIPS, SH-4) Microkernel, aderisce a POSIX Prestazioni su Pentium 200: latenza media 1.6 us, latenza massima 4.1 us psosystem 3 Aderisce a POSIX Prestazioni su Pentium 200: latenza media 1.9 us, latenza massima 3.8 us Arx RTOS AvSys CMX RTOS

11 Progetti Linux Real Time Primo approccio: eliminazione di funzionalità dal kernel Linux standard. Ridurre la complessità e la dimensione del sistema operativo, con particolare attenzione alle sezioni con comportamenti meno deterministici; Es.: uclinux Secondo approccio: modifiche al kernel Linux standard. Sostituire lo scheduler standard Linux con un algoritmo più deterministico Aggiungere punti di chiamata dello scheduler in punti sicuri dei sorgenti del kernel, per renderlo più reattivo. Es.: Montavista's Hard Hat Linux, KURT; Terzo approccio: Linux all interno di un sistema real-time Eseguire Linux come processo a bassa priorità di un minimo kernel real-time. Questo kernel gestisce l hardware direttamente, offrendo a Linux una simulazione software (macchina virtuale). Es.: RTLinux, RTAI;

12 Soluzioni Real Time più popolari Alcuni dei sistemi operativi realtime generici : Soluzioni proprietarie: VxWorks QNX RTLinuxPro Soluzioni opensource: RTLinuxFree (solo per kernel 2.4) RTAI RTLinux e RTAI sono soluzioni basate sul kernel di Linux Possono sfruttare tutte le applicazioni e l'ambiente del sistema operativo di partenza.

13 Architettura di RTAI Sviluppato dal Dipartimento di Ing. Aereospaziale, Università di Milano, Si introduce un nuovo layer tra il kernellinux e il sistema hardware: RTHAL (Real-Time Hardware AbstractionLayer). Versione estesa di RTHAL: ADEOS (Adaptive Domain Environment for Operating Systems) Racchiude tutti i dati e le funzioni temporalmente critiche del kernel in un unica struttura Sostituisce le operazioni sulle strutture originali con operazioni su puntatori RTHAL I puntatori RTHAL sono modificabili dinamicamente. Se RTAI non è attivo puntano alle strutture originali di Linux, se RTAI è attivo puntano alle strutture del kernel real-time Linux non ha più il controllo sull abilitazione / disabilitazionedelle interruzioni.

14 Architettura di RTAI Real Time HAL (RTHAL) non fornisce servizi real-time: ha la sola funzione di intercettare le chiamate al kernellinux. Le chiamate sono redirette alle strutture puntate da RTHAL. RTAI non attivo Funzionamento normale di Linux. RTAI attivo Linux è gestito come un processo a bassa priorità. Quindi RTAI può essere attivato o disattivato a piacere? SÌ perché RTAI è disponibile come modulo kernel di Linux. Permette di estendere dinamicamente le funzionalità del kernel senza dover essere caricato al boot di sistema.

15 Architettura di RTAI Scopo: realizzare un ambiente flessibile per condividere risorse hardware tra più sistemi operativi o più istanze di uno stesso SO La realizzazione consiste in un microkernel che gestisce la comunicazione con i diversi domini (es. SO) installati La gestione delle interruzioni è implementata con uno schema a pipeline in cui ogni stadio rappresenta un dominio Ogni interruzione è propagata alla pipeline, ogni stadio può: Accettare l interrupt, gestirlo, scegliere se propagarlo o terminarlo Ignorare l interrupt, non accettarlo immediatamente ma gestirlo al momento opportuno, scegliere se propagarlo o terminarlo Scartare l interrupte propagarlo Terminare l interrupts enza propagarlo ulteriormente

16 Architettura di RTAI

17 RTAI: scheduling Ogni possibile configurazione dello scheduler è adatta ad una specifica combinazione di hardware e requisiti delle applicazioni RTAI permette una gestione full-preemptable dei processi, in funzione delle loro priorità. Funzione del numero di processori presenti Scelta della modalitàdi funzionamento dello Scheduler Scelta della politica di scheduling Configurazione dello scheduler

18 RTAI: scheduling Uniprocessor Scheduler(UP): Utilizzabile nei sistemi monoprocessore Symmetric Multiprocessor Scheduler (SMP): In un sistema multiprocessore permette una distribuzione di carico simmetrica. Ogni processo di default può essere assegnato a qualsiasi processore; per ottimizzare l esecuzione è possibile imporre l esecuzione di un processo su una CPU o su un insieme ristretto di CPU Multi Uniprocessor Scheduler(MUP) In un sistema multiprocessore impone ad ogni processo l esecuzione su una CPU stabilita al momento della sua creazione. Meno flessibile ma più efficiente di SMP La scelta dello scheduler in funzione dell hardware in uso impatta su quale modulo kernel viene caricato con RTAI.

19 RTAI: scheduling Periodic mode: Esegue lo scheduler periodicamente : il timer viene settato una sola volta all inizio dell esecuzione Il periodo dei processi deve essere multiplo esatto del periodo dello scheduler, in caso contrario il periodo dei processi viene approssimato al multiplo del periodo dello scheduler più vicino (introduce jitter di attivazione) One-shot mode Lo scheduler viene eseguito in maniera non periodica. Il timer deve essere settato ogni volta in base al processo prioritario Permette una gestione più flessibile delle temporizzazioni di tutti i processi a costo di un maggiore overhead dovuto alla necessità di riprogrammare il timer al termine di ogni periodo Occorre scegliere la temporizzazione con cui lo scheduler viene eseguito.

20 RTAI: politiche di scheduling FIFO Il processo attivo a priorità più alta ottiene il controllo della CPU fino a quando la rilascia volontariamente oppure diventa attivo un processo a prioritàmaggiore Round-Robin (RR) Il processo attivo a priorità più alta ottiene il controllo della CPU per un determinato intervallo di tempo, al termine del quale il controllo passa ad un altro processo allo stesso livello di priorità(se presente). Un processo può subire preemption da parte di un processo a prioritàmaggiore RTAI integra primitive che associate alla politica FIFO permettono una semplice implementazione degli algoritmi di scheduling Rate Monotonic - Priority Ordered Earliest Deadline First.

21 RTAI: politiche di IPC Real-time FIFOs Meccanismo di base per scambiare dati in modo asincrono tra processi real-time e processi Linuxnon real-time Shared Memory Condivide aree di memoria tra processi RT e processi Linux Messages Possibilitàdi inviare messaggi sia in maniera asincrona che sincrona (RPC) tra processi RT Mailboxes Permettono di inviare/ricevere messaggi di qualsiasi dimensione, ordinati per prioritào per istante di arrivo, tra processi RT e processi Linux Semaphores Permettono di sincronizzare i processi nell accesso a risorse condivise evitando inversioni di priorità incontrollate

22 Moduli RTAI RTAI presenta un certo numero di moduli: rtai_hal intercetta gli interrupt rtai_sched gestione dei task: schedulazione, messaggi, semafori,...ipc rtai_fifos FIFO rtai_shm memoria condivisa rtai_lxrt task in tempo reale nello spazio utente: LXRT permette di sviluppare processi real time usando le API RTAI da spazio utente rtai_pthread Thread Posix Questi moduli devono essere inseriti a seconda delle esigenze insmod rtai_hal insmod rtai_sched...

23 Altra vista della architettura Processi Linux Processi Linux RT FIFO Kernel Linux RT task RT task Real time kernel (RTHAL/ADEOS

24 Programmazione in RTAI Struttura: utilizza 3 parti principali scritte dall utente Funzione che inizializza il sistema, definisce le caratteristiche dei vari task e IPC Definizione della funzione real time Funzione che rilascia le risorse

25 Programmazione in RTAI Esempio della funzione di inizializzazione int init_module(void) { RTIME tick_period, now; //crea la fifo rtf_create(0, 1000*sizeof(struct msg_t)); //inizializza la struttura rt // rt_task_init(,,, stacksize, priorità, uso fpu, signal function) rt_task_init(&hiprio_task, task_body, F, 2000, 0, 0, 0); //start rt_timer rt_set_oneshot_mode(); tick_period = start_rt_timer(nano2count(timerticks)); //start the rt-task now = rt_get_time(); rt_task_make_periodic(&hiprio_task, now+tick_period, 12*tick_period); } return 0;

26 Programmazione in RTAI Definizione di un task (thread in tempo reale): int rt_task_init(rt_task *task, void(*rt_thread)(int), int data, int stack_size, int priority, int uso_fpu, void(*signal)(void)); Attenzione: definisce il task, non l esegue! Il task si trova nello stato SUSPENDED Argomenti della funzione: Primo argomento: descrittore del task Secondo argomento: entry point della funzione Terzo argomento: un intero passato dal genitore al thread Quarto argomento: dimensione dello stack Quinto argomento: priorità (RT_LOWEST_PRIORITY 0) Sesto argomento: flag per l uso della fpu Settimo argomento: funzione per gestire il segnale inviato quando il thread diventa corrente

27 Programmazione in RTAI Attivazione di un task (messa in esecuzione): due modalità Mediante la definizione di task periodico int rt_task_make_periodic(rt_task *task, RTIME start_time, RTIME period); Mediante la messa in stato di pronto int rt_task_resume(rt_task *task); L istante di esecuzione è dato con start_time (valore assoluto misurato in clock ticks) start_delay (valore relativo al tempo corrente e misurato in nanosecondi)

28 Programmazione in RTAI Gestione della schedulazione: Nel caso di task periodico int rt_task_wait_period(void); sospende l esecuzione del thread corrente fino al prossimo periodo Nel caso di task aperiodico int rt_task_yield(void); int rt_task_suspend(rt_task *task); task_yield ferma il task corrente e lo mette alla fine della coda; lo schedulatore attiva il primo thread alla stessa priorità task_suspend sospende l esecuzione, che verrà ripresa con resume o con make_periodic

29 Programmazione in RTAI Funzioni di utilità per la schedulazione: void rt_sleep(rtime delay); void rt_sleep_until(rtime time); sospendono il thread in esecuzione e lo mettono in stato DELAYED void rt_busy_sleep(int nanosecs); addormenta in thread mandando in loop la CPU per il tempo indicato void rt_sched_lock(void); void rt_sched_unlock(void); blocca/sblocca lo schedulatore pe evitare corse critiche int rt_get_prio(rt_task *task); int rt_change_prio(rt_task *task, int priority; determina/setta la priorità di base int rt_get_inher_prio(rt_task *task); Determina la priorità ereditata a causa dell accesso a risorse condivise (protocolli priority inheritance)

30 Programmazione in RTAI Altre funzioni di utilità per la schedulazione: int rt_get_task_state(rt_task *task); RT_TASK *rt_whoami(void); int rt_task_use_fpu(rt_task *task, int use_fpu_flag); int rt_task_delete(rt_task *task); rimuove is task dal sistema

31 Programmazione in RTAI Esempio della funzione di rilascio risorse int cleanup_module(void) { //ferma il timer stop_rt_timer(); rt_busy_sleep( ); //chiude la fifo rtf_destroy(0); //cancella la struttura rt rt_task_delete(&hiprio_task); }

32 Programmazione in RTAI La gestione del timer Modalità di funzionamento: One-shot: temporizzazioni arbitrarie void rt_set_oneshot_mode(void); I task possono essere eseguiti in istanti qualsiasi Periodic: tutti i tempi del sistema diventano multipli del periodo di base del timer void rt_set_periodic_mode(void); Ogni richiesta non multiplo del periodo viene soddisfatta nel periodo più vicino. È il default. Attivazione/fermo del timer: RTIME start_rt_timer(int period);//se modalità aperiodica il periodo viene ignorato void stop_rt_timer(void);

33 Programmazione in RTAI La gestione del timer Modalità di funzionamento: One-shot: temporizzazioni arbitrarie void rt_set_oneshot_mode(void); I task possono essere eseguiti in istanti qualsiasi Periodic: tutti i tempi del sistema diventano multipli del periodo di base del timer void rt_set_periodic_mode(void); Ogni richiesta non multiplo del periodo viene soddisfatta nel periodo più vicino. È il default. Attivazione/fermo del timer: RTIME start_rt_timer(int period);//se modalità aperiodica il periodo viene ignorato void stop_rt_timer(void);

34 Programmazione in RTAI: IPC RTAI usa sistemi di IPC simili a Linux ma implementati separatamente: rt_fifo: scambio dati tra i thread in tempo reale, tra processi Linux, shared memory, tra thread in tempo reale e processi Linux mailbox semafori RPC

35 Programmazione in RTAI: IPC rt_fifo Per creare una rt_fifo: int rtf_create(unsigned int fifo, int size); Per dimensionare una rt_fifo: int rtf_resize(int fd, int size); Per aprire una rt_fifo dallo spazio utente si usa open(); Per aprire una rt_fifo dallo spazio kernel si usa: int rtf_open_sized(const char *dev, int perm, int size); Le rt_fifo possono essere associate a dei command handler che vanno in esecuzione ogni volta che un processo nello spazio utente esegue una read() o una write() sulla fifo: int rtf_create_handler(unsigned int minor, int (*handler)(unsigned int fifo)););

36 Programmazione in RTAI: IPC rt_fifo: esempio d uso dei command handler int rtf_create_handler(fifo_numver, X_FIFO_HANDLER(x_handler); con, ad esempio, come x_handler: int x_handler(unsigned int fifo, int rw) { if(rw== r ){ //quello che bisogna fare in relazione ad una read } else{ //quello che bisogna fare in relazione ad una write } }

37 Programmazione in RTAI: IPC rt_fifo: per evitare bloccaggi indeterminati int rtf_read_all_at_once(int fd, void *buf, int count); int rtf_read_timed(int fd, void *buf, int count, int ms_delay); int rtf_write_timed(int fd, void *buf, int count, int ms_delay); rt_fifo: uso dei semafori int rtf_sem_init(unsigned int fifo, int value); int rtf_sem_wait(unsigned int fifo); //solo dallo spazio utente int rtf_sem_trywait(unsigned int fifo); //solo dallo spazio utente...

38 Programmazione in RTAI: IPC IPC memoria condivisa (shared memory) Per trasferire dati tra processi e task Naturalmente sono molto veloci Svantaggi: non essendo serializzati necessitano di un protocollo di accesso il bloccaggio tra processi e task non è supportato bisogna gestire il trasferimento con un metodo non è garantita la mutua esclusione processi/task Non è possibile rilevare letture/scritture interrotte Tipi di shared memory: Mbuff: condivisione procesi/thread (cioè spazio utente/spazio kernel) senza richiedere RTAI Shmem: condivisione procesi/thread (cioè spazio utente/spaziokernel) che dipende profondamente da RTAI

39 Programmazione in RTAI: IPC mbuff: Implementata come device driver: device /dev/mbuff Per accedere alla memoria condivisa dallo spazio utente/kernel: void *mbuff_alloc(unsigned long name, unsigned int size); Per rilasciare la memoria: void mbuf_free(int name, void *mbuf);

40 Programmazione in RTAI: IPC shmem: Implementata come device driver: device /dev/rtai_shm Per accedere dallo spazio utente: void *rtai_malloc(unsigned long name, int size); Per rilasciarla: void rtai_free(int name, void *adr); Per accedere dallo spazio kernel: void *rtai_malloc(unsigned long name, int size); Per rilasciarla: void rtai_free(int name, void *adr);

RTAI: un po di storia

RTAI: un po di storia RTAI Andrea Sambi RTAI: un po di storia Real-Time Application Interface Sviluppato presso il Politecnico di Milano Nato per rispondere alla richiesta di un sistema operativo a basso costo da utilizzarsi

Dettagli

Schedulazione in RTAI

Schedulazione in RTAI Schedulazione in RTAI RTAI: modulo kernel rt_hello_km.c #include #include Thread real-time... Ciclo infinito RT_TASK task; Periodico... void task_routine() { while(1) { /* Codice

Dettagli

RTAI e scheduling. Andrea Sambi

RTAI e scheduling. Andrea Sambi RTAI e scheduling Andrea Sambi Scheduling Linux Due politiche di scheduling priority-driven possibili. FIFO priorità uguali Processo 1 iniziato Processo 1: iterazione 1 Processo 1: iterazione 2 Processo

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

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

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

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. 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

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

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich Università degli studi di Trieste Facoltà di Ingegneria Dipartimento di Elettrotecnica, Elettronica ed Informatica Sviluppo di un Driver per il Controllo di un Robot Mobile in Ambiente Multipiattaforma

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. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

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

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

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

Sistemi Operativi per la Robotica. Enzo Mumolo

Sistemi Operativi per la Robotica. Enzo Mumolo Sistemi Operativi per la Robotica Enzo Mumolo Sistemi Operativi per la Robotica www.units.it/~mumolo sito web del corso (in preparazione) Sito web programma preliminare, materiale, provetta, risultati

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

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

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

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

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

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

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

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

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

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

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica

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

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

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

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

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

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

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

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

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

Principi di Schedulazione in tempo reale

Principi di Schedulazione in tempo reale Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival

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

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

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

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

J. Assfalg Appunti di Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche

Dettagli

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

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

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

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

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

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

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

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

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

Scheduling di processi HRT

Scheduling di processi HRT Scheduling di processi HRT Primo modello per la schedulazione di processi periodici N processi P1, P2,, PN indipendenti senza vincoli di precedenza, senza risorse condivise; ogni processo Pj (j = 1, 2,,N)

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

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

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

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

Interrupt-Driven I/O Gli Interrupts sono segnali hardware: - generati da device periferici es. fine di un operazione di I/O -oppure generati dalla CPU, a fronte di eccezioni i es. divisione per zero, stack

Dettagli

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi

Dettagli

Gestione del processore e dei processi

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

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

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

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 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

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 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

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

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

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

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

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

Dettagli

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

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

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

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

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

Algoritmi di scheduling - Parte 2

Algoritmi di scheduling - Parte 2 Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) SCHEDULING

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

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Ambienti di calcolo a griglia Parte 2 Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Docente: Marcello CASTELLANO La vera rivoluzione non è più la capacità

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

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

Monitor. Introduzione. Struttura di un TDA Monitor

Monitor. Introduzione. Struttura di un TDA Monitor Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI SISTEMI A ORIENTAMENTO SPECIFICO I SISTEMI MULTIMEDIALI Obiettivi! Identificare le caratteristiche

Dettagli

La schedulazione. E.Mumolo mumolo@units.it

La schedulazione. E.Mumolo mumolo@units.it La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più

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

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Sistemi Real-Time Ing. Rigutini Leonardo

Sistemi Real-Time Ing. Rigutini Leonardo Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dell informazione Università di Siena Sistema Real-Time Sistema in cui la correttezza non dipende solamente dai valori di output ma anche

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli