Vai alla Home Page About me Courseware Federica Living Library Federica Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Marco Lapegna » 15.La memoria secondaria


Sistemi operativi

La memoria secondaria

La memoria secondaria

Oltre alla memoria centrale (veloce, di piccole dimensioni e volatile) i calcolatori necessitano di un supporto di memorizzaione di piu’ grandi dimensioni e non volatile

La memoria secondaria

I primi calcolatori utilizzavano come supporto di memorizzazione secondaria i nastri magnetici

Il principale problema dei nastri e’ l’ accesso sequenziale

La memoria secondaria

RAMAC 305 dell’IBM: primo calcolatore con hard disk

  • Capienza 5 Mbyte (50 piatti magnetici di 1 metro di diametro)
  • Costo del disco 50000 USD (10000 USD al Mbyte)
La memoria secondaria

La memoria secondaria


Costo al Mbyte degli hard disk

Costo al Mbyte degli hard disk

Costo al Mbyte degli hard disk


Organizzazione fisica dei dischi

Organizzazione fisica dei dischi

Organizzazione fisica dei dischi


Organizzazione logica dei dischi

A causa della lentezza dei tempi di accesso sarebbe impensabile effettuare un accesso al disco e leggere un solo byte

I dischi vengono indirizzati come vettori monodimensionali di blocchi logici, dove il blocco logico rappresenta la minima unità di trasferimento (dim. tipica 512 byte).

Organizzazione logica dei dischi

L’array di blocchi logici viene mappato sequenzialmente nei settori del disco:

  • Il blocco 0 è il primo settore della prima traccia del cilindro più esterno.
  • La corrispondenza prosegue ordinatamente lungo la prima traccia, quindi lungo le rimanenti tracce del primo cilindro, e così via, dall’esterno verso l’interno.

Caratteristiche dei dischi

Il tempo di accesso al disco si può scindere in :

  • Tempo di ricerca (seek time ) — è il tempo impiegato per spostare la testina sulla traccia che contiene il settore desiderato.
  • Latenza di rotazione (rotational latency ) — è il tempo necessario perché il disco ruoti fino a portare il settore desiderato sotto alla testina.
  • Tempo di trasferimento (trasmission time) — e’ il tempo necessario per leggere/scrivere i 512 byte del blocco logico

Caratteristiche dei dischi

Caratteristiche dei dischi

Caratteristiche dei dischi


Scheduling del disco

Il SO è responsabile dell’uso efficiente dell’hardware. Per i dischi ciò significa garantire tempi di accesso contenuti.

Una richiesta di accesso al disco può venire soddisfatta immediatamente se unità a disco e controller sono disponibili; altrimenti la richiesta deve essere aggiunta alla coda delle richieste inevase per quell’unità.

Il SO ha l’opportunità di scegliere quale delle richieste inevase servire per prima: uso di un algoritmo di scheduling

Scheduling del disco

Il tempo di trasferimento dipende dal supporto hardware.

L’ordine con cui vengono esaudite le richieste determina il

  • tempo media di ricerca (quale tracciaaccedere per prima?)
  • latenza media di rotazione (quale settore della traccia accedere per prima?)

Scheduling del disco

OBIETTIVO:

Massimo numero di richieste nell’unita’ di tempo

Oppure

Minimo tempo medio di accesso

Ottimizzazione del seek time

Gli algoritmi di scheduling del disco verranno testati sulla coda di richieste per le tracce (0–199):

Esempio:

98, 183, 37, 122, 14, 124, 65, 67

La testina dell’unità a disco è inizialmente posizionata sulla traccia 53.

Ottimizzazione del seek time

Ottimizzazione del seek time


Scheduling First Come First Served

Soddisfa le richieste secondo l’ordine di arrivo
Totale: 640 tracce attraversate

Scheduling First Come First Served

Scheduling First Come First Served


Scheduling Shortest Seek Time First

Seleziona la richiesta con il minor tempo di seek a partire dalla posizione corrente della testina.
Totale: 236 tracce attraversate

Scheduling Shortest Seek Time First

Scheduling Shortest Seek Time First


Scheduling Shortest Seek Time First

Vantaggi:

  • Ordine di richieste molto localizzato
  • Basso tempo medio di seek

Svantaggi:

  • Rischio di attesa indefinita delle richieste sulle tracce esterne e interne

Scheduling SCAN

Il braccio della testina si muove da un estremo all’altro del disco, servendo sequenzialmente le richieste;

giunto ad un estremo inverte la direzione di marcia e, conseguentemente, l’ordine di servizio.

È chiamato anche algoritmo dell’ascensore.

Scheduling SCAN

Totale: 208 tracce attraversate

Scheduling SCAN

Scheduling SCAN


Scheduling Circular SCAN (CSCAN)

La testina si muove da un estremo all’altro del disco servendo sequenzialmente le richieste. Quando raggiunge l’ultima traccia ritorna immediatamente all’inizio del disco, senza servire richieste durante il viaggio di ritorno.

Considera le tracce come una lista circolare, con l’ultima traccia adiacente alla prima (minore discriminazione delle tracce interne e esterne)

Garantisce un tempo di attesa più uniforme rispetto a SCAN.

Scheduling Circular SCAN (CSCAN)

Scheduling Circular SCAN  (CSCAN)

Scheduling Circular SCAN (CSCAN)


Scheduling Circular LOOK (CLOOK)

Versione ottimizzata di C–SCAN.

Il braccio serve l’ultima richiesta in una direzione e poi inverte la direzione senza arrivare al termine del disco.

Scheduling Circular LOOK (CLOOK)

Scheduling Circular LOOK (CLOOK)


SCAN vs CSCAN vs LOOK vs CLOOK

C-LOOK e C-SCAN hanno una varianza del tempo di risposta inferiore alle rispettive versioni non circolari

Alcuni studi hanno comunque mostrato che la migliore politica di scheduling dovrebbe essere basata su due livelli

  • Versione circolare se il carico del disco e’ alto
  • Versione non circolare se il carico del disco e’ basso

Ottimizzazione della latenza di rotazione

Anni fa il tempo di ricerca dominava il tempo di accesso

Oggi il tempo di ricerca e la latenza di rotazione hanno lo stesso ordine di grandezza

Recentemente si e’ cercato di migliorare le prestazione del disco considerando anche la latenza di rotazione

Shortest-latency-time-first (SLTF)

SLTF serve per prima le richieste con la piu’ piccola latenza di rotazione indipendentemente dall’ordine di arrivo

Facile da realizzare

Ottiene prestazioni quasi ottimali ma rischio di postizipazione indefinita

Shortest-positioning-time-first (SPTF)

SPTF esaudisce per prima le richieste con il piu’ piccolo tempo di posizionamento

Tempo di posizionamento = tempo di ricerca + latenza di rotazione

Buone prestazioni, ma rischio di attesa indefinita

Shortest-access-time-first (SATF)

SATF esaudisce per prima le richieste con il piu’ piccolo tempo di accesso

Tempo di accesso = tempo di posizionamento + tempo di trasmissione

Maggiore througput ma rischio di attesa indefinita per richieste grandi

Scheduling per brevita’

SSTF, SLTF, SPTF, SATF,

Appartengono tutti alla stessa classe di algoritmi

Algoritmi per brevita’

Servono prima la richiesta piu’ vicina secondo una certa “misura”

Principale problema: rischio di attesa indefinita

Esistono versioni analoghe a LOOK e CLOOK che tengono conto della lat.rotaz. e del trasferimento

Contenuti della prossima lezione

I sistemi RAID

  • livelli RAID
  • efficienza vs affidabilita’
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion