Sunteți pe pagina 1din 27

Sisteme de Stocare

 Introducere
 Structura discurilor
 Conectarea discurilor
 Planificarea discurilor
 Implementări pentru stocări stabile
 Dispozitive de stocare terțiare

Operating System Concepts Essentials – 8th Edition 215.1 Silberschatz, Galvin and Gagne ©2011
Obiective
 Descrierea structurii fizice a dispozitivelor de stocare secundare
și terțiare și efectele utilizării acestora

 Explicarea caracteristicilor de performanță ale dispozitivelor de


stocare

 Discutarea serviciilor oferite de sistemele de operare pentru


stocare

Operating System Concepts Essentials – 8th Edition 215.2 Silberschatz, Galvin and Gagne ©2011
Introducere
 Discurile magnetice – oferă cea mai mare parte a spațiului de stocare pe
calculatoarele moderne.
 Discurile se rotesc de 60 până la 250 de ori pe secundă.
 Rata de transfer (transfer rate) este rata la care datele sunt transferate între disc și
calculator.
 Timpul de poziționare – positioning time (timpul de acces aleatoriu – random-
access time) este timpul pentru a muta brațul discului la cilindrul dorit (seek time) și
timpul ca sectorul dorit să ajungă sub capul discului (latența de rotație – rotational
latency).
 Distrugere cap – head crash rezultă din contactul dintre capul discului și suprafața
discului.
 Acest lucru este de nedorit!

 Discurile pot fi detașabile


 Discul se atașează la calculator perint-un bus I/O
 Magistralele variază, incluzând EIDE, ATA, SATA, USB, Fibre Channel, SCSI, SAS,
Firewire
 Controller-ul din calculator (host controller) folosește magistrala pentru a comunica cu
controllerul de disc (disc controller) inclus în disc sau matricea de stocare (storage
array)

Operating System Concepts Essentials – 8th Edition 215.3 Silberschatz, Galvin and Gagne ©2011
Discurile magnetice
 Platanele variază între .85” și 14” (istoric)
 Cele mai comune sunt 3.5”, 2.5” și „.8”
 Variază între 30GB și 3TB pe disc
 Performanțe
 Rata de transfer – teoretic – 6 Gb/sec
 Rata de transfer efectivă – reală – 1Gb/sec
 Timpul de căutare (seek time) variază între 3 ms și 12 ms – 9 ms este
comun pentru discurile pentru calculatoare desktop
 Timpul mediu de căutare măsurat sau calculat pe baza a 1/3 din piste
 Latența este bazată pe viteza de rotație Viteza de Latența
 1/(RPM * 60) rotație (rpm) medie [ms]
 Latența medie = ½ latență 4200 7.14
5400 5.56
7200 4.17
10000 3

Sursa Wikipedia
15000 2
Operating System Concepts Essentials – 8th Edition 215.4 Silberschatz, Galvin and Gagne ©2011
Performanța discurilor magnetice
 Latența de acces = timpul mediu de acces = timpul mediu de
căutare + latența medie
 Pentru discurile cele mai rapide 3ms + 2ms = 5ms
 Pentru discuri lente 9ms + 5.56ms = 14.56ms
 Timpul mediu de I/O = timpul mediu de acces + (cantitatea de
transferat / rata de transfer) + overhead controller
 De exemplu pentru a transfera un bloc de 4KB de pe un disc de
7200 RPM cu 5ms timp mediu de căutare, 1Gb/sec rată de
transfer și 0.1ms overhead controller =
 5ms + 4.17ms + 4KB / 1Gb/sec + 0.1ms =
 9.27ms + 4 / 131072 sec =
 9.27ms + 0.12ms = 9.39ms

Operating System Concepts Essentials – 8th Edition 215.5 Silberschatz, Galvin and Gagne ©2011
Mecanismul discului cu capete mișcătoare

Operating System Concepts Essentials – 8th Edition 215.6 Silberschatz, Galvin and Gagne ©2011
Primul disc comercial
 1956 – calculatorul IBM RAMDAC includea sistemul de stocare
IBM Model 350
 5M (7 bit) caractere
 50 x 24” platane
 Timp de acces =< 1 secundă

Operating System Concepts Essentials – 8th Edition 215.7 Silberschatz, Galvin and Gagne ©2011
Banda magnetică
 A fost un sistem de stocare secundar timpuriu
 A evoluat de la benzi deschise la cartușe
 Relativ permanent permițând stocarea a mari cantități de date
 Timp de acces lent
 Acces aleator de 1000 ori mai lent decât discul
 În principal folosit pentru backup, stocarea datelor folosite rar, mediu de
transfer între sisteme
 Menținut în role și rulat sau derulat în fața unui cap de citire scriere
 Odată datele ajunse sub capul de citire, ratele de transfer sunt
comparabile cu cele de pe disc
 >= 140MB/sec
 De la 200GB la 1.5TB spațiu tipic de stocare
 Tehnologii comune sunt LTO-{3,4,5} și T10000

Operating System Concepts Essentials – 8th Edition 215.8 Silberschatz, Galvin and Gagne ©2011
Structura discului
 Discurile sunt adresate ca și tablouri mari unidimensionale de
blocuri logice, unde blocul logic este cea mai mică unitate de
transfer
 Tabloul unidimensional de blocuri logic este mapat pe sectoarele
discului într-un mod secvențial
 Sectorul 0 este primul sector de pe prima pistă de pe cilindrul cel
mai dinafară
 Maparea merge în ordine pe pista respectivă, urmând restul pistelor
din cilindrul respectiv, după care prin restul cilindrilor de la cel mai
dinafară spre interior
 Translatarea de la adrese logice la fizice ar trebui să fie ușoară
 Excepție pentru sectoarele defecte
 Număr de sectoare pe pistă variabil pentru a menține viteza
unghiulară constantă

Operating System Concepts Essentials – 8th Edition 215.9 Silberschatz, Galvin and Gagne ©2011
Conectarea discurilor
 Dispozitivele de stocare conectate la calculator sunt accesate
prin porturi de I/O care comunică cu magistrale I/O
 SCSI este o magistrală, cu până la 16 dispozitive pe un cablu,
SCSI initiator cere o operație, iar SCSI target-urile efectuează
operația
 Fiecare țintă poate avea până la 8 unități logice (discuri atașate la
controller)
 FC este o arhitectură serială de viteză mare
 Poate fi multiplexată cu spațiu de adresare de 24 biți – baza SAN-
urilor (storage area networks) în care mai multe calculatoare
gazdă se conectează la mai multe unități de stocare
 I/O este direcționat spre ID de bus, ID de dispozitiv, unitate
logică (LUN)

Operating System Concepts Essentials – 8th Edition 215.10 Silberschatz, Galvin and Gagne ©2011
Matricea de stocare
 Poate conecta discuri sau matrici de discuri
 Matricea are controller(e), oferă diverse caracteristici la gazdele
atașate
 Porturi pentru conectarea gazdelor la matrice
 Memorie, software de control (câteodată NVRAM, etc)
 De la câteva la mii de discuri
 RAID, rezervă activă (hot spare), schimbare activă (hot swap)
 Stocare partajată – eficiență mai mare
 Caracteristici regăsite la câteva sisteme de fișiere
 Snapshot-uri, clone, provizionare rapidă, replicare, deduplicare,
etc

Operating System Concepts Essentials – 8th Edition 215.11 Silberschatz, Galvin and Gagne ©2011
Storage Area Network (1)
 Comune în mediile de stocare mari
 Mai multe gazde sunt atașate la mai multe matrici de stocare -
flexibil

Operating System Concepts Essentials – 8th Edition 215.12 Silberschatz, Galvin and Gagne ©2011
Storage Area Network (2)
 SAN constă dintr-unul sau mai multe matrici de stocare
 Conectate la unul sau mai multe switch-uri de Dibre Channel
 Gazdele se conectează de asemenea la switchuri
 Spațiul de stocare disponibil prin mascarea LUN de la matrici
specifice la servere specifice
 Este ușor să adăugăm sau să scoatem spațiu de stocare, să
adăugăm noi gazde și să le alocăm spațiu
 Peste o rețea Fibre Channel cu latență mică
 De ce să avem rețele separate pentru stocare respectiv
comunicații?
 Considerați iSCSI, FCOE

Operating System Concepts Essentials – 8th Edition 215.13 Silberschatz, Galvin and Gagne ©2011
Network-Attached Storage
 NAS este spațiu de stocare disponibil peste o rețea în loc de o
conexiune locală (cum ar fi un bus)
 Atașare de la distanță la sisteme de fișiere
 NFS și CIFS sunt protocoale destul de comune
 Implementate prin apeluri la distanță (RPC) dintre gazde și
storage peste o rețea IP prin TCP sau UDP
 Protocolul iSCSI folosește o rețea IP pentru a transporta
protocolul SCIS
 Atașându-se de la distanță la dispozitive (blocuri)

Operating System Concepts Essentials – 8th Edition 215.14 Silberschatz, Galvin and Gagne ©2011
Planificarea discului (1)
 Sistemul de operare este responsabil pentru folosirea eficientă a
hardware-ului – pentru discuri aceasta înseamnă a avea un tip
de acces rapid și lățime de bandă mare
 Minimizarea timpului de căutare
 Seek time ≈distanța de deplasare
 Lățimea de bandă a discului este numărul total de octeți
transferați, împărțit la timpul total de la prima cerere pentru
serviciu și terminarea ultimului transfer

Operating System Concepts Essentials – 8th Edition 215.15 Silberschatz, Galvin and Gagne ©2011
Planificarea discului (2)
 Există multe surse pentru cereri de I/O de disc
 SO
 Procese sistem
 Procese utilizator
 Cererea I/O include mod intrare sau ieșire, adresa de disc,
adresa de memorie, numărul de sectoare de transferat
 SO-ul menține o coadă de cereri pe disc sau dispozitiv
 Un disc inactiv poate prelua cererea de I/O imediat, un disc
ocupat înseamnă că cererea trebuie pusă în coadă
 Algoritmii de optimizare au sens doar atunci când există o coadă
 De notat că controllerele de disc au buffere mici și pot gestiona o
coadă de cereri de adâncimi diferite

Operating System Concepts Essentials – 8th Edition 215.16 Silberschatz, Galvin and Gagne ©2011
Planificarea discului (3)
 Există mai mulți algoritmi pentru a planifica satisfacerea cererilor
I/O de disc
 Analiza este adevărată pentru unul sau mai multe platane
 Vom ilustra algoritmii de planificare cu o coadă de cereri (0-199)

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

capul pornește de la 53

Operating System Concepts Essentials – 8th Edition 215.17 Silberschatz, Galvin and Gagne ©2011
FCFS
 Ilustrarea arată o deplasare totală a capului de 640 cilindri

Operating System Concepts Essentials – 8th Edition 215.18 Silberschatz, Galvin and Gagne ©2011
SSTF (1)
 Shortest Seek Time First selectează cererea cu timpul de
căutare minim de la poziția curentă a capului
 Planificarea SSTF este o formă a planificării SJF – poate cauza
înfometarea anumitor cereri
 Ilustrarea arată o mișcare totală de 236 cilindri

Operating System Concepts Essentials – 8th Edition 215.19 Silberschatz, Galvin and Gagne ©2011
SSTF (2)

Operating System Concepts Essentials – 8th Edition 215.20 Silberschatz, Galvin and Gagne ©2011
SCAN (1)
 Brațul discului pornește de la un capăt al discului și se mișcă spre
celălalt capăt, satisfăcând cereri până când ajunge la celălalt
capăt al discului, unde mișcarea capului este întoarsă și continuă
satisfacerea cererilor
 Algoritmul SCAN numit câteodată și algoritmul elevator
 Ilustrarea arată un număr total de deplasări de cap de 208 cilindri
 Dar de notat că dacă cererile sunt uniform de dense, cea mai
mare densitate la celălalt capăt al discului atunci acelea vor
aștepta cel mai mult

Operating System Concepts Essentials – 8th Edition 215.21 Silberschatz, Galvin and Gagne ©2011
SCAN (2)

Operating System Concepts Essentials – 8th Edition 215.22 Silberschatz, Galvin and Gagne ©2011
C-SCAN (1)
 Oferă un timp de așteptare mai uniform decât SCAN
 Capul se mișcă de la un capăt la altul, satisfăcând cereri pe
măsura mișcării
 Când ajunge la celălalt capăt, se întoarce imediat la începutul
discului, fără să satisfacă nici o cerere pe drumul de întoarcere.
 Tratează cilindri ca fiind o listă circulară care se închide de la
ultimul cilindru la primul
 Care este numărul total de cilindri?

Operating System Concepts Essentials – 8th Edition 215.23 Silberschatz, Galvin and Gagne ©2011
C-SCAN (2)

Operating System Concepts Essentials – 8th Edition 215.24 Silberschatz, Galvin and Gagne ©2011
C-LOOK (1)
 LOOK este o versiune a lui SCAN, C-LOOK o versiune a C-
SCAN
 Brațul se deplasează doar până la ultima cerere pe fiecare
direcție, după care se întoarce imediat, fără a merge până la
capătul discului
 Care este numărul total de cilindri?

Operating System Concepts Essentials – 8th Edition 215.25 Silberschatz, Galvin and Gagne ©2011
C-LOOK (2)

Operating System Concepts Essentials – 8th Edition 215.26 Silberschatz, Galvin and Gagne ©2011
Cum selectăm un algoritm de planificare a discului?

 SSTF este destul de comun destul de natural


 SCAN și C-SCAN se comportă mai bine pentru sisteme care pun
o încărcare mare pe disc
 Mai puțină înfometare
 Performanța depinde de numărul și tipul cererilor
 Cererile pot fi influențate de metode de alocare a fișierelor
 Și de amplasarea metadatelor
 Algoritmul de planificarea a discului ar trebui scris ca un modul
separat al sistemului de operare, permițând să fie înlocuit cu un
alt algoritm dacă este necesar
 Fie SSTF sau LOOK sunt alegeri rezonabile pentru algoritmul
implicit
 Dar latența rotațională?
 Este dificil pentru SO să o calculeze

Operating System Concepts Essentials – 8th Edition 215.27 Silberschatz, Galvin and Gagne ©2011