Sistemi Operativi Giovanni Conforti. Sistemi di I/O

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi Operativi Giovanni Conforti. Sistemi di I/O"

Transcript

1 Sistemi Operativi Giovanni Conforti Sistemi di I/O 1

2 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 driver di dispositivo I driver dei dispositivi offrono un interfaccia uniforme tra la applicazioni e il SO 2

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

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

5 Tipica struttura del bus in un PC Bus SCSI 5

6 Architetture e dispositivi di I/O 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) 6

7 Architetture e dispositivi di I/O 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) 8

9 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

10 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. Half-duplex fullduplex 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

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

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

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

14 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???? 14

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

16 Ciclo di I/O basato sulle interruzioni 16

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

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

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

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

21 Vettore delle interruzioni della CPU Intel Pentium 21

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

23 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) 23

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

25 Passi di un trasferimento DMA 25

26 DMA La negoziazione tra controllore DMA e controllore del dispositivo avviene tramite una coppia di fili DMA-request 26

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

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

29 Interfaccia di I/O per le applicazioni 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 driver dei dispositivi (moduli del nucleo) che sono specializzati per gli specifici dispositivi, ma che comunicano con l esterno tramite le interfacce uniformi 29

30 Struttura relativa all I/O di un nucleo nucleo programmi sottosistema di I/O del nucleo driver SCSI driver della tastiera driver del mouse driver del bus PCI driver dellʼunità a dischetti driver ATAPI dispositivi fisici controller SCSI dispositivi SCSI controller della tastiera controller del mouse controller del bus PCI tastiera mouse bus PCI controller dellʼunità a dischetti unità a dischetti controller ATAPI dispositivi ATAPI (unità a disco, unità a nastro) 30

31 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 driver dei dispositivi è di nascondere al sottosistema di I/O del nucleo le differenze fra i controllori dei dispositivi In questo modo, i driver dei dispositivi devono essere implementati in modo da soddisfare la definizione dell interfaccia I driver differiscono per i vari SO, dato che ogni SO ha le sue convenzioni riguardanti l intefaccia dei driver dei dispositivi 31

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

33 Caratteristiche dei dispositivi per l I/O 33

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

35 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) 35

36 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) 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 36

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

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

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

40 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à 40

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

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

43 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

44 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????... 44

45 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????...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 45

46 Velocità di trasferimento dei dispositivi di un Sun Enterprise 6000 (scala logaritmica) 46

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

48 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... 48

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

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

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

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

53 Strutture di dati del nucleo per la gestione dell I/O nello UNIX 53

54 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... 54

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

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

57 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 driver di dispositivo da usare per gestire l I/O Minor: deve essere passato al driver per determinare, per mezzo di un altra tabella, l indirizzo della porta (o del DMA) del controllore del dispositivo interessato 57

58 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 driver assegna un area di memoria nello spazio di indirizzi del nucleoper ricevere i dati. Può eseguire polling o DMA 58

59 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 driver 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 59

60 Comunicazione fra calcolatori 60

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

62 Successione delle realizzazioni dei servizi di I/O Vita di un nuovo servizio di I/O Facilita il debugging, non pianta il sistema, non si riavvia o ricaricano i driver a ogni modifica nuovo algoritmo codice dellʼapplicazione aumento del tempo aumento di efficienza aumento dei costi di sviluppo aumento di astrazione codice del nucleo codice del driver del dispositivo codice del controllore del dispositivo (architettura) codice del dispositivo (architettura) aumento di flessibilità 62

63 Per oggi basta!!!! 63

64 STREAMS STREAMS: connessione full-duplex tra un driver dispositivo e un processo utente. STREAMS consiste di: - un elemento iniziale d interfaccia per il processo utente (STREAM head) - un elemento terminale che controlla il dispositivo (driver 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. 64

65 Struttura di STREAMS 65

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

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

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

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

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

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

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

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

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

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

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

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

Dettagli

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

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

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

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 04/05 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 1

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

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

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

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Struttura del calcolatore

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

Dettagli

Esame di INFORMATICA

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

Dettagli

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

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

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

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

Dettagli

Dispensa di Informatica I.1

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

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Coordinazione Distribuita

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

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

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

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

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Architettura dei computer

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

Dettagli

Organizzazione Monolitica

Organizzazione Monolitica Principali componenti di un sistema Applicazioni utente Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore / Scheduler(s) Gestore della memoria Gestore delle periferiche/

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

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

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

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

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

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

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

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

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Architettura hardware

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

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

CPU. Maurizio Palesi

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

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

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 software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

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

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

Dettagli

Sottosistema di Ingresso/Uscita (I/O)

Sottosistema di Ingresso/Uscita (I/O) Corso di Calcolatori Elettronici I A.A. 2013-2014 Sottosistema di Ingresso/Uscita (I/O) ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica allievi J-Z Calcolatore: sottosistemi Processore

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

5-1 FILE: CREAZIONE NUOVO DOCUMENTO Capittol lo 5 File 5-1 FILE: CREAZIONE NUOVO DOCUMENTO In Word è possibile creare documenti completamente nuovi oppure risparmiare tempo utilizzando autocomposizioni o modelli, che consentono di creare

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

Gestione della memoria centrale

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

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli