Articole pe aceeași temă - Test online

În primul rând, aș dori să vorbesc despre ce fel de operațiuni sunt înregistrate. Este evident că plin Undo-fișier care poate rula înapoi toate operațiunile complet, absolut imposibil, atât în ​​ceea ce privește viteza, cât și din punctul de vedere al bunului simț. Da, această exploatare forestieră ar da posibilitatea de a restabili mai multe date - de exemplu, în exercitarea rescriere trei megaocteți în mijlocul fișierului, am putea salva mai întâi noile date în jurnal, și apoi rescris la fișierul de trei megabiți anterior, și așa mai departe numai apoi să efectueze operațiuni cu date reale . O astfel de abordare ar asigura o certitudine completă soarta informațiilor - suntem întotdeauna capabili să înțeleagă care o parte din datele deja înregistrate pe disc, dar ceea ce este în original, nu este actualizat. Această abordare are doar un modest un dezavantaj - un nakladochka mic de viteza: pentru scrierea pe disc trei megaocteți, vom fi obligați să efectueze o varietate de operațiuni pe volumul de disc este de trei ori mai mare - nouă MB. Da, logare completă este de asemenea utilizat - dar, în principal, pentru a lucra cu baze de date. Dacă doriți să asigure înregistrarea completă a oricăror date, puteți pune SQL MS sau Oracle, care, în general, nu se va folosi orice mijloc de orice sistem de fișiere și pentru a asigura securitatea datelor dvs. în orice mod rezonabil. Susținătorii sistemului de fișiere cu jurnalizare completă Pot să spun un singur lucru: pentru a reduce viteza de operațiunile de scriere de trei ori, în opinia mea, este decizia prea îndrăzneață pentru a mandatului - și pe computerele de acasă, și servere.

NTFS abordare dezvoltatorii a fost fundamental diferită. Principalul motto-ul a fost, se pare, nu este de încredere la toate costurile, și imutabilitatea performanței. Journaling nu este pur și simplu ar trebui să interfereze cu sistemul de fișiere. Primul pas logic - pentru a anula jurnalizarea completă total inacceptabilă din punct de vedere al performanței. În NTFS, folosit logare structuri logice, mai degrabă decât de date de utilizator - de aici expresia este faptul că securitatea datelor nu este garantată, dar cu toate acestea starea corectă a sistemului va fi menținută. Ceva ce nu este NTFS înregistrează un fișier de date, conduce în practică la o aplicație concretă a pierderii de date - în acest caz ipotetic, înregistrarea a trei megaocteți, în caz de eșec în timpul înregistrării nu va fi în măsură să determine care parte a datelor înregistrate, și care a rămas neschimbată. Operațiuni, care sistem conectat cu toate acestea - această operațiune cu structurile sistemului, adică, fișiere și directoare: adăugați fișiere, redenumi, muta, de a crea și șterge (eliberarea de spațiu liber). de asemenea, conectat și operații defragmentarea - adică, mutați fragmentele de fișiere. Pe scurt, toate operațiile logice jurnalizat.

Întârzierea de intrare și punctul de control de logare

Este cunoscut faptul că orice sistem modern pentru a accelera operațiunile de fișier forțat să utilizeze caching, inclusiv - scrie operații de memorare în cache. Așa-numita scriere leneș - cachingul principiu în care datele care urmează să fie înregistrate pe disc în timp ce stocate în memoria cache și un timp liber alte clase stocate fizic. înregistrarea întârziată crește foarte semnificativ eficiența operațiunilor de disc, deoarece astfel de grupuri o multitudine de operații cache într-un singur - este eficient mai ales dacă înregistrați într-un disc compact zone. Un alt plus a scrie înapoi - să nu interfereze cu operațiunile de citire dorite, precum și pentru a înregistra numai atunci când sistemul este liber și nu are nevoie de acces la unitatea pentru alte utilizări. Cum împăcăm scrie jurnalizarea leneș? Aceasta este o întrebare grea, pentru că amânarea înregistrării face posibilă pierdere de date care sunt în coada de așteptare pentru o înregistrare fizică și nu au avut timp să se înscrie pentru unitatea de funcționarea defectuoasă. Cel mai neplăcut aici nu este chiar pierderea de date, și ce se întâmplă timp de înregistrare nepotrivire: unele zone de servicii pot fi actualizate, precum și orice legătură în sens - și totuși, după cum actualizarea lor poate fi amânată chiar și pentru câteva secunde, și nu are loc din cauza unei defecțiuni.

NTFS face față acestor probleme cu ajutorul de integrare semantică a operațiunilor și de a scrie-logare. Când încercați să porniți jurnalizarea jurnal de operare se înregistrează imediat intenția - de exemplu, ștergeți fișierul. Acest lucru se întâmplă fără întârziere - la această înregistrare etapă întârziată nu funcționează: este o plată pentru prezența exploatării forestiere, care nu poate fi evitată. Dar aici e restul operațiunii sunt deja în modul întârziat - adică, acestea pot fi deținute parțial (încă mai pot, în plus, și nu în această ordine), sau care nu au loc deloc. amânată numai operațiunea, a cărei funcționare este ușor diferită de la un record de simplu - o înregistrare în jurnal cu privire la finalizarea cu succes a tranzacțiilor anterioare, așa-numitul punct de referință. La intervale regulate - de obicei, la fiecare câteva secunde - sistemul de deșeuri obligatorii totul operațiuni întârziate pe disc. După efectuarea acestei operațiuni este conectat doar un record - un punct de referință - care spune că toate operațiile anterioare sunt efectuate corect la toate nivelurile - atât logic și fizic.

Acest mod de operare - cu ajutorul înregistrărilor și repere - pe de o parte, continuă să garanteze o funcționare corectă în totalitate de logare, pe de altă parte, aproape că nu a încetini de funcționare: prostanovka puncte de control sunt, luați în considerare imediat și să vă conectați la început funcționare ore-om corespunde datelor de înregistrare în sine, fără o memorie cache în așteptare. Înregistrarea reală se face mai târziu, în majoritatea cazurilor, nu interferează cu orice operațiuni și nu vine în detrimentul performanței sistemului.

Probleme de logare amânată: conceptul de duplicare

Toate teoria de mai sus este bun, dar cu toate acestea, este capabil să provoace consecințe foarte neplăcute dacă nu iau în considerare câteva lucruri care vor fi discutate.

Luați în considerare acest caz: vom șterge fișierul. Revista a primit un record - „fișier N se elimină“ Apoi, cache-ul cu întârziere a fost mulțumit de a efectua prima marca fizică că spațiul ocupat de dosar, disponibil, și numai apoi ștergeți fișierul din structurile fizice MFT și directoare. Să presupunem că discul este în funcțiune activă, și un scaun înregistrat imediat un alt fayl.V acest punct eșuează. Sistemul este încărcat, de explorează revista și vede în așteptare tranzacții „fișierul N șters“ - sau mai degrabă, așa cum am descris mai sus, nu este o operație incompletă și simplu, după care punctul de control nu este faptul că sugerează în mod automat incomplet. Faza următoare ar fi o „retroactivitate“ - adică, recuperarea de fișiere. Un ghinion - locul este ocupat fizic de fișierul conține deja alte date.

Pentru a preveni astfel de situații, sistemul dorește să restricționeze jurnalizare logic, forțat să aplice principiul „spațiului ocupat temporar“. Scaun eliberat de către orice obiect sau înregistrare a acesteia, nu este declarat liber, atâta timp cât completat fizic toate operațiunile cu structuri logice. Acest mecanism este în NTFS, se pare, acesta nu este sincronizat, chiar și cu punerea puncte de control, ca timpul tipic de eliberare a spațiului ocupat temporar - aproximativ 30 de secunde, punctul de a merge mai des.

Acest mecanism se aplică nu numai la ștergerea unui fișier, dar, de asemenea, într-o varietate de operațiuni: principiul de logare - un obiect, șters sau mutat într-o nouă locație, trebuie să fie în măsură să se rostogolească în mod corect înapoi „plecare“ său - adică, datele care sunt referite de structura logică pentru a șterge sau muta obiect, este necesar de ceva timp pentru a rezerva un loc la fel de ocupat (unitate / director). Acesta este un alt pas spre plin jurnalizare NTFS, în cazul în care zonele de date de informații specifice fișier jurnal în sine sunt scutite nu sunt distruse fizic.

Ipoteze pentru a asigura fiabilitatea

Ei bine, vă spun, totul este atât de minunat - dar de ce, atunci, partiții NTFS încă acoperi. Acum, voi încerca să explic principiile care conduc la faptul că modelul de mai sus se va asigura colectibilitatea completă a structurilor logice.

  • Hard drive, în mod normal, trebuie să fie scris exact, și asta e în cazul în care, ce și unde a fost spus să scrie sistemul de operare. Acest principiu este încălcat atunci când sistemul este bucla de încredere, procesor, controler de memorie, sau - și aceasta este cea mai frecventa cauza de esec NTFS. Nu va overclockat procesorul, scump de memorie (de înaltă calitate), o placa de baza buna si protocolul UDMA, care prevede recuperarea de control și de eroare la unitatea controlerului site-ului.
  • Hard drive, în cazul unui accident, pană de curent sau o confirmare de primire de la controlerul de semnal „resetare“ (în cazul repornire bruscă a placii de baza) este necesară pentru a finaliza în mod corespunzător înregistrarea datelor actuale din sectorul fizic, dacă este cazul, a fost făcută la momentul accidentului. Sectorul de stat Intermediarul nu este permisă. Puteți ajuta la hard disk-uri moderne, care pot efectua această operație, chiar și în cazul unei pene de curent complet - au suficiente condensatori de energie tamponate, iar logica lor este conceput pentru a corecta comportamentul în cazul unei pene de curent în timpul înregistrării.
  • Discul este obligat să pună în aplicare imediat o înregistrare a datelor trimise de la „nici un cache“ pavilion. Faptul că multe unități de control sau comenzi moderne oferă o înregistrare întârziată. NTFS metafile actualizat în „scrie o dată“ și controler / unitatea trebuie să respecte această cerință.
  • Hard disc este necesar pentru a asigura citirea este datele care au fost înregistrate. Dacă nu puteți citi semnalul de date este de ieșire „eroare“. Discul nu este permis să se întoarcă eroare de date (posibil doar parțial incorecte) fără un semnal de eroare. Toate hard disk-uri moderne au sectoare checksum și urmeze acest comportament rigid logica.

În mod evident aceste cerințe garantează pe deplin funcționarea fiabilă a NTFS. Structura sistemului de fișiere nu vor conține erori semnificative, chiar și după un eșec. Unele erori nesemnificative încă mai apar din cauza faptului că logica de logare este adesea încercarea de a finaliza operațiunile nefinalizate - de exemplu, același fișier text eliminat - în timp ce fiabilitatea totală ar oferi doar o corectie negativa necondiționată a tuturor, adică după ultimul punct de control. discrepante mici se nasc din aceste încercări, sunt redundante de securitate a informațiilor, nu prezintă nici un risc real pentru datele - acestea sunt foarte mici. Esența acestor discrepanțe este de multe ori ca pe disc sunt date „suplimentare“ pe modurile de acces care nu au nevoie de sistem. curățarea - este pur și simplu a îmbunătăți performanța, cum ar fi defragmentarea, astfel încât prezența lor nu este cu adevărat o eroare. În cazul detectării de grave, reale, probleme de conducător auto va seta volumul caseta „murdar“, care va instrui sistemul pentru a verifica dacă data viitoare când mount.

Pe baza materialelor din colțului de resurse