'Doğrulama Diski' Verileri Doğrulamak için Yazdıktan Sonra Aslında Ne Yapar?
'Diski onayla' özelliği, yeni çıkmış diskinizin iyi bir şekilde ortaya çıktığından emin olmak için mükemmeldir, ancak tam olarak nasıl çalışır? Bugünün Süper Kullanıcı Soru-Cevap yazısı meraklı bir okuyucunun sorusuna cevap verdi.
Bugünün Soru ve Cevap oturumu bize topluluk tarafından yönlendirilen bir soru-cevap web sitesi grubu olan Stack Exchange'in bir alt birimi olan SuperUser'ın izniyle geliyor..
Fotoğraf kobalt123 (Flickr) izniyle.
Soru
SuperUser okuyucu user1301428, disklerin yakıldıktan sonra nasıl doğrulandığını bilmek istiyor:
Yazdıktan sonra diski doğrulamak aslında verileri doğrulamak için ne yapar? Orijinal dosyalar ile diske yazılan dosyalar arasında bir tür karşılaştırma olduğunu hayal ediyorum, ancak bunun gerçekten düşük bir seviyede nasıl yapıldığını bilen var mı??
Demek istediğim, kaynak ve hedef içeriğin bir karmasını oluşturuyor ve sonra bunları karşılaştırıyor mu? Eğer öyleyse, yazılan içeriğin karma değerini RAM'de saklıyor mu? Yoksa sabit sürücüdeki geçici bir dosyaya kaydeder mi? Neler olup bittiğine dair bir günlük dosyası var mı?
Sadece bu özelliğin nasıl çalıştığını tam olarak bilmek istiyorum. Ve ben Windows Image Burner’dan bahsediyorum.
Disk doğrulama işlemi nasıl çalışır??
Cevap
SuperUser katkıda bulunanlar Frank Thomas ve Synetech'in cevabı bizim için. İlk önce, Frank Thomas:
IBurnVerification arayüzü ve IMAPI_BURN_VERIFICATION_LEVEL enum için bu API sayfalarını pencereler API'sine göz atın.
Veri diskleri için, hızlı modda göründüğü gibi, tüm diski sağlama almaz, sadece sektörleri seçer. Daha sonra API’nin READ_DISC_INFO çağırması ve READ_TRACK_INFO’nun yeni diske karşı başarılı olmasını sağlar..
Tam doğrulama için yukarıdaki kontrolleri yapar, ardından yeni diskteki son oturumda yakılan bellek akışında hesaplanan sağlama toplamına karşı tam bir sağlama toplamı yapar. Sağlama toplamları koç içinde saklanması gerekir, ancak bunlar kısa ömürlü değerleridir. Karşılaştırma işleminin RAM ortamındaki disk görüntüsüyle karşılaştırıldığına, kaynak ortamın kendisinin değil, kaynak verilerinin doğru okunmadığına dikkat ediniz. Doğrulama bunu algılamayacak.
Müzik diskleri için READ_TRACK_INFO ve disk içindekileri kontrol etmeye odaklanır, ancak sağlama toplamı hesaplaması yapmaz. Müzik için tam doğrulama modu yok.
Synetech'in cevabını takip etti:
Frank, Windows'a özgü doğrulamayı güzel bir şekilde açıkladı. Daha genel bir cevap vereceğim.
- Diski yazdırdıktan sonra doğrulama işlemini aslında verileri doğrulamak için ne yapar??
- Demek istediğim, kaynak ve hedef içeriğin bir karmasını oluşturuyor ve sonra bunları karşılaştırıyor mu? Eğer öyleyse, yazılan içeriğin karma değerini RAM'de saklıyor mu? Yoksa sabit sürücüdeki geçici bir dosyaya kaydeder mi? Neler olup bittiğine dair bir günlük dosyası var mı?
Bu kesinlikle bir karşılaştırmanın uygulanmasının bir yoludur: bir dosyaya sahip olmak (umarım yeterince büyük okuma düşük çarpışma algoritması olasılığı vardır), diğeri için tekrarlayın ve karmaları karşılaştırın. Doğrulamanın böyle yapılması durumunda, sürücü LED flaşını bir süre görebilecek, daha sonra CD / DVD LED'i bir süreliğine yanıp sönecektir..
Doğrulamayı uygulamanın başka bir yolu, bir dosyanın bir bloğunu okumak, ardından diğer dosyadan aynı bloğu okumak, bunları karşılaştırmak ve daha sonra dosyanın sonuna ulaşana kadar tekrar etmektir. Bu durumda, ileri geri dönüşümlü iki sürücünün LED'lerini göreceksiniz.
Tabii ki, eğer sabit sürücü ve optik sürücü LED'lere sahip değilse, o kadar açık olmayacaktır. Fakat yine de bunu ProcessMonitor gibi bir şeyle görebilirsiniz, çünkü birinden, sonra diğerinden tek, büyük veya alternatif küçük patlamalarda bir dizi okuma kaydeder..
- Orijinal dosyalar ile diske yazılan dosyalar arasında bir tür karşılaştırma olduğunu hayal ediyorum, ancak bunun gerçekten düşük bir seviyede nasıl yapıldığını bilen var mı??
Aslında, tek yaptığı, sürücü önbelleğini yıkamaktır, böylece karşılaştırma işlevi verileri bellek önbelleğinden ziyade gerçek diskten okur. Açıkçası, bu kritik bir adımdır, çünkü doğrulama önbellekten yapılırsa, diskte gerçekte ne olduğunu göstermez, böylece yolsuzluk kolayca kayabilir.
Bir karşılaştırmanın sürücüden mi yoksa RAM'deki önbellekten ne kadar hızlı gerçekleştiğini görebilirsiniz. Basit bir karşılaştırma yaparsanız (örneğin WinDiff, WinMerge ile veya bunları bir karma araçla karmaştırarak) manuel olarak yaparsanız, dosyaları bellek önbelleğinden okuduğu için karşılaştırmanın beklenenden daha hızlı olduğunu fark edeceksiniz. Gerçek diskten okumaya zorlamak için önbelleği temizlemelisiniz. Optik sürücüler (ve flash sürücüler ve bellek kartları gibi diğer çıkarılabilir ortamlar) için, sürücüyü çıkarmak sadece önbelleği temizlemek için yeterlidir, ancak sabit sürücüler için, bu kadar basit değildir (genellikle, çünkü yeni kopya, test etmek istediğiniz kopyadır).
Açıklamaya eklemek için bir şey var mı? Yorumlarda ses kesiliyor. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Burada tüm tartışma konusuna göz atın.