1.10: Gestione dell'i/o

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1.10: Gestione dell'i/o"

Transcript

1 1.10: Gestione dell'i/o Hardware di I/O Interfaccia applicativa Sottosistema di I/O del Kernel Block buffer cache Scenario operativo (dalla richiesta di I/O all'operazione hardware) Prestazioni

2 Enorme varietà di dispositivi di I/O Hardware di I/O Concetti di base: Controller (o host adapter) Microprocessore dedicato + firmware + RAM privata Porta di I/O (registro del controller; punto di connessione e di comunicazione, visibile sul bus di I/O) Bus di I/O (es. PCI bus, ISA bus etc.) Bus = insieme di segnali su fili comuni + un protocollo di interazione L'accesso ai dispositivi di I/O si realizza tramite le porte di I/O Le porte hanno Indirizzi di I/O (logici e fisici a un tempo non sono traslati dalla MMU), usati da istruzioni specifiche di I/O es., 80x86: b = in(addr); out(b, addr);

3 Hardware di I/O (Cont.) Schema hardware del bus di un PC:

4 Hardware di I/O (Cont.) Funzioni realizzate tramite le porte di I/O del controller: Inviare comando al dispositivo Leggere stato del dispositivo Inviare dati al dispositivo Leggere dati dal dispositivo. Registri tipici di un controller (ciascuno da 1 a 4 byte): CSR Control (write) and Status (read) Register DATA (in + out) Segnali (sul bus di I/O) per generare interrupt alla CPU Circuiteria e segnali sul bus per gestire trasferimenti DMA Spesso esiste un apposito circuito, il DMAC (DMA Controller), con un certo numero di canali DMA che possono essere utilizzati da vari controller di

5 Hardware di I/O (Cont.) Rappresentazione possibile dei registri di un controller (memorymapped I/O): struct device { char CSR; /* lettura: status; scrittura: control */ char DATA; /* data in / out */ }; struct device *dev = CONTROLLER_START_ADDRESS; Tre modalità di interazione/sincronizzazione CPU periferica: Polling Preferibile se il tempo risposta dispositivo è breve rispetto al tempo commutazione processi (stampanti veloci con grosso buffer) Interrupt (byte a byte) Il tempo di risposta del dispositivo è lungo (linee seriali, connessioni

6 Polling Polling: basato su interazione continua attraverso il registro CSR Bit command-ready e write, nel Control Register Bit busy e error, nello Status Register Scenario (caso di una scrittura): la CPU determina stato del dispositivo: testa continuamente il bit busy nel registro status per aspettare che il dispositivo sia pronto all'i/o (loop di busy wait) while(dev->csr & SR_BUSY) ; alza il bit write, invia valore in data-out; quindi alza il bit commandready (c'è un comando pronto nel CSR, da eseguire) dev->csr = CR_WRITE; dev->data = value; dev->csr = CMD_READY; il controller alza immediatamente il bit BUSY, legge il CSR e trova il comando write; legge allora il valore dal registro DATA e lo invia alla periferica fisica

7 Interrupt Segnale di Interrupt Request per generare interrupt alla CPU, azionato dalla periferica. Scenario: come per il polling, ma Non c'è il ciclo continuo iniziale (la CPU interviene solo in seguito a un interrupt di fine operazione precedente) al termine, il controller (oltre alle altre operazioni) alza la linea di Interrupt Request. La CPU salva il contesto attuale e passa il controllo a una routine di servizio dell'interrupt (interrupt handler), ad un indirizzo fisso in memoria Vettore di interrupt (interrupt vector) per il dispatching dell'interrupt allo handler giusto. Lo interrupt handler serve il dispositivo, quindi esegue una istruzione di "ritorno dall'interrupt"

8 Interrupt (Cont.) Interrupt: Mascherabili, per ignorare o ritardare alcuni interrupt Meccanismo basato sulla priorità degli interrupt (rispetto alla priorità hardware della CPU) Non mascherabili (solo alcuni, per situazioni di particolare gravità) Il meccanismo degli interrupt è usato anche per eccezioni, trap e chiamate di sistema

9 Interrupt (Cont.) Assegnazione degli interrupt in un PC:

10 Interrupt (Cont.) Ciclo di I/O ad interrupt:

11 DMA Utilizzato per evitare l'i/o programmato (interazione con registri CSR e DATA per ciascun byte o parola da trasferire) per trasferimenti di dati grossi e/o veloci (ad es. per I/O su disco). Attraverso il controller di DMA, cortocircuita la CPU per trasferire dati direttamente tra il dispositivo di I/O e la memoria. Rappresentazione possibile dei registri di un controller (memorymapped I/O): struct device { char CSR; /* lettura: status; scrittura: control */ char DATA; /* data in / out */ int ADDR; /* indirizzo iniziale di RAM da/a cui trasferire dati */ int COUNT; /* contatore dei byte da trasferire */ }; struct device *dev = CONTROLLER_START_ADDRESS;

12 Scenario (caso di una lettura): DMA la CPU carica il registro count col numero di byte da trasferire, e il registro addr con l'indirizzo iniziale del buffer di memoria in RAM dev->count = byte_count; dev->addr = buffer_address; alza il bit read, nel registro control; quindi alza il bit command-ready (c'è un comando pronto nel CSR, da eseguire) dev->csr = CR_READ; dev->csr = CMD_READY; il controller alza immediatamente il bit busy, legge il CSR e trova il comando read; legge dai registri count e addr i valori specificati; con l'ausilio del controller di DMA, trasferisce il numero di byte specificati a partire dall'indirizzo specificato al termine, il controller abbassa il bit command-ready, posiziona il bit error a 0 nel CSR, abbassa il bit busy (pronto ad accettare un nuovo comando), e alza la linea di Interrupt Request per segnalare la fine dell'operazione e la disponibilità dei dati in memoria

13 DMA (Cont.) Sei passi base per la realizzazione di un trasferimento in DMA:

14 Interfaccia Applicativa di I/O Le chiamate di sistema orientate all'i/o tendono a virtualizzare i vari dispositivi, raggruppandoli in classi generiche e offrendo al programmatore un'interfaccia quanto più possibile omogenea Lo strato dei device driver (device driver layer) nasconde al Kernel le differenze tra diversi controller. Molti S.O. forniscono una chiamata di sistema scappatoia (escape system call), per passare comandi specifici da un'applicazione a un device driver; questi comandi sono definiti dal driver (p.es. un comando FORMAT per formattare dischi rigidi o floppy disk) Unix: ioctl(2) ioctl(fd, cmd, argp); fd = file descriptor dello special file (periferica) cmd = una costante, definita nel device driver, che specifica un comando argp = puntatore a una struttura di dati con gli argomenti relativi a cmd. Possibili categorie di dispositivi: A flusso di caratteri, a blocchi di dati, orientati alle reti

15 Interfaccia Applicativa di I/O (Cont.) Unix/Linux realizzano una completa virtualizzazione delle periferiche, che sono viste come file; pertanto la programmazione di base di una periferica è identica a quella di un normale file su disco. Periferica = special file L'inode contiene tre informazioni essenziali: Tipo file (special file di tipo carattere, blocco) MDN (Major Device Number), mdn (Minor Device Number) MDN individua una categoria di periferiche, gestite da uno stesso device driver mdn individua la specifica unità della categoria data

16 Dispositivi a Carattere, a Blocco, di Rete I dispositivi a blocco (block devices) includono dischi e unità a nastro I comandi includono read(), write(), seek() È possibile la mappatura in memoria di file (es. Linux) Unix: accessibili in modo diretto (raw I/O, raw mode), cioè con trasferimento diretto da periferica a buffer utente, o attraverso una cache di Kernel (block buffer cache) I dispositivi a carattere (character devices) includono tastiere e schermi, mouse, porte seriali I comandi includono get(), put() In Unix, continuano a chiamarsi read() e write() Per i dispositivi di tipo tty (linea utente), l'edizione di linea (line editing) può essere supportata a livello di strati di libreria utente, o di sottosistemi nel Kernel, chiamati dai device driver (è il caso di Unix)

17 Dispositivi a Carattere, a Blocco, di Rete (Cont.) I dispositivi di rete sono differenti dagli altri tipi visti, ed hanno quindi la loro specifica interfaccia Unix: formalmente sono dispositivi di tipo carattere (tipo file nell'inode) Non vengono quasi mai utilizzati in modo diretto da applicazioni a livello utente: si trovano in basso appl. ad utente una pila di moduli funzionali interf. di prog. protocolli disp. di rete Device driver e/o moduli del Kernel Unix and Windows/* includono il supporto per una interfaccia socket (socket interface), interfaccia di programmazione de facto standard Insieme di primitive, implementate come chiamate di sistema o talvolta

18 Supporto del Kernel A seconda del tipo di dispositivo, il Kernel può offrire: Nessun supporto es. Unix: interfaccia grafica X.11 interamente gestita a livello applicazione utente (previa autorizzazione ad accedere a certe porte di I/O) Supporto limitato alla porta di I/O es. Unix: linee seriali (/dev/ttys0, etc.) il Kernel fornisce un device driver per letture e scritture di caratteri, ma nessun supporto per gestione modem, stampanti seriali, mouse seriali etc. Supporto totale es.: dischi, interfacce di rete il Kernel fornisce un device driver e uno o più moduli che si occupano in toto della gestione della periferica e della strutturazione e gestione dei dati

19 Supporto del Kernel (Cont.) User level Applicazioni Moduli sistema Kernel Device driver Hardware Periferica fisica N.B. tra l'applicazione e il Kernel ci può essere uno strato di librerie di

20 Supporto del Kernel (Cont.) Esempio struttura del kernel di Linux:

21 Sottosistema di I/O del Kernel In generale, il Kernel fornisce diversi servizi comuni per l'i/o, raggruppati in un insieme di moduli funzionali che costituiscono il (sotto)sistema di I/O del Kernel: Vista canonica delle periferiche i device driver hanno come compito principale quello di nascondere le peculiarità dei dispositivi, che rimangono circoscritti all'interno del driver, offrendo al resto del Kernel una "vista canonica" delle varie periferiche. Scheduling dell'i/o codice per ordinare in modo ottimale le richieste di I/O, attraverso code di dispositivo; disponibile come insieme di routine che possono esssere utilizzate dai device driver. Bufferizzazione memorizzare dati in memoria del kernel mentre vengono trasferiti per compensare differenze di velocità tra dispositivi hardware (es. tra disco e RAM, etc.) per compensare incompatibilità di dimensione di trasferimento (es. poter scrivere o leggere 10 byte a/da un file su disco)

22 Sottosistema di I/O del Kernel (Cont.) Spooling accumulare e gestire l'output per una periferica Necessario se il dispositivo può servire solo una richiesta alla volta (es., job di stampa) N.B. in Unix, lo spooling di stampa è gestito con programmi a livello utente. Prenotazione di periferica fornisce un accesso esclusivo ad una periferica Chiamate di sistema per allocazione e deallocazione, o apertura esclusiva N.B. pericolo di deadlock

23 Sottosistema di I/O del Kernel (Cont.) Sottosistema di I/O del Kernel Unix 4.3BSD:

24 Block Buffer Cache Block buffer cache sistema di caching delle operazioni di I/O di tutti i dispositivi di tipo blocco (in pratica, tutti i dischi). Comune a tutti gli Unix. Consiste (nel caso Unix classico) di Un insieme di blocchi di RAM, di dimensione pari a un multiplo (variabile) di blocchi logici di un file system Un array di strutture di controllo, denominate buffer header: struct buf buf[], ciascuna identificata da una terna: (MDN+mnd) del dispositivo (membro b_dev) Numero di blocco iniziale (del dispositivo) (b_blkno) a cui si aggiungono l'indirizzo e dimensione del buffer associato (che può essere variabile) (b_addr, b_count) In Linux, la quantità di memoria dedicata alla cache varia dinamicamente, e tende a utilizzare tutta la memoria RAM disponibile (non reclamata dai processi o dal Kernel)

25 Block Buffer Cache (Cont.) I buffer header (o più brevemente buffer) per blocchi non attualmente in uso (cioè non interessati a operazioni di I/O pendenti) sono mantenuti in diverse liste collegate: Buffer usati recentemente, collegati in ordine LRU (LRU list) Buffer non usati recentemente, o senza un contenuto valido (AGE list) Buffer vuoti, senza memoria RAM associata (EMPTY list). Tutti i buffer in uso sono invece inseriti in una delle code di transazioni pendenti associate ai vari driver di dispositivo; tali code sono iniziate da un'apposita struttura struct iobuf (ce n'è almeno una per ogni driver): struct iobuf d_tab; Una richiesta di transazione è memorizzata nella stessa struct buf, precisando un ulteriore dato: il senso del trasferimento (membro b_flags, che vale B_READ o B_WRITE)

26 Block Buffer Cache (Cont.) Per gestire queste liste, ogni struct buf ha due coppie di puntatori: b_forw, b_back (hash list) e av_forw, av_back (liste AGE, LRU, EMPTY; oppure lista delle transazioni pendenti di un driver). struct buf { int b_flags; /* B_READ or B_WRITE, etc. */ struct buf *b_forw; /* headed by hbuf[] */ struct buf *b_back; /* " */ struct buf *av_forw; /* position on the free lists, */ struct buf *av_back; /* if not B_BUSY */ dev_t b_dev; /* major+minor device name */ unsigned b_bcount; /* transfer count */ caddr_t b_addr; /* core address */ daddr_t b_blkno; /* first block # on device */... };

27 Block Buffer Cache (Cont.) Quando un blocco è richiesto da una periferica, viene cercato nella cache: Se il buffer corrispondente viene trovato, viene usato, senza bisogno di I/O fisico Altrimenti, viene scelto un buffer dalla AGE list, o se questa è vuota, dalla LRU list. Il buffer scelto viene "ribattezzato", cioè associato al nuovo blocco Se il buffer ribattezzato contiene dati che devono essere scritti su disco, la scrittura non è più procrastinabile e viene avviata ora (in generale, le scritture vengono rimandate sempre all'ultimo momento). Vantaggi: Velocizzazione dell'i/o, data dalla cache Possibilità di leggere/scrivere in quantità arbitrarie Non è necessario bloccare in memoria processi interessati a operazioni di I/O (il DMA è sempre indirizzato verso memoria del Kernel, non swappabile)

28 Block Buffer Cache (Cont.) struct hbuf struct buf struct iobuf b_forw, b_back av_forw, av_back av_forw hbuf[ ] bhash(dev,blkno) N.B. per ogni lista, i puntatori tra strutture di inizio lista e ultimo elemento non sono mostrati; la AGE list non è mostrata. LRU list d_tab d_tab d_tab

29 Scenario Operativo Per servire un processo che vuole leggere un insieme di dati da file su disco: Determinare la periferica che contiene il file Traslare numero di blocco logico del file in numero di blocco del disco Lettura fisica dei dati del blocco da disco in un buffer della block buffer cache Mettere i dati a disposizione del processo richiedente Restituire il controllo al processo

30 Scenario Operativo (Cont.) Processo che legge un insieme di dati da file su disco caso Unix: Processo utente: chiamata alla funzione read() trap la CPU passa in System mode Kernel codice di servizio della read(): Controlla legalità degli argomenti, e li passa al modulo di gestione dei file Modulo Kernel di gestione dei file: Determina dispositivo che contiene il file: consultare la mount table Trasla nome del file in rappresentazione interna: da path a inode routine namei() (al momento della open()) Determina il numero di blocco logico del file che contiene gli N byte richiesti dal processo utente Trasla numero di blocco logico del file in numero di blocco del disco logico, blkno: routine bmap()

31 Scenario Operativo (Cont.) Prepara una struttura dati struct buf con la richiesta di I/O, inserendo in essa: MDN, mdn blkno indirizzo RAM del blocco della Kernel cache (dove i dati dovranno essere scritti) e dimensione della richiesta, in byte tipo operazione: B_READ (lettura) Chiama la routine d_strategy() del device driver, passando come argomento la struttura dati preparata Device driver del disco: Inserisce la struct buf nella coda di richieste del driver, secondo l'algoritmo di scheduling del disco utilizzato; Modulo Kernel di gestione dei file routine bread(): Attende il completamento dell'operazione: il processo va a dormire;

32 Scenario Operativo (Cont.) Più tardi, la richiesta viene servita, e i relativi comandi inviati al controller; al termine dell'operazione scatta l'interrupt di fine DMA (dati disponibili). Device driver del disco, routine d_intr(): Controlla eventuali errori Rimuove la struct buf dalla coda Risveglia il processo interessato Scheduler di CPU: Ridà la CPU al processo interessato all'i/o Modulo Kernel di gestione dei file routine bread() (ora risvegliata): Restituisce la struct buf, che ora punta ai dati nella block buffer cache Codice di servizio della read() Copia gli N byte richiesti, dal blocco della cache nel buffer del processo utente (copia da memoria a memoria)

33 Gestione degli Errori Il S.O. può recuperare e gestire errori di vario tipo: periferica non disponibile (es. CD ROM o floppy disk), errori di scrittura o di lettura N.B. quando è utilizzata la cache del Kernel per l'i/o su disco, Unix non può recuperare errori di scrittura: le scritture fisiche sono ritardate al massimo, e quando avvengono è tipicamente troppo tardi per notificare il processo interessato (che potrebbe aver già terminato, e quindi non esistere più). Molti S.O. ritornano un codice di errore (attraverso le chiamate di sistema) in caso di errore di I/O es., Unix/Linux: errno Se la chiamata di sistema fallisce, ritorna invariabilmente 1 e la variabile esterna errno contiene un codice di errore specifico. I file di log di sistema memorizzano messaggi specifici sui problemi incontrati

34 Prestazioni L'I/O è un elemento di gran peso per le prestazioni globali di un sistema Impegna, oltre ai processori periferici, anche la CPU: Codice dei moduli di I/O del Kernel Codice dei device driver Context switch dovuti agli interrupt Copia di dati (da/a buffer utente, block buffer cache, RAM privata dei controller, etc.) Il traffico di rete può essere particolarmente pesante, per sua natura

35 Prestazioni (Cont.) Linee guida per migliorare le prestazioni: Ridurre il numero di context switch Ridurre le copie di dati Ridurre la frequenza degli interrupt, usando Trasferimento di dati in grossi quantitativi alla volta Controller intelligenti Polling, ove opportuno (cioè ovunque i loop di busy wait possono essere minimizzati) Usare controller di DMA intelligenti per aumentare il numero di operazioni concorrenti (sfruttare al massimo il parallelismo del sistema) Implementare primitive direttamente in hardware, ovunque possibile Bilanciare bene (tuning del sistema) le prestazioni di CPU, memoria, bus, e I/O, per massimizzare il throughput globale: se uno di questi elementi è

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

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sistemi Operativi. Input/Output

Sistemi Operativi. Input/Output Input/Output 1 Dispositivi di I/O Human readable Usati per interagire con esseri umani Stampanti Terminali video Tastiera Topi 2 Dispositivi di I/O Machine readable Usati per le comunicazioni tra apparati

Dettagli

PD-32. Connessione di dispositivi esterni (periferiche)

PD-32. Connessione di dispositivi esterni (periferiche) PD-32 Seconda parte Connessione di dispositivi esterni (periferiche) Ogni dispositivo di I/O è connesso al PD-32 mediante un interfaccia suddivisa in una parte dipendente dal dispositivo ed un altra indipendente

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

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

2. Tipi di periferiche e classificazione dei gestori

2. Tipi di periferiche e classificazione dei gestori 9. I GESTORI DI PERIFERICHE 1. Introduzione I gestori di periferiche (device drivers) sono dei componenti il cui funzionamento, a differenza di quello del file system, è fortemente intrecciato con quello

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

Componenti di un sistema operativo

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

Dettagli

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

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

Dettagli

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 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni

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

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

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

Gestione del processore. Il modello a processi sequenziali

Gestione del processore. Il modello a processi sequenziali Gestione del processore Il modello a processi sequenziali 1 Il modello a processi sequenziali Nei computer attuali, ci sono molte attività attive contemporaneamente (sia di SO che di utente) es : stampa

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

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

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

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

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

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

I processi: concetti di base, context switch e scheduling

I processi: concetti di base, context switch e scheduling Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi I processi: concetti di base, context switch e scheduling Processo: definizione Processo (o Job): Entità attiva

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

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

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

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

Dettagli

Gestione 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

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

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

Dettagli

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

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

Dettagli

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux Giuseppe Pelagatti Programmazione e Struttura del sistema operativo Linux Appunti del corso di Architettura dei Calcolatori e Sistemi Operativi (AXO) Parte IO: Input/Output e File System cap. IO3 I Gestori

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. 2018-2019 Pietro Frasca Lezione 24 Martedì 15-01-2019 Allocazione dei dispositivi e tecniche di spooling

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

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

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

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

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

FILE SYSTEM 2. I-nodes (o Inodes)

FILE SYSTEM 2. I-nodes (o Inodes) FILE SYSTEM 2 I-nodes (o Inodes) Un file ha diverse componenti: nome, contenuto, proprietario, diritti d accesso, data di modifica, ecc. Tutte le informazioni sono contenute in una struttura (un record)

Dettagli

HARDWARE. Hardware. Vista di insieme

HARDWARE. Hardware. Vista di insieme HARDWARE Vista di insieme 1 Hardware Hardware LA PARTE FISICA DEL SISTEMA Insieme di tutti i circuiti, dei componenti elettronici, elettrici e meccanici di un sistema di elaborazione 2 1 3 4 2 6 3 7 8

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

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti Il file system Casi di studio 1 CP/M Control Program for Microcomputer Predecessore del MS-DOS Dimensione media 16K File system predisposto per Floppy Allocazione dei file come lista-linkata di blocchi

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

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

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica Principi operativi dei computer Capitolo 7 Fluency Conoscere e usare l informatica I soliti sospetti Processore Sistema operativo Software Istruzioni Ciclo macchina Memoria Hardware componente Com è fatto

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 2-Stati di un processo 1 Prerequisiti Concetto intuitivo di coda Cooperazione e competizione Prerilascio di una risorsa Concetto intuitivo di interruzione 2 1 Introduzione

Dettagli

Si pone allora il problema fondamentale: come far dialogare la CPU con le periferiche nel modo più efficiente possibile CPU

Si pone allora il problema fondamentale: come far dialogare la CPU con le periferiche nel modo più efficiente possibile CPU Sistemi Roberta Gerboni 1 Un computer è un sistema complesso costituito da: - una Unità Centrale di Elaborazione (CPU) - e da un insieme più o meno numeroso di dispositivi periferici chiamati, semplicemente,

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

Lezione XII: La gestione delle eccezioni in MINIX

Lezione XII: La gestione delle eccezioni in MINIX 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015 SISTEMI OPERATIVI Struttura dei Sistemi Operativi 2 Panoramica dei servizi del sistema operativo 3 4 Cos è una chiamata al sistema?» Il SO mette a disposizione i suoi servizi ai programmi utente attraverso

Dettagli

Modulo 12: File System

Modulo 12: File System Modulo 12: File System Livelli logici per l accesso ai file Organizzazione dei file su disco Organizzazione di un File System di UNIX 12.1 Livelli logici per l accesso ai file Programmi utente Pile Sequenziali

Dettagli

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Drivers. Introduzione Tipologie Struttura Interazione con il kernel Drivers Introduzione Tipologie Struttura Interazione con il kernel Driver Un driver è un modulo del sistema operativo Esterno al kernel Dedicato alla gestione di una specifica periferica Come altre funzionalità

Dettagli

Dispositivi di I/O. Dispositivi di I/O

Dispositivi di I/O. Dispositivi di I/O Dispositivi di I/O Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Un dispositivo di I/O è costituito da due componenti: Il dispositivo fisico effettivo (disco, stampante, mouse, video, )

Dettagli

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

Architettura dei sistemi di elaborazione (Input/Output parte 2) Architettura dei sistemi di elaborazione (Input/Output parte 2) Gestione dell I/O Il processore può comunicare con uno o più dispositivi esterni secondo schemi temporali imprevedibili che dipendono dalle

Dettagli

Capitolo2: Architettura del calcolatore

Capitolo2: Architettura del calcolatore Capitolo2: Architettura del calcolatore Funzionamento di un calcolatore general purpose. Struttura dell input/output. Struttura della memoria. Gerarchia di memorizzazione. Protezione hardware. ng. delle

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

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente

Dettagli

Pentium: architettura di sistema

Pentium: architettura di sistema Pentium: architettura di sistema 1 2 TXC 4 3 5 6 PIIX 7 Pentium: architettura a livello di sistema 1 Il processore Pentum (1) è interfacciato sul bus con la memoria cache di livello 2 (2). L interfacciamento

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

2. Nucleo del sistema operativo (la gestione dei processi)

2. Nucleo del sistema operativo (la gestione dei processi) Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle

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

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

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

Il software: Istruzioni per il computer

Il software: Istruzioni per il computer Il software: Istruzioni per il computer Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi Software di sistema permette l utilizzo

Dettagli

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Un dispositivo di I/O è costituito da due componenti: Il dispositivo fisico effettivo (disco, stampante, mouse, video, )

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

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads Sommario Lezione 5 Processi e Threads Processi e Programmi Implementazione dei Processi Casi di Studio relativi a Processi Thread Casi di Studio relativi a Thread 5.2 Processi e Programmi Che cosa e un

Dettagli

Sistemi Operativi A.A , prova scritta del 7 luglio 2006

Sistemi Operativi A.A , prova scritta del 7 luglio 2006 Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di cellulari, calcolatrici, palmari e affini. Tempo a disposizione: 60 minuti. Le domande sono etichettate con 1,2 o 3 asterischi:

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore I tipi di elaboratori Esistono due grandi classi di elaboratori: Elaboratori di uso generale (general-purpose computer) Elaboratori dedicati (special-purpose computer) Le classi

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Altre periferiche fondamentali Hard disk Terminale. Sistemi Operativi. Bruschi Martignoni Monga

Sistemi Operativi. Bruschi Martignoni Monga. Altre periferiche fondamentali Hard disk Terminale. Sistemi Operativi. Bruschi Martignoni Monga 1 Mattia Lezione XXIX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

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

Input/Output. Input/Output

Input/Output. Input/Output Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di sistema; Trasferimento dati; Gestione I/O. 2 M. Violante 1.1 Organizzazione di sistema Memoria

Dettagli

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

Dettagli

Embedded and Reconfigurable Systems M 03 Bus protocols

Embedded and Reconfigurable Systems M 03 Bus protocols Embedded and Reconfigurable Systems M 03 Bus protocols Stefano Mattoccia, DISI - University of Bologna 1 Protocolli di comunicazione standard - Protocolli per connessioni con periferiche e memorie - 3

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

File System ext2. Struttura del filesystem ext2.

File System ext2. Struttura del filesystem ext2. Struttura di base File System ext2 Lo spazio fisico di un disco viene usualmente diviso in partizioni; ogni partizione può contenere un filesystem. Nel filesystem ext2 il blocco (block) definisce la minima

Dettagli

IO 1 Input Output a livello Hardware

IO 1 Input Output a livello Hardware Architettura dei calcolatori e sistemi operativi Input Output IO 1 Input Output a livello Hardware Accesso delle periferiche Le unità periferiche interagiscono con il processore e la memoria centrale attraverso

Dettagli