Gheorghe M.Panaitescu
SISTEME TOLERANTE LA
DEFECTE
Note de curs
Universitatea “Petrol-Gaze” Ploiesti
Catedra Automaticǎ si calculatoare
2007
1
2
CUVÂNT ÎNAINTE
Ce reprezintǎ aceastǎ lucrarea?
Lucrarea aceasta pe care o consultati este suportul cursului Sisteme tolerante la
defecte, un ghid al expunerilor sǎptǎmânale pe care autorul le-a tinut/le tine
pentru anul V de la specializarea Calculatoare a facultǎtii Inginerie mecanicǎ si
electricǎ, de cele mai multe ori în fata unei asistenţe modeste numeric. Este
totodatǎ un text de ajutor în pregǎtirea pentru verificarea pe care studentii au
obligaţia a o susţine la sfârsitul primului semestru al ultimului an de studii.
Desigur, nu este exclusǎ o lecturǎ interesantǎ si interesatǎ a unor terţe persoane,
care nu sunt nici studenţi si nici nu predau disciplina atât de atractivǎ a
toleranţei la defecte.
Existǎ, desigur, o diferenţǎ între versiunea vorbitǎ si cea scrisǎ a acestui curs:
scrisul reclamǎ concizie, vorbitul permite detalierea unor aspecte care meritǎ
sau trebuie detaliate. Comunicarea verbalǎ poate beneficia de întreruperi utile
din partea celor care ascultǎ, ceea ce autorul si-a dorit foarte mult, dar, din
pǎcate, s-a întâmplat foarte rar.
Despre continutul acestei lucrǎri, despre surse
Nu veti gǎsi în paginile care urmeazǎ foarte multe lucruri originale. Pe tema
originalitǎţii existǎ în zilele noastre o (sǎ-i spunem) dezbatere asupra dozei de
noutate din cursurile scrise de universitarii români. Sunt publicate adesea opinii
ale unor oameni care n-au scris vreodatǎ un rând dar dau cu generozitate
indicaţii altora, mai ales când vor sǎ arate cât de incorect este profesorul X în
utilizarea surselor bibliografice. Vor fi urme de adevǎr în cele scrise ocazional
în acele articole de campanie, altfel foarte combative. Nu sunt cel chemat a
arbitra în aceastǎ chestiune. Nu mǎ pot reţine însǎ de la a face câteva precizǎri
despre lucrarea de fatǎ.
Subiectele tratate aici urmeazǎ linia care se regǎseste din plin în cursurile
prezentate studentilor unor universitǎti din Statele Unite ale Americii. Ca sǎ
scutesc pe cititor, indiferent cine ar fi el, de oricc efort detectivistic, fac trimiteri
la cursurile similare tinute la University of Massachusetts (cursul ECE 655), la
University of Wisconsin (cursul ECE 753), la University of Idaho (cursul
CS449_549) sau la University of Illinois (cursul ECE 542); un “search” pe
Internet pe codul cursurilor si pe numele universitǎtilor poate duce cititorul
direct la aceste surse principale utilizate în versiunea curentǎ a acestor Note de
curs. Am scris “principale” pentru cǎ în afara slide-urilor sau paginilor postate
la locurile indicate, alte sute de pagini au fost parcurse pentru lǎmurirea unor
3
detalii, deoarece, este stiut, este absurd sǎ predai o disciplinǎ pe care nu o
întelegi…
Am apelat la surse americane pentru motivul lesne de înteles: tehnologia
calculatoarelor si preocuparea pentru siguranţa calculului nu sunt altundeva mai
înalte decât în America.
Se poate adǎuga ceva original la ceea ce industria si comunitatea academicǎ
americanǎ a creat în domeniu? Poate de aici înainte, dupǎ lectura acestor Note
de curs…
Domeniul este pasionant, punctele de vedere sunt multiple si variate,
bibliografia este practic inepuizabilǎ. De aceea, aceastǎ versiune a lucrǎrii (a
treia) este radical diferitǎ de acelea de anii trecuţi si nu mǎ îndoiesc cǎ este
diferitǎ si de cea (posibilǎ) de anul viitor…
Un feedback cu observatii asupra acestui curs, la adresa de e-mail a autorului ar
fi aproape sigur foarte util pentru realizarea versiunii viitoare.
Ce consecinte ar putea avea lectura acestei lucrǎri?
Cititorul va gǎsi aici notiuni fundamentale despre cele patru tipuri de
redundante care se folosesc, separat sau în combinaţii, pentru realizarea
toleranţei la defecte: redundanţele hardware, redundanţele software,
redundanţele informaţionale si redundanţele temporale.
Nu este exageratǎ credinţa cǎ dupǎ audierea cursului de Sisteme tolerante la
defecte si dupǎ lectura acestor Note, studentul absolvent va fi mai aproape de
mecanismele utilizate pentru a prelungi la limita posibilului funcţionarea
corectǎ a unui calculator, a unui program de calcul, pentru a mǎri siguranţa
serviciului unei baze de date, a comunicǎrii în reţelele de calculatoare.
Ploiesti, 5 octombrie 2007
Gheorghe M.Panaitescu
4
C U P R I N S
CUVÂNT ÎNAINTE 3
CUPRINS 5
INTRODUCERE 7
TOLERANTA LA DEFECTE HARDWARE 17
TOLERANTA LA DEFECTE SOFTWARE 35
REDUNDANTE INFORMATIONALE 55
REDUNDANTE TEMPORALE 75
SISTEME DE DISCURI TOLERANTE LA DEFECTE 109
REPLICAREA DATELOR
PENTRU TOLERANTA LA DEFECTE 125
TOLERANTA LA DEFECTE ÎN RETELE 135
ANEXA 1: ELEMENTE DE TEORIA PROBABILITǍTILOR SI DE
STATISTICǍ MATEMATICǍ 151
B I B L I O G R A F I E 163
5