53
Universitatea Politehnică, București Facultatea de Electronică, Telecomunicații și Tehnologia Informației Temă de curs S.O. Sisteme de fișiere Performanță Stud ent: Frîncu Robert Marinescu Alexandru Popa Marius Grupa: 431A

Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Universitatea Politehnică, BucureștiFacultatea de Electronică, Telecomunicații și Tehnologia Informației

Temă de curs S.O.Sisteme de fișiere

Performanță

Student: Frîncu Robert Marinescu Alexandru

Popa Marius Grupa: 431A

Mai, 2015

Page 2: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Cuprins1. Scurtă introducere în sistemele de fișiere(Robert)............................................................................................3

1.1 Exemplu de program folosind apeluri ale sistemului de fișiere.........................................................................5

1.3 Performanța sistemelor de fișiere.....................................................................................................................8

2.Defragmentarea(Marius).......................................................................................................................................10

2.1 Cauze alte fragmentării....................................................................................................................................10

2.2 Contramăsuri comune – Partiționarea.............................................................................................................13

2.3 Probleme de utilizator si performanța.............................................................................................................13

2.4 Disk Defragmenter (Windows).........................................................................................................................13

2.5 Limitări.............................................................................................................................................................14

3.Sistem de fișiere virtual(Robert)............................................................................................................................15

3.1 Implementări...................................................................................................................................................17

4.SATA(Alex)..............................................................................................................................................................20

4.1 Descriere SATA................................................................................................................................................20

4.2 Registre............................................................................................................................................................22

4.3 Comenzi ATA....................................................................................................................................................26

5. S.M.A.R.T.(Marius)................................................................................................................................................29

5.1 Implementare..................................................................................................................................................30

5.2 Vizibilitatea sistemelor host.............................................................................................................................30

5.3 Atribute SMART...............................................................................................................................................31

5.4 Comenzi SMART...............................................................................................................................................31

Bibliografie................................................................................................................................................................39

Page 3: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

1. SCURTĂ INTRODUCERE ÎN SISTEMELE DE FIȘIERE(ROBERT)

Un sistem de fișiere este un mod de organizare a informației pe un suport fizic. Ele oferă scalabilitate și acces facil. Unitatea de baza a sistemelor de fișiere este fișierul.

Din punctul de vedere al utilizatorului, sistemul de fișiere este văzut precum o interfață către informația aflată în directoare într-o structură ierarhică.

Din punctul de vedere al sistemului de operare, sistemul de fișiere este văzut ca o multitudine de algoritmi de organizare a fișierelor pe disc .

Exemple de sisteme de fișiere: ETFS - a fost creat de către QNX Software Systems pentru device-uri NAND exFAT – sistem de fișiere creat de Microsoft pentru memoriile flash ExtremeFFS – sistem de fișiere intern pentru SSD-uri F2FS – sistem de fișiere introdus de Samsung în 2012 pentru Linux JFFS2 – succesorul lui JFFS pentru memorii NAND și NOR RFS – creat și folosit de Samsung NTFS Ext3 ReiserFS HFS FAT32

Page 4: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Ierarhia de interfețe

Fig. [1]

Page 5: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Structura sistemului de fișiere

Fig. [2]

1.1 EXEMPLU DE PROGRAM FOLOSIND APELURI ALE SISTEMULUI DE FIȘIERE

Vom examina un program UNIX ce copiază un fișier din locul unde se află într-o altă destinație.

Programul are o funcționalitate minima dar inspiră o idee despre cum merg apelurile ce au legătură cu fișierele.

Exemplu de funcție ce poate fi apelată în linia de comandă:

copyfile abc xyz

Comanda executată mai sus va copia fișierul abc în locația xyz. Dacă xyz există va fi suprascris, dacă nu va fi creeată.

Page 6: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Codul

Fig. [3]

Programul trebuie să fie apelat cu 2 argumente, amandouă având nume de fișiere existente pe disc. Primul este sursa, al doilea este fișierul de ieșire.

Headerul programului include definițiile standard pentru a face programul relevant standardelor internaționale.

Primul #define este o definiție macro care definește stringul de caractere BUFSIZE de tip număr 4096. Programul va citii și va afișa în “bucăți” de 4096 octeți.

Al doilea #define stabilește cine poate accesa fișierul de ieșire.

Page 7: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Programul principal main are două argumente, argc și argv. Acestea sunt furnizate când se face apelul de către sistemul de operare. Primul argument informează câte șiruri de caractere au fost prezente în linia de comandă atunci când s-a făcut apelul, iar al doilea este un vector de pointeri către argumente. În exemplul relatat anterior(cel cu abc, xyz), vectorul ar trebui să conțină pointeri către valorile următoare:argv[0]=”copyfile”argv[1]=”abc”argv[2]=”xyz”

Mai departe, sunt declarate 5 variabile. Primele două, in_fd și out_fd vor stoca descriptorii de fișiere, adică niște numere întregi returnate atunci când fișierul este deschis. Următoarele două rd_count și wt_count sunt octeți returnați de apelurile de sistem. Ultima variabilă, buffer, este buffer-ul folosit pentru a memora informațiile citite și de a trimite informațiile pentru a fi scrise.

Prima declarație verifică dacă argc este 3. Dacă nu, iese cu status-ul 1. Orice alt status cu excepția lui 0 rezultă că o eroare a fost recepționată. Acest status este singurul lucru care raportează erorile în acest cod.

Apoi, se încearcă deschiderea fișierului sursă și crearea fișierului destinație. Dacă fișierul sursă este deschis cu succes, sistemul asignează un întreg la in_fd pentru a indentifica fișierul. Apeluri adiționale trebuie să includă acest întreg pentru ca sistemul să știe ce fișier este dorit. Similar, dacă fișierul destinație este creat lui out_fd i se atribuie o valoare pentru a se identifica. Al doilea argument setează starea de protecție a programului. În caz că deschiderea sau crearea eșuează, fișierul descriptor este setat pe -1 și programul se încheie cu o eroare de cod.

Acum urmează bucla care face copierea fișierului. Începe prin a încerca să citească 4KB de date în buffer. Acest lucru se realizează apelând librăria procedurală read care invocă apelul de citire al sistemului. Primul parametru identifică fișierul, al doilea returnează bufferul și al treilea spune câți octeți sunt de citit. Valoarea atribuită lui rd_count indică numărul actual de octeți citiți. În mod normal, acesta ar trebui să fie de 4096, exceptându-se momentele în care lipsesc câțiva octeți rămași în fișier. Când sfârșitul se apropie, acesta va fi 0. Dacă rd_count este 0 sau este negativ copierea nu mai poate continua, în acest fel executându-se instrucțiunea break și oprind bucla for din execuție.

Page 8: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Apelul write scrie bufferul în fișierul destinație. Primul parametru identifică fișierul, al doilea returnează bufferul iar al treilea spune câți octeți trebuie scriși(analog cu read).

Când întregul fișier a fost procesat, primul apel de deasupra end-ului va returna 0 pentru rd_count ceea ce va provoca închiderea buclei. În acest moment ambele fișiere vor fi închise și programul se încheie.

1.3 PERFORMANȚA SISTEMELOR DE FIȘIERE

Accesarea discului se realizează mult mai încet decât accesarea memoriei. Citirea unui cuvânt de 32 de biți din memorie durează undeva la 10ns, în schimb citirea aceluiași cuvânt de pe disc poate dura între 5-10ms. Comparativ, pentru accesarea unui cuvânt din memorie și un cuvânt de pe disc, accesarea din memorie este de 1 milion de ori mai rapidă decât cea de pe disc. Din acest punct de vedere multe sisteme de fișiere au primit multe optimizări pentru a îmbunătății performanța.

Cache-ul

Cea mai des întâlnită metodă pentru a reduce timpul de acces la disc este un bloc cache sau un buffer cache. Cache-ul este o colecție de blocuri care, din punct de vedere logic aparțin discului dar sunt ținute în memorie din considerente de performanță.

Pentru a administra cache-ul se folosesc diferiți algoritmi, dar cel mai des folosit este acela de a verifica dacă vreun bloc pentru cerut pentru citire se află în cache. Dacă nu se află în cache, se citește în cache și apoi se copiază oriunde este nevoie.

Operațiuni ale cache-ului sunt ilustrate în figura următoare:

Page 9: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [4]

Din moment ce se află foarte multe blocuri în cache, este nevoie de o metodă de a determina rapid dacă blocul căutat este prezent. Metoda cea mai simplă este de a „hășui” dispozitivul și adresele discului și de a verifica în tabela de hașuri. Toate blocuri cu același nivel de hash sunt înlănțuite între ele într-o listă de linkuri pentru a se găsii rapid.

Când un bloc trebuie să fie încărcat în cache, unele blocuri trebuiesc șterse. Această operațiune este similară paginării.

Page 10: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

2.DEFRAGMENTAREA(MARIUS)

În întreținerea sistemelor de fișiere , defragmentarea este un proces care reduce cantitatea de fragmentare . Ea face acest lucru prin organizarea fizică a conținutului de stocare a dispozitivului utilizat pentru a stoca fișiere în cel mai mic număr de fragmente. De asemenea, încearcă să creeze regiuni mai mari de spațiu liber, utilizând compactarea pentru a impiedica revenirea fragmentarii. Unele utilități de defragmentare încercă să păstreze fișiere mai mici într-un singur director, împreună, deoarece acestea sunt adesea accesate în ordine.

Defragmentarea este avantajoasă și relevanta pentru sisteme de fișiere pe unități de disc electromecanice. Mișcarea capetelor de citire / scriere ale hardului de pe diferite zone ale discului atunci când se acceseaza fișierele fragmentate este mai lentă, comparativ cu accesarea întregului conținut al unui fișier secvențial non-fragmentat, fără mișcare de citire / scriere pentru a căuta alte fragmente.

2.1 CAUZE ALTE FRAGMENTĂRII

Fragmentarea se produce atunci când sistemul de fișiere nu poate sau nu aloca spațiu suficient pentru a stoca un dosar complet ca o unitate, dar pune în schimb părți din ea în golurile dintre fișierele existente (de obicei există aceste lacune, deoarece a existat înainte un fișier pe care sistemul de operare l-a eliminat ulterior sau pentru că sistemul de fișiere a alocat spațiu în exces pentru fișier în primă instantă).

Fișierele mai mari, sau un număr mai mare de fișiere, contribuie , de asemenea, la fragmentare și la scăderea performantei în consecință. Defragmentarea încearcă sa atenueze aceste probleme.

Exemplu:

Page 11: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Să luam in considerare urmatoriul scenariu, asa cum este afisat in imagine.

Fig. [5]Un disc are 5 fișiere (A,B,C,D si E), fiecare dintre ele utilizând câte 10 blocuri

de memorie (un bloc este alocat ca o unitate a sistemului de fișiere; dimensiunea lui este setată când discul este formatat si poate avea orice dimensiune suportată de sistemul de fișiere).

Pe un disc gol, toate aceste fișiere vor fi alocate unul dupa altul (vezi exemplul 1 din imagine). Dacă fișierul B ar fi eliminat, ar rămâne 2 opțiuni: marcarea spațiului ca fiind liber pentru o utilizare ulterioară, sau să fie mutate fișierele existente in locul rămas liber.

Din moment ce mutarea fișierelor poate fi consumatoare de timp dacă sunt mai multe fișiere care trebuie mutate, de obicei spațiul liber este pur si simplu lăsat nealocat, marcat ca fiind disponibil pentru noi fișiere (vezi exemplul 2 in imagine).

În momentul în care un nou fișier (F) are nevoie pentru a fi alocat de 6 blocuri de spațiu, el poate fi pozitionat in primele 6 blocuri ale spațiului rămas liber dupa eliminarea fișierului B, iar celelalte 4 blocuri vor rămâne in continuare disponibile (vezi exemplul 3 din imagine). Dacă un nou fișier (G) este adăugat si are nevoie de doar 4 blocuri, el poate ocupa spațiul disponibil dintre F si C (exemplul 4 din imagine).

Cu toate aceste, dacă fișierul F trebuie sa fie extins, sunt 3 optiuni, din moment de spațiul imediat următor nu mai este disponibil:

1) Se mută fișierul F intr-un loc nou, de dimeniune mai mare, unde sa aibă loc toată informatia (inclusiv extinderea sa). Acest lucru nu este posibil dacă fișierul este mai mare decât cel mai mare spațiu disponibil. De asemenea, fișierul ar putea fi atât de mare încât să dureze o perioada foarte mare de timp, ceea ce este nedorit, pentru a se realiza operatia.

2) Să fie mutate toate fișierele ce urmează după F, până când se eliberează destul spațiu pentru a pune toată informatia cuprinsă în fișierul F, fără a mai fi despartită în mai multe bucați de catre alte fișiere. Ca și in exemplul precedent, dacă nu sunt multe fișiere de mutat si dacă nu ocupă un spațiu mare de memorie,

Page 12: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

acest lucru nu este greu de realizat. În schimb, problema apare dacă sunt mii sau zeci de mii de fișiere si timpul este mult prea mare pentru a le muta.

3) Să fie adăugat un bloc nou și sa îi fie indicat fișierului F că există spațiu disponibil. Trebuie repetat acest lucru de câteva sute ori pentru a avea un număr suficient de mare de spații foarte mici, astfel incât să incapă extinderea fișierului. Când fișierul este divizat in atât de multe parți, cum este cazul de fața, timpul de acces poate fi extrem de lung atunci când este citit.

În plus, conceptul de “fragmentare” nu este limitat doar de fișiere individuale care conțin multiple extensii pe disc. De exemplu, un grup de fișiere citite într-o ordine secvențiala (cum ar fi fișierele accesate de un program care se încarcă, ce poate include DLL-uri, fișiere media (audio/video) etc., poate fi considerat fragmentat, chiar dacă fiecare fișier individual nu este fragmentat: capetele de citire / scriere vor trebui să caute aceste fragmente în locuri aleatoare de memorie. Unele grupuri de fișiere au fost inițial instalate in ordine corecta, dar au fost desparțite în timp pentru că unele dintre ele au fost sterse. O cauză comună a acestui lucru sunt actualizările, pentru că prima oara sunt șterse fișierele vechi, apoi sunt scrise si updatate altele noi. Cu toate acestea, noile fișiere nu sunt scrise in zona de memorie care a fost eliberată după ștergerea celor vechi.

Pentru a defragmenta un disc, software-ul care realizeaza acest lucru ( cunoscut si ca “defragmenter”) poate doar să mute fișiere în spațiile libere disponibile. Aceasta este o operație intensiva si nu poate fi realizată pe un sistem de fișiere cu puțin spațiu liber sau neexistent. În timpul defragmentării, performanța sistemului poate fi degradată și este cel mai bine să nu utilizăm calculatorul pe perioada procesului pentru a nu se produce schimbări neașteptate.

Page 13: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

2.2 CONTRAMĂSURI COMUNE – PARTIȚIONAREA

O strategie comună pentru optimizarea defragmentarii și pentru reducerea impactului fragmentarii este partiționarea hard diskului într-o modalitate care separă partitiile ce sunt folosite mai mult pentru citit decât pentru scris de zonele unde fișierele sunt create și șterse frecvent. Directoarele care conțin profilele utilizatorilor sunt modificate constant ( în special directorul Temp și cel al web browserului din care sunt șterse mii de fișiere în câteva zile). Pentru partitiile cu activitate de scriere relativ mică, timpul de defragmentare se imbunatațește după prima rulare, din moment ce după aceea se aplică doar fișierelor ce au fost create după.

2.3 PROBLEME DE UTILIZATOR SI PERFORMANȚA

Într-o gamă largă de sisteme multi-utilizator, nu oricare dintre ei poate defragmenta discul, decât dacă are accesul primit de la superuser / Administrator. În plus, sistemele de fișiere, cum ar fi NTFS sunt concepute pentru a reduce riscul fragmentării. Îmbunatațirile moderne, cum ar fi RAM cache, viteza de rotație mai mare a platanelor etc. reduc impactul negativ al fragmentării. Rotația platanelor (masurată in rotații pe minut) este viteza caracteristică a hardurilor și a experimentat cea mai inceată evoluție de-a lungul timpului.

Din moment ce discurile bazate pe memorie flash nu au părti în mișcare, accesul aleatoriu al unui fragment nu suferă de această întarziere, făcând defragmentarea pentru optimizarea vitezei de acces inutilă. În plus, cum memoria flash poate fi scrisă de un număr limitat de ori până să nu mai functioneze, defragmentarea este, de fapt, dăunatoare.

2.4 DISK DEFRAGMENTER (WINDOWS)

Disk Defragmenter este un utilitar al sistemului de operare Windows, conceput pentru a mări viteza de acces prin rearanjarea fișierelor stocate pe disc, pentru a ocupa locații de memorie consecutive, tehnica numită defragmentare. Începand cu Windows XP, Disk Defragmenter reduce, de asemenea, și timpul de pornire al sistemului.

Page 14: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Windows 7 reintroduce analiza funcționalitații și afisarea procentelor ale defragmentarii sistemului, care au fost eliminate din Windows Vista. În conformitate cu spusele lui Scott Hanseman de la Microsoft, Windows-urile 7, 8 si 8.1 realizează defragmentarea SSD-urilor (solid-state drive), dar într-un mod complet diferit. În cazul SSD-urilor, fragmentarea influentează mai puțin performanța, iar ele suportă un număr finit de cicluri de stocare până nu mai funcționează.

2.5 LIMITĂRI

În windows 2000 și în sistemele de operare ulterioare, Disk Defragmenter are următoarele limitari:

- nu realizează operația asupra fișierelor care sunt în Recycle Bin sau cele care sunt utilizate in momentul respectiv

- înainte de lansarea Windowsului Vista, un singur volum putea fi analizat sau defragmentat în acelasi timp

- spre deosebire de versiunile anterioare, interfața utilizatorului în Windows Vista nu mai afișeaza un grafic al fragmentării discului și nici progresul din timpul defragmentării.

Page 15: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

3.SISTEM DE FIȘIERE VIRTUAL(ROBERT)

Un sistem virtual de fișiere ( VFS ) este un strat abstract în partea de sus a unui sistem de fișiere mai concret. Scopul unui VFS este de a permite aplicațiilor client să acceseze diferite tipuri de sisteme de fișiere concrete într-un mod uniform. Un VFS poate, de exemplu, să fie folosite pentru a accesa dispozitivele locale și de stocare de rețea transparent. Acesta poate fi folosită pentru a acoperi diferențele de Windows, Mac OS și sisteme de fișiere Unix, astfel încât aplicațiile pot accesa fișiere de pe sisteme de fișiere locale ale acestor tipuri, fără să știe ce tip de sistem de fișiere sunt accesate.

Un VFS specifica o interfață între nucleu și un sistem de fișiere. Prin urmare, este ușor a adăuga suport pentru noile tipuri de sistem de fișiere la nucleu pur și simplu prin interfață .

Fig. [6]

În present toate ecosistemele UNIX încearcă să integreze mai multe sisteme de fișiere într-o singură structură. De exemplu, un sistem Linux poate avea ext2 ca sistem de fișiere root cu o partiție ext3 și un hard-disk secund având ReiserFS, precum și un ISO 9660 CD-ROM montat temporar. Din perspectiva utilizatorului

Page 16: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

există un singur sistem de fișiere, dar de fapt în spate se află o diversitate de sisteme de fișiere și de procese.

Fig. [7]Schema de mai sus ilustrează o structură de VFS realizată de Sun

Microsystems în 1986. Aceasta exemplifica felul în care Sun a organizat VFS-ul și anume: s-a abstractizat zona din sistemele fișierelor care era comună și s-a pus acel cod într-un layer separat ce făcea apel la organizatorul de date din sistemul de fișiere concret. Toate apelurile sistemului ce făceau referire la fișiere erau direcționate către VFS pentru procesarea inițială. Aceste apeluri veneau din procesele utilizatorului și erau numite apeluri standard POSIX(open-read-write-iseek-close-etc).

Interfața cu utilizatorul a VFS-ului care organiza procesele și apelurile se numea interfața POSIX. VFS avea, și o interfața situată mai jos, numită interfața VFS care se ocupa cu restul proceselor si apelurile de funcții ce permiteau realizarea fără probleme integrarea tuturor sistemelor de fișiere.

Page 17: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

3.1 IMPLEMENTĂRI

Unul dintre primele mecanisme ale sistemului de fișiere virtuale pe sisteme Unix a fost introdus de Sun Microsystems în SunOS 2.0 în 1985. Acesta a permis sistemului Unix apeluri pentru a accesa sistemele locale de fișiere UFS și sisteme de fișiere NFS(Network File System) la distanță transparent. Din acest motiv, furnizorii Unix care licențiau codul NFS de la Sun au copiat design-ul de proiectare al VFS Sun. Alte sisteme de fișiere ar putea fi conectate: a existat o punere în aplicare a sistemului de fișiere MS- DOS FAT dezvoltat la Sun, conectat la SunOS VFS, care nu a fost livrat ca un produs până în SunOS 4.1. Implementarea SunOS a stat la baza mecanismului de VFS în System V Release 4.

John Heidemann a dezvoltat un VFS sub SunOS 4.0 pentru sistemul de fișiere Ficus experimental. Heidemann a adaptat acest lucru pentru utilizarea în BSD ca o parte a cercetărilor sale teze: descendenți ai acestui cod stau la baza implementarilor sistemului de fișiere în instrumente derivate BSD moderne, inclusiv Mac OS X.

Alte sisteme de fișiere virtuale Unix includ Switch File System în System V Release 3, sistemul de fișiere Generic în Ultrix, iar VFS în Linux. În OS / 2 și Microsoft Windows, mecanismul sistemului de fișiere virtual este denumit Sistemul de fișiere instalabile.

Sistemul de fișiere din spatiu utilizator ( FUSE ) permite codului userland să se conecteze în mecanismul sistemului de fișiere virtuale în Linux, NetBSD, FreeBSD, OpenSolaris, și Mac OS X.

În Microsoft Windows, sistemele de fișiere virtuale pot fi, de asemenea, puse în aplicare prin spațiul utilizator namespace Shell ; cu toate acestea, ele nu susțin acces sistemului de fișiere interfețele de programare a aplicațiilor la nivel mai mic, în Windows, deci nu toate cererile vor putea accesa sisteme de fișiere care sunt implementate ca extensii namespace. KIO și GVFS / GIO furnizează mecanisme similare în KDE și medii desktop GNOME ( respectiv ), cu limitări similare, deși ele pot fi făcute pentru a utiliza tehnici de siguranța și, prin urmare, integrarea fără probleme în sistem.

Page 18: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Exemplu concret de apel folosit de VFS pentru a face o citire

Când sistemul de operare pornește, sistemul de fișiere este înregistrat de VFS. Odată înregistrat, sistemul de fișiere trimite VFS-ului o listă de adrese de funcții pe care acesta le cere. În momentul în care sunt primite, VFS știe de exemplu să facă o citire, doar face un apel la a 10-a funcție (10 este un exemplu) din vectorul de funcții primit de la sistemul de fișiere.

După ce un sistem de fișiere este montat acesta poate fi folosit. De exemplu, un sistem de fișiere este montat pe partiția /usr iar un process face apelul următor:

open(“usr/include/unistd.h”, CLRDONLY)

În timp ce parcurge calea primită VFS-ul observă că s-a montat un nou sistem de fișiere pe partiția /usr și îi localizează superblocul din lista de superblocuri ale sistemului respectiv de fișiere. Odată ce realizează acest lucru, îi poate accesa foarte ușor root-ul urmărind calea primită. În acel moment VFS creează un v-node și face apel la sistemul de fișiere concret ce îi returnează toată informația despre fișierul din i-node-ul respectiv. Această informație este copiată în RAM împreună cu pointerul către tabela de funcții ce include operațiile asupra fișierului(open-read-write-close etc).

Odată ce v-node este creat, VFS creează o intrare nouă în tabela descriptorilor pentru apelurile de procese și îi setează un pointer către v-node. Și în final VFS returnează descriptorul de fișier către apelant pentru a putea fi folosit la scriere, citire și închiderea fișierului.

Când procesul face o citire folosind descriptorul de fișier, VFS localizează v-node-ul procesului și fișierul din tabela de descriptori de fișiere și îi urmărește pointerul către tabela de funcții în care sunt adresele din sistemul de fișiere și în care se află fișierul ce a fost apelat. Procedeul este ilustrat în figura următoare.

Page 19: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [8]

Page 20: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

4.SATA(ALEX)

4.1 DESCRIERE SATA

Firma Intel și mai multe firme producătoare de discuri, în anul 2000 au început elaborarea unei interfețe ATA serial deoarece interfața ATA paralel a început sa prezintă probleme in continuarea îmbunătățirii performanțelor din cauza problemelor specifice interfețelor paralele.

Prima versiune de lucru (1.0) a fost elaborată de un grup numit Serial ATA Working Group în anul 2001 când a fost publicat specificațiile interfeței. În anul 2002 a fost format grupul Serial ATA II Working Group ce a îmbunătățit specificațiile interfeței elaborând versiunea 2.0. Versiunea 3.0 , respectiv 3.1 au fost publicate specificațiile lor in anul 2009 , respectiv 2011.

În anul 2013 a fost publicată versiunea curentă ,3.2, ce conține specificațiile pentru SATA Express ce permite conectarea unei unități de discuri cu interfața PCI Express sau până la doua unități cu interfața SATA. Datorită vitezei crescute pe interfața PCI Express este permisă optimizarea performanței pentru SSD-uri si memorii flash NAND intregrate.

ATA serială folosește două canale seriale unidirecționale, unul recepție și unul transmisie , în timp ce ATA paralelă folosește un canal de 16 biți pentru a transmite datele.

Semnalul de ceas are frecvența mai ridicată fată de cea a interfeței ATA paralel, chiar dacă sunt transmise serial bit cu bit.

Tip Interfață Frecvența (GHz) Rata de transferSATA-150 1,5 150 MB/sSATA-300 3 300 MB/sSATA-600 6 600 MB/sSATA Express 8 2 GB/s

[9] Biții de date sunt codificați NRZ , reprezentați pe linia de transmisie, astfel

un bit reprezintă o schimbare a tensiunii.. Utilizează codificarea 8b/10b pe linia serială pentru transmisie de dat, prin fiecare octet de date printr-o anumită combinație de 10 biti sunt reprezentate.

Page 21: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Codificarea 8b/10b asigură că nu există patru sau mai mult de șase biți de 1 (sau 0) într-un singur octect codificat, astfel este asigurat că distranțele intre tranzițiile de tensiune să fie echilibrate.

Interfața SATA folosește conexiunea punct la punct, astfel nu există necesitatea de a desemna un master și un slave.

Principalele avantaje ale interfeței SATA sunt:- dimensiunile reduse ale conectorilor și cablului,- viteza ridicată- lungimea cablului mai mare- compatibilitate la nivel software cu interfața ATA paralelă- posibilitatea deconectării si conectării echipamentelor fără întreruperea

tensiunii de alimentareDatorită acest avantaje interfața ATA paralelă a fost înlocuită treptat de SATA.Registrele interfeței ATA

Comunicarea se realizează prin regristre de I/O. Spre deosebire de alte interfețe , la care numai controlerul selectat recepționează comenzi de la calculator, in cazul ATA se transmit abelor unități și controlelor încorporate.

Calculatorul realizeaza distincția dintre cele două prin bitul DEV din registrul de selecție al dispozitivului. Dacă bitul DEV este 1, unitatea 1 este selectată (slave) , iar dacă este 0 atunci unitatea 0 este selectată (master).

Page 22: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Tabel registrele interfeței ATA și adresele acestora pentru ATA

primară [10]

4.2 REGISTRE

Registrul de comandăConține codul comenzii care este transmis controlerului unității de discuri.

Începe imediat execuția comenzii după ce codul comenzii este înscris în registrul de comandă. Scrierea în acest regristru șterge orice condiție de întrerupere în curs, cu excepția comenzii Device Reset.

Registrul de selectie al dispozitivuluiUtilizează pentru selectarea unității de discuri. Se scrie în registru numai

atunci când biții BSY și DRQ din regristrul de stare sunt egali cu 0.Registrul de date

În acest registru de 16 biți este utilizat pentru scrierea și citirea datelor in modul de transfer PIO

Registrul de control al dispozitivuluiPermite calculatorului gazdă executarea resetării software a unităților de

discuri și să valideze activarea semnalului de întrerupere INTRQ de către unitatea selectată.

Page 23: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Registrul de eroareConține starea ultimei comenzi executate sau un cod de diagnosticare, cu

excepția comenzilor Device Reset și Execute Device Diagnostic. Conținutul acestuia este valid când bitul ERR este 1.

La terminarea execuției unei comenzi Device Reset sau Execute Device Diagnostic și după o resetare software sau hardware, conține un cod de diagnosticare acest registru.

Registru de contor de sectoareAcest registru este scris cu numărul sectoarelor de date ce trebuie

transferate într-o operație de scriere sau citire între unitatea de discuri și calulatorul gazdă. Se poate scrie în acest registru numai daca biții DRQ și BSY sunt ambii 0.

Conținutul acestui registru devine un parametru al comenzii, codul comenzii este scris in registrul de comandă.

Pentru comenzile de acces la suport , valoare este 0 la terminarea comenzii dacă nu au fost erori indicate în registrul de stare. În cazul unei erori acest registru conține numărul de sectoare ce trebuie transferate pentru a termina operația.

Registru pentru setarea caracteristicilorRegistrul este utilizat pentru setarea diferitelor caracteristici ale interfeței,

ex pentru invalidarea sau validarea memoriei chace prin comanda Set Features. Registrul poate fi scris numai atunci când biții DRQ și BSY din registrul de stare sunt 0.

Registrele de adresă LBARegistrele permit scrierea adresei sectorului la comenzile de scriere sau

citire ce utilizează adresarea LBA. Registrele pot fi scrise numai cand biții DRQ și BSY din registrul de stare sunt 0. Conținutul devine parametri ai comenzii atunci când codul comenzii este înscris în regristrul de comandă.

Comenzile care utilizează adresarea LBA pe 48 de biți, o sa funcționeze ca memorii FIFO de câte doi octeți regristrele de adresă LBA.

Registrul de stareConține starea curentă a unității, daca bitul BSY este 0 atunci ceilalți biși

conțin informații valide. Dacă acest registru în timpul unei întreruperi este citit de calculatorul gazdă condiția de întrerupere este ștearsă.

Registrul alternativ de stare

Page 24: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Conține aceleași informații ca și registrul de stare. Deosebirea constă în faptul că registrul alternativ de stare nu implică ștergerea condiției de întrerupere sau achitarea unei întreruperi când este citit registrul.

Execuţia transferurilor de dateSunt definite protocoalele utilizate în standardele ATA pentru transferurile

de date între unitatea de discuri , calculatorul gazdă și durata ciclurilor de citire/scriere.

Prezentarea modului de transfer PIO și modul de transfer DMA.PIO:“Protocolul pentru o operaţie de citire în modul de transfer PIO este următorul:1. Calculatorul citeşte registrul de stare până când bitul BSY devine 0.2. Calculatorul setează la 0 sau la 1 bitul DEV din registrul de selecţie al dispozitivului, în funcţie de unitatea care trebuie selectată.3. Calculatorul citeşte registrul de stare până când bitul BSY devine 0 şi bitul DRDY devine 1.4. Calculatorul scrie parametrii necesari ai comenzii în registrele corespunzătoare.5. Calculatorul scrie codul comenzii în registrul de comandă.6. Unitatea setează bitul BSY şi pregăteşte primul bloc de date care trebuie transferat către calculator.7. Atunci când blocul de date este disponibil, unitatea setează bitul DRQ. Dacă a apărut o condiţie de eroare, unitatea setează biţii corespunzători de eroare şi de stare. Apoi, unitatea resetează bitul BSY şi activează semnalul INTRQ. 8. După ce detectează că bitul BSY este 0 prin citirea registrului alternativ de stare sau după ce primeşte o cerere de întrerupere, calculatorul citeşte şi salvează conţinutul registrului de stare.9. Dacă bitul DRQ este setat, calculatorul transferă un bloc de date prin citirea registrului de date. Dacă există o condiţie de eroare în starea citită la pasul 8, transferul de date poate fi invalid.10.Ca răspuns la citirea registrului de stare, unitatea dezactivează semnalul INTRQ. Ca răspuns la citirea întregului bloc de date, se execută una din următoarele operaţii:

- Dacă nu a apărut nici o eroare şi dacă este necesar transferul unui nou bloc de date, unitatea setează bitul BSY şi secvenţa de sus este repetată de la pasul 7.

-Dacă a apărut o eroare, unitatea şterge bitul DRQ şi execuţia comenzii se termină.

Page 25: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

-Dacă s-a transferat ultimul bloc de date, unitatea şterge bitul DRQ şi execuţia comenzii este încheiată. “ http://users.utcluj.ro/~baruch/sie/labor/Interfete-ATA.pdfDMA:“Execuţia unei comenzi DMA are loc în următoarele etape:1. Calculatorul citeşte registrul de stare până când bitul BSY devine 0.2. Calculatorul setează la 0 sau la 1 bitul DEV din registrul de selecţie al dispozitivului, în funcţie de unitatea care trebuie selectată.3. Calculatorul citeşte registrul de stare până când bitul BSY devine 0 şi bitul DRDY devine 1.4. Calculatorul scrie parametrii necesari ai comenzii în registrele corespunzătoare.5. Calculatorul iniţializează canalul DMA.6. Calculatorul scrie codul comenzii în registrul de comandă.7. Unitatea setează bitul BSY şi se pregăteşte pentru execuţia comenzii.8. Atunci când unitatea este gata pentru transferul datelor, activează semnalul DMARQ. Transferul DMA poate fi împărţit în mai multe transferuri parţiale de către unitate sau de canalul DMA. Pe durata transferului, unitatea menţine setat bitul BSY sau DRQ. Dacă apare o eroare, unitatea setează biţii corespunzători din registrul de eroare şi de stare.9. La terminarea transferului, unitatea şterge biţii BSY şi DRQ şi activează semnalul INTRQ.10.Calculatorul resetează canalul DMA.”

Page 26: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

4.3 COMENZI ATA

Tabelul urmatorul conține principalele comenzi ATA și registrele ce trebuie încarcate cu parametrii comenzilor. Semnificația registrelor este:

SC – Registrul pentru setarea caracteristicilor;CS – Registrul contor de sectoare;LBA – Registrele de adresă LBA;SD – Registrul de selecţie al dispozitivului.

Page 27: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

[11]

Page 28: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține
Page 29: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

5. S.M.A.R.T.(MARIUS)

S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) este un sistem de monitorizare, inclus în hard diskuri (HDD) și în solid-state drive (SSD), care detectează și raportează diferiți indicatori ai fiabilitătii discului, cu intenția de a permite anticiparea erorilor hardware.

Când S.M.A.R.T. indică o posibilă defecțiune, software-ul care rulează pe mașina respectivă poate anunța utilizatorul de acest lucru, pentru a putea copia datele pe un alt dispozitiv de stocare, prevenind astfel pierderile de date. Producătorul poate utiliza înregistrarile pentru a descoperi unde au aparut erorile și pentru a evita repetarea lor pe noile generații de dispozitive.

Eșecurile discului se încadrează într-una din cele două clase de bază:- eșecuri previzibile, rezultate din procese lente, cum ar fi uzura mecanică și

degradarea treptată a suprafețelor de stocare.- eșecuri imprevizibile, care se intamplă fără avertisment, cum ar fi

problemele componentelor electrice, care se pot defecta.Eșecurile mecanice reprezintă aproximativ 60% din toate defecțiunile

dispozitivelor. Majoritatea erorilor apar in urma uzurii graduale și, de obicei, sunt anumiți indicatori care detecteaza în avans defecțiunea. Aceasta poate include creșterea căldurii, creșterea nivelului de zgomot, probleme la citire si scriere ale datelor, sau o creștere a numărului de sectoare de disc deteriorate.

Un studiu al Google arată că în peste 100.000 de dispozitive, care au fost testate pe o perioadă de nouă luni, s-au găsit corelații clare între informatiile furnizate de SMART și erorile reale apărute ulterior. Cu toate acestea, statistica arată că într-o proportie de 56% a defectelor, acestea au aparut fără a se înregistra avertizari ale utilitarei SMART.

Introdus pentru prima dată în 2004, a avut parte de revizii periodice, cel mai recent fiind apărut în 2008.

Informatia cea mai de bază pe care o oferă este “starea SMART”. Aceasta oferă doar doua valori: “prag depășit” și “prag nedepăsit”. Adesea, acestea sunt reprezentate de “drive fail”, respectiv “drive OK”. Valoarea “Prag depăsit” indică faptul că este o probabilitate mare ca discul să nu se mai comporte în viitor conform specificațiilor ( “about to fail” ). Eșecul prezis poate produce avarii grave, sau poate fi ceva la fel de subtil ca incapacitatea de a scrie în anumite sectoare,

Page 30: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

sau probabil performanța puțin mai scăzuta față de cea declarată de producător. În cazul în care dispozitivul a întalnit probleme în trecut, dar senzorii nu mai detectează aceste probleme, starea SMART poate indica, în functie de producător, că driveul este în stare bună de funcționare. Incapacitatea de a citi nu indică neaparat faptul că o unitate este pe cale să cedeze.

5.1 IMPLEMENTARE

Multe plăci de bază afișează un mesaj de avertizare atunci când discul se apropie de o stare de eroare. Deși exista un standard, printre cei mai mari producători de hard discuri, exista unele probleme rămase să fie rezolvate de către aceștia, fiecare cu abordarea sa. Ca urmare, SMART nu este intotdeauna implementat corect, din cauza lipsei răspândirii unui standard SMART complet, atât hardware, cât și software. Termenul SMART se referă numai la o metodă de semnalizare între senzorii de pe disc si calculator. Prin urmare, pe o unitate poate fi implementat SMART, deși aceasta nu include, să zicem, un senzor de temperatură, pe care utilizatorul consideră că il are.

5.2 VIZIBILITATEA SISTEMELOR HOST

În funcție de tipul de interfața folosit, unele plăci de bază cu SMART și software-ul asociat nu pot comunica cu dispozivele care suportă la randul lor SMART. De exemplu, doar cateva dispozitive externe conectate prin USB sau Firewire transmit corect date SMART prin aceste interfețe. Cu atat de multe modalitați de conectare al hardului ( SCSI, ATA, SATA, SAS etc.), este dificil de prezis dacă rapoartele SMART vor fi transmise în mod corect. Chiar și cu un hard și interfată care corespund cerințelor, sistemul de operare al calculatorului nu poate vedea informatia SMART deoarece driveul și interfața sunt încapsulate într-un strat inferior.

Pe platforme Windows, multe programe sunt concepute astfel incât informația transmisă să funcționeze numai dacă este logat un administrator.

Câteva programe care citesc informație SMART sunt: AIDA64, Argus Monitor, Defraggler, Speccy (pentru Windows), Disk Utility (pentru OS X), GNOME Disks (pentru Linux).

Page 31: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

5.3 ATRIBUTE SMART

Fiecare producător definește un set de atribute și seteaza valori ale acestora în care trebuie să funcționeze în mod normal. Fiecare atribut are o valoare bruta (a carui semnificație ține în întregime de producator), valoare nominalizata (variaza intre 1 (cel mai rău caz) si 253 (cel mai bun caz) ), si o altă valoare, care reprezintă cea mai scazută valoare nominalizată. Producătorii care au implementat cel puțin un atribut SMART în diverse produse sunt: Samsung, Seagate, IBM, Toshiba, Intel, Western Digital etc.

5.4 COMENZI SMART

Scopul comenzilor SMART este de a proteja datele utilizatorilui și de minimiza pe cât posibil probabilitatea erorilor dintr-un sistem, care pot fi cauzate de degradarea și / sau defecte ale dispozitivului. Astfel, comunicțndu-i sistemului gazdă parametrii negativi pe care ii descopera, acesta din urma poate avertiza utilizatorul de un eventual risc ce poate să apară și îl poate sfatui cu anumite sugestii pentru prevenirea pierderilor de date.

Dacă caracteristica SMART este implementată, atunci vor fi disponibile urmatoarele comenzi:

- SMART activare / dezactivare a atributului auto – salvare- SMART – activarea operațiilor- SMART – dezactivarea operațiilor- SMART – returnează starea curentă

Urmatoarele comenzi sunt opționale:- SMART – citește datele- SMART – citește jurnalul- SMART – scrie în jurnal

Page 32: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Tabelul 1: Comenzi SMART

[12]

[13]

Comenzi ATAComenzile ATA sunt utilizate pentru a citi si pentru a scrie de pe

dispozitivele ATA, dar sși pentru a seta parametrii diverselor dispozitive si pentru a verifica starea lor.Cerințe HARDWARE

Pentru a putea rula comenzi ATA, este nevoie de un sistem o operare Windows. Dacă vrem să testăm comenzi pe 48 de biti, atunci trebuie ca acestea să fie suportate de catre drivere.

Putem verifica dacă sistemul de operare vede dispozivele folosind Device manager, așa cum era arătat în figura următoare:

Page 33: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [14]Utilizarea comenzilor ATA utilizând “STB Suite”

Pentru a putea utiliza comenzile trebuie ca din meniul STB Suite să selectăm Comenzi -> Comenzi definite pentru utilizator. Ne va apărea o imagine ca în urmatoarea figură:

Page 34: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [15]

Alegerea comenzilor predefiniteProgramul dispune de comenzi predefinite pe care le putem selecta, așa

cum este precizat în figura următoare:

Fig. [16]

Page 35: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

În continuare vom vedea că respectiva comandă pe care am ales-o a fost încărcată, lungimea transferului de date a fost specificat, am setat timpul de anulare al comenzii dacă aceasta nu se executa în maxim 5 secunde și am selectat de asemenea să se execute comanda o singură dată, ca în figura următoare: Fig. [17]

Vizualizarea rezultatelor returnateRezultate returnate în urma rulării comenzii vor fi afișate în secțiunea

“Command results”. În acest caz, se poate observa că Statusul are valoare 0x50, ceea ce reprezintă faptul ca s-a executat cu succes.

Page 36: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [18]

Rezultatele tuturor comenzilorToate detaliile ce țin de rezultatele comenzilor vor fi stocate într-o “listă

istoric”.

Page 37: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [19]

Dacă apar eroriDacă în urma rularii unei comenzi, aceasta nu se termină cu succes, atunci

se va returna acest status în registri. În cele mai multe cazuri, statusul returnat va fi 0x51. În functie de secvența de biți ce va fi afișată ca rezultat, putem identifica problema pe care o are dispozitivul.

Page 38: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

Fig. [20]

Definirea comenzilor propriiOrice valoare poate fi plasată în “task registers”, astfel permițându-ne să

transmitem orice comandă. Acest posibilitate nu funcționează în toate situațiile, ceea ce înseamnă că așa cum putem transmite comenzi deja definite, la fel de ușor putem transmite comenzi greșite către dispozitiv.

Page 39: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține

BIBLIOGRAFIE

Figuri + tabele

[1] http://elf.cs.pub.ro/so/wiki/cursuri/curs-10[2] http://elf.cs.pub.ro/so/wiki/cursuri/curs-10[3][4][7][8] Modern Operating Systems – Third Edition – Andrew S. Tanenbaum[5] http://en.wikipedia.org/wiki/Defragmentation#/media/File:File_system_fragmentation.svg[6] http://en.wikipedia.org/wiki/User_(computing)[6] http://en.wikipedia.org/wiki/Application_software[6] http://en.wikipedia.org/wiki/Operating_system[6] http://en.wikipedia.org/wiki/Personal_computer_hardware[9] http://users.utcluj.ro/~baruch/sie/labor/Interfete-ATA.pdf[10][11] http://users.utcluj.ro/~baruch/sie/labor/Interfete-ATA.pdf[12][13]https://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDcQFjAD&url=https

%3A%2F%2Fwww.micron.com%2F~%2Fmedia%2Fdocuments%2Fproducts%2Ftechnical-note%2Fsolid-state-storage%2Ftnfd10_p400e_smart_firmware_0142.pdf&ei=8QRkVZudE8eV7AbXyYGwCg&usg=AFQjCNFw8ykuMtCMi45zpRr5DpFFTGQqDA&sig2=wE9u2XgIQsdJW1arzT33UA&bvm=bv.93990622,d.ZGU&cad=rja

[14][15][16][17][18][19][20] http://www.stbsuite.com/support/virtual-training-center/issuing-ata-commands

Capitole

Cap.1http://elf.cs.pub.ro/so/wiki/cursuri/curs-10Modern Operating Systems – Third Edition – Andrew S. Tanenbaum

Cap.2http://www.condusiv.com/disk-defrag/defragmentation/http://windows.microsoft.com/ro-ro/windows/what-is-disk-defragmentation#1TC=windows-7

Cap.3Modern Operating Systems – Third Edition – Andrew S. Tanenbaum

Cap.4http://users.utcluj.ro/~baruch/sie/labor/Interfete-ATA.pdf

Cap.5http://www.linuxjournal.com/magazine/monitoring-hard-disks-smarthttp://kb.sandisk.com/app/answers/detail/a_id/8147/~/self-monitoring,-analysis-and-reporting-technology,-(smart)-definedhttp://wdc.custhelp.com/app/answers/detail/a_id/251/~/understanding-s.m.a.r.t.-and-s.m.a.r.t.-failure-and-errorshttp://www.passmark.com/products/diskcheckup.htm

Page 40: Scurtă introducere în sistemele de fișierestst.elia.pub.ro/news/SO/Teme_SO_2014_15/1_FrincuRo... · Web viewÎn anul 2013 a fost publicată versiunea curentă ,3.2, ce conține