13Aug
'disk doğrulayın' özelliği, yeni yazılmış diskinizin iyi çıktığından emin olmak için mükemmeldir, ancak tam olarak ne işe yarar? Bugünün Süper Kullanıcısı Q & A yayını, merak uyandırıcı bir okuyucunun sorusuna cevap buluyor.
Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor.
Fotoğraf nezaketiyle, cobalt123( Flickr).
Soru
SuperUser okuyucu user1301428, disklerin yazıldıktan sonra nasıl doğrulanacağını bilmek istiyor:
Ne yazdıktan sonra diskin doğrulanması aslında verileri doğrulamak için ne yapar? Sanırım orijinal dosyalar ile diskte yazılmış dosyalar arasında bir tür karşılaştırma olduğunu söylüyorum, ancak herkes düşük seviyede gerçekten nasıl yapıldığını biliyor mu?
Yani, kaynak ve hedef içeriğin bir karması oluşturup karşılaştırıyor mu?Öyleyse, yanmış içeriğin karmasını RAM'de saklıyor mu? Veya sabit diskteki geçici bir dosyaya kaydetmek mi? Neler olup bittiğinin günlük dosyası var mı?
Sadece bu özellik nasıl çalıştığını merak ediyor. Ve Windows Image Burner'dan bahsediyorum.
Disk doğrulama işlemi nasıl işliyor?
Cevap
SuperUser katılımcıları Frank Thomas ve Synetech bize cevap buluyorlar.İlk defa, Frank Thomas:
Bu MSDN sayfalarını IBurnVerification arabirimi ve IMAPI_BURN_VERIFICATION_LEVEL enum için windows API'lerinde kontrol edin.
Veri diskleri için, hızlı modda olduğu gibi, diskin tamamını kontrol etmeyen, yalnızca bir sektör seçkisi gibi görünüyor. Daha sonra, API'nin READ_DISC_INFO ve READ_TRACK_INFO çağrılarının yeni diske karşı başarılı olmasını sağlar.
Tam doğrulama için yukarıdaki kontrolleri yapar, daha sonra yeni diskin son oturumunda, yakılan bellek akışı üzerinde hesaplanan bir sağlama toplamına karşı tam bir sağlama toplamı yapar. Sağlama toplamı ram'da depolanmalıdır, ancak muhtemelen kısa ömürlü değerlerdir. Karşılaştırmanın, kaynak medyanın kendisi değil, RAM'deki disk görüntüsüne karşı olduğuna dikkat edin, böylece kaynak verileri düzgün okunmadıysa yanlış yazılır. Doğrulama bunu algılamaz.
Müzik diskleri için READ_TRACK_INFO ve içindekiler disk tablosunu kontrol etmeye odaklanır, ancak bir sağlama toplamı hesaplaması yapmaz. Müzik için tam doğrulama modu yoktur.
Synetech'in cevabı izledi:
Frank, Windows'a özgü doğrulamayı güzelce açıkladı.Daha genel bir cevap vereceğim.
- Ne yazdıktan sonra Doğrulama doğrusu verileri doğrulamak için ne yapar?
- Yani, kaynak ve hedef içeriğin bir karması oluşturup karşılaştırıyor mu?Öyleyse, yanmış içeriğin karmasını RAM'de saklıyor mu? Veya sabit diskteki geçici bir dosyaya kaydetmek mi? Neler olup bittiğinin günlük dosyası var mı?
Kesinlikle bir karşılaştırmanın uygulanabilmesi için bir yol: hash bir dosya( umarım yeterince büyük okunan düşük şans çarpışma algoritması ile), diğeri için yineleme ve karmalar karşılaştırması.Eğer bir doğrulama nasıl uygulanırsa, bir süre sürücü LED'inin yanıp söndüğünü göreceksiniz, daha sonra CD / DVD-LED'i bir süre yanıp sönecektir.
Doğrulamayı uygulamanın bir başka yolu, bir dosyanın bir bloğunu okumak, ardından diğer bloğun aynı bloğunu okumak, karşılaştırmak ve dosyanın sonuna ulaşana kadar tekrarlamaktır. Bu durumda, iki sürücünün LED'lerinin ileri geri dönüşümlü olduğunu göreceksiniz.
Elbette, sabit sürücü ve optik sürücünün LED'leri yoksa, o kadar açık olmayacaktır. Ancak bunu birinde ProcessMonitor gibi bir şeyle görebilirsiniz, çünkü birinden bir dizi okumayı, daha sonra diğerini tek bir, büyük patlama ya da değişen küçük patlamalarda kaydeder.
- Orijinal dosyalarla diskte yazılmış dosyalar arasında bir çeşit karşılaştırma olduğunu düşünüyoruz, ancak herkes düşük seviyede gerçekten nasıl yapıldığını biliyor mu?
Aslında, gerçekten yaptığı şey, karşılaştırma işlevi, verileri bellek önbellek yerine gerçek diskten okumak için sürücü önbelleğini boşaltmaktır. Tabii ki bu kritik bir adım çünkü doğrulama önbellekten yapılırsa, aslında diskte ne olduğunu göstermez, bu nedenle yolsuzluk kolayca kayabilir.
Karşılaştırma işlemi, sürücüden ne kadar hızlı gerçekleştiğine göre RAM'deki önbellekten yapılıp çıkmadığını görebilirsiniz. Elle basit bir karşılaştırma yaparsanız( WinDiff, WinMerge ile veya bunları karma araçla karma yapıp yaparsanız) karşılaştırmanın, bellek önbellekten okunması nedeniyle beklenenden çok daha hızlı gerçekleştiğini göreceksiniz. Gerçek diskten okumaya zorlamak için önbelleği boşaltmanız gerekir. Optik sürücüler( ve flaş sürücüleri ve bellek kartı gibi diğer çıkarılabilir ortamlar için), sürücüyü basitçe çıkartmak, önbelleği boşaltmak için yeterlidir ancak sabit sürücüler için neredeyse basit değildir( ancak bu genellikle önemli değildir;Yeni kopya, test etmek istediğiniz kopyadır).
Açıklamaya eklemek için bir şey var mı?Yorumların sesini kapatın. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.