13Aug
Funkcia "verifikácia disku" je skvelá na to, aby ste sa uistili, že sa vám čerstvo vypálený disk dobre ukázal, ale ako presne funguje? Dnešný príspevok SuperUser Q & A má odpoveď na otázku zvedavého čitateľa.
Dnešná otázka &Odpoveď na zasadnutie nám príde s láskavým dovolením SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.
Foto s láskavým dovolením kobalt123( Flickr).
Otázka
čítačka SuperUser user1301428 chce vedieť, ako sú disky overené po ich napálení:
Čo verifikuje disk po napálení skutočne urobiť na overenie údajov? Predstavujem si, že ide o nejaké porovnanie medzi pôvodnými súbormi a súbormi, ktoré boli vypálené na disku, ale niekto vie, ako sa to skutočne robí na nízkej úrovni?
Mám na mysli, vytvorí sa hash zdrojového a cieľového obsahu a potom ich porovná?Ak áno, uchováva hash vypáleného obsahu v pamäti RAM?Alebo ho uložiť do dočasného súboru na pevnom disku? Existuje protokol o tom, čo sa deje?
Jednoducho zvedaví presne vedieť, ako funguje táto funkcia. A mám na mysli Windows Image Burner.
Ako funguje proces overenia disku?
Odpovedia na odpovede
SuperUser Frank Thomas a Synetech. Prvýkrát, Frank Thomas:
Pozrite si tieto stránky MSDN v systéme Windows API pre rozhranie IBurnVerification a IMAPI_BURN_VERIFICATION_LEVEL enum.
Pre dátové disky, vyzerá to, že v rýchlom režime nie je kontrola celého disku, len výber sektorov. Potom sa presvedčí, že rozhranie API vyvolá READ_DISC_INFO a READ_TRACK_INFO na novom disku.
Pre úplné overenie vykoná vyššie uvedené kontroly a potom vykoná úplný kontrolný súčet poslednej relácie na novom disku proti kontrolnému súčtu vypočítanému na pamäťovom toku, ktorý sa spálil. Kontrolné súčty musia byť uložené v rampe, ale sú pravdepodobne krátkodobé.Všimnite si, že porovnanie je v porovnaní s obrazom disku v pamäti RAM, nie samotným zdrojovým médiom, takže ak zdrojové dáta nečtá správne, bude nesprávne napísané.Overenie to nezistí.
Pre hudobné disky sa zameriava na kontrolu READ_TRACK_INFO a diskovej tabuľky, ale nevykonáva výpočet kontrolného súčtu. Pre hudbu neexistuje úplný režim overovania.
Nasledovala odpoveď od spoločnosti Synetech:
Frank pekne vysvetlil overenie špecifické pre systém Windows. Dám všeobecnejšiu odpoveď.
- Čo verifikuje disk po napálení, aby overil údaje?
- Myslím, že to vytvorí hash zdrojového a cieľového obsahu, potom ich porovná?Ak áno, uchováva hash vypáleného obsahu v pamäti RAM?Alebo ho uložiť do dočasného súboru na pevnom disku? Existuje protokol o tom, čo sa deje?
To je určite jedným zo spôsobov, ako sa dá implementovať porovnanie: jeden súbor( zistite s dostatočne veľkou čítanou nízkou pravdepodobnosťou kolízneho algoritmu), opakujte pre druhý a porovnávajte hash. Ak je to tak, ako sa implementuje verifikácia, budete chvíľu vidieť blikanie s LED diódami, potom na chvíľu bliká LED dióda CD / DVD.
Ďalším spôsobom, ako implementovať overovanie, je čítanie bloku jedného súboru, potom rovnaký blok z iného súboru, ich porovnanie a opakovanie až do konca súboru. V tomto prípade uvidíte LED diódy dvoch pohonov, ktoré sa striedajú tam a späť.
Samozrejme, ak pevný disk a optická mechanika nemajú LED diódy, nebude to tak zrejmé.Ale môžete to stále vidieť s niečím ako ProcessMonitor, pretože bude zaznamenávať sériu čítaní z jedného, potom druhého buď v jedinom, veľkom prasknutí alebo striedajúcich sa malých výbuchoch.
- Predstavujem si, že je to nejaké porovnanie medzi pôvodnými súbormi a súbormi, ktoré boli vypálené na disku, ale niekto vie, ako to naozaj urobí na nízkej úrovni?
V skutočnosti to všetko skutočne robí je vymazať vyrovnávaciu pamäť disku, takže porovnávacia funkcia číta údaje z aktuálneho disku namiesto z pamäte cache. Samozrejme, toto je kritický krok, pretože ak sa overenie vykoná z vyrovnávacej pamäte, nepredstavuje to, čo je na disku, takže korupcia sa môže ľahko prejsť.
Uvidíte, či sa porovnanie vykoná z jednotky alebo z vyrovnávacej pamäte v pamäti RAM tak rýchlo, ako k tomu dôjde. Ak manuálne urobíte jednoduché porovnanie( t. J. S programom WinDiff, WinMerge alebo ich rozosielaním pomocou hashovacího nástroja), všimnete si, že porovnanie sa stane oveľa rýchlejšie, ako sa očakávalo, pretože číta súbory z pamäte cache. Musíte vyprázdniť vyrovnávaciu pamäť, aby si ju načistila od aktuálneho disku. V prípade optických jednotiek( a iných vymeniteľných médií, ako sú flash disky a pamäťové karty) jednoduché vysunutie disku postačí na vyprázdnenie vyrovnávacej pamäte, ale pre harddisky to nie je ani tak jednoduché( hoci zvyčajne to nezáleží, pretoženová kópia je tá, ktorú chcete otestovať).
Máte čo pridať k vysvetleniu? Znížte komentáre. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.