Architettura di un sistema di calcolo



Documenti analoghi
STRUTTURE DEI SISTEMI DI CALCOLO

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

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

DMA Accesso Diretto alla Memoria

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

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Esempio: aggiungere j

memoria virtuale protezione

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

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica


Corso di Sistemi di Elaborazione delle informazioni

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

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Come funziona un sistema di elaborazione

Organizzazione Monolitica

Il Sistema Operativo (1)

Architettura dei computer

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

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

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

= 0, 098 ms. Da cui si ricava t 2 medio

Struttura dei Sistemi di Calcolo

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)

Architettura dei calcolatori II parte Memorie

Architettura del calcolatore

Esame di INFORMATICA

La Gestione delle risorse Renato Agati

Hardware di un Computer

CAP. 4: Aspetti generali del Sistema Operativo Linux. l

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Introduzione ai sistemi operativi

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

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

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Cos e` un Sistema Operativo? Cos è un sistema operativo?

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

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

ancora l architettura elementare di un sistema di elaborazione:

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Laboratorio di Informatica

CPU. Maurizio Palesi

Sottosistema di Ingresso/Uscita (I/O)

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

Virtualizzazione delle Periferiche. Corso di Sistemi Operativi

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

C. P. U. MEMORIA CENTRALE

Pronto Esecuzione Attesa Terminazione

HARDWARE. Relazione di Informatica

Informatica - A.A. 2010/11

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

La memoria centrale (RAM)

Struttura del calcolatore

Architettura hardware

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

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

Sistema Operativo e Applicativi

Dispensa di Informatica I.1

Gestione della memoria centrale

Il Software. Il software del PC. Il BIOS

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

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

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

Corso di Informatica

Collegamento al sistema

Le Infrastrutture Software ed il Sistema Operativo

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

Calcolatori Elettronici A a.a. 2008/2009

Introduzione ai Sistemi Operativi

Infrastrutture Software

Parte II.2 Elaboratore

Architettura hardware

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Sistemi Operativi Kernel

Organizzazione della memoria

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Architettura di un sistema operativo

ARCHITETTURA DEL CALCOLATORE

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

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

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il sistema operativo

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

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Transcript:

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 sistema di calcolo 2.2 1

Funzionamento di un Sistema di calcolo I dispositivi di I/O e la CPU possono operare concorrentemente. Ad ogni dispositivo di I/O corrisponde il proprio controllore. Ogni controllore ha il suo buffer locale. CPU sposta i dati dalla/ verso la memoria centrale verso/ da i buffer locali L operazione di I/O ha luogo tra il dispositivo ed il buffer locale del controller. Il controller informa la CPU del termine di una operazione generando un interrupt (di fine I/O). 2.3 Interrupt Una definizione: Un meccanismo che consente l interruzione del normale ciclo di esecuzione della CPU Introdotti per aumentare l efficienza di un sistema di calcolo Permettono al S.O. di intervenire durante l esecuzione di un processo utente, per gestire le risorse di un calcolatore (CPU, Memoria, I/O) Possono essere sia hardware che software Possono essere ritardati (mascherati) se la CPU sta svolgendo compiti non interrompibili 2.4 2

Classi di Interrupt Interrupt Hardware Eventi hardware asincroni, non causati dal programma in esecuzione Dispositivi di I/O (es. fine I/O) Clock (scadenza quanto di tempo) Interrupt Software (Trap) Causato dal programma Eventi eccezionali, quali divisione per zero, errori di indirizzamento Richiesta di servizi al S.O. (system call) 2.5 Gestione degli Interrupt (panoramica) hardware Un segnale di interrupt request viene inviato alla CPU La CPU: Interrompe l elaborazione corrente Salta all indirizzo di una locazione di memoria contenente la routine di gestione dell interrupt (ISR o interrupt handler) L ISR: gestisce l interrupt in modo opportuno software Restituisce il controllo al processo interrotto (o ad altro processo) La CPU riprende l esecuzione del processo interrotto 2.6 3

Gestione degli Interrupt (dettagli) 1. Un segnale di interrupt request viene inviato alla CPU 2. La CPU termina l esecuzione dell istruzione corrente 3. La CPU verifica la presenza di un segnale di Interrupt e in caso affermativo invia una conferma (ACK) al device che ha generato l interrupt 2.7 Gestione degli Interrupt (dettagli) 4. La CPU salva sullo stack le informazioni necessarie a riprendere l elaborazione interrotta (Registri critici: PC e Registro di Stato) 5. Selezione dell interrupt handler appropriato tramite il vettore di interrupt 6. Caricamento del PC con l indirizzo iniziale dell handler - (in pratica si salta all ISR e il ciclo fetch-execute viene ripreso) TUTTE LE OPERAZIONI FIN QUI SONO SVOLTE IN HARDWARE 2.8 4

Gestione degli Interrupt (dettagli) 7. Salvataggio dello stato del processore sullo stack (informazioni critiche non salvate via hardware) 8. Gestione dell interrupt Lettura delle informazioni di controllo provenienti dal dispositivo ed eventuale nuova comunicazione col dispositivo 9. Ripristino dello stato del processore È l operazione inversa alla 7 10. Ritorno del controllo al processo in esecuzione Ripristino del PC e del registro di stato salvati sullo stack. 2.9 2.10 5

Sistemi Operativi Interrupt-Driven I sistemi operativi sono guidati dalle interruzioni Gran parte del nucleo viene eseguito come interrupt handler Gli interrupt (sia hardware che software) guidano l avvicendamento dei processi 2.11 Interruzioni multiple Un interrupt può avvenire durante la gestione di un altro interrupt Due possibili approcci: Disabilitazione degli interrupt (riabilitazione prima di riprendere il processo interrotto) Interrupt annidati (interrupt a priorità maggiore possono interrompere la ISR) 2.12 6

Tecniche di comunicazione di I/O Tre modalità di comunicazione tra CPU e dispositivi di I/O: I/O programmato I/O interrupt driven DMA (Direct Memory Access) 2.13 I/O programmato (tecnica obsoleta) La CPU esegue un istruzione di I/O eseguendo un apposito programma di I/O. Il programma di I/O (es. input dati): Prepara l operazione di I/O scrivendo sui registri del controller del dispositivo Il dispositivo esegue l azione richiesta e al termine scrive sui registri del controller i risultati (buffer e stato) La CPU attende (busy waiting) il completamento dell operazione testando periodicamente il contenuto di appositi registri di stato Infine la CPU sposta i dati di input dal buffer del controller alla memoria centrale LA CPU DEVE ATTENDERE IL COMPLETAMENTO DELL OPERAZIONE 2.14 7

I/O interrupt- driven La CPU esegue un istruzione di I/O lanciando un apposito programma di I/O. Il programma di I/O (es. input dati): Prepara l operazione di I/O scrivendo sui registri del controller del dispositivo Il sistema operativo sospende l esecuzione del processo che ha eseguito l operazione di input ed esegue un altro processo Il dispositivo esegue l azione richiesta, al termine scrive sul buffer del controller il risultato e segnala il termine dell operazione attraverso interrupt. Al ricevimento dell interrupt, la CPU copia i dati dal buffer del controller alla memoria centrale. 2.15 DMA- Direct Memory Access Nei precedenti approcci, il processore spreca parte del suo tempo a trasferire dati dal controller alla memoria e la velocità del trasferimento dipende dalla velocità con cui il processore può gestire il servizio. Con un modulo di DMA, il controller del dispositivo trasferisce blocchi di dati dal buffer direttamente in memoria centrale, senza l intervento della CPU il S.O. invia al DMA: Richiesta di lettura o scrittura Indirizzo del dispositivo di I/O Locazione di partenza della memoria da cui leggere o scrivere Numero di parole da leggere o scrivere Completato il trasferimento, il DMA invia un interrupt alla CPU 2.16 8

Struttura della Memoria Memoria Centrale insieme ai registri è il solo spazio di memorizzazione che può essere acceduto direttamente dalla CPU. Memoria Secondaria estensione della memoria centrale con una vasta e non volatile capacità di memorizzazione. Dischi Magnetici dischi ricoperti di materiale magnetico Superficie del disco divisa in tracce e settori Il disk controller costituisce l interfaccia fra disco e computer. 2.17 Disco a testine mobili 2.18 9

Gerarchia di memoria Le memorie possono essere organizzate in una gerarchia. Velocità Costo Volatilità Caching copiare informazioni in memorie pù veloci ; la memoria centrale può essere vista come una cache della memoria secondaria. 2.19 Gerarchia della memoria 2.20 10

Caching Uso di memorie veloci per conservare dati acceduti di recente Un concetto che si applica a vari livelli: Cache della memoria centrale Cache del disco in memoria Cache di file system distribuiti in file system locali Richiede una politica di gestione della cache. Dimensione della cache e dei blocchi Una funzione di mapping del blocco nella cash Algoritmi di sostituzione. Problema della coerenza. 2.21 Migrazione di A dal Disco ai Registri 2.22 11

2.23 Architetture di Protezione In un ambiente con risorse condivise sono necessari meccanismi di protezione per evitare Interferenze fra processi utente Interferenze fra processi utente e processi del S.O. Dual-Mode Operation I/O Protection Memory Protection CPU Protection 2.24 12

Dual-Mode Operation Impedisce ad un programma scorretto di causare danni ad un altro programma. È necessario un supporto hardware per distinguere fra due modalità di funzinamento. 1. User mode esecuzione per conto di un processo utente. 2. Monitor mode (anche kernel mode o system mode) esecuzione per conto del S.O. 2.25 Dual-Mode Operation (Cont.) Un bit di modo deve essere aggiunto nello status register per indicare il modo corrente: monitor (0) o user (1). Se si verifica un interrupt o una eccezione, l hardware passa in modo monitor. Interrupt/fault monitor user set user mode Istruzioni privilegiate sono quelle eseguibili solo in modo monitor. 2.26 13

I/O Protection Tutte le istruzioni di I/O devono essere considerate privilegiate. Il S.O. dovrà offrire primitive e servizi per eseguire operazioni di I/O. L obiettivo è evitare che un programma utente possa ad esempio corrompere il file system, accedendo ad un dispositivo di memoria secondaria È necessario garantire che nessun processo utente possa avere il controllo del sistema nella modalità monitor (occorre ad esempio evitare che un programma utente riesca a modificare il vettore delle interruzioni, inserendovi un indirizzo che fa riferimento a proprio codice) 2.27 Uso di una System Call per eseguire I/O 2.28 14

Protezione di memoria È necessaria la protezione di memoria per il vettore delle interruzioni e per le ISR. Lo spazio dei processi utente e del sistema operativo. Per proteggere la memoria è possibile aggiungere all hardware due registri che determinano l intervallo degli indirizzi validi accessibili da un processo Base register per il più piccolo indirizzo di memoria fisica accessibile. Limit register contiene l ampiezza dell intervallo La memoria esterna a questo intervallo è inaccessibile. 2.29 Uso dei registri Base e Limite 2.30 15

Hardware per la protezione degli indirizzi (MMU) 2.31 Hardware Protection Durante l esecuzione in modo monitor, il S.O. ha libero accesso sia alla memoria monitor che a quella degli utenti Le istruzioni di caricamento dei registri base e limite devono essere istruzioni privilegiate. 2.32 16

Protezione della CPU Timer per interrompere il processore dopo uno specifico intervallo di tempo per garantire che il S.O. mantenga il controllo del sistema. Timer è decrementato ad ogni tick di clock. Quando il timer arriva al valore 0, si verifica un interrupt. Timer è usato per realizzare il time sharing, calcolare l ora corrente Anche l struzione Load-timer è privilegiata. 2.33 Network Structure Local Area Networks (LAN) Wide Area Networks (WAN) 2.34 17

Local Area Network Structure 2.35 Wide Area Network Structure 2.36 18