INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED
|
|
- Benedetta Ventura
- 8 anni fa
- Visualizzazioni
Transcript
1 1 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED ROUND ROBIN ROUND ROBIN CON INTERRUPT FUNCTION QUEUE SCHEDULING REAL TIME OPERATING SYSTEMS (RTOS) INTERRUPT PROGRAMMATI: TIMER
2 INTRODUZIONE 2 In relazione al funzionamento reale delle applicazioni su sistemi embedded il comportamento delle applicazioni viste finora non era realistico. L architettura software prevedeva l esecuzione di un certo numero di task e dopodiché l applicazione si considerava conclusa. In applicazioni reali il sistema funziona a partire dall accensione fino al venir meno dell alimentazione o fino al reset. Esistono architetture software che implementano tale funzionamento, a partire dalle più semplici in assoluto fino ai sistemi operativi real time (cenni). I due esempi più semplici di architettura software per sistemi embedded sono: round robin; round robin con interrupts.
3 3 ROUND ROBIN
4 ARCHITETTURA SOFTWARE ROUND ROBIN 4 La più semplice architettura software è definita round robin. Un loop infinito si occupa di interrogare a turno (polling) ciascuna delle periferiche di I/O e di eseguire le routine associato ogni qualvolta sia necessario.
5 APPLICAZIONE DI ESEMPIO: ROUND ROBIN 5
6 PRO e CONTRO Vantaggi: è l architettura software più semplice. Limiti: funziona bene sotto particolari condizioni: poche porte di I/O; elaborazioni brevi; vincoli di tempi di risposta in I/O non stringenti. Se uno degli ingressi richiede tempi di risposta inferiori al tempo di risposta del sistema nel caso peggiore, il sistema non funziona. E sufficiente che uno dei task abbia una durata elevata, affinché il sistema diventi inservibile, pur continuando a funzionare. La struttura del software non è robusta: può essere sufficiente l inserimento si una sola nuova periferica da gestire per modificare la risposta temporale complessiva in maniera inaccettabile. 6
7 7 ROUND ROBIN CON INTERRUPT
8 ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPTS (1) 8 Gli interrupt presentano un incremento di complessità a livello architetturale, ma offre sicuramente più vantaggi. La struttura dell architettura prevede che: le routine di interrupt (Interrupt Service Routine - ISR) si occupino di servire le incombenze urgenti legate alle periferiche di I/O settando i flag ogni qualvolta viene acquisito/spedito un dato; Il loop principale interroga i flag associati alle ISR ed esegue le elaborazioni associate solo quando necessario. Il vantaggio fondamentale è che tramite questa architettura software si può introdurre una priorità nella gestione dei task. La gestione dei dati sotto interrupt introduce un problema sostanziale che è quello della condivisione fra i dati fra applicazione principale (main) routine di interrupt.
9 ARCHITETTURA SOFTWARE ROUND ROBIN CON INTERRUPTS (2) 9
10 GESTIONE DEI DATI CONDIVISI 10 Il problema fondamentale di questo tipo di architettura software deriva dai malfunzionamenti causati dall accesso asincrono ai dati condivisi di programma principale e routine di interrupt. APPLICAZIONE D 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. Un allarme deve essere sollevato se le temperature rilevate non sono uguali. L acquisizione avviene tramite interrupt. La segnalazione dell allarme nella routine principale. Supponiamo inoltre di monitorare la temperatura solo tramite due sensori e che, per semplicità, venga omessa la gestione dei flag.
11 APPLICAZIONE DI ESEMPIO: ROUND ROBIN + INT (1) 11
12 APPLICAZIONE DI ESEMPIO: ROUND ROBIN + INT (2) 12 Se si verificassero le seguenti condizioni in contemporanea: 1) un interrupt viene sollevato fra l esecuzione delle due istruzioni che assegnano le temperature rilevate dai sensori alle variabili temporanee temp1 e temp2 del programma principale; 2) le due nuove temperature rilevate, pur rimanendo uguali fra loro, sono cambiate rispetto alle temperature che erano state rilevate durante la precedente esecuzione della ISR. Si assiste alla generazione di un FALSO ALLARME.
13 APPLICAZIONE DI ESEMPIO: ROUND ROBIN + INT (3) 13 Teoricamente si potrebbe pensare di ottimizzare l architettura software ma ciò non servirebbe. Perché? NON SERVE PERCHE' LE ROUTINE DI INTERRUPT POSSONO INTERROMPERE IL PROGRAMMA FRA 2 DELLE ISTRUZIONI ASSEMBLY CHE IMPLEMENTANO IL TEST DI UGUAGLIANZA
14 APPLICAZIONE DI ESEMPIO: ROUND ROBIN + INT (4) 14 Questo problema si verifica a causa della condivisione dei dati. Il pezzo di codice del programma principale la cui interruzione può generare il problema viene definito critical section. La soluzione di tale problema è la disabilitazione degli interrupt all ingresso della sezione critica.
15 PRO e CONTRO (1) 15 Svantaggi: sicuramente più complessa della round robin; tutti i task del programma principale vengono gestiti con la stessa priorità; poca stabilità del codice: se si modifica il codice di un task si influenza il tempo di risposta degli altri. Esempio: Supponiamo di avere nel programma principale tre task (A, B e C) eseguiti nell ordine: A, B, C. Se gli interrupt associati ad A, B e C si verificano tutti all inizio dell esecuzione del programma principale: il tempo di attesa per eseguire il task A è pari alla somma dei tempi di esecuzione delle routine di interrupt associate ad A, B e C; il tempo di attesa per eseguire il task B è pari alla somma del tempo di esecuzione del task A più i tempi di esecuzione delle routine di interrupt associate ad A, B e C; il tempo di attesa per eseguire il task C è pari alla somma del tempo di esecuzione dei task A e B più i tempi di esecuzione delle routine di interrupt associate ad A, B e C.
16 PRO e CONTRO (2) Ovviamente questo crea dei problemi perché il tempo di attesa di C (caso peggiore) potrebbe essere inaccettabile per le sue specifiche di temporizzazione. Nel qual caso si potrebbe pensare di cambiare l ordine in cui il programma principale schedula i task mettendo C per primo (e.g C, A, B) ma questo impatta sui tempi di attesa di A e B a cui va sommato il tempo di esecuzione di C e non è detto che questa soluzione sia a sua volta accettabile. 16 Supponiamo che sia accettabile ma che sia necessario aggiungere un controllo al task C, aumentando il suo tempo di esecuzione di un fattore, il tempo di attesa per eseguire il task B (pari alla somma del tempo di esecuzione dei task C e A più i tempi di esecuzione delle routine di interrupt associate ad A, B e C più ) potrebbe solo a questo punto diventare inaccettabile. Per cui questa architettura software non è robusta.
17 17 FUNCTION QUEUE SCHEDULING
18 ARCHITETTURA SOFTWARE FUNCTION QUEUE SCHEDULING Le varie routine di interrupt comunicano al programma principale la necessità di eseguire il task di elaborazione associato non più settando un flag ma inserendo (PUSH) un puntatore al task da eseguire, associato alla routine di interrupt in fase di richiesta, in una coda di puntatori a funzioni. Il programma principale deve leggere dalla coda un puntatore ed eseguire il codice del task ad esso associato. Dove sta il vantaggio rispetto a prima? 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 nel caso peggiore per il task a priorità più elevata è pari al tempo di esecuzione del task più lento più la somma dei tempi delle routine di interrupt. Ovviamente anche una architettura software fatta in questa maniera non è estremamente stabile perché modificando il tempo di esecuzione di uno qualsiasi dei task si influenza necessariamente il tempo di attesa degli altri, ma il fatto di poter gestire le priorità a runtime consente di arginare la non ammissibilità ci certe situazioni. 18
19 19 REAL TIME OPERATING SYSTEMS (RTOS)
20 ARCHITETTURA SOFTWARE RTOS (1) 20 Le routine di interrupt, come nelle altre architetture software, anche qui si occupano delle operazioni più urgenti (I/O) e segnalano al programma principale che deve essere eseguito il task a loro associato. Le differenze sono: 1) la comunicazione fra ISR e programma principale è gestita dal sistema operativo; 2) la sequenza di esecuzione dei task è gestita dal sistema operativo, non esistono loop o codici in cui il programmatore possa gestire in maniera esplicita lo scheduling. IL CODICE DEL RTOS SI OCCUPA DELLO SCHEDULING DEI TASK, GESTENDO LE PRIORITA' DI ESECUZIONE NELLA MANIERA PIU' APPROPRIATA 3) Il RTOS può gestire la sospensione di un task per eseguirne uno a priorità più elevata.
21 ARCHITETTURA SOFTWARE RTOS (2) 21 Le prime due differenze forniscono dei vantaggi legati alle modalità di programmazione, semplificando ovviamente il compito del programmatore. La terza differenza è sostanziale, perché non solo le routine di interrupt possono sospendere un task ma anche altri task a priorità più alta. Quindi un architettura software di questo tipo è in grado di gestire una priorità di esecuzione sistematica non solo delle routine di interrupt, ma anche dei task del programma principale. Il tempo di risposta nel caso peggiore per il task a priorità più elevata si riduce alla somma dei tempi di esecuzione delle routine di interrupt, quindi questa architettura guadagna non solo in termini di flessibilità ma anche in termini di robustezza, perché modificando il tempo di esecuzione di un task in negativo non si impatta sul tempo di risposta di un task a priorità più elevata. Altro vantaggio è che gli RTOS sono prodotti commerciali, quindi posso abbattere i tempi di sviluppo di un sistema embedded a costi ragionevoli o nulli (codice freeware). Lo svantaggio è che ovviamente l esecuzione stessa del RTOS è time consuming quindi sottrarrà del tempo all elaborazione.
22 RIASSUMENDO 22
23 23 INTERRUPT PROGRAMMATI: TIMER
24 FUNZIONALITA DEL TIMER (1) Le specifiche di temporizzazione legate alla gestione real-time dell interazione con l ambiente esterno, rendono spesso indispensabile l utilizzo di meccanismi per consentire l esecuzione di determinati task (e.g. acquisizione dati, scrittura su periferiche, etc ) in maniera asincrona rispetto al ciclo di esecuzione del programma principale. Questa problematica si gestisce tramite l impiego di interrupt e nel caso in cui la gestione real-time richieda lo svolgimento di determinate operazioni con una temporizzazione predefinita sarà necessario disporre di una periferica che comunichi tale esigenza al processore. In pratica si deve predisporre un modulo programmabile che generi le interruzioni a frequenza predefinita. Tipicamente si usa un timer. Il timer è programmabile via software e a livello hardware è un contatore, che conta i cicli di clock in ingresso generando un segnale di interrupt a ogni fine conteggio. 24
25 FUNZIONALITA DEL TIMER (2) 25 ES: ISR Compia immediata dei dati in I/O in modo di rilassare le specifiche di temporizzazione sul programma principale. Programma Principale Si occupa della gestione effettiva de dati di I/O, pena la perdita delle informazioni. La Routine di Interrupt deve comunicare la necessità dell intervento del programma principale tramite il settaggio di una zona di memoria condivisa ad hoc.
26 MODELLO Nella nostra piattaforma di simulazione il timer è una periferica memory-mapped, dotata di un registro di stato leggibile dal processore e parzialmente scrivibile e di una uscita di interrupt. Il clock che il timer riceve in ingresso per il conteggio non è il global clock ma un altro segnale di clock inserito ad hoc nel sistema (sample clock). 26
27 STATUS REGISTER DI UN TIMER 27 Nello status register vengono conservate le informazioni circa: bit [15:0] - il numero di cicli del conteggio (scrivibile dal processore); bit [30] - lo stato di abilitazione del timer (scrivibile dal processore), codifica: 1 = ABILITATO, 0 = DISABILITATO; bit [31] - richiesta di interrupt pendente (leggibile dal processore). I campi scrivibili dal processore sono necessari a settare l intervallo di interrupt e gestire la sua abilitazione/disabilitazione. Il bit leggibile serve a segnalare l interrupt e viene usato dal processore per capire quale è la periferica che ha sollevato la richiesta di interruzione nel caso ce ne fossero n abilitate.
28 TIMER: CODIFICA VERILOG (1) 28 //supponendo che timer_reg_addr sia l indirizzo di memoria in cui è //stato mappato il timer or timer_reg) case (RWAddr) timer_reg_addr: to_data_bus = timer_reg; default: to_data_bus = 32'bX; endcase clk) if( rst == 1'b1) // sul reset i 30 bit bassi vengono posti a zero //il processore scrive su 31 e legge il 32esimo writable_timer_reg = 30'h0; else //scrittura da parte del processore se l indirizzo sul bus è quello //della periferica e se c è l abilitazione della scrittura if (RWAddr == timer_reg_addr) begin if (we) begin writable_timer_reg = from_data_bus[30:0]; end end
29 TIMER: CODIFICA VERILOG (2) 29 //definizione dello status reg assign timer_reg[30:0] = {writable_timer_reg}; assign timer_reg[31] = pending_int_flag; //abilitazione assign int_enable = timer_reg [30] ; //periodo assign int_period = timer_reg[15:0];... //count_rst generator process or rst) if ((rst!= 1'b0) (int_enable!= 1'b1)) count_rst = 1; else count_rst = 0;
30 TIMER: CODIFICA VERILOG (3) 30. sample_clk) begin //pending_int_flag set generator process if (count_rst ==1'b1) count = 1'b0; else if (count == int_period) begin count = 0; pending_int_flag_set = 1'b1; end else begin count = count + 1; pending_int_flag_set = 1'b0; end end.
31 TIMER: CODIFICA VERILOG (4) 31. clk) begin //pending_int_flag_reset generator process if( rst == 1'b1) //sul reset non c è interrupt pendente pending_int_flag_reset = 1'b0; else begin //leggo il timer quindi posso resettarne il valore if (RWAddr == (timer_reg_addr)) begin pending_int_flag_reset= 1'b1; end else begin
32 TIMER: CODIFICA VERILOG (5) 32 clk) //pending_int_flag generator process if( rst == 1'b1) pending_int_flag = 1'b0; else casex ({pending_int_flag, pending_int_flag_set, pending_int_flag_reset}) 3'bxx1: int_flag = 1'b0; 3'b1x0: int_flag = 1'b1; 3'b010: int_flag = 1'b1; 3'b000: int_flag = 1'b0; default: int_flag = 1'b0; endcase
33 SCHEMA A BLOCCHI ARCHITETTURA SOFTWARE 33
34 GESTIONE SW DEL TIMER 34 void drv_t0_init(int period) { int *t0_status_p ; t0_status_p = (int*) t0_status_addr; *t0_status_p = (int) period; } void drv_t0_enable(void) { int *t0_status_p = (int*) t0_status_addr; int mask, temp; mask = 0x ; //maschera a 32 bit tutti zeri tranne il penultimo //(enable) temp = *t0_status_p; *t0_status_p = (int) mask temp; // in or quindi forzo un 1 nel penultimo bit } void drv_t0_disable(void) { int *t0_status_p = (int*) t0_status_addr; int mask, temp; mask = 0xBFFFFFFF; //maschera a 32 bit tutti uno tranne il penultimo //(enable) temp = *t0_status_p; *t0_status_p = (int) mask & temp; // in and quindi forzo uno 0 nel penultimo bit }
35 SELEZIONE DELLA SORGENTE DI INTERRUPT 35 Ho solo due sorgenti di Interrupt ;salva registri sw $2,0x3020($0); salva $2 sw $3,0x3024($0); salva $3 li $2, 0x ; crea la maschera su $2. ; la maschera è lw $3,0x4010($0) ; copio T0_status_reg su $3 and $3,$3,$2 ; maschero il valore di $3 con $2 ; rimane solo il bit 31 eventualm diverso da zero ; se c'è interrupt (bit 31!=0) salta alla routine associata a T0 bnez $3, T0_INT_ROUTINE ; se non era T0 è sicuramente T1 lw $3,0x4018($0) ; copia T1_status_reg su $3 j T1_INT_ROUTINE ; salta alla routine associata a T1
36 ROUTINE: LETTURA DI UN DATO DA UNA PERIFERICA 36 T0_INT_ROUTINE: ; supponendo la periferica mappata in 4000 lw $3,0x4000($0) ; copio il contenuto di CH0 reg (il dato in input) su $3 ; supponendo il buffer associato a tale periferica mappato in 3008 sw $3,0x3008($0); copio su buffer0 il dato in input li $2,1 ; setta il flag_0 a 1 sw $2,0x3000($0) ; setta il task0_flag in modo che il task princ legga i dati j RETURN_TO_MAIN
37 PIATTAFORMA D ESEMPIO 37
38 ES.0 - DESCRIZIONE 38 Un solo canale di input viene utilizzato per monitorare la temperatura dell environment. Il valore di ingresso viene campionato sotto interrupt ad intervalli regolari, essendo stato abilitato il timer 0, e viene scritto in una locazione di memoria condivisa col programma principale. La ISR, oltre a campionare i dati, setta il flag di comunicazione alto ogni qualvolta effettua una lettura. Il task del programma principale (unico in questo primo esempio), quando riceve la segnalazione di avvenuto interrupt copia il dato dalla singola locazione condivisa in un vettore (allocato nello stack) che tiene conto degli ultimi N dati campionati. Quando questo vettore è pieno, il programma principale calcola la media e se è superiore ad una soglia predeterminata segnala una condizione di allarme sul canale di output.
39 ES.0 MAPPA DELLA MEMORIA 39
40 ES.0 MAIN 40 drv_t0_init(50); drv_t0_enable(); while(1) { if((*p_task0_flag) == 1){ // copia i singoli sample acquisiti nel vettore copy_ch0_sample(index, temp_samples_vector, temp_samples_vector_dim); if (index == temp_samples_vector_dim-1) { index = 0; somma_temp = elab_samples_sum(temp_samples_vector, temp_samples_vector_dim); media_temp = somma_temp>>temp_samples_vector_dim_log; if( media_temp > (25)) { drv_ch2_write(0); drv_ch2_write(media_temp); } } else { index++; } *p_task0_flag = (int) 0; } }
41 ES.0 ISR (1) 41 INT_SELECT_ROUTINE : sw $2,0x3020($0); salva $2 sw $3,0x3024($0); salva $3 li $2, 0x ; crea la maschera su $2. la maschera è lw $3,0x4010($0) ; copio T0_status_reg su $3 ; maschero il valore di $3 con $2, rimane solo il bit 31 eventualm diverso da zero and $3,$3,$2 bnez $3, T0_INT_ROUTINE ; se c'è interrupt salta alla routine associata a T0 lw $3,0x4018($0) ; copia T1_status_reg su $3 j T1_INT_ROUTINE ; salta alla routine associata a T1 T0_INT_ROUTINE: lw $3,0x4000($0) ; copio il contenuto di CH0 reg (il dato in input) su $3 sw $3,0x3008($0); copio su buffer0 il dato in input li $2,1 sw $2,0x3000($0) ; setta il task0_flag in modo che il progr princ legga i dati j RETURN_TO_MAIN
42 ES.0 ISR (2) 42 T1_INT_ROUTINE: ; nel primo esempio è vuota perché c è una sola periferica temporizzata RETURN_TO_MAIN: lw $2,0x3020($0) ;ripristina $2 lw $3,0x3024($0) ;ripristina $3 rfe ;restituisce il controllo del flusso di esecuz al programma principale con rfe
43 ES.1 GESTIONE DI DUE PERIFERICHE TEMPORIZZATE 43 Per gestire due periferiche temporizzate è necessario completare la routine si selezione della periferica che ha generato l niterrupt (T1_INT_ROUTINE) La seconda periferica va mappata in memoria in maniera coerente con la mappa fornita già per ES.0 e ovviamente nel main va aggiunto il task di gestione di questa seconda periferica.
44 ES.2 DISACCOPPIAMENTO ISR/MAIN La gestione dell I/O tramite interrupt è tanto più efficace quanto più disaccoppiata è l acquisizione dei dati rispetto alla loro gestione. Quindi acquisirne uno alla volta e poi interpellare il processore non è sicuramente un disaccoppiamento sufficiente per questa applicazione che poi calcola la media di un set di valori. Sarebbe meglio acquisire tutto il set e poi chiamare il processore quando può calcolare la media sul set. Per fare ciò si utilizza una FIFO circolare. 44
45 ES.2 GESTIONE FIFO CIRCOLARE Per accedere alla FIFO si utilizzano due puntatori: P_YOUNG punta alla prima locazione scrivibile e viene utilizzato dalla ISR per aggiungere un dato al vettore condiviso P_OLD punta alla locazione scritta da più tempo e viene utilizzato dal programma principale per leggere il vettore condiviso senza perdere dati Se la FIFO circolare è allocata da 3100 a 31FC, la gestione circolare prevede che: i due puntatori vengano inizializzati a 100; ad ogni interrupt P_YOUNG venga incrementato di 4 (1 WORD = 4 BYTE); quando il programma principale viene triggerato P_OLD viene incrementato di N*4 (N = dati prelevati in contemporanea); incremento: IF (POINTER == 31FC) POINTER = 3100; ELSE POINTER++; 45
46 ES.2 MAIN 46 drv_fifo0_init(); drv_t0_init(num_conteggi); while(1) { if((*p_task0_flag) == 1){ // acquisisce la temperatura copy_ch0_samples_vector(temp_samples_vector, temp_samples_vector_dim); // calcola la somma dei campioni somma_temp = elab_samples_sum(temp_samples_vector, temp_samples_vector_dim); media_temp = somma_temp >> temp_samples_vector_log; if( media_temp > 20 ){ drv_ch2_write(0); drv_ch2_write(media_temp); } *p_task0_flag = (int) 0; } }
47 ES.2 ISR (1) 47 T0_INT_ROUTINE: lw $3,0x4000($0) ; copio il contenuto di CH0 reg (il dato in input) su $3 ; scrivo su $2 l'ind del primo elemento libero del CH0 buffer - p_young lw $2,0x3008($0) sw $3,0x0($2); copio sul primo elemento libero del CH0 buffer il dato in input ; aggiorno il puntatore al primo elemento libero del CH0 buffer li $3,0x31FC; carico su $3 l'indirizzo più alto del buffer ; se l'indirizzo del top del buffer è uguale all'indirizzo più alto disponibile aggiorna in ; maniera circolare beq $2,$3,CH0_SPECIAL_INCREMENT j CH0_STANDARD_INCREMENT CH0_SPECIAL_INCREMENT: ; setta il puntatore al fondo del buffer addi $2,$0,0x3100 j END_CH0_INT_ROUTINE CH0_STANDARD_INCREMENT: ; incrementa il puntatore di una posizione addi $2,$2, 0x0004
48 ES.2 ISR (2) 48 END_CH0_INT_ROUTINE: sw $2,0x3008($0); salva il valore del puntatore young lw $3,0x3018($0) ; copio il valore del num di elementi contenuti nella pila in $3 ; scrivo il num di elementi contenuti da leggere in una sola volta per il task0 +1 = ; temp_samples_vector_dim+1 li $2,33 beq $2,$3, SET_FLAG0 ; li ho letti tutti e ho anche incrementato per questo +1 j RETURN_TO_MAIN SET_FLAG0: li $2,1 sw $2,0x3000($0) ; setta il task0_flag in modo che il progr princ legga i dati j RETURN_TO_MAIN T1_INT_ROUTINE: RETURN_TO_MAIN: lw $2,0x3020($0) ;ripristina $2 lw $3,0x3024($0) ;ripristina $3 rfe ;restituisce il controllo del flusso di esecuz al programma principale con rfe
ARCHITETTURE SOFTWARE
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
DettagliFONDAMENTI 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
DettagliArchitettura di un sistema di calcolo
Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un
DettagliCon 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
DettagliArchitettura 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
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
DettagliScheduling 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
DettagliUniversità 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
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
DettagliGestione 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...
DettagliSTRUTTURE 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
DettagliInput/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
DettagliTipi 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
DettagliArchitettura 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
DettagliRealizzazione 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
DettagliScheduling. 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
DettagliComputazione 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:
DettagliCPU. 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
DettagliUn 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
DettagliEsempio: 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
DettagliIntroduzione. 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...
DettagliINFORMATICA. 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:
DettagliIl 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.
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliCalcolatori 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
DettagliI/O su Socket TCP: read()
I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una
DettagliASPETTI 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
DettagliINFORMATICA 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
DettagliDMA 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
DettagliExcel. 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
DettagliPrestazioni 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
DettagliValutazione 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistema 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
DettagliGestione 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
DettagliPag. 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
DettagliAlgoritmi 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
DettagliIntroduzione. Corso di Informatica Applicata. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:
DettagliCorso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
DettagliSistemi 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
DettagliSistemi Operativi (modulo di Informatica II) Sottosistema di I/O
Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori
DettagliAllocazione 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
DettagliLa 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
DettagliLa 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
DettagliDispensa 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.
DettagliCorso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
DettagliTesti 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
DettagliDI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
DettagliCorso 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
DettagliGESTIONE 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
DettagliLaboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari
Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari A.A. 2012 2013 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo
DettagliInvio SMS. DM Board ICS Invio SMS
Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove
DettagliIL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1
Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008
DettagliI 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)?
DettagliIntroduzione 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
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliSOMMARIO 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
DettagliSiamo 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
DettagliLo scheduler di UNIX (1)
Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto
DettagliLaboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari
Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari A.A. 2013 2014 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo
DettagliIl 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
DettagliLo 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
DettagliSistema 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
DettagliINTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI
LUCIDI LEZIONI SISTEMI ELETTRONICI INDUSTRIALI www.dismi.unimo.it (People Associated Pavan ) www.microchip.com com (Datasheet PIC - DS30292) (Mid Range Family Manual DS33023) Università degli Studi di
DettagliProf. 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
DettagliINNOVAZIONE 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
DettagliScheduling 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
DettagliProgrammazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1
+ Programmazione concorrente in Java 1 + Introduzione al multithreading 2 La scomposizione in oggetti consente di separare un programma in sottosezioni indipendenti. Oggetto = metodi + attributi finalizzati
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
DettagliCiclo 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
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
DettagliSoluzione 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
DettagliEsame 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
DettagliDefinizione 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
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliIl 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
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliPiù 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
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliSistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda
8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliQuinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.
Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere
DettagliIntroduzione 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
DettagliPronto 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
DettagliFasi 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
DettagliGestione di una UART SOFTWARE.
Corso di BASCOM 8051 - (Capitolo 3 1 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. Gestione di una UART SOFTWARE. Capita, a volte in alcune applicazioni, di avere
DettagliIng. Paolo Domenici PREFAZIONE
Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte
DettagliDefinizione 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
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
DettagliGESTIONE 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
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
DettagliVon Neumann. John Von Neumann (1903-1957)
Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su
DettagliIl memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
DettagliGestione 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
Dettagli1. 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
DettagliScheduling 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
DettagliIl 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
DettagliJ. 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
DettagliIl processore. Il processore. Il processore. Il processore. Architettura dell elaboratore
Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni
Dettagli