Misure di intervalli temporali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Misure di intervalli temporali"

Transcript

1 Misure di intervalli temporali Abbiamo visto che il computer ci mette a disposizione un orologio con la precisione di 1 µs (accessibile tramite la routine gettimeofday). Abbiamo usato questo orologio per memorizzare il tempo in cui abbiamo eseguito le misure con il multimetro. È però ancora più utile eseguire misure di intervalli temporali, sia nel caso di fenomeni ripetitivi (ad esempio il periodo di oscillazione di un pendolo, la frequenza di un sistema oscillante) che nel caso di fenomeni singoli o stocastici (il tempo di caduta di un grave, l intervallo tra il passaggio di due raggi cosmici). Laboratorio di Calcolo B 131

2 Reazione ad un evento Come prima cosa dobbiamo essere capaci di comunicare al computer che è successo qualcosa. Un modo di farlo è utilizzare le linee di ingresso della porta parallela: il passaggio da 0 a 1 di una di tali linee sarà l evento di cui vogliamo misurare il timing. Sarà quindi necessario trasformare l evento fisico che ci interessa nella (rapida) transizione di una tensione da 0 a 5 Volts (trasduzione). Dal punto di vista del computer, si dovranno semplicemente leggere i bits della locazione 0x379, cui corrisponde il device /dev/pp1 (in modo analogo, il device /dev/pp0 usato per le 8 linee di output corrisponde all indirizzo di memoria 0x378). Soltanto i bits 3,4,5,6 e 7 sono utili, e corrispondono rispettivamente ai segnali Error, Select, Paper Out, Ack e Busy; noi useremo Ack. Laboratorio di Calcolo B 132

3 L oscillatore Per i nostri esperimenti useremo un oscillatore basato sul circuito integrato 555. Non sono importanti i dettagli del suo funzionamento: basta sapere che il 555 induce continuamente una carica del condensatore C attraverso R A ed R B seguita da una scarica attraverso R B. L uscita rimane al valore 0 V per un tempo t L e quindi a +5 V per un tempo t H. +Vcc RESET t H t L R A R B DISCH TRIG 555 OUT V out THRES V C C t H = (R A +R B )C t L = R B C Laboratorio di Calcolo B 133

4 Il metodo del polling Il metodo del polling è molto intuitivo: si chiede in continuazione al dispositivo se è successo qualcosa (nel nostro caso una transizione 0-1); se la risposta è no si continua, se è sì si analizza l evento (nel nostro caso si misura la distanza temporale dall evento precedente, in modo da determinare il periodo di oscillazione del nostro oscillatore). pstat = open("/dev/pp1", O_RDONLY); for (i=0; i<n_meas; i++) { old = 1; cc = 0; while(1) { read(pstat,&c,1); if ( (c & 0x40)!= 0) { if (old == 0) { if (cc == 0) { gettimeofday(&t,null); cc = 1; else { gettimeofday(&t1,null); dt = delta_t(t1,t); break; old = 1; else { old = 0; Laboratorio di Calcolo B 134

5 Difetti del polling Il polling costituisce una buona tecnica nel caso di una macchina single process single user, ovvero una macchina che non ha null altro da fare che interrogare il dispositivo. Nella realtà però un computer esegue molte operazioni allo stesso tempo, ed alcune di queste (in particolare tutte quelle che hanno a che fare con la gestione dei dispositivi esterni e del sistema) hanno priorità maggiore rispetto ai processi dell utente. Di conseguenza tali processi possono venire interrotti in qualunque momento, anche in funzione del carico della macchina, e ciò degrada la risoluzione della misura temporale. Inoltre il continuo accesso al device consuma tutte le risorse del computer, e gli impedisce di fare qualcosa di utile durante l attesa dell evento. Laboratorio di Calcolo B 135

6 Il kernel e lo scheduler Nei computers multi-process, la CPU esegue un programma detto kernel che ha il compito di gestire il dialogo con i dispositivi esterni (tramite i device drivers) e di coordinare (attraverso lo scheduler) l esecuzione dei processi utente. Lo scheduler attiva a turno i diversi processi che chiedono di usare la CPU, ma prima di farlo attiva un timer; la routine di handling del timer restituisce il controllo allo scheduler, che seleziona un nuovo processo utente. Interrup t Handler Device Scheduler Device Driver Kernel User Process User Process User Process User Process Laboratorio di Calcolo B 136

7 L interrupt Quando un dispositivo deve dialogare con la CPU, attira la sua attenzione utilizzando un segnale digitale detto interrupt. La CPU reagisce eseguendo, il più rapidamente possibile, la routine di interrupt handling definita per quel segnale. L interrupt handler ha le seguenti caratteristiche: Non può essere a sua vola interrotto: gli altri interrupt vengono ritardati, l interrupt in corso di gestione viene disabilitato. L esecuzione dell handler deve essere rapida, per non perdere altri interrupts. Di solito solo le operazioni indispensabili vengono realmente eseguite nell handler (tophalf), mentre quelle meno urgenti vengono eseguite (ed eventualmente accorpate) in una routine interrompibile che viene detta bottom-half; Le routines del kernel possono disabilitare temporaneamente la gestione degli interrupts, con lo scopo di evitare conflitti nella gestione di variabili condivise con gli interrupt handlers; cioè provoca piccoli ritardi nell esecuzione degli handlers (latenza); Laboratorio di Calcolo B 137

8 Un interrupt handler per la porta parallela Il segnale Ack della parallela può anche mandare un interrupt alla CPU. Utilizzerete un device (/dev/ppint) che si comporta nella seguente maniera: In scrittura, riceve il numero di interrupts che devono essere eseguiti ed abilita la porta parallela al loro invio. L interrupt handler che viene installato registra il tempo di arrivo di ciascuno degli interrupts, e li disabilita quando ne ha ricevuto la quantità prevista. In lettura il device restituisce il tempo (à la gettimeofday) di arrivo degli interrupts, permettendo così una misura del periodo. Laboratorio di Calcolo B 138

9 void pp_th_interrupt(int irq, void *dev_id, struct pt_regs *regs) { if (tv_head < (tv_data + n_timeval) ) { do_gettimeofday(tv_head); /* save the interrupt time */ tv_head++; if (tv_head == (tv_data + n_timeval) ) { outb_p(0x00, pp_base+2); /* disable the interrupts */ /* Queue the bottom-half */ queue_task_irq_off(&pp_task, &tq_immediate); mark_bh(immediate_bh); pp_th_count++; /* record that an interrupt arrived */ /* Install the interrupt handler */ request_irq(pp_irq, pp_th_interrupt, SA_INTERRUPT, pp-th", NULL); Laboratorio di Calcolo B 139

10 Utilizzo di /dev/ppint struct timeval t[250]; char c,tim[17]; pi = open("/dev/ppint",o_rdwr); for (j=0; j<10; j++) { c = 250; write(pi,&c,1); for (i=0; i<250; i++) { read(pi,tim,16); tim[16] = 0; sscanf(tim,"%d.%d",&(t[i].tv_sec),&(t[i].tv_usec)); for (i=1; i<250; i++) { HFILL(101,delta_t(t[i-1],t[i]),0.,1.); close (par); Vengono richieste 250 misure Vengono letti e decodificati i dati Istogramma dei periodi Laboratorio di Calcolo B 140

11 Esercitazione in laboratorio Esercitazione in laboratorio Dovete realizzare un programma che esegua la misura del periodo di un segnale ripetitivo applicato all ingresso ACK della porta parallela con i metodi del polling e dell interrupt. Il programma dovrebbe essere facile da realizzare. Però è importante utilizzarlo bene per capire la differenza tra i due metodi: dovete analizzare un intervallo piuttosto ampio di frequenze di ingresso (diciamo da 100 ms a 5 µs) perché le differenze tra i due metodi diventano maggiori all aumentare della frequenza. Dovete ripetere le misura molte volte e fare degli istogrammi, in modo da essere in grado di stimare non solo valore medio e varianza, ma anche la popolazione delle code (ovvero l errore massimo che potete commettere). Infine dovete ripetere le misure in condizioni di CPU sovraccarica (ad esempio facendo girare contemporaneamente un programma che esegue un calcolo in loop). Laboratorio di Calcolo B 141

12 Consigli per il programma Utilizzate due functions separate per le due misure, e fate in modo che entrambe utilizzino la medesima function per l analisi dei dati (istogrammazione, calcolo di media e varianza, calcolo dell errore massimo). Siccome i tempi vengono sempre restituiti nel formato di gettimeofday avrete anche bisogno di una function che calcoli la differenza tra due tempi espressi in questo formato. Visto che le misure a periodi lunghi prendono molto tempo potrebbe essere una buona idea di aggiornare gli istogrammi e le misure in tempo reale, eventualmente aggiustando in modo dinamico la scala dell istogramma. Laboratorio di Calcolo B 142

Il registratore digitale

Il registratore digitale Il registratore digitale Nella pratica di laboratorio capita spesso di dover registrare segnali lentamente variabili per intervalli di tempo lunghi. Lo scopo della seconda esperienza è quello di realizzare

Dettagli

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

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

Dettagli

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Sincronizzazione. Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Sincronizzazione Soluzioni hardware Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Soluzioni hardware Le soluzioni hardware al problema della SC possono essere classificate

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 25 settembre 2008.

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 25 settembre 2008. ognome: Nome: Matricola: Sistemi Operativi A.A. 2007-2008, prova scritta del 25 settembre 2008. Usa questa pagina per la brutta, staccala, non consegnarla. Sistemi Operativi A.A. 2007-2008, prova scritta

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Corso di programmazione Arduino DI MALVEZZI DAVIDE Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell

Dettagli

senza stato una ed una sola

senza stato una ed una sola Reti Combinatorie Un calcolatore è costituito da circuiti digitali (hardware) che provvedono a realizzare fisicamente il calcolo. Tali circuiti digitali possono essere classificati in due classi dette

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 1 Martedì 11-10-2016 1 Introduzione Un sistema operativo è un software

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi Operativi. Lezione 3 Processi e Thread Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O COMPITI DEL SOTTOSISTEMA DI I/O 1. Nascondere

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Dettagli

Quanto bene conosciamo i Segnali Sismici?

Quanto bene conosciamo i Segnali Sismici? Quanto bene conosciamo i Segnali Sismici? In generale, quello registrato non è esattamente il moto del suolo ma la risposta dell apparato strumentale a questo movimento In pratica, lo strumento provoca

Dettagli

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II L INTERFACCIA PARALLELA Argomenti della lezione Le interfacce parallele Il dispositivo Intel 855 Architettura Funzionamento Le interfacce parallele Esempio Le interfacce parallele

Dettagli

II.3.1 Inverter a componenti discreti

II.3.1 Inverter a componenti discreti Esercitazione II.3 Caratteristiche elettriche dei circuiti logici II.3.1 Inverter a componenti discreti Costruire il circuito dell invertitore in logica DTL e verificarne il funzionamento. a) Posizionando

Dettagli

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 Input/output Sistemi Operativi Lez. 32 1 Ruolo del SO Le periferiche di I/O sono i dispositivi attraverso i quali un calcolatore scambia dati/ interagisce con la realtà esterna Per ogni periferica collegata

Dettagli

Componenti di un sistema operativo

Componenti di un sistema operativo Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria

Dettagli

Sistemi Operativi Teledidattico

Sistemi Operativi Teledidattico Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione

Dettagli

IL TEMPO

IL TEMPO IL TEMPO LORENZO.BRACCIALE@UNIROMA2.IT DOVE STUDIARE Gapil http://users.lilik.it/~mirko/gapil/gapilse26.html#gapilsu125.html Linux http://www.linuxsa.org.au/tips/time.html IL FUSO ORARIO In Italia: GMT

Dettagli

Esercitazione 8 : LINEE DI TRASMISSIONE

Esercitazione 8 : LINEE DI TRASMISSIONE Esercitazione 8 : LINEE DI TRASMISSIONE Specifiche Scopo di questa esercitazione è verificare il comportamento di spezzoni di linea in diverse condizioni di pilotaggio e di terminazione. L'esecuzione delle

Dettagli

Laboratorio di Calcolo B 100

Laboratorio di Calcolo B 100 Porte seriale e parallela La porta seriale e la posta parallela sono semplici dispositivi di connessione dei computer con dispositivi esterni. Vengono principalmente utilizzate per stampanti, mouse, tastiere.

Dettagli

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi

Dettagli

1.5 Control bus Sistemi: architettura dei microprocessori

1.5 Control bus Sistemi: architettura dei microprocessori Control bus 1.5 Control bus Le azioni di lettura, scrittura, acquisizione ed emissione sono governate dalla CPU che sincronizza gli altri dispositivi attraverso il controlo bus. Il control bus è costitituito

Dettagli

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style Corso Arduino 2014 21 Maggio 2014 Riccardo Binetti punkerbino@gmail.com Lezione 1 - Blinking LEDs with style Riccardo Binetti Arduino 2014 Lezione 1 1 / 24 Fate domande Riccardo Binetti Arduino 2014 Lezione

Dettagli

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione 1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano

Dettagli

Sistemi operativi Modulo II I semafori 2 Select

Sistemi operativi Modulo II I semafori 2 Select Il sistema operativo LINUX Semafori 2 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica La system call read è bloccante Non

Dettagli

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono

Dettagli

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia

Dettagli

Facciamo lampeggiare un led

Facciamo lampeggiare un led Facciamo lampeggiare un led Passiamo a fare qualche esercizio, il più semplice per iniziare a programmare con Arduino è il canonico esercizio blink, che trovate anche negli esempi del programma. Si tratta

Dettagli

Il ciclo del processore semplificato BOOTSTRAP FETCH EXECUTE

Il ciclo del processore semplificato BOOTSTRAP FETCH EXECUTE Roadmap Inquadramento del problema La fase di interrupt nel ciclo del processore Le cause di interruzione Le fasi di uninterruzione Ripristino del programma Latenza Identificazione di dispositivi: soluzioni

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

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Il sistema delle interruzioni nel processore MC68000 (cenni) Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni Anno Accademico 2011/2012 Segnali: Interrupt software per la gestione di eventi asincroni Concetto di segnale Un segnale è un interrupt software Un segnale può essere generato da un processo utente o dal

Dettagli

Cognome: Nome: Matricola:

Cognome: Nome: Matricola: Cognome: Nome: Matricola: Sistemi Operativi A.A. 2006-2007, prova scritta del 23 aprile 2007 Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di cellulari, calcolatrici, palmari e

Dettagli

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 7 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Makefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze)

Makefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze) Makefile Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze) 1 makefile: idea di fondo (1) Permette di esprimere dipendenze fra file

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con

Dettagli

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè Modulo 3 Software Cosa è il software E l insieme di programmi che consente al computer di funzionare e di svolgere le funzioni richieste dall utente. Esistono fondamentalmente due tipologie di software:

Dettagli

LSS Reti Logiche: multivibratori e T555

LSS Reti Logiche: multivibratori e T555 LSS 2016-17 Reti Logiche: multivibratori e T555 Piero Vicini A.A. 2016-2017 Multivibratori Un multivibratore e un circuito che presenta per l uscita solo due stati stabili e/o metastabili. Il circuito

Dettagli

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Dettagli

Corso di Calcolatori Elettronici I. Interruzioni. Prof. Roberto Canonico

Corso di Calcolatori Elettronici I. Interruzioni. Prof. Roberto Canonico Corso di Calcolatori Elettronici I Interruzioni Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea

Dettagli

ELETTRONICA APPLICATA E MISURE

ELETTRONICA APPLICATA E MISURE Ingegneria dell Informazione ELETTRONICA APPLICATA E MISURE Dante DEL CORSO B8 Esercizi parte B (2)» Generatore Q-T e Q» Monostabili» Laboratorio ELN-1 22/10/2013-1 ElapB8-2013 DDC Page 1 2013 DDC 1 Come

Dettagli

Reti logiche (2) Circuiti sequenziali

Reti logiche (2) Circuiti sequenziali Reti logiche (2) Circuiti sequenziali 1 Un ripasso Algebra booleana: operatori, postulati, identità, operatori funzionalmente completi Circuiti combinatori: tabelle di verità, porte logiche Decodificatore

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

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

5. Quinta esercitazione autoguidata: liste semplici

5. Quinta esercitazione autoguidata: liste semplici 22 5. Quinta esercitazione autoguidata: liste semplici 5.1. Liste rappresentate mediante strutture e puntatori (LISTE1.C, LISTE2.C) Scrivere un programma che - costruisce una lista di k interi (con k letto

Dettagli

D2x - Presentazione della lezione D2. D2a STADI DI USCITA

D2x - Presentazione della lezione D2. D2a STADI DI USCITA D2x - Presentazione della lezione D2 /- Obiettivi! conoscere diverse forme di stadi di uscita di dispositivi logici! saper calcolare resistori di pull-up per open collector! saper eseguire calcoli di fanout!

Dettagli

IL PROJECT MANAGEMENT COME FATTORE DI SUCCESSO, CULTURA E PROFESSIONE. incontro 18 set a parte

IL PROJECT MANAGEMENT COME FATTORE DI SUCCESSO, CULTURA E PROFESSIONE. incontro 18 set a parte IL PROJECT MANAGEMENT COME FATTORE DI SUCCESSO, CULTURA E PROFESSIONE incontro 18 set 2009 2 a parte 8 Programmazione temporale WBS, Gantt, Pert Analisi del reticolo Critical Path Method 1 esempio qui

Dettagli

L'Allocazione Dinamica della Memoria nel linguaggio C

L'Allocazione Dinamica della Memoria nel linguaggio C L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego riochierego@libero.it http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 15 Martedì 26-11-2013 1 Allocazione dei dispositivi e tecniche di spooling

Dettagli

Strutture Dati Dinamiche

Strutture Dati Dinamiche Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti

Dettagli

Concetti base di acquisizione dati

Concetti base di acquisizione dati Introduzione (concetti base) e Registratore (di ) digitale Gestione di un semplice circuito con la porta Misure di tempo 1 / 21 analogici Una grandezza fisica che fornisce informazioni sullo stato di un

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Regolatori di tensione dissipativi. Regolatori serie. Schema elettrico. Controllo della tensione d uscita Politecnico di Torino 1

Regolatori di tensione dissipativi. Regolatori serie. Schema elettrico. Controllo della tensione d uscita Politecnico di Torino 1 Regolatori di tensione dissipativi 1 Schema elettrico Controllo della tensione d uscita 2 2003 Politecnico di Torino 1 Schema elettrico 3 Schema di principio I regolatori serie sono composti da un elemento

Dettagli

Ciclo del Processore. Memoria

Ciclo del Processore. Memoria Ciclo del Nella figura seguente è riportata la rappresentazione semplificata ed essenziale di un computer. RESET Canali Di Ingresso Uscita Uscita Ingressi Fig. 1 Rappresentazione semplificata di un computer

Dettagli

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione.

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione. TECNICHE DI INTERRUZIONE NEI MICROCOMPUTER Abbiamo analizzato nel modulo E la procedura con cui avviene lo scambio di informazioni in un microcomputer tra la CPU e la memoria. Il µp, che svolge la funzione

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

Quinta Esercitazione. Principali primitive di accesso ai File

Quinta Esercitazione. Principali primitive di accesso ai File Esempio: processi padre e figlio condividono di file aperti PRIMA della creazione Quinta Esercitazione Gestione File-System Segnali processo padre fork() Sistema tabella dei file attivi i-node Eugenio

Dettagli

Page. Mis F FF ELETTRONICA APPLICATA E MISURE. Misure di tempo e frequenza. Ingegneria dell Informazione

Page. Mis F FF ELETTRONICA APPLICATA E MISURE. Misure di tempo e frequenza. Ingegneria dell Informazione Ingegneria dell Informazione Misure di tempo e ELETTRONICA APPLICATA E MISURE F2 Misure tempo e Tempo e Frequenza: sono le grandezze fisiche che oggi si misurano con minore incertezza a parita di incertezza

Dettagli

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07 Funzioni, puntatori, strutture sommario In questa lezione integriamo le informazioni fornite su puntatori e funzioni approfondendo i seguenti punti Puntatori a puntatori Puntatori e array come parametri

Dettagli

Il sistema di I/O. Sistemi Operativi 13.1

Il sistema di I/O. Sistemi Operativi 13.1 Il sistema di I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Prestazioni 13.1 Introduzione Un elaborazione eseguita da

Dettagli

Il Sistema Operativo Concorrenza e Grafi di precedenza

Il Sistema Operativo Concorrenza e Grafi di precedenza ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Elaborazione concorrente Elaborazione sequenziale Elaborazione concorrente Elaborazione parallela Grafi di Precedenza Grafi di

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi Sistemi Operativi Esercizi Ricapitolazione Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Problema Sincronizzazione Semafori Si considerino tre processi (A, B e C) i quali devono eseguire alcune operazioni

Dettagli

Andrea Di Dato. e fu così che i maker misero le ali

Andrea Di Dato. e fu così che i maker misero le ali e fu così che i maker misero le ali di Andrea Di Dato NaLUG, FSFE, INAF OA Capodimonte SysAdmin, Astrofilo, divulgatore, padre e marito a.didato@fsfe.org OpenHardwareDay - Napoli 25 Marzo 2017 Cos è Arduino

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler della

Dettagli

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando Arch. Elab. - S. Orlando 1 Eccezioni e interruzioni Il progetto del controllo del processore si complica

Dettagli

Lab 1: Java Multithreading

Lab 1: Java Multithreading Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo SCH 32 Convertitore tensione/frequenza Obiettivi Strumenti e componenti Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo R1 = 1,2 KΩ; R2 = 3,6 KΩ; R4 = 180 Ω; R5 =

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli