Informatica Industriale - 11

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica Industriale - 11"

Transcript

1 Informatica Industriale - 11 Parallelismo e Sistemi Operativi Real-Time - Cap. 10 prof. Lorenzo MEZZALIRA Modelli implementativi di parallelismo Modello a Processi Sequenziali Comunicanti Scheduling Temporale Interruzioni - Priorità e annidamento Competizione e cooperazione Primitive di S.O. multitask Cap Sistemi Operativi Real-Time - Lucido 0

2 INTRODUZIONE Gli obbiettivi di un sistema di elaborazione possono essere svariati e concomitanti, come ad esempio: semplicità ed economia massimo sfruttamento di alcune risorse (video, dischi) massimo throughput di elaborazione adeguatezza alle esigenze di una multiutenza rispetto di vincoli temporali nelle interazioni con l esterno massima affidabilità La personalità del sistema, sia rispetto all interazione con l operatore sia rispetto alle funzioni offerte ai programmi applicativi, dipende notevolmente dal tipo di macchina virtuale che il sistema operativo implementa sulla macchina fisica. Il SW applicativo infatti si appoggia (in genere) al supporto del S.O. Cap Sistemi Operativi Real-Time - Lucido 1

3 NECESSITÀ DI PARALLELISMO (Per l elaborazione in tempo reale) Il carico di lavoro di un sistema di elaborazione che debba interagire in tempo reale con fenomeni esterni è scomponobile, come già presentato nel cap. 2, in: attività costituite da azioni periodiche (campionamenti, monitoraggio, regolazioni, ecc.) azioni aperiodiche (generalmente risposte ad eventi sporadici) attività di sottofondo (non real-time). Chiamiamo scopo temporale ST di un'azione l'intervallo di tempo tra l'istante in cui si verifica l'evento che consente o richiede l'esecuzione dell'azione (triggering event) e l'istante di tempo in cui tale attività è, o deve (deadline) essere, completata. ST = TLatenza + TEsecuzione Cap Sistemi Operativi Real-Time - Lucido 2

4 PARALLELISMO Chiamiamo concorrenti attività le cui azioni hanno scopi temporali che presentano sovrapposizioni (overlapping), in contrapposizione al termine sequenziali che designa azioni con scopi temporali senza intersezioni. Un'elaborazione ad attività concorrenti non è necessariamente di tipo realtime. E real-time solo un'elaborazione in cui l'inizio e/o la fine di alcuni o tutti gli scopi temporali delle azioni è vincolata da specifiche temporali. Chiamiamo processo sequenziale un'attività internamente sequenziale e caratterizzata da un proprio contesto, cioè l'insieme delle risorse ad essa allocate ed i rispettivi stati. Le risorse possono essere attive (processori di vari tipi) o passive (periferiche, memoria, dati, ecc.). L esecuzione di un processo richiede una risorsa attiva ed eventualmente un certo numero di risorse passive. Cap Sistemi Operativi Real-Time - Lucido 3

5 PARALLELISMO I sistemi di elaborazione in tempo reale devono essere dotati di una capacità di parallelismo tra diverse elaborazioni, cioè la capacità di iniziare e completare in tempo una nuova azione anche se altre sono già in corso (sovrapposizione di scopi temporali di diverse azioni). Chiamiamo: TDi la durata dello scopo temporale dell'azione i-esima (esprime la rapidità di risposta richiesta al sistema di elaborazione) detta DEADLINE. TEi il massimo tempo di esecuzione netto dell'azione i-esima (esprime la velocità offerta dal sistema di elaborazione). Condizione sufficiente perchè sia richiesto un parallelismo di esecuzione (eventualmente con preemption) è che esistano almeno due eventi tra loro aperiodici, tali per cui sia: TDi < TEi + TEj Cap Sistemi Operativi Real-Time - Lucido 4

6 PARALLELISMO FISICO Un totale parallelismo reale (o fisico) è ottenibile solo se sono disponibili tante risorse processori (multiprocessing), quante sono richieste dalle diverse attività potenzialmente concomitanti. In questo caso le latenze sono nulle. Questo parallelismo implica un'assegnazione (scheduling) spaziale delle attività alle risorse. Ogni risorsa rimane inattiva (idle) per tutto il tempo in cui non è richiesto lo svolgimento di azioni dell'attività assegnatale, e ciò può portare ad uno scarso sfruttamento di tali risorse. Quindi generalmente non si adotta una configurazione a risorse illimitate. Un'applicazione non è fisicamente realizzabile, neppure con un sistema a parallelismo fisico, se per almeno un'azione si ha: TEi > TDi che corrisponde a potenza di calcolo insufficiente per l algoritmo adottato, rispetto alle prestazioni temporali richieste. Cap Sistemi Operativi Real-Time - Lucido 5

7 PARALLELISMO VIRTUALE Molto interessante è il parallelismo virtuale (o logico) che è ottenibile con l'assegnazione nel tempo delle (scarse) risorse, alle azioni in corso durante intervalli di tempo interni ai rispettivi scopi temporali (multitasking). Richiede uno scheduling temporale che consente un migliore sfruttamento delle risorse rispetto al parallelismo esclusivamente fisico. Il tempo di elaborazione di un azione corrisponde a tempo di latenza per tutte le altre azioni che in quel momento hanno scopo temporale sovrapposto. Ricordiamo il coefficiente di utilizzazione del processore: ntei U = 1 TA i n = numero di azioni potenzialmente richieste al processore TEi = tempo (max) di esecuzione netto dell'azione i-esima TAi = intervallo (min) tra le attivazioni dell'azione i-esima. La realizzabilità fisica con un solo processore impone che sia U < 1 che è condizione necessaria, ma non sufficiente (dipende dalle politiche di scheduling), perchè possano essere rispettati tutti i vincoli temporali. Cap Sistemi Operativi Real-Time - Lucido 6

8 PARALLELISMO VIRTUALE Carico di lavoro della CPU Per il carico di lavoro imposto da eventi periodici i valori TAi corrispondono ai periodi dei rispettivi eventi, Per le componenti del carico di lavoro imposte da eventi sporadici si può parlare di utilizzazione "media" o "di picco" a seconda che per i vari TAi si adottino i valori medi o minimi (tempo morto) di ripetizione del corrispondente evento sporadico. PARALLELISMO MISTO Un parallelismo che possiamo chiamare misto si realizza con un sistema dotato di più processori: - ogni processore opera in parallelismo fisico con gli altri processori - ogni processore internamente esegue azioni con parallelismo virtuale (sistemi multitasking distribuiti). Per molte applicazioni viene adottata questa struttura. Cap Sistemi Operativi Real-Time - Lucido 7

9 PARALLELISMO VIRTUALE Torniamo a considerare il caso di un sistema con un unico processore. Purchè il coefficiente di utilizzo della CPU sia U < 1 e lo scheduling temporale sia tale da contenere l'esecuzione di ogni azione all'interno del proprio scopo temporale, l'effetto complessivo osservabile è "equivalente" a quello ottenibile da diversi processori in parallelo. Consideriamo temporalmente equivalenti i sistemi in cui: ogni azione rispetta il vincolo temporale della propria deadline (cioè è temporalmente corretta). Ciò è possibile in quanto le specifiche temporali richieste riguardano solo certe azioni delle elaborazioni ed in particolare quasi sempre riguardano solo l'azione conclusiva di emissione del risultato finale. Cap Sistemi Operativi Real-Time - Lucido 8

10 Esempio di funzioni utilità temporale della risposta e bontà del risultato per descrivere l esecuzione di azioni con scopi temporali sovrapposti. preemption fine 1 fine 2 U2 U1 t Funzioni di utilita' temporale della risposta E1 E2 B1 B2 t Te Te Funzioni di bonta' del risultato Evento E2 - trigger di azione A2 Evento E1 - trigger di azione A1 In questa situazione se A2, triggerata quando è già in corso A1, fosse stata rimandata alla conclusione di A1 (quindi senza preemption), A2 non avrebbe rispettato la sua scadenza. Si noti l importanza di un opportuno scheduling temporale e della preemption. Cap Sistemi Operativi Real-Time - Lucido 9

11 PARALLELISMO VIRTUALE La scala dei tempi rispetto a cui si giudica l'equivalenza temporale è quella degli scopi temporali, più grossolana di quella dei tempi di esecuzione di singole istruzioni. Questa differenza consente la virtualizzazione del parallelismo, intercalando opportunamente le esecuzioni delle azioni concorrenti. Come già rilevato, se il carico di lavoro supera complessivamente il valore unitario è inevitabile dover ricorrere ad un sistema più veloce o con più processori. Il parallelismo virtuale presenta una particolare importanza anche nei sistemi multiprocessore (parallelismo misto ): diventano sempre più economici processori molto più potenti di quanto sarebbe richiesto dalla maggior parte delle singole attività e che quindi sarebbero poco sfruttati da una singola attività; le attività assegnate ad uno stesso processore sono favorite nelle reciproche sincronizzazioni e comunicazioni in termini di semplicità ed efficienza, rispetto a quelle assegnate a processori diversi. Cap Sistemi Operativi Real-Time - Lucido 10

12 MODELLI IMPLEMENTATIVI DI PARALLELISMO VIRTUALE 1 - TIME-DRIVEN = Guidato dal tempo La funzionalità di un sistema di automazione può essere scomposta in un insieme di attività concorrenti (che operano in parallelo tra loro). Ogni attività può essere vista come un processo trasformazionale che riceve in ingresso informazioni dal mondo esterno e (idealmente con continuità) produce in uscita informazioni e comandi da emettere verso il mondo esterno. Nella maggior parte delle applicazioni è pensabile che le informazioni in ingresso al sistema di elaborazione siano ottenute mediante una periodica osservazione (campionamento) di stati continui (analogici) e discreti (digitali). L implementazione di ogni attività può essere realizzata da una porzione di programma (che descrive un azione) da eseguire ad ogni campionamento (quindi ciclicamente) per produrre gli effetti richiesti dall attività. Cap Sistemi Operativi Real-Time - Lucido 11

13 Approccio Time-Driven Con l'approccio time-driven ogni attività viene implementata come un esecuzione, ripetuta ad ogni campionamento, di un istanza di una stessa azione che utilizza i valori catturati in ingresso (Ii) ed eventualmente uno stato interno (Si) e produce un valore di uscita (Oi) e l'eventuale nuovo valore dello stato interno (Si+1). Se si adotta lo stesso periodo di campionamento per tutti gli ingressi, si avrà anche lo stesso periodo di ripetizione ciclica delle azioni che realizzano le varie attività. In questo caso (che è quello più usuale): Il SW applicativo con approccio time-driven consiste in un unico processo da eseguire ciclicamente, che contiene in sequenza le parti di programma che realizzano le azioni delle varie attività. Cap Sistemi Operativi Real-Time - Lucido 12

14 TIME-DRIVEN Per stato interno si intende l insieme di variabili interne i cui valori ricordano ciò che è risultato dalle elaborazioni del ciclo attuale e che deve essere utilizzato nel ciclo prossimo, come è necessario per realizzare funzioni sequenziali (o con una dinamica) e non puramente combinatorie. Ad esempio in un algoritmo che implementa un regolatore PID appartengono allo stato interno la variabile che mantiene il valore precedente della misura, necessaria per il calcolo della derivata, e la variabile che mantiene il valore corrente, da aggiornare ad ogni ciclo, dell integrale. Per le funzioni combinatorie non viene utilizzato uno stato interno, dato che i valori prodotti in uscita dipendono solo da quelli in ingresso in quel momento. Cap Sistemi Operativi Real-Time - Lucido 13

15 Time-driven Esempio di attività combinatoria Emissione di un segnale t_alta (di tipo bit on-off) che indichi se l ingresso temperatura supera un valore di soglia...(* azione elementare *) t_alta = (temperatura > soglia)...(* fine azione elementare *) Esempio di attività sequenziale Emissione del valore di conteggio di impulsi nell ingresso pulse, azzerabile con l ingresso reset Lo stato interno comprende le variabili conteggio e precedente...(* azione elementare *) se pulse and not precedente (* rilievo fronte *) allora conteggio = conteggio+1 se reset allora conteggio = 0 precedente = pulse...(* fine azione elementare *) Cap Sistemi Operativi Real-Time - Lucido 14

16 TIME-DRIVEN Supponiamo che si debbano eseguire le attività concorrenti A, B e C con lo stesso periodo di campionamento. È spontaneo organizzare l'esecuzione delle azioni a, b e c come segue: - all'istante T0 si utilizzano i valori I0 e S0 per eseguire le azioni a(0), b(0), c(0) che producono i valori O0 e S1 - all'istante T1 si utilizzano i valori I1 e S1 per eseguire le azioni a(1), b(1), c(1) che producono i valori O1 e S all'istante Ti si utilizzano i valori Ii e Si per eseguire le azioni a(i), b(i), c(i) che producono i valori Oi e Si+1 Cap Sistemi Operativi Real-Time - Lucido 15

17 TIME-DRIVEN Implementativamente Il programma è costituito dalla sequenza a, b, c Il verificarsi dell'evento temporale "scadenza dell'istante Ti" attiva l'esecuzione della sequenza di operazioni: leggi i valori Ii con campionamento in ingresso esegui il programma, cioè le azioni a(i), b(i), c(i) emetti i valori Oi appena calcolati e aggiorna lo stato interno copiando in S i valori Si+1. Questo approccio, di tipo polling, è detto "guidato dal tempo" (timedriven) perchè tutte le azioni sono eseguite solo in base a eventi temporali ed indipendentemente dal verificarsi di altri eventi interni od esterni, che quindi giocano un ruolo passivo. Cap Sistemi Operativi Real-Time - Lucido 16

18 TIME-DRIVEN Con l approccio time-driven è dominante il concetto di stato e il comportamento è di tipo trasformazionale. Con questo approccio gli eventi esterni giocano un ruolo passivo, cioè non provocano direttamente nessuna azione, ma possono essere rilevati (se necessario) deducendoli dalle differenze di valori degli stati campionati in ingresso, rispetto ai valori campionati nel ciclo precedente. Le eventuali sincronizzazioni di operazioni con eventi esterni sono effettuate secondo la modalità a controllo di programma (v. cap. 5) Lo scheduling delle azioni è statico (off-line), dato che il programmatore, con la stesura del programma, decide la sequenza di esecuzione delle azioni nell ambito del ciclo, e non viene quindi effettuata nessuna preemption. Cap Sistemi Operativi Real-Time - Lucido 17

19 TIME-DRIVEN I pregi non trascurabili di questo approccio lo rendono interessante in molte semplici applicazioni e ne hanno fatto il modello di esecuzione tipico dei PLC -- Semplicità: il supporto "run-time" è costituito da un sistema operativo molto ridotto che si limita alle funzioni di lettura degli ingressi, scrittura delle uscite e alla gestione di un temporizzatore di attivazione ciclica del programma. -- Predicibilità: i tempi di esecuzione molto regolari rendono facile verificare se il fattore di utilizzazione del processore è < 1. U = Σ TEi / Tp Condizione sufficiente perchè si possa adottare un approccio timedriven con un singolo processo ciclico è che sia Σ TEi < Tp dove TEi è il tempo netto di esecuzione dell azione i-esima e Tp è il periodo di ciclo. Cap Sistemi Operativi Real-Time - Lucido 18

20 Time-driven Tempo di risposta Con tale ipotesi, detto Tp il periodo di ripetizione ciclica, il tempo di risposta Tr del sistema di elaborazione soddisfa la relazione: Tp < Tr < 2*Tp Il caso peggiore si ha quando un ingresso cambia subito dopo essere stato campionato all inizio del ciclo i-esimo. Le uscite ottenute alla fine del ciclo i-esimo (cioè dopo il tempo Tp) corrisponderanno ancora al vecchio valore di quell ingresso, mentre solo alla fine del ciclo i+1 (quindi dopo un tempo 2*Tp) le uscite terranno conto del nuovo valore. Il corretto comportamento real-time richiede quindi che sia verificata la relazione: 2*Tp <= TDj dove TDj è la più breve deadline, tra tutte le attività Cap Sistemi Operativi Real-Time - Lucido 19

21 TIME-DRIVEN - Tempi di risposta In realtà la validità della relazione precedente è condizionata al verificarsi di almeno una delle seguenti ipotesi più restrittive. Ipotesi a): le azioni ai, bi, ci, ecc. sono tra loro indipendenti In questo caso nessuna delle azioni utilizza dati prodotti da altre azioni e il tempo di risposta Tr non dipende dall ordine con cui le azioni sono eseguite all interno del ciclo. oppure: Ipotesi b): le azioni ai, bi, ci, ecc. presentano relazioni di dipendenza (cioè alcune producono informazioni usate da altre) rappresentabili con un grafo non ciclico e siano eseguite all interno del ciclo di ripetizione in una sequenza che non viola alcuna dipendenza. Anche in questo caso il tempo di risposta soddisfa la relazione Tr < 2*Tp Cap Sistemi Operativi Real-Time - Lucido 20

22 TIME-DRIVEN - Tempi di risposta Le relazioni di dipendenza tra azioni si hanno quando alcune di esse utilizzano dati prodotti da altre. Possiamo rappresentare queste relazioni come in un grafo orientato di tipo data-flow. In particolare il caso b) richiede che tale grafo sia aciclico e ciò rende possibile individuare (e ciò è compito del progettista) almeno una sequenza tale che all interno del ciclo di esecuzione ogni azione sia eseguita dopo tutte quelle che producono i dati che essa utilizza. A B C G F D E Cap Sistemi Operativi Real-Time - Lucido 21

23 TIME-DRIVEN - Tempi di risposta A B C G F D E Il grafo è aciclico, e quindi esiste almeno una sequenza di azioni che non introduce ritardi ulteriori. Soddisfano a questo requisito ad esempio le sequenze: A-B-D-C-F-G-E D-G-A-F-B-C-E nelle quali ogni azione è preceduta da tutte quelle da cui riceve dati e seguita da tutte quelle cui fornisce dati. Cap Sistemi Operativi Real-Time - Lucido 22

24 TIME-DRIVEN - Tempi di risposta Si noti bene che azioni che presentano un grafo di dipendenze ciclico non costituiscono un errore di progetto, anzi sono la situazione tipica delle reti sequenziali con retroazione e quindi memoria interna (stati interni). Gli stati interni prossimi vengono copiati negli stati interni attuali solo alla fine di ogni ciclo. Gli archi che rappresentano variabili di stato interno da utilizzarsi nel ciclo successivo, non vanno quindi considerati come un vincolo di dipendenza all interno di un ciclo. Semplicemente in questi casi i valori degli ingressi non influenzano solo la prossima uscita entro il tempo 2*Tp, ma anche le uscite in tempi successivi. Cap Sistemi Operativi Real-Time - Lucido 23

25 TIME-DRIVEN Il difetto principale dell approccio ciclico, è costituito dalla notevole rigidità che si può attribuire ai due aspetti seguenti: Tutte le informazioni di ingresso godono dello stesso trattamento temporale, indipendentemente dalla loro urgenza e criticità, obbligando il progettista ad adottare la cadenza imposta dalle attività (Aj) più critiche (2*Tp < TDj) anche per tutte le altre, con uno scarso sfruttamento della CPU. Tutte le attività devono essere ricondotte alla forma di ripetizione ciclica degli stessi calcoli. Questo rende talvolta macchinoso realizzare costrutti di controllo come quelli dei linguaggi di alto livello orientati al software. Inoltre si nota facilmente come i principi di alta coesione e basso accoppiamento, caratteristici di una buona modularità, siano decisamente disattesi, almeno nella forma. Cap Sistemi Operativi Real-Time - Lucido 24

26 TIME-DRIVEN In realtà con questa tecnica di programmazione ciclica si assume, come accennato, una visione più vicina alle strutture hardware, di impostazione "dichiarativa", piuttosto che alle sequenze software generalmente orientate al paradigma "imperativo" (v ). Questo aspetto è considerabile come positivo in certi settori applicativi, tipicamente di semplici automazioni, e per le attitudini dei relativi tecnici e progettisti, come l'evoluzione dei PLC (Programmable Logic Controller) ha dimostrato. Altre considerazioni sull'approccio time-driven si trovano nel capitolo dedicato ai PLC. Cap Sistemi Operativi Real-Time - Lucido 25

27 Multitasking Event-Driven Le azioni sono eseguite ognuna da un processo (task o thread) che viene attivato da eventi esterni o da eventi temporali. Gli eventi assumono quindi un ruolo attivo Poichè agli eventi sono associate delle informazioni (dati) questo approccio si può chiamare anche data-driven Le sincronizzazioni con gli eventi sono tipicamente basate sul meccanismo dell interrupt (v. cap. 5) Evento -> sync 1 -> ISR -> sync 2 -> Processo Per il rispetto di vincoli temporali occorre una politica di scheduling Questo approccio è più complesso ma anche più generale, e può adottare al suo interno anche task con esecuzione time-driven. Cap Sistemi Operativi Real-Time - Lucido 26

28 Un semplice esempio Per confrontare le diverse forme che assume la stessa funzionalità realizzata secondo le diverse tecniche implementative time-driven e event-driven, presentiamo un semplicissimo esempio. Supponiamo di voler realizzare la funzione di temporizzazione non retriggerable one-shot presentata come Temporizzazione a durata nel cap.6, cioè dopo ogni fronte di salita dell ingresso IN vogliamo generare in uscita un impulso di durata DT, come descritto dalle seguenti forme d onda. IN OUT DT Cap Sistemi Operativi Real-Time - Lucido 27

29 VERSIONE TIME-DRIVEN (ciclica trasformazionale) Supponiamo di usare le variabili PREV (variabile di stato interno) per rappresentare il valore dell ingresso nel campionamento precedente, PRES per il valore di stato appena campionato. Queste variabili serviranno per dedurre gli eventi. TIMER.START, che può essere vista come un registro di comando del timer, ne lancia la temporizzazione (non retriggerabile), TIMER.OUT rappresenta il registro di stato del timer che ne fornisce il valore in uscita (TRUE durante il tempo di durata). La sequenza è ripetuta ciclicamente con periodo PERIOD. EVERY PERIOD DO PREV = PRES PRES = IN TIMER.START = PRES AND NOT PREV OUT = TIMER.OUT END Cap Sistemi Operativi Real-Time - Lucido 28

30 Rappresentazione a struttura circuitale tipo data-flow Si noti la corrispondenza con una descrizione con paradigma dichiarativo, di tipo hardware. INPUT CYCLE D Q PRES D Q PREV NOT OUT OUTPUT CK CK AND TIMER START Cap Sistemi Operativi Real-Time - Lucido 29

31 VERSIONE EVENT-DRIVEN (REATTIVA) Riportato nel seguito codificato in un linguaggio pseudo-c, nella forma (improbabile ma esemplificativa) a controllo di programma nella forma ad interrupt e primitive di Sistema Operativo. Event Driven a Controllo di programma La funzione input(in) riporta il valore LOW o HIGH dell ingresso IN. TIMER vale TRUE durante la temporizzazione di durata DT do { while (input(in) == LOW) { } // ciclo attesa StartTimer(DT); output(out, HIGH); while (TIMER) { } // ciclo attesa output(out, LOW); while(input(in) == HIGH) { } } while (FOREVER); // ciclo attesa Cap Sistemi Operativi Real-Time - Lucido 30

32 Event Driven con primitive (interrupt) Si suppone che i fronti di salita e di discesa del segnale di ingresso generino delle richieste di interrupt che a loro volta generano (sincronizzazione di secondo livello) gli eventi fronte_salita e fronte_discesa. do { wait (fronte_salita) output(out, HIGH); wait_time (DT) output(out, LOW); wait (fronte_discesa) } while (FOREVER); Cap Sistemi Operativi Real-Time - Lucido 31

33 Rappresentazione a sequenza Questo approccio, che segue un paradigma imperativo, presenta una facile corrispondenza con descrizioni come automa o come SFC. AUTOMA A STATI 0 OUT = LOW INPUT HIGH INPUT LOW 1 OUT = HIGH 2 TIME EXPIRES OUT = LOW Cap Sistemi Operativi Real-Time - Lucido 32

34 Rappresentazione a sequenza (*) SFC (GRAFCET) IN = H IG H START TIM ER TRUE OUT HIGH DT EXPIRES OUT LOW IN = LO W Cap Sistemi Operativi Real-Time - Lucido 33

35 Considerazioni sulle tecniche presentate L'approccio guidato dagli eventi costituisce il caso più generale (considerando eventi temporali, esterni e interni) può supportare al suo interno anche sottoinsiemi di attività impostate secondo gli schemi precedenti (processi time-driven), fornendo quindi la massima flessibilità progettuale anche se a costo di una problematica molto più articolata e complessa. In particolare un'applicazione complessa potrà comprendere: un sottoinsieme di attività cicliche di controllo e supervisione (trasformazionali) i cui vincoli temporali consistono sostanzialmente in un attivazione ciclica regolare, adatte ad una gestione di tipo time-driven; alcune azioni di tipo reattivo a eventi sporadici e con vincoli temporali sui tempi di risposta, per cui è conveniente una gestione event-driven; attività di sottofondo senza particolari vincoli temporali che utilizzano in modo execution-driven i tempi lasciati liberi dalle attività precedenti. Cap Sistemi Operativi Real-Time - Lucido 34

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

Gestione della memoria centrale

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

Dettagli

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

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

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

Sistemi di Automazione Industriale

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

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

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

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

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

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

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Dispensa di Informatica I.1

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

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

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

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

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Architettura di un calcolatore

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

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Concetti di base di ingegneria del software

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

Dettagli

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

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

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

Architetture Applicative

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

Dettagli

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

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

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

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

Dettagli

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

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

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

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

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

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

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Dettagli

Esame di Stato 2015. Materia: SISTEMI AUTOMATICI PRIMA PARTE

Esame di Stato 2015. Materia: SISTEMI AUTOMATICI PRIMA PARTE Esame di Stato 2015 Materia: SISTEMI AUTOMATICI PRIMA PARTE Il problema proposto riguarda un sistema di acquisizione dati e controllo. I dati acquisiti sono in parte di natura digitale (misura del grado

Dettagli

Circuiti sequenziali e elementi di memoria

Circuiti sequenziali e elementi di memoria Il Livello Logicoigitale I circuiti sequenziali Corso ACSO prof. Cristina SILVANO Politecnico di Milano Sommario Circuiti sequenziali e elementi di memoria Bistabile SR asincrono Temporizzazione e clock

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

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)

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

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura

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

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

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

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

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

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

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

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Reti sequenziali. Esempio di rete sequenziale: distributore automatico. Reti sequenziali 1 Reti sequenziali Nelle RETI COMBINATORIE il valore logico delle variabili di uscita, in un dato istante, è funzione solo dei valori delle variabili di ingresso in quello stesso istante.

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

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

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

Laboratorio di Pedagogia Sperimentale. Indice

Laboratorio di Pedagogia Sperimentale. Indice INSEGNAMENTO DI LABORATORIO DI PEDAGOGIA SPERIMENTALE LEZIONE III INTRODUZIONE ALLA RICERCA SPERIMENTALE (PARTE III) PROF. VINCENZO BONAZZA Indice 1 L ipotesi -----------------------------------------------------------

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

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

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

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

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Esercitazione E1 Scheduling, deadlock, monitor

Esercitazione E1 Scheduling, deadlock, monitor Esercitazione E1 Scheduling, deadlock, monitor Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E1-1 Scheduling I cinque processi A,B,C,D,E richieste di CPU si presentano nell ordine. Le loro richieste

Dettagli

Macchine sequenziali

Macchine sequenziali Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di

Dettagli

INFORMATICA 1 L. Mezzalira

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

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

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

leaders in engineering excellence

leaders in engineering excellence leaders in engineering excellence engineering excellence Il mondo di oggi, in rapida trasformazione, impone alle imprese di dotarsi di impianti e macchinari più affidabili e sicuri, e di più lunga durata.

Dettagli

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali Introduzione Sistemi Informativi Linguaggi per la modellazione dei processi aziendali Paolo Maggi Per progettare un sistema informativo è necessario identificare tutti i suoi elementi

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Sistemi Operativi. Conclusioni e nuove frontiere

Sistemi Operativi. Conclusioni e nuove frontiere Sistemi Operativi (modulo di Informatica II) Conclusioni e nuove frontiere Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione futura

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

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

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

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento. Sommario Analysis & design delle applicazioni parallele Misura delle prestazioni parallele Tecniche di partizionamento Comunicazioni Load balancing 2 Primi passi: analizzare il problema Prima di iniziare

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

Chapter 1. Circuiti sequenziali: macchine a stati

Chapter 1. Circuiti sequenziali: macchine a stati Chapter 1 Circuiti sequenziali: macchine a stati Nella prima parte del corso ci siamo occupati dei circuiti combinatori. In un circuito combinatorio con un ouput Z funzione degli input X 1 ; : : : X n,

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

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli