Sistemi Operativi II Corso di Laurea in Ingegneria Informatica



Documenti analoghi
Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche di I/O 2. Gestione dei buffer 3. Schedulazione del disco 4. I/O in UNIX e Windows

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

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

Architettura di un sistema di calcolo

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

STRUTTURE DEI SISTEMI DI CALCOLO

Sommario. Gestione dell I/O e Scheduling dei Dischi. Categorie di Dispositivi di I/O. Human readable

Sommario. G. Piscitelli

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Sistemi Operativi Kernel

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistemi Operativi SCHEDULING DELLA CPU

Corso di Informatica

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

CPU. Maurizio Palesi

Scheduling. Lo scheduler è la parte del SO che si occupa di

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

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

Memoria secondaria. Sistemi Operativi mod. B 14.1

Il Sistema Operativo

Linux I/O Scheduling overview

Processi e Thread. Scheduling (Schedulazione)

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

Laboratorio di Informatica

Struttura dei dischi

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

La memoria centrale (RAM)

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

Esempio: aggiungere j

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

Esercitazione E1 Scheduling, deadlock, monitor

Architettura del calcolatore

Architettura di un calcolatore

FONDAMENTI di INFORMATICA L. Mezzalira

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

Come funziona un sistema di elaborazione

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

DMA Accesso Diretto alla Memoria

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Il Sistema Operativo (1)

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

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Scheduling della CPU:

Dispensa di Informatica I.1

Architettura dei computer

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

Introduzione ai sistemi operativi

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

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

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

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

Gestione della memoria centrale

Software di base. Corso di Fondamenti di Informatica

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

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

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

Input Output. Principi di gestione dell hardware di I/O Dispositivi di I/O Gestione dei dischi magnetici Altri dispositivi

Nastro magnetico. Gestione della memoria di massa. Disco magnetico. Disco magnetico. Usato in passato come dispositivo di memorizzazione secondaria

Sistemi Operativi A.A. 2011/2012

Lo scheduling. Tipici schedulatori

SCHEDULING DEI PROCESSI

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

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Infrastrutture Software

1. I dispositivi periferici

Introduzione all'architettura dei Calcolatori

La Gestione delle risorse Renato Agati

L unità di elaborazione pipeline L unità Pipelining

Informatica di Base - 6 c.f.u.

Sistemi operativi. Esempi di sistemi operativi

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Architettura di un calcolatore: introduzione

Architettura dei calcolatori I parte Introduzione, CPU

Struttura del calcolatore

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Architettura dei calcolatori II parte Memorie

Calcolatori Elettronici A a.a. 2008/2009

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

C. P. U. MEMORIA CENTRALE

Processo - generalità

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

La schedulazione. E.Mumolo

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

Gestione della Memoria

Solitamente la capacità è minore di un disco magnetico, ma la velocità è molto più alta.

Lezioni frontali e/o multimediali. Lezioni frontali e/o

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

La tecnica proporzionale

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Il sistema operativo

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

Scheduling della CPU

Architettura di un computer

Transcript:

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 di I/O 2. Gestione dei buffer 3. Schedulazione del disco

Leggibili dall uomo terminali video tastiera mouse stampanti Leggibili dalla macchina dischi nastri controller ed attuatori Di comunicazione modem schede di rete Tipologia dei dispositivi Università di Roma La Sapienza Diversificati in base a velocità di trasferimento complessità del controllo unità di trasferimento (blocco) rappresentazione dei dati (codifiche) condizioni di errore e relativo rilevamento

Tecniche per l I/O I/O programmato il processore rimane in attesa attiva fino al completamento dell interazione con lo specifico dispositivo I/O interrupt-driven il processore impartisce un comando al dispositivo di I/O torna poi ad eseguire le istruzioni successive e viene interrotto dal dispositivo quando esso ha completato il lavoro richiesto DMA un dispositivo DMA controlla lo scambio di dati tra memoria e dispositivi di I/O il dispositivo DMA interrompe il processore nel momento in cui operazioni di I/O precedentemente richieste sono completate

Evoluzione storica Senza interrupt Con interrupt Trasferimento di I/O tramite processore I/O programmato I/O interrupt-driven Trasferimento di I/O tramite DMA DMA 1. Il processore controlla direttamente la periferica 2. Aggiunta di un controller che disaccoppia il processore dalla periferica 1. Programmed I/O 2. Interrupts (incrementa l efficienza) 3. Il controller ha un controllo diretto della memoria via DMA (controllo del processore all inizio ed alla fine delle operazioni) 4. Il controller diventa un vero e proprio micro processore con il proprio set di istruzioni (interfaccia con il processore principale in memoria principale) 5. Il processore di I/O ha una propria memoria interna

DMA ed interrupt Università di Roma La Sapienza le interruzioni relative alla richiesta di bus vengono gestite ad ogni ciclo di processore le interruzioni dei dispositivi (compreso il DMA) vengono gestite tra una istruzione macchina e l altra Ciclo istruzione Ciclo di processore Ciclo di processore Ciclo di processore Ciclo di processore Ciclo di processore Fetch istruzione Decodifica istruzione Fetch operandi Esecuzione istruzione Memorizzazione risultato Gestione richieste di bus Gestione interrupt da dispositivo

Configurazioni Processore DMA I/O I/O memoria BUS singolo - DMA separato Processore DMA DMA memoria I/O I/O I/O BUS singolo - DMA e I/O integrati Processore DMA memoria BUS di I/O I/O I/O I/O

Efficienza Università di Roma La Sapienza Progettazione della funzione di I/O: obiettivi l interazione con i dispositivi è tipicamente il collo di bottiglia lo swapping tende ad aumentare il throughput tramite incremento del livello di multiprogrammazione lo swapping richiede però I/O efficiente per essere applicabile necessità di algoritmi efficienti per la gestione dell I/O su disco Generalità uniformità di trattamento dei dispositivi da parte delle applicazioni fornitura di servizi di I/O con punti di accesso (interfacce) standard indipendentemente dalla tipologia di dispostivo approccio gerarchico alla progettazione, che nasconda i dettagli di più basso livello

applicazioni Un modello di organizzazione I/O logico I/O su terminale, rete, sistema di archiviazione (file system) Selezione dispositivo Algoritmi specifici in funzione delle caratteristiche del dispositivo Schedulazione e controllo hardware Dispositivo locale, porta di comunicazione (rete)

Necessità di bufferizzazione Università di Roma La Sapienza I/O effettuato diretamente sulla memoria riservata ai processi può provocare 1. Sottoutilizzo dei dispositivi e della CPU. Nel caso in cui l area di memoria destinata per l I/O non è swappabile 2. Deadlock nel caso in cui l area di memoria destinata all I/O sia swappabile (processo bloccato in attesa dell I/O I/O bloccato in attesa che il processo venga riportato in memoria) Dispositivi di I/O in sistema operativo Memoria del processo utente buffer No buffering

Necessità di bufferizzazione Università di Roma La Sapienza l I/O viene quindi tipicamente effettuato su aree di memoria riservate al sistema operativo questo introduce la necessità di gestire buffer destinati alle operazioni di I/O Orientamento a blocchi: bufferizzazione e trasferimento di blocchi di bytes a flusso (stream): bufferizzazione e trasferimento di singoli bytes

Singolo buffer Dispositivi di I/O 1.in Memoria del sistema operativo 2.move 3.request Memoria del processo utente buffer viene assegnato un singolo buffer per la gestione delle operazioni di I/O in fase di input, immediatamente dopo la copia del contenuto del buffer in spazio utente, viene effettuata la lettura del blocco successivo (lettura in avanti input anticipato) il sistema operativo comincia a complicarsi poiche si deve tenere traccia dell assegnazione dei buffer ai processi utente sottoutilizzo del buffer nel caso di I/O orientato a flusso (problema minore nel caso di gestione di sequenza di caratteri a linee)

Confronto tra single and no-buffering Prestazioni T = tempo per l input di un blocco C = tempo di computazione (user process) tra due richieste di input M = tempo per la copia del blocco nel buffer utente (in genere minore dei tempi precedenti) Nel caso no buffering tale latenza (o tempo di esecuzione) è T+C T C T C Nel caso single buffering : Latenza = max[c,t]+m T M T M C C T C M

Buffer doppio Dispositivi di I/O in Memoria del sistema operativo Memoria del processo utente move buffer Latenza max(t,c) concorrenza per I/O a blocchi, da vantaggi: se C<T permette di mandare un device I/O a piena velocità se C>T permette ad un processo di non attendere in I/O non produce particolari vantaggi nel caso di I/O orientato a flusso di byte

Buffer circolare Università di Roma La Sapienza Memoria del sistema operativo Dispositivi di I/O... buffer Memoria del processo utente per I/O a blocchi, produce vantaggi nel caso di lunghe sequenze di richieste (burst) di I/O quando C < T Note nessuna quantità di buffer sarà mai sufficiente per evitare il blocco dei processi nel caso C < T ed i processi siano esclusivamente I/O bound in pratica i processi esibiscono comportamenti misti (I/O e CPU bound),

Schedulazione del disco Università di Roma La Sapienza Parametri tempo di ricerca della traccia (seek time) ritardo di rotazione per l accesso a settore sulla traccia Punto di vista del processo attesa del turno attesa del canale seek time ritardo di rotazione tempo dipendenza dalla politica di schedulazione

Valutazione dei parametri Seek time n = tracce da attraversare m = costante dipendente dal dispositivo s = tempo di avvio T seek = m n + s Ritardo di rotazione b = bytes da trasferire N = numero di bytes per traccia r = velocità di rotazione (rev. per min.) T b = rotazione r N Valori classici s = 20/3 msec. m = 0.3/0.1 msec. r = 300/3600 rpm

Un esempio Scheduling FCFS le richieste di I/O vengoni servite nell ordine di arrivo non produce starvation non minimizza il seek time Traccia iniziale = 100 Sequenza delle tracce accedute = 55 58 39 18 90 160 150 38 184 distanze 45 3 19 21 72 70 10 112 146 i= lunghezza media di ricerca 55. 3 insieme dist disti 1 = dist insieme

Scheduling su base priorità Università di Roma La Sapienza la sequenzializzazione delle richieste di I/O è fuori dal controllo del software di gestione del disco si tende a favorire processi con più alta priorità l obbiettivo non è l ottimizzazione dell utilizzo del disco (non viene minimizzato il seek time) rischio di starvation Scheduling LIFO le richieste di I/O vengoni servite nell ordine inverso rispetto all ordine di arrivo può produrre starvation minimizza il seek time in caso di accessi sequenziali e allocazione contigua (sistemi di basi di dati)

Un esempio Università di Roma La Sapienza Scheduling SSTF (Shortest Service Time First) si da priorità alla richiesta di I/O che produce il minor movimento della testina del disco non minimizza il tempo di attesa medio può provocare starvation Traccia iniziale = 100 Insieme delle tracce coinvolte = 55 58 39 18 90 160 150 38 184 Riordino in base al seek time = 90 58 55 39 38 18 150 160 184 distanze 10 32 3 16 1 20 132 10 24 lunghezza media di ricerca i= 27. 5 insieme dist disti 1 = dist insieme

Scheduling SCAN il seek avviene in una data direzione fino al termine delle tracce o fino a che non ci sono più richieste in quella direzione sfavorevole all area attraversata più di recente (ridotto sfruttamento della località) la versione C-SCAN utilizza scansione in una sola direzione Un esempio Traccia iniziale = 100 Direzione iniziale = crescente Insieme delle tracce coinvolte = 55 58 39 18 90 160 150 38 184 Riordino in base alla direzione di seek = 150 160 184 90 58 55 39 38 18 distanze 50 10 24 94 32 3 16 1 20 insieme dist lunghezza media di ricerca i= 27. 8 disti 1 = dist insieme

Scheduling FSCAN SSTF, SCAN e C-SCAN possino mantenere la testina bloccata in situazioni patologiche di accesso ad una data traccia FSCAN usa due code distinte per la gestione delle richieste la schedulazione avviene su una coda l immagazinamento delle richieste di I/O per la prossima schedulazione avviene sull altra coda nuove richieste non vengono considerate nella sequenza di scheduling già determinata accesso coda di immagazinamento riordino al disco coda di scheduling

Cache del disco il sistema operativo mantiene una regione di memoria che funge da buffer temporaneo (buffer cache) per i dati acceduti in I/O hit nel buffer cache evita l interazione con il disco (diminuzione della latenza e del carico su disco) efficienza legata alla località delle applicazioni Strategia di sostituzione dei blocchi Least-Recently-Used: viene mantenuta una lista di gestione a stack Least-Frequently-Used: si mantiene un contatore di riferimenti al blocco indicante il numero di accessi da quando è stato caricato Problemi sulla variazione di località

Buffer cache a due sezioni Università di Roma La Sapienza ogni volta che un blocco è riferito, il suo contatore di riferimenti è incrementato ed il blocco è portato nella sezione nuova per i blocchi nella sezione nuova il contatore di riferimenti non viene incrementato per la sostituzione dalla sezione nuova si sceglie il blocco con il numero di riferimenti minore la stessa politica è usata per la sostituzione nella sezione vecchia Sezione nuova Sezione vecchia riferimento (nessun effetto) passaggio di sezione + incremento del contatore riferimento

Buffer cache a tre sezioni Università di Roma La Sapienza esiste una sezione intermedia i blocchi della sezione intermedia vengono passati nella sezione vecchia per effetto della politica di sostituzione un blocco della sezione nuova difficilmente verrà escluso dal buffer cache in caso sia riferito in breve tempo dall uscita dalla sezione nuova Sezioni in cui avviene l incremento dei contatori Sezione nuova Sezione intermedia Sezione vecchia sostituzione sostituzione uscita