13Aug

Mit jelent az "Ellenőrzés a lemezről" valójában az utánkövetés után, hogy ellenőrizze az adatokat?

Az 'ellenőrző lemez' funkció nagyszerű annak biztosítására, hogy frissen égett lemezed kiderült, de hogyan működik megfelelően? A mai SuperUser Q & A bejegyzés válaszol egy kíváncsi olvasó kérdésére.

A mai kérdés &A válaszüzenet a SuperUser - a Stack Exchange megosztottságának köszönhetően - a Q & A webhelyek közösségi szintű csoportosítása.

Fotó jóvoltából cobalt123( Flickr).

Az

kérdése A SuperUser olvasó user1301428 azt szeretné tudni, hogy a lemezeket hogyan írják le a lemezek égetése után:

Mi a lemez ellenőrzése az író után valójában az adatok ellenőrzéséhez? Elképzelhető, hogy ez valamiféle összehasonlítás az eredeti fájlok és a lemezen égett fájlok között, de valaki tudja, hogy valóban alacsony szinten történik?

Úgy értem, létrehoz egy hash a forrás és cél tartalom, majd összehasonlítja őket? Ha igen, tárolja az elégett tartalom hashát a RAM-ban? Vagy mentheti egy ideiglenes fájlba a merevlemezen? Van-e naplófájl arról, mi folyik itt?

Csak kíváncsi tudni, hogy pontosan hogyan működik ez a funkció.És a Windows Image Burnerre gondolok.

Hogyan működik a lemezellenőrzési folyamat?

A válasz

A SuperUser munkatársai, Frank Thomas és Synetech válaszolnak nekünk. Először fel, Frank Thomas:

Tekintse meg ezeket az MSDN-oldalakat az IBURNVerification felületen és az IMAPI_BURN_VERIFICATION_LEVEL enumon az ablakok API-ján.

Az adatlemezek esetében úgy tűnik, hogy gyors módban nem ellenőrzőösszegként jelenik meg az egész lemez, csak egy sor szektor. Ezután biztosítja, hogy az API hívja a READ_DISC_INFO és a READ_TRACK_INFO-ot az új lemezzel szemben.

A teljes ellenőrzéshez elvégzi a fenti ellenőrzéseket, majd elvégzi a teljes ellenőrzőösszeget az új lemez utolsó munkamenetéről a memóriafolyamon kiszámított ellenőrző összeg ellen. Az ellenőrző összegeket RAM-ban kell tárolni, de valószínűleg rövid életű értékek. Megjegyezzük, hogy az összehasonlítás a RAM-ban lévő lemezkép ellen van, nem maga a forrásmágnes, tehát ha a forrásadatok nem olvassák helyesen, akkor helytelenül íródik le. Az ellenőrzés nem fogja észlelni ezt.

Zenei lemezek esetén a READ_TRACK_INFO és a lemezes tartalomjegyzék ellenőrzésére összpontosít, de nem végez ellenőrzőösszeg számítást. A zenéhez nincs teljes ellenőrző mód.

A Synetech válasza:

Frank szépen elmagyarázta a Windows-specifikus ellenőrzést.Általánosabb választ fogok adni.

  • Mi az Ellenőrzés lemez az égetés után valóban az adatok ellenőrzéséhez?
  • Úgy értem, létrehoz egy hash a forrás és a cél tartalom, akkor összehasonlítja őket? Ha igen, tárolja az elégett tartalom hashát a RAM-ban? Vagy mentheti egy ideiglenes fájlba a merevlemezen? Van-e naplófájl arról, mi folyik itt?

Ez minden bizonnyal az egyik módja az összehasonlítás megvalósítása: hash egy fájlt( remélhetőleg elég nagy olvasható alacsony ütközés algoritmus esélye), ismételje meg a másik, és hasonlítsa össze a hashokat. Ha így hajt végre egy ellenőrzést, akkor a meghajtó LED-je villogni fog, és a CD / DVD-LED egy darabig villogni kezd.

Az ellenőrzés másik módja egy fájl blokkjának olvasása, majd ugyanazon blokk olvassa el a másik fájlt, hasonlítsa össze őket, majd ismételje meg a fájl végéig. Ebben az esetben a két meghajtó LED-jeit előre és hátra válthatják.

Természetesen, ha a merevlemez-meghajtó és az optikai meghajtó nem rendelkezik LED-ekkel, akkor ez nem lesz olyan nyilvánvaló.De még mindig láthatod valamit, mint a ProcessMonitor, mert egy sor olvasmányt fog regisztrálni az egyikből, majd a másikat egy nagy, robbant vagy váltakozó, apró bomlásokból. Képzeld el, hogy valamiféle összehasonlítás van az eredeti fájlok és a lemezen égett fájlok között, de valaki tudja, hogy valóban alacsony szinten történik? Az

Valójában minden tényleg az, hogy lemossza a meghajtó gyorsítótárát úgy, hogy az összehasonlító függvény az aktuális lemezről az adatokat a memória-gyorsítótár helyett olvasja. Nyilvánvaló, hogy ez egy kritikus lépés, mert ha a hitelesítés a gyorsítótárból történik, akkor nem jelenti azt, ami valójában a lemezen van, így a korrupció könnyen átcsúszik.

Megtudhatja, hogy összehasonlítás történik-e a meghajtóról vagy a gyorsítótár cache-ról a gyorsasággal. Ha manuálisan végez egy egyszerű összehasonlítást( például a WinDiff, a WinMerge vagy a hashing eszközzel), észre fogod venni, hogy az összehasonlítás a vártnál jóval gyorsabban megy végbe, mert a fájlokat a memória-gyorsítótárból olvasja. A cache-t ki kell öblíteni ahhoz, hogy az aktuális lemezről olvassa le. Az optikai meghajtók( és más cserélhető adathordozók, például flash-meghajtók és memóriakártyák esetében) egyszerűen kiürítik a meghajtót, hogy elégethessék a gyorsítótárat, de a merevlemezek esetében ez nem olyan egyszerű( bár általában ez nem számít, mertúj példány az, amelyet tesztelni kíván).

Van valami, amit hozzá lehet adni a magyarázathoz? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.