Sistemi di I/O. Sistemi Operativi Giuseppe Prencipe. Architetture e dispositivi di I/O. Architetture e dispositivi di I/O

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi di I/O. Sistemi Operativi Giuseppe Prencipe. Architetture e dispositivi di I/O. Architetture e dispositivi di I/O"

Transcript

1 Sistemi di I/O Sistemi Operativi Giuseppe Prencipe Sistemi di I/O Un ruolo fondamentale in un sistema di calcolo è rivestito dai dispositivi di I/O I dispositivi di I/O che popolano un sistema di calcolo sono tipicamente diversi tra loro diversi sono i metodi controllo Dato che la tendenza attuale è di avere tanti tipi di dispositivi molto diversi tra loro, il sistema deve essere strutturato in moduli di di dispositivo I dei dispositivi offrono un interfaccia uniforme tra la applicazioni e il SO 1 2 Architetture e dispositivi di I/O Grande numero di tipi di dispositivi Anche molto diversi fra loro (dischi, nastri, schede rete, mouse) Concetti comuni Porta Bus (collegamento a margherita o accesso diretto condiviso) Controllore Architetture e dispositivi di I/O Un dispositivo comunica con un sistema di calcolo inviando segnali attraverso un cavo (o l etere) e comunica con il calcolatore tramite una porta Se uno o più dispositivi usano in comune un insieme di fili, la connessione è detta bus È un insieme di fili e un protocollo che specifica come le informazioni possono viaggiare sui fili I messaggi si inviano tramite tensioni elettriche applicate ai fili I bus sono ampiamente usati nelle architetture dei calcolatori 3 4 Tipica struttura del bus in un PC Architetture e dispositivi di I/O Bus SCSI Un controllore è un insieme di componenti elettronici che può far funzionare una porta, un bus o un dispositivo Controllori di porte seriali: sono semplici Controllori SCSI: più complessi, perchè complesso è il protocollo SCSI è tipicamente una scheda a parte che si inserisce nel calcolatore Contiene un unità di elaborazione, microcodice e memoria privata per elaborare i messaggi del protocollo SCSI Alcuni dispositivi sono dotati di propri controllori incorporati Dischi (SCSI o IDE) 5 6 1

2 Architetture e dispositivi di I/O Indirizzi delle porte dei dispositivi di I/O nei PC (elenco parziale) La CPU dà comandi e fornisce dati al controllore per portare a termine trasferimenti di I/O tramite uno o più registri per dati e segnali di controllo La comunicazione con il controllore avviene tramite letture/scritture di configurazioni di bit in questi registri La comunicazione può avvenire tramite Speciali istruzioni di I/O Con I/O associato alla memoria: i registri di controllo del dispositivo si fanno corrispondere a un sottoinsieme dello spazio di indirizzi della CPU, che eseguele richieste di I/O usando le ordinarie istruzioni di trasferimento di dati Alcuni sistemi usano entrambe le tecniche 7 8 Indirizzi delle porte dei dispositivi di I/O nei PC (elenco parziale) F F 3D0-3DF 3F0-3F7 3F8-3FF controllore del disco porta parallela controllore della grafica controllore dell unità a dischetti porta seriale (principale) Controllore della grafica: dispone anche di una regione di memoria (memoria grafica) che serve a mantenere i contenuti dello schermo Le scritture avvengono tramite quest area Questo serve per rendere veloci le operazioni di visualizzazione su schermo (invece di avere milioni di operazioni di I/O) Bisogna proteggere adeguatamente quest area di memoria 9 Architetture e dispositivi di I/O Una porta di I/O consiste tipicamente di 4 registri Status: contiene dei bit che indicano lo stato della porta (es. Stato dell operazione corrente, o se ci sono dati in nel registro data-in) Control: può essere scritto per attivare un comando o per cambiare il modo di funzionamento del dispositivo (es. Halfduplex full-duplex in una porta seriale) Data-in: la CPU legge da qui per ricevere i dati Data-out: la CPU scrive qui per inviare dati Le dimansioni dei registri variano tra 1 e 4 byte 10 Interrogazione ciclica (polling) Il protocollo per l interazione tra CPU e un controllore è basato su negoziazione (handshaking) Relazione produttore consumatore Il controllore pone a 1 il bit busy del registro status quando è impegnato in un operazione; altrimenti è 0 La CPU comunica le sue richieste tramite il bit commandready nel registro command: lo pone a 1 quando il controllore deve eseguire un comando Interrogazione ciclica (polling) La coordinazione avviene come segue CPU legge ripetutamente il bit busy fino a che non è 0 CPU pone a 1 il bit write nel registro comandi, e scrive un byte in data-out CPU pone a 1 il command-ready

3 Interrogazione ciclica (polling) La coordinazione avviene come segue CPU legge ripetutamente il bit busy fino a che non è 0 CPU pone a 1 il bit write nel registro comandi, e scrive un byte in data-out CPU pone a 1 il command-ready Quando il controllore si accorge del bit a 1 in commandready Pone a 1 il bit busy Legge il registro comandi (trovando write), e legge data-out, e compie l operazione di scrittura Pone a 0 il command-ready, a 0 il bit error in status, e a 0 il bit busy Interrogazione ciclica (polling) La CPU è in attesa attiva (su busy); questo si chiama anche polling (interrogazione ciclica) L interrogazione ciclica è in sé un operazione efficiente; tale tecnica diviene però inefficiente se le ripetute interrogazioni trovano raramente un dispositivo pronto per il servizio mentre altre utili elaborazioni attendono la CPU In questi casi è più efficiente far si che sia il controllore a comunicare alla CPU di essere pronto...come???? Ciclo di I/O basato sulle interruzioni Interrogazioni (interrupt) I segnali d interruzione sono usati diffusamente dai sistemi operativi moderni per gestire eventi asincroni e per eseguire nel modo supervisore le procedure del nucleo I controllori dei dispositivi, gli errori e le chiamate del sistema generano segnali d interruzione al fine d innescare l esecuzione di procedure del nucleo Poiché le interruzioni sono usate in modo massiccio per affrontare situazioni in cui il tempo è un fattore critico, è necessario avere un efficiente gestione delle interruzioni per ottenere buone prestazioni del sistema Interruzioni È necessario poter differire la gestione delle interruzioni durante le elaborazioni critiche Bisogna strutturare le interruzioni, in modo da poter distinguere quelle a bassa e quelle a alta priorità Queste caratteristiche sono fornite dal controllore delle interruzioni Interruzioni La maggior parte delle CPU ha due linee di richiesta delle interruzioni Non mascherabili: riservata a eventi irrecuperabili (errori di memoria,...) Mascherabili: possono essere disattivate dalla CPU prima dell esecuzione di una sequenza critica di istruzioni che non deve essere interrotta In questo caso tutte le interruzioni di questo tipo vengono mascherate (la CPU interviene sulla linea di interrupt complessiva) È usata dai controllori di dispositivo per richiedere un servizio

4 Interruzioni Il meccanismo delle interruzioni accetta un indirizzo: un numero che seleziona da un insieme una specifica procedura di gestione delle interruzioni Questo indirizzo è tipicamente uni scostamento relativo al vettore delle interruzioni (che contiene gli indirizzi di memoria degli specifici gestori delle interruzioni) Lo scopo del vettore è di ridurre la necessità che un singolo gestore debba individuare tutte le possibili fonti dei segnali d interruzione per determinare quale di esse abbia richiesto il servizio Interruzioni Tipicamente i calcolatori hanno più dispositivi (e quindi gestori delle interruzioni) che elementi nel vettore Se ogni procedura avesse un suo elemento nel vettore, avremmo vettori enormi Una soluzione è quella di avere nel vettore puntatori a liste di gestori Quando si verifica un interruzione, si chiamano i gestori nella lista corrispondente fino a quando non si individua quello che può soddisfare la richiesta Vettore delle interruzioni della CPU Intel Pentium Interruzioni Il meccanismo delle interruzioni realizza anche un sistema di livelli di priorità delle interruzioni Permette alla CPU di differire la gestione delle interruzioni a bassa priorità senza mascherare tutte le interruzioni Il SO interagisce con il meccanismo delle interruzioni in vari modi All accensione della macchina (installando nel vettore delle interruzioni gli indirizzi dei gestori dei dispositivi collegati) Per gestire le eccezioni Per la gestione della memoria virtuale (paginazione, segmentazione) Esecuzione di chiamate di sistema Per controllare il flusso all interno del nucleo Es.: copia dei dati nel buffer dati dell utente nel caso di lettura da disco. Questa operazione viene differita, e portata a termine quando la CPU è inattiva Accesso diretto alla memoria (DMA) Usato per evitare l I/O programmato per trasferimenti di grandi quantità di dati I/O programmato...????...è quando la CPU si occupa di controllare i bit di stato e di scrivere i dati nel registro del controllore di un dispositivo Per evitare questo spreco di ricorre all accesso diretto alla memoria (DMA) DMA Per dare avvio a un trasferimento DMA, la CPU scrive nella memoria un comando per il DMA Esso contiene un puntatore alla locazione dei dati da trasferire La CPU scrive l indirizzo di questo comando nel controllore DMA, e prosegue le sue normali attività Il controllore DMA agisce direttamente sul bus della memoria presentando al bus gli indirizzi di memoria necessari per eseguire il trasferimento senza l aiuto della CPU

5 Passi di un trasferimento DMA DMA La negoziazione tra controllore DMA e controllore del dispositivo avviene tramite una coppia di fili DMA-request DMA La negoziazione tra controllore DMA e controllore del dispositivo avviene tramite una coppia di fili DMA-request Il controllore del dispositivo manda qui un segnale quando una parola è disponibile per il trasferimento DAM-acknowledge Il controllore DMA usa questa linea dopo aver presentato l indirizzo desiderato. In questo momento il DMA prende possesso del bus di memoria A questo punto il controllore del dispositivo riceve questo segnale, trasferisce nella memoria la parola, e rimuove il segnale dalla linea DMA-request Quando il trasferimento termina, il controllore DMA interrompe la CPU Quando la DMA prende possesso del bus di memoria, la CPU non può accedervi; ha comunque accesso ai dati in cache Questo fenomeno è anche noto come sottrazione di cicli, che può rallentare la computazione; le prestazioni risultano comunque migliori con l utilizzo del DMA Sommario Bus Controllore Porte e registri Negoziazione tra CPU e controllore Negoziazione tramite polling o interruzioni Uso del controllore di DMA per grandi trasferimenti di dati Struttura relativa all I/O di un nucleo Interfaccia di I/O per le applicazioni nucleo Il SO deve permettere un trattamento uniforme dei dispositivi di I/O Cioè un applicazione deve poter utilizzare un dispositivo (ad es. aprire un file su disco) senza sapere di che tipo di disco si tratti Il SO deve compiere un procedimento di astrazione rispetto alle differenze tra i vari dispositivi In altre parole, identifica alcuni tipi generali di I/O, accedendo a ognuno di questi tipi tramite un interfaccia Le differenze sono poi incapsulate nei dei dispositivi (moduli del nucleo) che sono specializzati per gli specifici dispositivi, ma che comunicano con l esterno tramite le interfacce uniformi programmi dispositivi fisici SCSI SCSI dispositivi SCSI della tastiera della tastiera sottosistema di I/O del nucleo del mouse del mouse del bus PCI del bus PCI tastiera mouse bus PCI dell unità a dischetti dell unità a dischetti unità a dischetti ATAPI ATAPI dispositivi ATAPI (unità a disco, unità a nastro)

6 Interfaccia di I/O per le applicazioni Le chiamate del sistema di I/O incapsulano il comportamento dei dispositivi in alcune classi generiche Lo scopo dello strato dei dei dispositivi è di nascondere al sottosistema di I/O del nucleo le differenze fra i controllori dei dispositivi In questo modo, i dei dispositivi devono essere implementati in modo da soddisfare la definizione dell interfaccia I differiscono per i vari SO, dato che ogni SO ha le sue convenzioni riguardanti l intefaccia dei dei dispositivi Interfaccia di I/O per le applicazioni I dispositivi possono differire in molti aspetti: Trasferimento a flusso di caratteri (trasferisce i byte uno alal volta) o a blocchi Accesso sequenziale (trasferisce i dati secondo un ordine prestabilito e invariabile) o diretto (può essere richiesto l accesso a una qualunque delle possibili locazioni di memorizzazione) Sincroni (tempi di risposta prevedibili) o asincroni Condivisibili (utilizzato in modo concorrente da vari processi) o riservati Velocità di funzionamento Lettura e scrittura, solo lettura o solo scrittura Caratteristiche dei dispositivi per l I/O Classi di dispositivi Le classi dei dispositivi sono abbastanza regolari per i vari SO I/O a blocchi, I/O a flusso di caratteri, accesso ai file associato alla memoria, socket di rete Alcuni SO mettono a disposizione chiamate di sistema anche per orologio/temporizzatore, e dispositivi audio e video Dispositivi con trasferimento a blocchi Dispositivi con trasferimento a blocchi I dispositivi con trasferimento a blocchi includono le unità a disco Le istruzioni comprendono read, write e seek (per specificare il prossimo blocco da trasferire) Di solito le applicazioni comunicano con questi dispositivi tramite un file system che funge da interfaccia Certe applicazioni (DB) trattano questi dispositivi come una semplice sequenza lineare di blocchi (si parla di I/O a basso livello raw I/O) I dispositivi con trasferimento a blocchi includono le unità a disco Le istruzioni comprendono read, write e seek (per specificare il prossimo blocco da trasferire) Di solito le applicazioni comunicano con questi dispositivi tramite un file system che funge da interfaccia Certe applicazioni (DB) trattano questi dispositivi come una semplice sequenza lineare di blocchi (si parla di I/O a basso livello raw I/O) Possibile accesso al file associato alla memoria Viene posto a un livello gerarchico immediatamente superiore a quello dei dispositivi a blocchi Un interfaccia per l accesso associato alla memoria fornisce la possibilità di usare un unità a disco tramite un vettore di byte della memoria centrale La chiamata di sistema che associa un file a una regione di memoria restituisce l indirizzo di memora virtuale di un vettore di caratteri che contiene una copia del file I trasferimenti si trattano nello stesso modo in cui si gestisce l accesso su richiesta a una pagina di memoria virtuale

7 Dispositivi con trasferimento a caratteri I dispositivi con trasferimento a caratteri includono tastiere, mouse, porte seriali I comandi comprendono get, put (per acquisire o inviare un carattere, rispettivamente) È possibile costruire servizi aggiuntivi quali l accesso riga per riga Dispositivi di rete Poiché i modi di indirizzamento e le prestazioni tipiche dell I/O di rete sono notevolmente differenti da quelli dell I/O delle unità a disco, la maggior parte dei sistemi operativi fornisce un interfaccia per l I/O di rete diversa da quella caratterizzata dalle operazione read, write e seek usata per i dischi. Un interfaccia disponibile in molti sitemi operativ, tra i quali Unix e Windows NT è l interfaccia di rete socket (letteralmente presa di corrente ) Separa il protocollo di rete dalle operazioni di rete Include la funzione select (fornisce informazioni sulle socket per le quali sono presenti pacchetti che attendono d essere ricevuti, e su quelle che hanno spazio per accettare un pacchetto da inviare) La select elimina l interrogazione ciclica Orologi e temporizzatori Segnano l ora corrente, segnalano il tempo trascorso, regolano un temporizzatore Il dispositivo che misura la durata di un lasso di tempo e che può avviare un operazione si chiama temporizzatore programmabile Genera un interruzione a intervalli regolari, e può ripetere questo processo un numero prefissato di volte Lo scheduler usa questo meccanismo per la gestione dei processi a quanto di tempo Il sottosistema di I/O lo usa per copiare periodicamente i dati dalla buffer cache al disco Il sottosistema di rete lo usa per annullare operazioni che procedono troppo lentamente (per congestionamenti o fallimenti) time out ioctl (UNIX) tratta gli aspetti dell I/O quali orologi e temporizzatori I/O bloccante e non bloccante Bloccante: si sospende l esecuzione dell applicazione, che passa dalla coda dei processi pronti a quella d attesa Quando la chiamata di sistema termina, il processo torna nella coda dei pronti Codice più facilmente comprensibile Insufficiente per alcune necessità I/O bloccante e non bloccante Bloccante: si sospende l esecuzione dell applicazione, che passa dalla coda dei processi pronti a quella d attesa Quando la chiamata di sistema termina, il processo torna nella coda dei pronti Codice più facilmente comprensibile Insufficiente per alcune necessità Non bloccante: sovrappone elaborazione e I/O Interfaccia d utente Interazioni con il mouse o tastiera Applicazione per il video digitale, che legge fotogrammi da un disco e li mostra a video Si realizza attraverso il multithreading Alcuni eseguono chiamate bloccanti, mentre altre proseguono l elaborazione Alcuni SO forniscono chiamate di sistema non bloccanti, che restituiscono rapidamente il controllo dell applicazione fornendo un parametro che indica quanti byte di dati sono stati trasferiti I/O asincrono Un alternativa sono le chiamate di sistema asincrone: restituiscono immediatamente il controllo al chiamante senza attendere che l I/O sia stato completato Il completamento dell I/O è successivamente comunicato all applicazione per mezzo dell impostazione del valore di una variabile nello spazio d indirizzi dell applicazione o tramite la generazione di un segnale La differenza fra chiamata non bloccante e asincrona è che La prima restituisce immediatamente il controllo, fornendo i dati che è stato possibile leggere La seconda richiede un trasferimento di cui il sistema garantisce il completamento, ma solo in un momento successivo e non prevedibile

8 Sottosistema per l I/O del nucleo Il nucleo fornisce molti servizi riguardanti l I/O: scheduling, gestione cache, gestione errori, ecc... Scheduling Fare lo scheduling di un insieme di richieste di I/O significa stabilirne un ordine d esecuzione efficace; l ordine in cui si verificano le chiamate del sistema delle applicazioni è raramente la scelta migliore. Alcuni sistemi operativi tentano di essere equi Ad es., possono ordinare le richieste di accesso al disco in modo da ottimizzare i tempi di spostamento della testina Lo scheduling è realizzato mantenendo una coda di richieste per ogni dispositivo Quando un processo richiede I/O bloccante, viene posto nella coda appropriata Lo scheduler ordina la coda per ottenere prestazioni globali migliori Può decidere amche di assegnare priorità diverse (richieste del sottosistema della memoria virtuale > richieste applicazioni) 43 Sottosistema per l I/O del nucleo Memorizzazione transitoria: un buffer (memoria di transito) è un area di memoria che contiene dati mentre vengono trasferiti tra due dispositivi o fra un applicazione e un dispositivo Necessità di gestire la differenza di velocità fra il produttore e il consumatore di un flusso di dati Es.: file da modem a disco. Si scrivono i dati nel buffer; quando questo è pieno, si richiede di svuotare questo buffer nel disco...ma i dati dal modem continuano ad arrivare...dove si mettono???? Sottosistema per l I/O del nucleo Velocità di trasferimento dei dispositivi di un Sun Enterprise 6000 (scala logaritmica) Memorizzazione transitoria: un buffer (memoria di transito) è un area di memoria che contiene dati mentre vengono trasferiti tra due dispositivi o fra un applicazione e un dispositivo Necessità di gestire la differenza di velocità fra il produttore e il consumatore di un flusso di dati Es.: file da modem a disco. Si scrivono i dati nel buffer; quando questo è pieno, si richiede di svuotare questo buffer nel disco...ma i dati dal modem continuano ad arrivare...dove si mettono????...i dati in arrivo dal modem vengono scritti in un secondo buffer La doppia memorizzazione transitoria svincola il produttore dal consumatore, rendendo meno critica la loro sincronizzazione Memorizzazione transitoria (cont.) Gestione dei dispositivi che trasferiscono dati in blocchi di dimensioni diverse Tipiche nelle reti di calcolatori, dove spesso è necesario frammentare il msg in msg piccoli, e il sistema destinatario provvede a ricomporre il msg in un area di memoria apposita Realizzazione della semantica delle copie Es.: applicazione esegue una write su disco di dati in una sua area di memoria; dopo la richiesta, il SO restituisce il controllo all applicazione. Cosa succede se l applicazione modifica i dati nell area di memoria? Il SO impedisce questo, facendo sì che i dati che verranno trasferiti sono gli stessi di quelli al momento della chiamata di sistema Un modo per realizzare questo è di copiare i dati da scrivere in un area di memoria transitoria del nucleo prima di restituire il controllo all applicazione dopo la chiamata di sistema La copia dei dati verrà dunque effettuata dall area di memoria del nucleo Sottosistema per l I/O del nucleo Cache: regione di memoria veloce per copie di dati Sempre solo copia di informazioni già memorizzate Migliora l efficienza Ad es.: la RAM è una cache per il disco

9 Sottosistema per l I/O del nucleo Cache: regione di memoria veloce per copie di dati Sempre solo copia di informazioni già memorizzate Migliora l efficienza Ad es.: la RAM è una cache per il disco... Code (spooling): memoria di transito contenente dati per un dispositivo che non può accettare flussi di dati intercalati Quando il dispositivo può gestire solo una richiesta alla volta Es.: una stampante. Quando un applicazione termina di emettere il flusso di dati da stampare (che vengono scritti in un file), si aggiunge tale file alla coda di stampa. La coda viene copiata, una file per volta, sulla stampante Questa funzione può essere gestita da un processo di sistema (demone) o da un thread del nucleo Sottosistema per l I/O del nucleo Alcuni sistemi permettono di accedere ai dispositivi in modo esclusivo Un processo può accedere a un dispositivo che non sia già attivo riservandosene l uso e restituendolo al sistema quando non ne ha più bisogno Le appilcazioni hanno la responsabilità di evitare situazioni di stallo Gestione degli errori Un sistema operativo che usi la protezione della memoria può proteggersi da molti tipi di errori dovuti ai dispositivi o alle applicazioni I SO sono spesso capaci di compensare efficacemente le conseguenze negative dovute a errori generati da cause contingenti (se una lettura non ha successo, il sistema ritenterà) Di norma, una chiamata del sistema per l I/O riporta un bit d informazione sullo stato d esecuzione della chiamata UNIX usa una variabile intera detta errno per codificare genericamente il tipo d errore avvenuto Molti dispositivi SCSI mantengono alcune pagine di informazioni sugli errori avvenuti; queste pagine possono essere richieste dalla macchina, ma ciò accade raramente Strutture di dati del nucleo Il nucleo ha bisogno di mantenere informazioni sullo stato dei componenti coinvolti nelle operazioni di I/O A questo fine usa un certo numero di strutture dati interne Il sistema operativo UNIX, per mezzo del file system, permette l accesso a diversi oggetti: i file degli utenti, i dispositivi, lo spazio d indirizzi dei processi, e altri ancora La stessa operazione di I/O assume significati diversi a seconda di chi la effettua Alcuni sistemi operativi applicano metodi orientati agli oggetti e un sistema basato sullo scambio di messaggi Strutture di dati del nucleo per la gestione dell I/O nello UNIX Trasformazione delle richieste di I/O in operazioni dei dispositivi Si consideri la lettura di un file da un unità a disco: Si determina il dispositivo che detiene il file Si traduce il nome nella rappresentazione del dispositivo Si trasferiscono i dati dal disco al buffer Si rendono disponibili i dati al processo Si restituisce il controllo al processo Vediamo in dettiaglio

10 I/O Vediamo cosa accade in MS-DOS e UNIX... La prima parte di un nome di file in MS-DOS (quella che precede i due punti) identifica uno specifico dispositivo C: è la parte iniziale di ogni nome di file residente sul disco principale Questa convenzione è codificata all interno del SO: C: è associato a uno specifico indirizzo di porta per mezzo di una tabella dei dispositivi L uso dei due punti facilita il compito del SO per separare i nomi dei dispositivi dai nomi di file I/O In UNIX i nomi dei dispositivi sono inclusi nell ordinario spazio dei nomi dei file In questo modo sono automaticamente disponibili i servizi del file system riguardanti i nomi dei file (possessore, diritti, ecc...) In un percorso UNIX non c è alcuna chiara separazione fra il dispositivo interessato e il nome del file in senso proprio In effetti nessuna parte del nome di percorso di un file è il nome di un dispositivo I/O UNIX impiega la tabella di montaggio per associare i prefissi dei nomi di percorso ai corrispondenti nomi di dispositivi Dato un nome di percorso, il sistema esamina la tabella per trovare il più lungo prefisso corrispondente; questo elemento della tabella indica il nome del dispositivo voluto Tuttavia, anche questo nome è rappresentato come oggetto del file system Quando però UNIX cerca questo nome nel file system, non troverà un inode, ma una coppia <major,minor> che identifica un dispositivo Major: individua il di dispositivo da usare per gestire l I/O Minor: deve essere passato al per determinare, per mezzo di un altra tabella, l indirizzo della porta (o del DMA) del controllore del dispositivo interessato Schema d esecuzione di una richiesta di lettura bloccante Ad es.: Lettura da un file già aperto Dati già presenti in buffer cache Il processo passa da coda pronti a coda attesa Il assegna un area di memoria nello spazio di indirizzi del nucleoper ricevere i dati. Può eseguire polling o DMA Comunicazione fra calcolatori Prestazioni L I/O è uno tra i principali fattori che influiscono sulle prestazioni di un sistema: Richiede un notevole impegno di CPU per l esecuzione del codice del e per uno scheduling equo ed efficiente I risultanti cambi di contesto sfruttano fino in fondo la CPU e le sue memorie cache Rivela le eventuali inefficienze del nucleo nel gestire le interruzioni Comportano cambi di contesto che devono essere gestiti bene Anche il traffico di rete può pesare e portare a cambi di contesto Es.: connessione a distanza fra due calcolatori. Ogni caratteri inserito da una parte deve essere comunicato all altra

11 Migliorare le prestazioni Per migliorare l efficienza dell I/O si possono applicare diversi principi: Ridurre il numero dei cambi di contesto Ridurre il numero di copiature dei dati Ridurre la frequenza delle interruzioni tramite il trasferimento di grandi quantità di dati in un unica soluzione, l uso di controllori intelligenti e mediante l interrogazione ciclica Uso di controllori DMA intelligenti Equilibrare le prestazioni della CPU, del sottosistema per la gestione della memoria, del bus e dell I/O Successione delle realizzazioni dei servizi di I/O aumento del tempo aumento di efficienza Facilita il debugging, non pianta il sistema, non si riavvia o ricaricano i a ogni modifica aumento dei costi di sviluppo aumento di astrazione Vita di un nuovo servizio di I/O nuovo algoritmo codice dell applicazione codice del nucleo codice del del dispositivo codice del controllore del dispositivo (architettura) codice del dispositivo (architettura) aumento di flessibilità STREAMS STREAMS: connessione full-duplex tra un dispositivo e un processo utente. Per oggi basta!!!! STREAMS consiste di: - un elemento iniziale d interfaccia per il processo utente (STREAM head) - un elemento terminale che controlla il dispositivo ( end) - un certo numero di moduli intermedi fra questi due estremi. Tutti questi elementi possiedono una coppia di code, una di lettura e una di scrittura. Per il trasferimento dei dati tra le due code, si usa uno schema a scambio di messaggi Struttura di STREAMS 65 11

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

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

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

Sistemi di I/O. Contenuti. L hardware di I/O. Bus in un PC. L hardware di I/O. Le interfacce I/O per le applicazioni.

Sistemi di I/O. Contenuti. L hardware di I/O. Bus in un PC. L hardware di I/O. Le interfacce I/O per le applicazioni. Contenuti L hardware di I/O. Sistemi di I/O Le interfacce I/O per le applicazioni. Il sottosistema di I/O del kernel. Trasformazione di richieste di I/O in operazioni hardware. Streams. Prestazioni. L

Dettagli

Sistemi Operativi. Sottosistema di I/O

Sistemi Operativi. Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Sistemi Operativi Giovanni Conforti. Sistemi di I/O

Sistemi Operativi Giovanni Conforti. Sistemi di I/O Sistemi Operativi Giovanni Conforti Sistemi di I/O 1 Sistemi di I/O Un ruolo fondamentale in un sistema di calcolo è rivestito dai dispositivi di I/O I dispositivi di I/O che popolano un sistema di calcolo

Dettagli

In entrambi i casi i dispositivi vengono comunque trattati alla stregua di indirizzi, con minime

In entrambi i casi i dispositivi vengono comunque trattati alla stregua di indirizzi, con minime C7. SISTEMI DI I/O Architetture e dispositivi di I/O Vi sono diversi tipi di dispositivi: dispositivi di memorizzazione, dispositivi di trasmissione e interfacce uomo macchina. Nonostante la varietà, ci

Dettagli

Strutture dei sistemi di calcolo

Strutture dei sistemi di calcolo Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo

Dettagli

Sistemi Operativi. Sottosistema di I/O

Sistemi Operativi. Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Struttura dei Sistemi di Calcolo Operazioni dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione hardware Invocazione del Sistema Operativo 1 Architettura

Dettagli

Architettura dei sistemi di elaborazione (Input/Output parte 1)

Architettura dei sistemi di elaborazione (Input/Output parte 1) Architettura dei sistemi di elaborazione (Input/Output parte 1) Sottosistema di I/O Il sottosistema di I/O è la parte attraverso la quale si esplica la comunicazione tra il calcolatore e il mondo esterno.

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

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver Architettura dei calcolatori e sistemi operativi Input Output IO 3 Device driver Device driver - gestori delle periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi

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

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

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

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

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli

Dettagli

La gestione dell I/O (Cap. 5, Tanenbaum)

La gestione dell I/O (Cap. 5, Tanenbaum) La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

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

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche

Dettagli

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

verso espandibili eterogenei tempo di accesso tempo di risposta throughput I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di

Dettagli

Architettura hardware

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

Dettagli

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

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

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica Ricapitolazione di concetti base Sistemi Operativi - T. Vardanega Pagina 92/113 Gerarchia fisica di memoria 2 La cache è suddivisa in blocchi

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Sistemi operativi 2003/2004. Input e output

Sistemi operativi 2003/2004. Input e output Sistemi operativi 2003/2004 Input e output Dispositivi di I/O Human readable Usati per comunicare con esseri umani Stampanti Terminali video Tastiera Mouse, joystick, ecc. Dispositivi di I/O Machine readable

Dettagli

Gestione dei Processi

Gestione dei Processi Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma

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

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

Dettagli

La memoria cache. Informatica generale

La memoria cache. Informatica generale La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,

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

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

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

2. Cenni di sistemi operativi

2. Cenni di sistemi operativi 2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo

Dettagli

Prof. G. Ascia. Sistema Operativo

Prof. G. Ascia. Sistema Operativo Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo

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

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse. Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Architettura degli Elaboratori (Prima Unità) Renato.LoCigno@dit.unitn.it www.dit.unitn.it/~locigno/didattica/archit/02-03/index.html

Dettagli

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo. Informatica Sistema Operativo 1 Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un di I/O 1. Nascondere al programmatore i dettagli delle interfacce

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

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

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine Realizzazione del file system Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine www.dimi.uniud.it/buttussi Struttura del file system Il file system risiede in

Dettagli

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

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

Il Modello a scambio di messaggi

Il Modello a scambio di messaggi Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria

Dettagli

Gestione periferiche I/O

Gestione periferiche I/O Gestione periferiche I/O Compiti del sottosistema IO Nascondere al programmatore i dettagli delle interfacce hw e dei dispositivi (utilizzo di controllori) Omogeneizzare la gestione di dispositivi diversi

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

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

Esercizi Rappresentazione delle Informazioni

Esercizi Rappresentazione delle Informazioni Esercizi Rappresentazione delle Informazioni 1. Nell alfabeto di Marte sono previsti 300 simboli; quanti bit si devono utilizzare per rappresentarli tutti? 2. Quanti byte occupa la frase biologia marina

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in Informatica A.A. 2018/19 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

Dettagli

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea in Scienze della Comunicazione, Università Roma Tre 12 Dicembre

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno

Dettagli

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: 1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate

Dettagli

I dispositivi di input/output

I dispositivi di input/output I dispositivi di input/output I dispositivi di input/output (anche detti periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina La loro funzione primaria è quella di consentire l'immissione

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza Il clock della CPU A. fornisce la data corrente ai programmi macchina B. temporizza le operazioni elementari C. ha la stessa frequenza del clock del bus di sistema D. si misura in bit per secondo (bps)

Dettagli

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1. Input /output e gestione dei file Premessa Iniziamo la lezione dicendo subito che per INPUT/OUTPUT si intende l insieme delle operazioni di ingresso ed uscita, ossia lo scambio di informazioni tra il programma

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi 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

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 Organizzazione della memoria La memoria principale è organizzata come un insieme

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

INFORMATICA. L informatica comprende:

INFORMATICA. L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Cos è un Calcolatore? Un computer (calcolatore) è una macchina

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci continua Ricapitolando Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati

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

La memoria secondaria

La memoria secondaria La memoria secondaria E di solito un disco rigido che contiene dati e programmi in modo permanente (può essere anche un cd-rom, floppy disk, etc). Tempi di accesso: Floppy: O(100) ms Hard disk: O(10) ms

Dettagli

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,

Dettagli

Input/Output. Livelli del sottosistema di I/O

Input/Output. 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 Di Driver dei didispositivi itii Gestori delle interruzioni Hardware utente kernel

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Processore: CPU Componente elettronico costituito da minuscole componenti di silicio, chiamate CHIP. Esegue le istruzioni implementate nel SW, tramite una serie di operazioni

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università

Dettagli

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2009-2010 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

Architettura hardware

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

Dettagli

Funzionamento dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchie delle memorie Architetture di protezione Strutture delle

Funzionamento dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchie delle memorie Architetture di protezione Strutture delle Capitolo 2: Strutture dei sistemi di calcolo Funzionamento dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchie delle memorie Architetture di protezione Strutture delle reti di calcolatori

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 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

Dettagli

Il Sistema Operativo

Il Sistema Operativo Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer

Dettagli

Lezione 15: Il Sistema Operativo : Principi Generali (3P) Lunedì 22 Novembre 2010

Lezione 15: Il Sistema Operativo : Principi Generali (3P) Lunedì 22 Novembre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 15: Il Sistema Operativo : Principi Generali

Dettagli