Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Documenti analoghi
Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

STRUTTURE DEI SISTEMI DI CALCOLO

Architettura di un sistema di calcolo

Corso di Sistemi di Elaborazione delle informazioni

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

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

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

Il memory manager. Gestione della memoria centrale

Hardware di un Computer

memoria virtuale protezione

La memoria centrale (RAM)

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

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

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

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

Introduzione ai Sistemi Operativi

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

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

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

Organizzazione Monolitica

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Il Software. Il software del PC. Il BIOS

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

Laboratorio di Informatica

Sistemi operativi. Esempi di sistemi operativi

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

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

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

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il Sistema Operativo (1)

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

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il Sistema Operativo

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Sistemi Operativi Kernel

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

Capitolo Silberschatz

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Sistemi Operativi (modulo di Informatica II) I processi

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

Esempio: aggiungere j

Architettura di un sistema operativo

Pronto Esecuzione Attesa Terminazione

Architettura hardware

Infrastrutture Software

Gestione della Memoria

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

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

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistemi Operativi. 5 Gestione della memoria

Organizzazione della memoria

Il Concetto di Processo

Approccio stratificato

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

DMA Accesso Diretto alla Memoria

Scheduling della CPU:

Architettura del calcolatore

Architettura dei calcolatori II parte Memorie

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

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

La memoria - generalità

Il software. la parte contro cui si può solo imprecare. Il software

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

Introduzione ai sistemi operativi

TITLE Sistemi Operativi 1

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

1.4b: Hardware. (Memoria Centrale)

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

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1


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

Le Infrastrutture Software ed il 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

CPU. Maurizio Palesi

Software di base. Corso di Fondamenti di Informatica

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

Strutture di Memoria 1

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

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

Sistema operativo: Gestione della memoria

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

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

Informatica - A.A. 2010/11

Varie tipologie di memoria

Il sistema operativo

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

Struttura del calcolatore

Sistemi Operativi SCHEDULING DELLA CPU

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

Cosa è un foglio elettronico

GESTIONE DEI PROCESSI

PARTE 4 La Macchina Software

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Scheduling della CPU

Transcript:

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

La volta scorsa Alcune definizioni di Sistema Operativo Distributore di risorse Controllore Interfaccia tra programmi utente e hardware Software interrupt driven Kernel e programmi di sistema Multiprogrammazione Time Sharing Principi Fondamentali dei SO Il kernel del SO include le routine fondamentali del sistema operativo Implementa funzioni di controllo Fornisce un insieme di servizi per i programmi utente E sempre in memoria Un interrupt forza la CPU ad eseguire codice kernel Un interrupt software e usato dai programmi per comunicare richieste di servizi al kernel 2

Principi Fondamentali dei SO (cont) La CPU puo operare in due modalita : Kernel mode CPU puo eseguire qualsiasi istruzione Kernel opera con la CPU in tale modalita, in modo da controllare le operazioni del calcolatore User mode CPU non puo eseguire istruzioni che determinino interferenze con altri programmi o con il SO CPU e in tale modalita quando esegue programmi utente Uno Schema del Computer 3

Il Computer (cont.) La CPU Memory Management Unit (MMU) Gerarchia di Memoria Input/Output Interrupt CPU Due elementi della CPU sono visibili ai programmi utente o al SO: General-purpose registers (GPRs) Anche detti program-accessible registers Contengono: dati, indirizzi, valori indice, o puntatori allo stack durante l esecuzione di un programma Control registers Contengono informazioni per il controllo delle operazioni della CPU L insieme dei registri di controllo e anche detto program status word (PSW) 4

Alcuni Campi della PSW Program Counter (PC) Condition Code (CC) Mode (M) Memory Protection Information (MPI) Interrupt mask (IM) Interrupt code (IC) Campo Descrizione Program Counter (PC) Condition Code (CC) Mode (M) Memory protection information (MPI) Interrupt mask (IM) Interrupt code (IC) Indirizzo della prossima istruzione da eseguire Usato per rappresentare alcune caratteristiche del risultato di operazioni aritmetiche recenti, per esempio se esso è <, =, o > 0. Utile nelle istruzioni condizionali. Bit indicante la modalità di esecuzione per la CPU: user mode (1) o kernel mode (0) Informazioni per la protezione della memoria assegnata al processo in esecuzione. Tipicamente una coppia di valori base e taglia Indica quali interrupt sono abilitati e quali no Descrive la condizione o l evento che ha causato l ultimo interrupt. Tale codice può essere utilizzato dalla routine di gestione dell interruzione La CPU (cont.) La CPU può operare in due modalità: Kernel mode CPU può eseguire qualsiasi istruzione Kernel opera con la CPU tale modalità, in modo da controllare le operazioni del calcolatore User mode CPU non può eseguire istruzioni che determinino interferenze con altri programmi o con il SO CPU è in tale modalita quando esegue programmi utente Il campo Mode (M) della PSW contiene 0 se la CPU è in modalità kernel (privileged mode) e 1 se è in user mode 5

Lo Stato della CPU I registri (GPR) e la PSW contengono tutte le informazioni che identificano le operazioni della CPU Stato della CPU Il Kernel salva lo stato della CPU ogni qual volta prelaziona la CPU durante l esecuzione di un programma Quando deve essere ripresa l esecuzione del progr. il Kernel ristabilisce lo stato della CPU con i valori salvati dei registri (GPR) e della PSW Esempio: Stato della CPU (cont.) (a) Un programma assembly con indicati gli indirizzi delle istruzioni (b) Lo stato della CPU dopo l istruzione COMPARE 6

Controllo sull Esecuzione dei Programmi 1. Quando un programma utente parte, PSW contiene : a. Program counter (PC) settato all indirizzo della 1a istruz. b. Mode (M), settato a user mode (1) c. Memory protection information (MPI) contiene indirizzo iniziale (base) in memoria e taglia (size) del programma d. Interrupt mask (IM), settato per abilitare gli interrupt 2. Quando un programma viene interrotto, lo stato della CPU (PSW e GPR) viene salvato Program table o process control block (PCB) 3. Quando il programma riparte, lo stato della CPU viene riportato ai valori salvati al momento dell interrupt Interazione tra SO, il Computer e i Programmi Utente SO interagisce con il computer per Riconoscere gli eventi, ed eseguire le azioni associate Ristabilire lo stato della CPU per far ripartire un programma dopo aver gestito un interrupt I Programmi necessitano dei servizi del SO, as esempio per eseguire operazioni di I/O I metodi (funzioni) per generare un interrupt e passare richieste al SO vengono detti system call Ci occuperemo del: Gestione degli Interrupt System Call 7

Interrupt Un evento e una situazione che necessita attenzione da parte del SO I progettisti associano un interrupt ad ogni evento Scopo: notificare al SO l occorrenza dell evento e permettergli di eseguire le azioni necessarie alla gestione dell evento Azione di Interrupt : salva lo stato della CPU e carica nuovi valori nei registri PSW e GPR CPU esegue le istruzione di una routine di servizio dell interrupt (ISR) del kernel Interrupt (cont.) Classi di Interrupt Classi di Interrupt I/O interrupt Timer interrupt Program interrupt Descrizione Causato da condizioni come completamento di un istruzione di I/O o il malfunzionamento dell I/O Generato a intervalli regolari, o quando e trascorso uno specifico intervallo (1) Causato da eccezioni/errori nell esecuzione di un istruzione (division-by-zer, overflow, indirizzamento e violazioni, etc) (2) Causato da istruzioni di interrupt software (system call, o richieste di servizio) 8

Area dei vettori di interrupt Area per il salvataggio delle PSW Passo Descrizione 1. Imposta codice interrupt L hardware per la gestione degli interrupt genera un codice e lo inserisce nel campo IC della PSW 2. Salvataggio PSW La PSW viene copiata in un area riservata al salvataggio della PSW. Anche i registri GPR vengono generalmente salvati. 3. Caricamento del vettore di interrupt Accesso al vettore di interrupt relativo alla classe di interrupt. Tale vettore viene copiato nei campi della PSW. In particolare il PC viene settato alla prima istruzione della routine di gestione dell interrupt del kernel Gestione di un interrupt Gestione degli Interrupt Il salvataggio del contesto salva lo stato della CPU per il programma Lo scheduler selezione un programma da eseguire Operazioni del kernel interrupt-driven 9

Gestione degli Interrupt (cont.) Alcune azioni tipiche per la gestione degli interrupt Interrupt Arithmetic exeption (es. divisione per 0) Memory protection violation Software Interrupt Completamento di I/O Timer Interrupt Azione di Gestione Abort (termina il programma) Abort Routine appropriata per gestire la richiesta, se possibile Trova il programma che aveva richiesto l I/O e annota che ora e pronto per la schedulazione Inizia una nuova operazione di I/O se ne esistono in coda Aggiorna l orologio di sistema, oppure esegui le operazioni associate se l interrupt e determinato dalla conclusione di un countdown Memoria Routine di gestione dei program interrupt Routine di gestione degli I/O interrupt vettore per I/O interrupt Al verificarsi di un I/O interrupt la CPU passa ad eseguire codice kernel vettore per I/O software Area vettori di interrupt Area di salvataggio Informaz. PSW <istruzione precedente> <prossima istruzione> La CPU riprende ad eseguire il codice del processo bloccato dall interrupt (a) Vettori e routine di gestione degli interrupt Prima dell Interrupt Dopo Dopo Dopo (b) Contenuto della PSW nei diversi momenti Esempio di gestione di interrupt di I/O con ritorno al processo interrotto 10

Gestione degli Interrupt (cont.) Due approcci alla gestione degli interrupt: (a) Impedire altri interrupt mentre se ne gestisce uno (b) Gestire livelli multipli di interrupt System Call Definizione: System Call e una richiesta che un programma fa al kernel mediante un interrupt software Memoria Codice compilato del programma Funzione di Libreria per apertura file Funzione di Libreria per lettura da file Esempi di system call: (a) il programma e (b) schema a tempo di esecuzione 11

Esempio: System Call in un Ipotetico SO CPU offre l istruzione SI per generare un interrupt software SO offre system call per ottenere l ora corrente Il Codice e 78: L Instruzione SI 78 causa un interrupt SW 78 viene messo nel campo IC di PSW prima di salvarla L Interrupt vector per interrupt software contiene aaa nel PC La CPU esegue la routine con indirizzo iniziale aaa Essa trova 78 nel campo IC e determina che il programma richiede l ora L ora viene memorizzata in un registro Alcune System call di Linux System Calls (cont.) 12

Memory Management Unit (MMU) La Memoria Virtuale (Virtual memory) da una visione della memoria illusoria, come se ci fosse piu memoria disponibile di quanto ce ne e fisicamente nel computer Implementata mediante allocazione non contigua e la MMU CPU passa gli indirizzi dei dati e delle istruzioni alla MMU Indirizzi logici MMU traduce indirizzi logici in indirizzi fisici Gerarchia della Memoria Mediante un organizzazione gerarchica della memoria si cerca di fornire una memoria di grande capacita e veloce, a basso costo Organizzazione di diverse tipologie di memoria con tempi di accesso e dimensioni diverse La CPU accede solo alla memoria piu veloce: la cache Se un determinato dato non e presente, viene caricato da una memoria di livello inferiore (piu lenta ma piu capiente) 13

Funzionamento di una memoria gerarchica Gerarchia della Memoria (cont.) Quando la CPU cerca un dato nella cache, si puo avere: (a) cache hit or (b) cache miss Hit ratio (h) della cache e la frazione di bytes indirizzati dalla CPU risultanti in un cache hit t ema = h t cache + (1 h) (t tra + t cache ) = t cache + (1 h) t tra dove t ema = tempo effettivo di accesso in memoria, t cache = tempo di accesso alla cache, and t tra = tempo impiegato per trasferire un blocco dalla memoria alla cache 14

Gerarchia della Memoria (cont.) Operazioni della memoria sono analoghe a quelle della cache Blocchi di bytes (pagine) vengono transferite dai dischi alla memoria e viceversa Ma, Gestione della Memoria e trasferimento dei blocchi tra memoria e dischi sono operati dal SW Nella cache, il trasferimento e effettuato dall HW La gerarchia di memoria che comprende MMU, memoria, and i dischi prende il nome di memoria virtuale Gerarchia della Memoria (cont.) La Protezione della Memoria: implementata controllando se gli indirizzi usati dal processo sono al di fuori della memoria ad esso allocata Registri di controllo usati: <base> e <size> (anche detto limit) Indirizzo del primo byte = <base> Indirizzo dell ultimo byte = <base> +<size> 1 15

Esempio: Protezione della Memoria interrupt Esecuzione dell istruzione Load causa una violazione Protezione della memoria mediante i registri base e size Ricapitolando Un interrupt e un segnale speciale inviato alla CPU per segnalare un evento significativo Trasferisce il controllo al SO Una system call e un interrupt SW Un programma la usa per richiedere l intervento del SO Registri di controllo regolano il funzionam. della CPU Program status word (PSW) SO kernel salva lo stato della CPU ad ogni interrupt PSW e GPRs CPU opera in 2 modalita determinate dal campo mode (M) della PSW User mode e kernel mode 16

ricapitolando La gerarchia di memoria fornisce a programmi una memoria veloce e capiente a basso costo Si compone di: Una memoria piccola ma molto veloce: cache memory Una memoria piu lenta ma piu ampia: RAM Memorie secondarie: dischi Tempo effettivo di accesso dipende dal cache hit ratio 17