Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Intretinerea sistemelor de fisiere - UNIX

linux



+ Font mai mare | - Font mai mic



Intretinerea sistemelor de fisiere - UNIX

Pe durata operarii normale nucleul pastreaza consistenta sistemului de fisiere. Totusi, pot exista situatii deosebite (cum ar fi caderea tensiunii de alimentare) in care sistemele de fisiere sunt lasate intr-o stare de inconsistenta. In astfel de situatii majoritatea datelor sunt in buna stare, dar pot exista si date care sa fie afectate de aceste accidente. Comanda fsck poate verifica si reface sistemul de fisiere. Ea acceseaza sistemul de fisiere printr-o interfata (descrisa in capitolul 6) care ocoleste metodele clasice de acces la fisier. In continuare se vor descrie unele inconsistente verificate cu fsck.



Un bloc de pe disc poate apartine mai multor inoduri, sau este in lista blocurilor libere si apartine totodata unui inod. La prima initializare a unui sistem de fisiere toate blocurile disc sunt in lista libera. Atunci cand un bloc de date este utilizat, el este sters din lista blocurilor libere si va figura in structura unui inod. Nucleul nu poate reasigna blocul disc altui inod pana cand acesta nu va fi introdus in lista blocurilor libere. Astfel, un bloc disc este fie in lista libera, fie asignat unui inod. Sa consideram situatia in care nucleul elibereaza un bloc disc al unui fisier, numarul blocului fiind depus in lista libera din superbloc, iar apoi aloca blocul disc eliberat unui alt fisier. Daca nucleul scrie inodul si blocurile noului fisier pe disc, iar sistemul cade inaintea actualizarii pe disc a inodului vechiului fisier, atunci vor exista doua inoduri care vor referi acelasi bloc disc. Similar, daca nucleul scrie pe disc superblocul si lista sa libera, iar sistemul cade inaintea scrierii pe disc a vechiului inod, atunci blocul disc va aparea atat in lista libera cat si in vechiul inod.

Daca un numar de bloc nu este nici in lista blocurilor libere si nu este nici continut de un fisier, sistemul este inconsistent (dupa cum s-a mentionat anterior, blocurile trebuie sa apara undeva). Aceasta situatie poate avea loc daca blocul disc este sters din fisier si plasat in lista libera. Daca vechiul fisier este scris pe disc, iar sistemul cade inaintea scrierii pe disc a superblocului, blocul nu va aparea in niciuna din listele memorate pe disc.

Desi un inod nu are contorul cu numarul de legaturi egal cu zero, este posibil ca numarul inodului sa nu fie gasit in niciunul din directoarele sistemului de fisiere. Toate fisierele exceptand pipe-urile nenumite trebuie sa existe in sistemul de fisiere. Daca sistemul cade dupa crearea unui pipe sau dupa crearea unui fisier, dar inainte de a-i crea intrarea in director, inodul va avea numarul de legaturi setat chiar daca nu va aparea in sistemul de fisiere.

Daca formatul unui inod este incorect (de exemplu, daca tipul fisierului este nedefinit) se pot produce erori. Aceasta se poate intampla daca administratorul monteaza un tip de sistem de fisiere formatat necorespunzator. Nucleul acceseaza blocuri disc despre care crede ca contin inoduri, dar care in realitate contin date.

Daca un numar de inod apare intr-o intrare director dar inodul este liber, sistemul de fisiere este inconsistent deoarece numarul inodului ce apare intr-o intrare in director trebuie sa fie al unui inod alocat. Aceasta se intampla cand nucleul scrie pe disc intrarea director pentru un fisier nou creat si sistemul cade inaintea scrierii pe disc a inodul corespunzator. Aceeasi situatie are loc si in cazul in care un proces desface legatura unui fisier si scrie inodul eliberat pe disc, dar nu mai apuca sa scrie pe disc directorul. Aceste situatii sunt evitate prin efectuarea operatiilor de scriere intr-o anumita ordine.

Daca numerele blocurilor si inodurilor libere memorate in superbloc nu corespund realitatii existente pe disc, sistemul de fisiere este inconsistent.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 788
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved