ARCHITETTURE SOFTWARE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARCHITETTURE SOFTWARE"

Transcript

1 1 ESECUZIONE DI APPLICAZIONI SU SISTEMI EMBEDDED INTRODUZIONE AI SO EMBEDDED INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE ROUND ROBIN INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE ROUND ROBIN WITH INTERRUPTS INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA FUNCTION QUEUE SCHEDULING INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: CENNI DI SISTEMI OPERATIVI REAL-TIME 2 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE ROUND ROBIN

2 ARCHITETTURE SOFTWARE 3 IN RELAZIONE AL FUNZIONAMENTO REALE DELLE APPLICAZIONI SU SISTEMI EMBEDDED IL COMPORTAMENTO DELLE APPLICAZIONI VISTE FINORA NON ERA REALISTICO L'ARCHITETTURA SOFTWARE PREVEDEVA INFATTI L'ESECUZIONE DI UN CERTO NUMERO DI TASK DOPODICHE' L'APPLICAZIONE SI CONSIDERAVA CONCLUSA. NELLE APPLICAZIONI REALI IL SISTEMA FUNZIONA A PARTIRE DALL'ACCENSIONE FINO AL VENIR MENO DELL'ALIMENTAZIONE O FINO AL RESET. VEDREMO LE ARCHITETTURE SOFTWARE DI BASE TRAMITE LE QUALI E' IMPLEMENTATO TALE FUNZIONAMENTO, A PARTIRE DALLE PIU' SEMPLICI IN ASSOLUTO, FINO AD ARRIVARE AI SISTEMI OPERATIVI REAL TIME (CENNI) VEDREMO NEL DETTAGLIO I 2 ESEMPI PIU' SEMPLICI DI ARCHITETTURA SOFTWARE PER SISTEMI EMBEDDED: ROUND ROBIN ROUND ROBIN CON INTERRUPTS ARCHITETTURA SOFTWARE ROUND ROBIN 4 LA PIU' SEMPLICE ARCHITETTURA SOFTWARE POSSIBILE E' DEFINITA ROUND ROBIN CONSISTE IN UN LOOP INFINITO CHE SI OCCUPA DI INTERROGARE A TURNO (POLLING) CIASCUNA DELLE PERIFERICHE DI I/O E DI ESEGUIRE LE ROUTINE ASSOCIATO OGNI QUALVOLTA SIA NECESSARIO void _main( void ) { while(1) { if (!! la periferica di I/O A deve essere servita ) {!! preleva/spedisci i dati della periferica di I/O A;!! processa i dati della periferica di I/O A; if (!! la periferica di I/O A deve essere servita ) {!! preleva/spedisci i dati della periferica di I/O Z;!! processa i dati della periferica di I/O Z;

3 5 APPLICAZIONE DI ESEMPIO (ES0_S3) APPLICAZIONE DI ESEMPIO 6 void _main( void ) { int CH0_IN_var, CH1_IN_var, CH0_OUT_var; int i, *p_reg_ch0_in, *p_reg_ch1_in, *p_reg_ch0_out; p_reg_ch0_in = (int*) 0x4000; p_reg_ch1_in = (int*)0x4004; p_reg_ch0_out = (int*)0x4008; while( 1) { CH0_IN_var = get_input(p_reg_ch0_in); // acquisisce la temperatura CH1_IN_var = get_input(p_reg_ch1_in); // acquisisce l'umidita if( CH0_IN_var > 42 ){ send2out( 0, p_reg_ch0_out) ; send2out(ch0_in_var, p_reg_ch0_out) ; if( CH1_IN_var > 900 ){ send2out(0, p_reg_ch0_out) ; send2out(ch1_in_var, p_reg_ch0_out) ;

4 ARCHITETTURA SOFTWARE ROUND ROBIN 7 L'ARCHITETTURA SW RR, RISPETTO ALLE ALTRE TIPOLOGIE DI ARCHITETTURA, HA IL VANTAGGIO DI ESSERE LA PIU' SEMPLICE, PRESENTA PERO' LIMITI NOTEVOLI. L'ARCHITETTURA SW RR FUNZIONA BENE NEI SISTEMI CHE VERIFICHINO CONTEMPORANEAMENTE LE SEGUENTI CONDIZIONI: POCHE PORTE DI I/O ELABORAZIONI NON PARTICOLARMENTE LUNGHE VINCOLI DI TEMPI DI RISPOSTA IN INPUT/OUTPUT NON STRINGENTI NEL CASO UNO DEGLI INGRESSI RICHIEDA DEI TEMPI DI RISPOSTA INFERIORI AL TEMPO DI RISPOSTA DEL SISTEMA NEL CASO PEGGIORE, IL SISTEMA NON FUNZIONA E' SUFFICIENTE CHE UNO SOLO DEI TASK ABBIA UNA DURATA ELEVATA, AFFINCHE' IL SISTEMA DIVENTI PRATICAMENTE INSERVIBILE, PUR CONTINUANDO A FUNZIONARE LA STRUTTURA DEL SW NON E' ROBUSTA: PUO' ESSERE SUFFICIENTE L'INSERIMENTO DI UNA NUOVA PERIFERICA DA GESTIRE PER MODIFICARE LA RISPOSTA TEMPORALE COMPLESSIVA IN MANIERA INACCETTABILE 8 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPTS

5 ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPT 9 LA PRIMA ARCHITETTURA ALTERNATIVA CHE VEDIAMO E' LA RR + INT PRESENTA UN INCREMENTO DI COMPLESSITA' MA OFFRE VANTAGGI SOSTANZIALI LA STRUTTURA DELL'ARCHITETTURA PREVEDE CHE: LE ROUTINE DI INTERRUPT (INTERRUPT SERVICE ROUTIN - ISR)SI OCCUPINO DI SERVIRE LE INCOMBENZE URGENTI LEGATE ALLE PERIFERICHE DI I/O SETTANDO DEI FLAG OGNI QUALVOLTA VIENE ACQUISITO/SPEDITO UN DATO IL LOOP PRINCIPALE INTERROGA I FLAG ASSOCIATI ALLE ROUTINE DI INTERRUPT ED ESEGUE LE ELABORAZIONI ASSOCIATE SOLO QUANDO NECESSARIO VIENE INTRODOTTO UNA PRIORITA' NELLA GESTIONE DEI TASK LA GESTIONE DI DATI SOTTO INTERRUPT PONE IL PROBLEMA DELLA GESTIONE DI DATI CONDIVISI FRA ROUTINE DI INTERRUPT E APPLICAZIONE PRINCIPALE: SHARED DATA PROBLEM ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPT SCHEMA DELL'ARCHITETTURA SW BOOL FdeviceA = false;.. BOOL FdeviceZ = false; void interrupt HandleDeviceA {!! preleva/spedisci i dati della periferica di I/O A; FdeviceA = true;... void interrupt HandleDeviceZ {!! preleva/spedisci i dati della periferica di I/O A; FdeviceZ = true; void _main( void ) { while(1) { if ( FdeviceA) { FdeviceA = false;!! processa i dati della periferica di I/O A;... if ( FdeviceZ) { FdeviceZ = false;!! processa i dati della periferica di I/O Z; 10

6 ARCHITETTURE SOFTWARE 11 PRIORITA' RR + INT: SHARED-DATA PROBLEM 12 VIENE DEFINITA IN QUESTO MODO LA PROBLEMATICA LEGATA AI MALFUNZIONAMENTI CAUSATI DALL'ACCESSO ASINCRONO AI DATI DI PROGRAMMA PRINCIPALE E ROUTINE DI INTERRUPT PER MEGLIO CAPIRE IL PROBLEMA UTILIZZIAMO UN ESEMPIO SUPPONIAMO DI UTILIZZARE UN SISTEMA EMBEDDED PER ACQUISIRE DEI VALORI FISICI DI TEMPERATURA DA DEI SENSORI POSTI IN DIVERSI PUNTI DI UN REATTORE NUCLEARE SEGNALARE UN ALLARME SE LE TEMPERATURE ACQUISITE NON SONO UGUALI LA PRIMA ATTIVITA' VIENE ESEGUITA SOTTO INTERRUPT LA SECONDA NELLA ROUTINE PRINCIPALE SUPPONIAMO DI GESTIRE 2 SOLI SENSORI E OMETTIAMO PER SEMPLICITA' ANCHE LA GESTIONE DEI FLAG

7 RR + INT: SHARED-DATA PROBLEM 13 static int temperature[2] static int* preg0 Reg0Addr; static int* preg1 Reg1Addr; void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; void _main( void ) { int temp1, temp2; while(1) { temp0 = temperature[0]; INTERRUPT temp1 = temperature[1]; if (temp0!= temp1)!! segnala condizione di allarme; RR + INT: SHARED-DATA PROBLEM 14 NEL CASO SI PRESENTINO ENTRAMBE LE SEGUENTI CONDIZIONI: SI VERIFICA UN INTERRUPT FRA L'ESECUZIONE DELLE 2 ISTRUZIONI CHE ASSEGNANO I VALORI DI TEMPERATURA ALLE 2 VARIABILI temp0 E temp1 LE TEMPERATURE RILEVATE DAI 2 SENSORI, PUR RIMANENDO UGUALI FRA LORO, SONO CAMBIATE RISPETTO ALLE ULTIME RILEVATE SI VERIFICA UNA CONDIZIONE DI ALLARME INGIUSTIFICATA!!!!!

8 RR + INT: SHARED-DATA PROBLEM 15 SI PUO' TENTARE DI ELIMINARE IL PROBLEMA OTTIMIZZANDO IL SOFTWARE NON SERVE PERCHE' LE ROUTINE DI INTERRUPT POSSONO INTERROMPERE IL PROGRAMMA FRA 2 DELLE ISTRUZIONI ASSEMBLY CHE IMPLEMENTANO IL TEST DI UGUAGLIANZA... void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; void _main( void ) { INTERRUPT while(1) { if (temperature[0]!= temperature[1])!! segnala condizione di allarme; RR + INT: SHARED-DATA PROBLEM 16 IL PROBLEMA SI VERIFICA QUANDO L'INTERRUPT E IL PROGRAMMA PRINCIPALE CONDIVIDONO DEI DATI, E IL PROGRAMMA PRINCIPALE UTILIZZA QUESTI DATI IN MANIERA NON ATOMICA IL PEZZO DI CODICE LA CUI INTERRUZIONE PUO' GENERARE IL PROBLEMA VIENE DEFINITO CRITICAL SECTION. PER RISOLVERE IL PROBLEMA E' POSSIBILE SFRUTTARE LA POSSIBILITA' DI DISABILITARE GLI INTERRUPT void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; void _main( void ) { int temp1, temp2; while(1) { disable_int(); temp0 = temperature[0]; temp1 = temperature[1]; enable_int(); if (temp0!= temp1)!! segnala condizione di allarme; CRITICAL SECTION

9 ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPT 17 LO SVANTAGGIO PRINCIPALE DELLA ARCHITETTURA RR+INT (OLTRE AL FATTO CHE RISULTA PIU' COMPLESSA DELLA RR SEMPLICE) E' CHE TUTTI I TASK DEL PROGRAMMA PRINCIPALE VENGONO GESTITI CON LA STESSA PRIORITA' SUPPONIAMO DI AVERE 3 TASK (A, B E C) GESTITI NEL PROGRAMMA PRINCIPALE ESEGUITI NELL'ORDINE A,B,C. NEL CASO SI VERIFICHINO TUTTI E 3 GLI INTERRUPT ALL'INIZIO DELL'ESECUZIONE DELLA ROUTINE PRINCIPALE PRIMA DI INIZIARE L'ESECUZIONE DI A, IL TEMPO DI ATTESA PRIMA DI POTER ESEGUIRE IL TASK C E' PARI ALLA SOMMA DEI TEMPI DI ESECUZIONE DEI TASK A E B, PIU' I TEMPI DI ESECUZIONE DELLE ROUTINE DI INTERRUPT. CIO' POTREBBE ESSERE NON ACCETTABILE PER LE SPECIFICHE DI TEMPORIZAZIONE DEL TASK C. IN QUESTO CASO SI POTREBBE SPOSTARE LA SEZIONE DI CODICE CHE DEFINISCE IL TASK C SOTTO INTERRUPT COME EFFETTO COLLATERALE OTTENGO PERO' CHE IL TEMPO DI RISPOSTA MASSIMO PER GLI ALTRI 2 TASK (A E B) SI INCREMENTA DI UNA QUANTITA' PARI AL TEMPO DI ESECUZIONE DEL TASK C, E CIO' POTREBBE ESSERE A SUA VOLTA NON ACCETTABILE UN ALTRO SVANTAGGIO FONDAMENTALE E' LA POCA STABILITA' DEL CODICE: MODIFICANDO IL CODICE DI UN TASK SI INFLUENZA IL TEMPO DI RISPOSTA DEGLI ALTRI ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPT 18 NEL CASO DI SEQUENZA DI ESECUZIONE DEI TASK NEL PROGRAMMA PRINCIPALE CHE ESEGUA IN SUCCESSIONE TUTTI I TASK, IL TEMPO DI RISPOSTA DNEL CASO PEGGIORE PER UN TASK E' PARI ALLA SOMMA DEI TEMPI DI ESECUZIONE DI CIASCUNO DEGLI ALTRI TASK PIU' LA SOMMA DEI TEMPI DI ESECUZIONE DI TUTTE LE ROUTINE DI INTERRUPT UN'ALTRA ALTERNATIVA POTREBBE ESSERE USARE UNA SEQUENZA DI ESECUZIONE DEI TASK NEL PROGRAMMA PRINCIPALE CHE PRIVILEGI IL TASK C: C,A,C,B, C,A,C,B, C,A,C,B, QUESTA SOLUZIONE RIDURREBBE IL TEMPO DI ATTESA MINIMO PER C AL MASSIMO FRA I TEMPO DI ESECUZIONE DEI TASK A E B, AL COSTO DI UN AUMENTO DEL TEMPO MASSIMO DI RISPOSTA PER A E B, CHE VERREBBE AUMENTATO DI UN TERMINE C. IN CONCLUSIONE UTILIZZANDO UNA ARCHITETTURE DI TIPO RR+INT SI PUO' TENTARE DI GESTIRE LE SPECIFICHE DI TEMPORIZZAZIONE SUI TASK TRAMITE OTTIMIZZAZIONI DEL CODICE O SPOSTAMENTI DI SEZIONI DI CODICE FRA ROUTINE INTERRUPT E PROGRAMMA PRINCIPALE, MA SI VA INCONTRO A PESANTI EFFETTI COLLATERALI E IL CODICE RISULTANTE RIMANO POCO STABILE RIDUCENDO IL TEMPO DI RISPOSTA DI CASO PEGGIORE PER UN TASK, SI INCREMENTA QUELLO PER TUTTI GLI ALTI TASK

10 19 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE FUNCTION QUEUE SCHEDULING ARCHITETTURA SOFTWARE FUNCTION QUEUE SCHEDULING QUESTA ARCHITETTURA PREVEDE CHE CIASCUNA ROUTINE DI INTERRUPT COMNICHI AL PROGRAMMA PRINCIPALE L'AVVENUTA ESIGENZA DI ESEGUIRE IL TASK DI ELABORAZIONE ASSOCIATO, NON SETTANDO UN FLAG, MA INSERENDO (PUSH) UN PUNTATORE AL TASK ASSOCIATO ALLA ROUTINE DI INTERRUPT IN UNA CODA DI PUNTATORI A FUNZIONI IL PROGRAMMA PRINCIPALE LEGGE DALLA CODA IL PUNTATORE AD UNA FUNZIONE ED ESEGUE IL TASK STESSO IL TRUCCO STA NEL FATTO CHE NESSUNA REGOLA MI DICE CHE DEVO PER FORZA LEGGERE DALLA CODA LE FUNZIONI NELL'ORDINE IN CUI VI SONO STATE INSERITE POSSO QUINDI PRIVILEGIARE (IN MANIERA ORDINATA E SISTEMATICA) I TASK CON UNA PRIORITA' MAGGIORE POSSO ADDIRITTURA MODIFICARE LA PRIORITA' A TEMPO DI ESECUZIONE ADATTANDOMI AD EVENTUALI MODIFICHE DELLE CONDIZIONI AL CONTORNO IN MANIERA DINAMICA IL TEMPO DI RISPOSTA DI CASO PEGGIORE PER IL TASK CON PRIORITA' PIU' ELEVATA E' PARI AL TEMPO DI ESECUZIONE DEL TASK PIU' LENTO PIU' LA SOMMA DEI TEMPI DI ESECUZIONE DELLE ROUTINE DI INTERRUPT (COME PER RR+INT) PERMANE, ANCHE SE RIDOTTO, IL PROBLEMA DELLA POCA STABILITA' DEL CODICE: MODIFICANDO IL CODICE DI UN TASK SI INFLUENZA IL TEMPO DI RISPOSTA DEGLI ALTRI 20

11 21 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE REAL TIME OPERATING SYSTEM ARCHITETTURA SOFTWARE RT OS 22 QUESTA ARCHITETTURA (COME LE ALTRE VISTE FINORA) PREVEDE CHE LE ROUTINE DI INTERRUPT SI OCCUPINO DEI DELLE OPERAZIONI PIU' URGENTI (QUELLE LEGATE ALL'I/O) LE ROUTINE DI INTERRUPT SEGNALINO L'AVVENUTA NECESSITA' DI ESEGUIRE IL TASK ASSOCIATO A QUELLA ROUTINE DI INT LA DIFFERENZE RISPETTO AI CASI PRECEDENTI SONO LE SEGUENTI: 1. LA COMUNICAZIONE FRA ROUTINE DI INTERRUPT E TASK DEL PROGRAMMA PRINCIPALE ASSOCIATO VIENE GESTITA DAL SISTEMA OPERATIVO 2. LA SEQUENZA DI ESECUZIONE DEI TASK E' GESTITA DAL SISTEMA OPERATIVO, NON CI SONO LOOP O CODE O ALTRO GESTITI IN MANIERA ESPLICITA DAL PROGRAMMATORE. IL CODICE DEL RT OS SI OCCUPA DELLO SCHEDULING DEI TASK, GESTENDO LE PRIORITA' DI ESECUZIONE NELLA MANIERA PIU' APPROPRIATA 3. IL RT OS PUO' SOSPENDERE L'ESECUZIONE DI UN TASK PER ESEGUIRNE UN ALTRO

12 ARCHITETTURA SOFTWARE RT OS 23 LE PRIME 2 DIFFERENZE FORNISCONO DEI VANTAGGI LEGATI SOPRATTUTTO ALLA MODALITA' DI PROGRAMMAZIONE LA TERZA DIFFERENZA (L'INTERROMPIBILITA' DEI TASK DA PARTE NON SOLO DELLE ROUTINE DI INTERRUPT, MA ANCHE DA PARTE DI ALTRI TASK), E' SOSTANZIALE: UN'ARCHITETTURA SOFTWARE BASATA SU RT OS DA LA POSSIBILITA DI GESTIRE UNA PRIORITA' DI ESCUZIONE SISTEMATICA NON SOLO DELLE ROUTINE DI INTERRUPT, MA ANCHE DEI TASK DEL PROGRAMMA PRINCIPALE IL TEMPO DI RISPOSTA DI CASO PEGGIORE PER IL TASK A PRIORITA' PIU' ELEVATA SI RIDUCE ALLA SOMMA DEI TEMPI DI ESECUZIONE DELLE ROUTINE DI INTERRUPT QUESTO RENDE FINALMENTE L'ARCHITETTURA SW ROBUSTA: MODIFICANDO IL CODICE DI UN TASK NON INFLUENZO IL TEMPO DI RISPOSTA DI QUELLI A PRIORITA' SUPERIORE UN'ALTRO VANTAGGIO CONSIDEREVO DEI RT OS E' CHE SONO REPERIBILI SUL MERCATO. IN QUESTO MODO E' POSSIBILE RIDURRE I TEMPI DI SVILUPPO A COSTI RAGIONEVOLI O ADDIRITTURA NULLI (CODICE FREEWARE), SOPRATTUTTO IN CASO DI UTILIZZO DELLO STESSO RT OS PER APPLICAZIONI DIVERSE LO SVANTAGGIO PRINCIPALE LEGATO ALL'UTILIZZO DI UN RT OS E' LEGATO AL FATTO CHE L'OS STESSO UTILIZZA UNA CERTA QUANTITA' DI TEMPO DI ELABORAZIONE ARCHITETTURE SOFTWARE 24 PRIORITA'

13 ARCHITETTURE SOFTWARE TABELLA RIASSUNTIVA 25

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED 1 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED ROUND ROBIN ROUND ROBIN CON INTERRUPT FUNCTION QUEUE SCHEDULING REAL TIME OPERATING SYSTEMS (RTOS) INTERRUPT PROGRAMMATI: TIMER INTRODUZIONE 2 In relazione

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

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

Dettagli

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

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software

Dettagli

Gestione del processore e dei processi

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

Dettagli

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 tipo di dato astratto Pila

Il tipo di dato astratto Pila Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:

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

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

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

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Sistemi di Controllo Real Time

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

Dettagli

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

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

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

Algoritmi di scheduling

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

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

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

Dettagli

MODELLISTICA DI IMPIANTI E SISTEMI 2

MODELLISTICA DI IMPIANTI E SISTEMI 2 MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi

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

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

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

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

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

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

Dettagli

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

Introduzione alla Virtualizzazione

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

Dettagli

Scheduling della CPU:

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

Dettagli

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

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

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

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

J. Assfalg Appunti di Sistemi Operativi

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

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

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

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

Mac Application Manager 1.3 (SOLO PER TIGER)

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

Dettagli

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

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

Dettagli

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

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

Monitor. Introduzione. Struttura di un TDA Monitor

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

Dettagli

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

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

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

Dettagli

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

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

Dettagli

Indaco. Industrial Data Collection

Indaco. Industrial Data Collection Industrial Data Collection Indaco Indaco è un programma sviluppato da Indaco Project interamente in ambiente web. Si tratta di un applicazione MES (Manufacturing Execution System), ovvero un sistema informatizzato

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

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Lo Scheduling Real Time in Linux. Universita degli studi di Roma La Sapienza Ivan Gualandri Matricola 693512 Relatore: Giorgio Richelli

Lo Scheduling Real Time in Linux. Universita degli studi di Roma La Sapienza Ivan Gualandri Matricola 693512 Relatore: Giorgio Richelli Lo Scheduling Real Time in Linux Universita degli studi di Roma La Sapienza Ivan Gualandri Matricola 693512 Relatore: Giorgio Richelli Scopo Motivazione Obiettivi 1) Lo scopo di questo progetto è presentare

Dettagli

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

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

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Implementazione di sistemi real time

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

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

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

Dettagli

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

INNOVAZIONE XNOTTA PER PORTALI TURISTICI INNOVAZIONE XNOTTA PER PORTALI TURISTICI 1. Introduzione La nostra attività è partita dall esame dei sistemi di gestione dei Portali turistici; tutti hanno pensato ad una ottima interfaccia, ad un buon

Dettagli

Lo scheduling. Tipici schedulatori

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

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

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

Dettagli

Introduzione alle architetture per il controllo dei manipolatori

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

Dettagli

Il costrutto monitor [Hoare 74]

Il costrutto monitor [Hoare 74] Il monitor 1 Il costrutto monitor [Hoare 74] Definizione: Costrutto sintattico che associa un insieme di operazioni (entry, o public) ad una struttura dati comune a più processi, tale che: Le operazioni

Dettagli

Esempio: aggiungere j

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

Dettagli

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

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

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

DTI / ISIN / Titolo principale della presentazione. La cena dei filosofi. Amos Brocco, Ricercatore, DTI / ISIN. 14 maggio 2012

DTI / ISIN / Titolo principale della presentazione. La cena dei filosofi. Amos Brocco, Ricercatore, DTI / ISIN. 14 maggio 2012 DTI / ISIN / Titolo principale della presentazione 1 La cena dei filosofi Amos Brocco, Ricercatore, DTI / ISIN 14 maggio 2012 Il problema dei filosofi a cena Il problema dei filosofi a cena Il problema:

Dettagli

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

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

Dettagli

Corso PLC - Manuale Pratico 1

Corso PLC - Manuale Pratico 1 Corso PLC - Manuale Pratico 1 "!#$ % L'unità centrale di un PLC, chiamata più semplicemente CPU, normalmente occupa il primo modulo del rack. Si individua subito in quanto tipicamente è dotata di un selettore,

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

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

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in base alle necessità di chiarezza emerse nell utilizzo della precedente versione e per meglio armonizzarla con la ISO 14001:04. Elemento

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

Java Virtual Machine

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

Dettagli

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

Ata_NiAg02. Modulo Gestione Agenti

Ata_NiAg02. Modulo Gestione Agenti Ata_NiAg02 Modulo Gestione Agenti Il software NiAg02 consente alle aziende che utilizzano il software gestionale ATA di gestire in maniera totalmente automatizzata l acquisizione ordini e/o clienti dalla

Dettagli

Stampe in rete Implementazione corretta

Stampe in rete Implementazione corretta NETWORK PRINT SERVERS Articolo Stampe in rete Implementazione corretta Created: June 3, 2005 Last updated: June 3, 2005 Rev:.0 INDICE INTRODUZIONE 3 INFRASTRUTTURA DELLE STAMPE IN RETE 3. Stampa peer-to-peer

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Le tecniche di ridondanza

Le tecniche di ridondanza Le tecniche di ridondanza Fulvio Corno, Maurizio Rebaudengo, Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Introduzione Introducendo ridondanza nel sistema se ne accrescono

Dettagli

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

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

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

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Standard per Reti a Pacchetto Principali standard

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

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

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

DIMINUIRE I COSTI CON IL SISTEMA QUALITA

DIMINUIRE I COSTI CON IL SISTEMA QUALITA DIMINUIRE I COSTI CON IL SISTEMA QUALITA Lo so che è un argomento impopolare; la mia tesi è che si puo' usare un sistema qualità per abbassare i costi invece che fabbricare carte false. L idea mi è venuta

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

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

Dettagli

Manuale Operativo Risk Manager

Manuale Operativo Risk Manager Manuale Operativo Risk Manager Principali Caratteristiche Il Tool Risk Manager, nasce per l esigenza di assistere il trader, in tutto il processo che regola la gestione del proprio capitale ed operatività.

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

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

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

Dettagli

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