SISTEMI IN TEMPO REALE
|
|
|
- Fabrizio Novelli
- 10 anni fa
- Visualizzazioni
Transcript
1 SISTEMI IN TEMPO REALE Definizione [Stankovic 88] I sistemi real-time (RT) sono quei sistemi di calcolo in cui la correttezza di funzionamento non dipende soltanto dalla validità dei risultati ottenuti ma anche dal tempo in cui i risultati sono prodotti. L'interesse per i sistemi RT è motivato dalle numerose applicazioni che richiedono questo tipo di elaborazione: la regolazione di impianti chimici e nucleari; il controllo di processi produttivi complessi; la robotica; i sistemi di controllo di volo sugli aerei; i sistemi di monitoraggio ambientale; i sistemi di controllo del traffico; i sistemi di telecomunicazione; i sistemi di regolazione delle automobili; i sistemi militari; le missioni spaziali. Nonostante la vastità dei settori applicativi interessati, la maggior parte delle applicazioni RT viene ancora progettata con tecniche empiriche: uso di processori sufficientemente veloci; grosse porzioni di codice assembler; driver di basso livello per la gestione di I/O; manipolazione delle priorità dei processi. G. Piscitelli Politecnico di Bari 1 of 18
2 SISTEMI IN TEMPO REALE Svantaggi delle tecniche empiriche Programmazione laboriosa: lunghi tempi di sviluppo e affidabilità dipendente dal programmatore. Difficile comprensibilità del codice: l'ottimizzazione peggiora la comprensibilità. Scarsa manutenibilità del software. La modifica di grossi programmi assembler risulta di estrema difficoltà anche per lo stesso progettista. Difficile verifica dei vincoli temporali. Senza l'ausilio di tecniche specifiche, risulta praticamente impossibile garantire il rispetto dei vincoli temporali. La conseguenza di tutto ciò è una ==> elevata inaffidabilità Esempi di incidenti causati da errori software: il primo volo dello Space Shuttle fu ritardato a causa di un errore di temporizzazione su uno dei processori di controllo; il sistema di difesa dei missili Patriot fallì durante la Guerra del Golfo per un errore di arrotondamento sul real-time clock. Come si possono evitare questi errori? - Il testing non è una soluzione sicura. I processori dello Shuttle e dei Patriot erano stati accuratamente testati e nessun errore rilevato. - Nelle applicazioni RT, il flusso dei programmi dipende dai dati di ingresso, i quali non possono essere riprodotti come nelle reali condizioni operative. G. Piscitelli Politecnico di Bari 2 of 18
3 SISTEMI IN TEMPO REALE Soluzioni più sicure metodologie di progetto più accurate; tecniche di analisi statica del codice; meccanismi di nucleo adatti alla gestione di processi con vincoli temporali. Un sistema RT deve essere sempre progettato per resistere alla peggiore combinazione possibile di eventi. LEGGE GENERALE Se qualcosa può andar male, lo farà. LE LEGGI DI MURPHY COSTANTE DI MURPHY Le cose vengono danneggiate in proporzione al loro valore. LEGGE DI NAESER Si può fare qualcosa a prova di bomba, non di iella. LEGGE DI GREEN Se un sistema è stato concepito per essere tollerante ad un insieme di guasti, ci sarà sempre un idiota abbastanza ingegnoso da causare un guasto non tollerato. Corollario I cretini sono sempre più ingegnosi delle precauzioni che si prendono per impedirgli di nuocere. SECONDA LEGGE DI SODD Prima o poi, la peggiore combinazione possibile di circostanze è destinata a verificarsi. G. Piscitelli Politecnico di Bari 3 of 18
4 SISTEMI IN TEMPO REALE Cosa significa tempo reale? Nell'espressione tempo reale sono sintetizzati due concetti fondamentali: TEMPO: la validità dei risultati di un processo di calcolo dipende anche dal tempo entro cui essi sono prodotti. REALE: il tempo di sistema deve essere uguale a quello dell'ambiente in cui il sistema opera. REAL-TIME non significa VELOCE. Il termine "veloce" ha un significato relativo che ha poco senso se non è riferito all'ambiente in cui il sistema opera. Dunque, le caratteristiche RT di un sistema sono strettamente legate all'ambiente in cui il sistema deve operare. Sistema di controllo Sistema sensoriale Sistema di attuazione ambiente G. Piscitelli Politecnico di Bari 4 of 18
5 SISTEMI IN TEMPO REALE Obiezione Non vale la pena di studiare i sistemi RT poiché i requisiti temporali possono essere soddisfatti da un'architettura sufficientemente veloce. Qualsiasi sia la velocità di un calcolatore, occorre sempre dimostrare che i vincolitemporali di un'applicazione sono garantiti. REAL-TIME VELOCE L'obiettivo di una elaborazione veloce è di minimizzare il tempo medio di risposta di un insieme di processi. L'obiettivo di una elaborazione real-time è di soddisfare i requisiti temporali individuali di ciascun processo. Quando i processi hanno dei requisiti individuali che devono essere rispettati, le prestazioni medie assumono scarsa rilevanza. "... ci fu un uomo che annegò attraversando un torrente con una profondità media di 15 centimetri!". La proprietà più importante che un sistema real-time deve possedere non è la velocità, ma la predicidibilità. G. Piscitelli Politecnico di Bari 5 of 18
6 PREDICIBILITA DEI SISTEMI IN TEMPO REALE Predicibilità di un sistema Per predicibilità di un sistema si intende la capacità di determinare in anticipo se i processi di calcolo potranno essere completati entro i vincoli temporali desiderati. La predicidibilità dipende da diversi fattori, che vanno dalle caratteristiche architetturali della macchina fisica, ai meccanismi di nucleo, fino al linguaggio di programmazione. Le tecniche di DMA; La cache; Il meccanismo delle interruzioni; Le primitive del nucleo; Il meccanismo semaforico; La gestione della memoria; Il linguaggio di programmazione. La predicibilità è una misura a priori del livello di rispetto dei vincoli temporali. La predicibilità è misurata dalla percentuale di processi per cui è garantito il rispetto dei vincoli. La predicibilità può essere deterministica (completamente predicibile), probabilistica (una frazione dei processi è garantita o la probabilità che un qualunque task sia garantito non è inferiore ad una certo valore) oppure deterministica a run-time (all atto dell attivazione del processo è possibile determinare se esso può essere garantito). G. Piscitelli Politecnico di Bari 6 of 18
7 SISTEMI IN TEMPO REALE E PROCESSI Ciclo di esecuzione di un processo Processo: (o task) è una sequenza di istruzioni che, in assenza di altre attività, viene eseguita dal processore in modo continuativo fino al suo completamento. Su un singolo calcolatore un processo può essere nei seguenti stati: Algoritmo di scheduling : insieme di regole che determinano la scelta del processo da mandare in esecuzione tra i processi pronti. Dispatching : assegnazione effettiva del processore al processo pronto schedulato. G. Piscitelli Politecnico di Bari 7 of 18
8 SCHEDULING DI SISTEMI IN TEMPO REALE Schedulazione Dato un insieme di task J = {J 1, J 2,..., J n }, una schedulazione è un assegnamento dei task al processore. E' una funzione σ: R + N tale che: t R +, t 1, t 2 tali che t [ t 1, t 2 ) e inoltre t' [ t 1, t 2 ) si abbia σ(t) = σ(t'). σ(t) = k con k 0, indica che all'istante t il processore esegue il task J k. σ(t) = 0 indica che il processore è libero (idle). Negli istanti t 1, t 2, t 3, e t 4, si ha una commutazione di contesto (context switch). Ciascun intervallo [t i, t i+1 ) in cui σ(t) è costante prende il nome di time slice. G. Piscitelli Politecnico di Bari 8 of 18
9 PROPRIETA DELLO SCHEDULING Una schedulazione si dice preemptive se il task in esecuzione può essere sospeso per assegnare il processore ad un altro task. Una schedulazione è fattibile se esiste un assegnamento dei task al processore tale che tutti i task siano completati rispettando un insieme di vincoli prefissati. Un insieme di task J si dice schedulabile se per esso esiste una schedulazione fattibile. G. Piscitelli Politecnico di Bari 9 of 18
10 TIPI DI SISTEMI IN TEMPO REALE Vincoli sui processi vincoli temporali; vincoli di precedenza; vincoli su risorse condivise. Vincoli temporali Un processo real-time è caratterizzato da una scadenza temporale prefissata, che prende il nome di deadline. Un risultato prodotto oltre la propria deadline non è solo in ritardo, ma è dannoso. A seconda delle conseguenze provocate da una mancata deadline, i processi real-time vengono solitamente distinti in tre tipi: hard, firm e soft. Hard real-time: se la violazione della deadline comporta un effetto catastrofico sul sistema. Firm real-time: se la violazione della deadline non comporta effetti catastrofici, ma l utilità dei risultati decresce con il crescere del ritardo rispetto alla scadenza. Soft real-time: se la violazione della deadline non compromette il corretto funzionamento del sistema. G. Piscitelli Politecnico di Bari 10 of 18
11 SISTEMA OPERATIVO E TEMPO REALE Un sistema operativo in grado di gestire processi real-time hard è detto Hard Real-Time Operating System (HRT OS). Tipici processi hard: acquisizione di dati sensoriali; rilevamento di condizioni critiche; asservimento di attuatori; pianificazione di azioni senso-motorie; controllo di dispositivi automatici. Tipici processi firm: transazioni di un data-base; in generale le applicazioni on-line. Tipici processi soft: ingresso di caratteri da tastiera; interprete di comandi utente; visualizzazione di messaggi su monitor; rappresentazione dello stato del sistema. G. Piscitelli Politecnico di Bari 11 of 18
12 SISTEMI IN TEMPO REALE Caratteristiche dei processi in tempo reale ready time a: tempo in cui il task diventa pronto per l'esecuzione; computation time C: tempo necessario al processore per eseguire completamente il task senza interruzioni; deadline d: tempo entro cui il task deve essere completato; start time s: tempo in cui il task va in esecuzione per la prima volta; finishing time f: tempo in cui il task termina la sua esecuzione; criticalness r: criticità della deadline (hard/firm/soft); value v: importanza relativa del task all'interno di una classe di criticità. Si tenga conto che il tempo in cui viene rilevata la necessità di attivare il task è antecedente al tempo a. G. Piscitelli Politecnico di Bari 12 of 18
13 SISTEMI IN TEMPO REALE Variabili temporali dei processi lateness L: L = f d. E il ritardo di completamento del task rispetto alla deadline. tardiness E: E = max(0, L). E' detto anche exceeding time ed è il tempo in cui il task rimane attivo oltre la deadline. laxity LX: LX = d a C. E' detto anche slack time ed è il ritardo di attivazione massimo che un task può subire per non eccedere la sua deadline. G. Piscitelli Politecnico di Bari 13 of 18
14 PROCESSI PERIODICI E APERIODICI Processi periodici: consistono in una sequenza infinita di attività identiche, ciascuna delle quali prende il nome di istanza (τ i,k ). La regolarità deve essere garantita dal sistema (time driven): Processi aperiodici: consistono in una sequenza di attività identiche J i, ciascuna delle quali caratterizzata da un tempo di arrivo (event driven), un tempo di calcolo, e una deadline. G. Piscitelli Politecnico di Bari 14 of 18
15 SISTEMI IN TEMPO REALE Vincoli di precedenza Le relazioni di precedenza eventualmente esistenti tra i processi vengono espresse mediante un grafo diretto e aciclico. Vincoli su risorse Una risorsa è una entità software che può essere utilizzata da uno o più processi per portare a termine la propria esecuzione. Una risorsa può essere una struttura dati, una zona di memoria, o una porzione di codice. Una risorsa può essere: - condivisa se utilizzata da più processi; - dedicata se è riservata ad un solo processo. Una risorsa si dice mutuamente esclusiva se non consente l'accesso contemporaneo di più processi. Una porzione di codice mutuamente esclusiva prende il nome di sezione critica. Tipicamente la mutua esclusione è realizzata mediante il meccanismo semaforico, gestito dalle primitive wait e signal (o lock e unlock). Rispettare un vincolo su risorsa significa quindi consentire un uso della risorsa mutuamente esclusivo. I processi in attesa di risorse condivise occupate si dicono bloccati sulla risorsa, e vengono accodati in una coda associata al meccanismo di protezione della risorsa. G. Piscitelli Politecnico di Bari 15 of 18
16 SCHEDULING DEI PROCESSI Problema generale di scheduling Dato un insieme di n task J = {J 1, J 2,..., J n } di cui sia noto il grafo dei vincoli di precedenza e le modalità di utilizzo delle risorse condivise, il problema dello scheduling consiste nel trovare una schedulazione fattibile dell'insieme J, ossia una schedulazione tale che: tutti i task terminino entro la propria deadline; tutti i vincoli di precedenza siano rispettati; tutte le risorse condivise mutuamente esclusive siano utilizzate correttamente. Garey e Johnson [Gar 75] hanno dimostrato che tale problema appartiene alla classe NP hard. Ossia non può essere risolto in tempo polinomiale rispetto al numero di processi. Per trattare il problema in tempo polinomiale, si fanno delle ipotesi semplificative sul sistema e/o sui vincoli tra i processi. Tipiche ipotesi semplificative singolo processore preemption attivazioni simultanee assenza di vincoli di precedenza assenza di vincoli su risorse G. Piscitelli Politecnico di Bari 16 of 18
17 ALGORITMI DI SCHEDULING Classificazione di algoritmi Preemptive: Non preemptive: ammettono preemption in qualsiasi istante. ricevuto il processore, il task non può essere interrotto. Statici: Dinamici: le decisioni sono basate su parametri fissi assegnati ai processi prima della loro attivazione. le decisioni sono basata su parametri che possono variare durante l'esecuzione dei processi. Off-line: On-line: tutte le decisioni di scheduling sono prese prima dell'attivazione dei processi, su dati noti a priori. le decisioni di scheduling vengono prese a run-time sull'insieme dei processi attivi. Best-Effort: Guaranteed: privilegiano le prestazioni medie. garantiscono il rispetto dei vincoli temporali di ogni singolo task. G. Piscitelli Politecnico di Bari 17 of 18
18 PARADIGMI DI SCHEDULING Algoritmi statici table-driven Gli approcci di questo tipo si basano su analisi off-line di schedulabilità, i cui risultati danno origine a tavole di schedulazione da usare a run-time per decidere quando un task deve iniziare la sua esecuzione. Tali algoritmi cercano di soddisfare i requisiti di applicazioni critiche, che richiedono la garanzia a priori delle deadline e quindi addirittura la pre-allocazione dei task. Questi ultimi sono ovviamente di natura periodica. Alcuni algoritmi alla base di questi approcci: Least Common Multiple (LCM) e Earliest Deadline First (EDF) Algoritmi statici priority-driven, con applicazione della preemption Anche questi approcci si basano su analisi off-line. Ai vari task sono assegnate priorità che possono essere applicate staticamente o dinamicamente, consentendo allo scheduler di requisire la CPU da un task a più bassa priorità, per assegnarla ad uno a più alta priorità. Alcuni algoritmi alla base di questi approcci: Rate Monotonic (RM) e Least Laxity First (LLF) Algoritmi dinamici planning-based Questo approccio, dinamico, tende a verificare, quando insorge la necessità di eseguire un nuovo task, la fattibilità di uno scheduling che includa il task. Se non viene individuato uno scheduling fattibile, il task non viene accettato. Viene a volte eseguito quando la deadline è sufficientemente lontana ed in caso di esito negativo dell analisi di fattibilità sia possibile ricorrere ad un azione alternativa. Approcci distribuiti (in presenza di più processori) sono quelli del focussed addressing (il task viene inviato al processore stimato avere il più alto surplus di risorse e tempo di CPU) e del bidding (il task viene inviato al processore che ha garantito, rispondendo ad una sorta di asta, il minor tempo di completamento del task stesso). Algoritmi dinamici best effort Si basano sull attribuzione a ciascun task di una priorità basata sui suoi attributi e su approcci che combinano in maniera empirica algoritmi EDF, LLF o di puro rispetto della priorità. G. Piscitelli Politecnico di Bari 18 of 18
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
Corso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
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
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
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
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
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
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
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)?
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
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
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
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
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
Organizzazione della produzione
Scheduling Organizzazione della produzione PROOTTO che cosa chi ORGNIZZZIONE PROCESSO come FLUSSO I PROUZIONE COORINMENTO PINIFICZIONE SCHEULING quando Pianificazione della produzione: schedulazione di
Riassunto di Sistemi in Tempo Reale LS
Riassunto di Sistemi in Tempo Reale LS Silvia Cereda July 10, 2007 1 Schedulazione di processi periodici Condizione necessaria (ma non sufficiente) affinché un insieme di N processi sia schedulabile è
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
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
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.
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
1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.
Un veicolo viene utilizzato da una società di trasporti per trasportare beni a partire da un unico deposito verso prefissate località di destinazione. Si supponga che occorre trasportare singolarmente
Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU
Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di
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
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
SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007
2007 SISTEMI OPERATIVI Deadlock (blocco critico) Domande di verifica Luca Orrù Centro Multimediale Montiferru 04/06/2007 Deadlock (blocco critico) 1. Si descriva il deadlock e le condizioni sotto cui si
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
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à
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
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
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
Low Power Scheduling per Sistemi Real Time
Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni
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
RETI DI TELECOMUNICAZIONE
RETI DI TELECOMUNICAZIONE SISTEMI M/G/1 e M/D/1 Sistemi M/G/1 Nei sistemi M/G/1: i clienti arrivano secondo un processo di Poisson con parametro λ i tempi di servizio hanno una distribuzione generale della
Lo scheduler di UNIX (1)
Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto
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
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
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
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
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,
LE CARTE DI CONTROLLO (4)
LE CARTE DI CONTROLLO (4) Tipo di carta di controllo Frazione difettosa Carta p Numero di difettosi Carta np Dimensione campione Variabile, solitamente >= 50 costante, solitamente >= 50 Linea centrale
Organizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
Architettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
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.)
J. Assfalg Appunti di Sistemi Operativi
Multiprogrammazione J. Assfalg Appunti di Sistemi Operativi La multiprogrammazione nasce come un metodo per massimizzare l'uso della CPU piuttosto che come uno strumento per fornire un miglior servizio
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:
TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE
ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA
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
SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.
SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,
Tecnologia di un Database Server (centralizzato) Gestione del buffer
Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer
Esecuzione concorrente di transazioni
Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che
Esercizio 1: trading on-line
Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente
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
Sistemi di Automazione Industriale
Introduzione ai PLC Sistemi di Automazione Industriale Ridurre e/o eliminare il ruolo dell operatore umano Ogni sistema di automazione prevede: Sistema Controllato; è un generatore di eventi non prevedibili
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
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
Deadlock (stallo) Parte III. Deadlock
Parte III Deadlock Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 III - 1 Deadlock (stallo) Su di un tavolo ci sono un piatto ed una forchetta A e B sono seduti al tavolo, per mangiare ciascuno
Corso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
Piano di gestione della qualità
Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.
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
come nasce una ricerca
PSICOLOGIA SOCIALE lez. 2 RICERCA SCIENTIFICA O SENSO COMUNE? Paola Magnano [email protected] ricevimento: martedì ore 10-11 c/o Studio 16, piano -1 PSICOLOGIA SOCIALE COME SCIENZA EMPIRICA le sue
A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Scopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
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
Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per
Aris TimeSheet Soluzioni per enti e aziende che guardano oltre L applicativo ARIS TIMESHEET è stato progettato e sviluppato per supportare i project manager nel monitoraggio dello stato di avanzamento
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 [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
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
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
