13Aug
Značajka "potvrditi disk" izvrsna je za osiguravanje da vaš svježe spaljeni disk dobije dobro, ali kako to točno funkcionira? Današnji SuperUser Q & A post ima odgovor na pitanje čudnog čitatelja.
Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.
Fotografija ljubaznošću cobalt123( Flickr).
Pitanje
čitač SuperUser user1301428 želi znati kako se diskovi provjeravaju nakon što se spali:
Što zapravo provjerava disk nakon spaljivanja kako bi provjerio podatke? Zamislim da je to neka vrsta usporedbe između izvornih datoteka i datoteka koje su snimljene na disku, ali da li itko zna kako se to zapravo radi na niskoj razini?
Mislim, stvara li hash sadržaja izvora i odredišta, a zatim ih uspoređuje? Ako je tako, pohranjuje li se hash zapaljenog sadržaja u RAM?Ili ga sprema u privremenu datoteku na tvrdom disku? Postoji li zapisnik onoga što se događa?
Zanimljivo je znati točno kako ova značajka funkcionira. A upućujem na Windows Image Burner.
Kako funkcionira proces verifikacije diska?
Odgovor
SuperUser suradnici Frank Thomas i Synetech imaju odgovor za nas. Prvo, Frank Thomas:
Pogledajte ove MSDN stranice na Windows API-ju za IBurnVerification sučelje i IMAPI_BURN_VERIFICATION_LEVEL enum.
Za diskove podataka, to izgleda u brzom načinu rada ne provjerava cijeli disk, samo odabir sektora. Time se pobrinuti da API poziva READ_DISC_INFO i READ_TRACK_INFO uspjeti u odnosu na novi disk.
Za potpunu provjeru izvršava gore navedene provjere, a zatim provodi puni kontrolni zbroj na posljednjoj sesiji na novom disku u odnosu na kontrolni račun izračunat na streamu memorije koji se spali. Provjere moraju biti pohranjene u ovnu, ali su vjerojatno kratkotrajne vrijednosti. Napominjemo da je usporedba protiv slike diska u RAM-u, a ne samom izvornom mediju, pa ako izvorni podaci nisu ispravno čitali, ona će biti pogrešno napisana. Potvrda to neće otkriti.
Za glazbene diskove usredotočuje se na provjeru READ_TRACK_INFO i sadržaja diska, ali ne provodi izračun čekova. Ne postoji puna verzija za glazbu.
Slijedi odgovor tvrtke Synetech:
Frank lijepo je objasnio verifikaciju specifičnu za Windows. Ja ću dati općeniti odgovor.
- Što Verify disk nakon snimanja zapravo radi za provjeru podataka?
- Mislim, stvara li hash sadržaja izvora i odredišta, a zatim ih uspoređuje? Ako je tako, pohranjuje li se hash zapaljenog sadržaja u RAM?Ili ga sprema u privremenu datoteku na tvrdom disku? Postoji li zapisnik onoga što se događa?
To je svakako jedan od načina na koji se može provesti usporedba: hash jednu datoteku( nadamo se s dovoljno velikom vjerojatnošću niske šanse algoritma sudara), ponovite za drugu i usporedite hashe. Ako je ovako provjera provjera, moći ćete vidjeti LED pogonsku jedinicu neko vrijeme, a zatim CD / DVD-LED kratko trepće.
Drugi način provođenja potvrde je čitanje bloka jedne datoteke, a zatim isti blok iz druge datoteke, usporediti ih, a zatim ponoviti sve do kraja dosjea. U tom slučaju vidjet ćete LED diode dvaju pogona koji se izmjenjuju naprijed-natrag.
Naravno, ako hard disk i optički pogon nemaju LED diode, onda to neće biti tako očito. Ali još uvijek ga možete vidjeti s nečim poput ProcessMonitor jer će se prijaviti niz čitanja od jednog, a zatim drugog ili u jednom, velikom praska ili izmjeničnim, malim praskama. Zamislim da je to neka vrsta usporedbe između izvornih datoteka i datoteka koje su snimljene na disku, ali da li itko zna kako se to zapravo radi na niskoj razini?
Zapravo, sve uistinu jest da ispirite pogonsku predmemoriju tako da funkcija usporedbe čita podatke iz stvarnog diska umjesto iz memorijske memorije. Očito je ovo kritičan korak, jer ako se provjera vrši iz predmemorije, onda ona ne predstavlja ono što je zapravo na disku, tako da se korupcija može lako skliznuti.
Možete vidjeti je li izvršena usporedba s pogona ili iz predmemorije u RAM-u prema tome koliko se brzo događa. Ako ručno napravite jednostavnu usporedbu( tj. S WinDiffom, WinMergeom ili odsječivanjem alata za hashe), primijetit ćete da se usporedba događa mnogo brže nego što se očekivalo jer čita datoteke iz memorijske memorije. Morate ispirati predmemoriju kako biste ga prisilili da pročitate iz stvarnog diska. Za optičke pogone( i druge prijenosne medije kao što su flash diskovi i memorijske kartice), jednostavno izbaci disk dovoljno je za ispiranje cache, ali za tvrde diskove, to nije gotovo jednostavna( iako obično to nije bitno jer jenova kopija je ona koju želite testirati).
Imate li nešto za objašnjenje? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.