Funkcija "pārbaudīt disku" ir lieliski piemērota, lai nodrošinātu, ka jūsu svaigi dedzinātais disks izrādījās labi, bet kā tas precīzi darbojas? Šodienas SuperUser Q & A ziņai ir atbilde uz ziņkārīgo lasītāja jautājumu.
Šodienas jautājumu un atbilžu sesija mums priecājas par SuperUser - Stack Exchange dalību, kas ir kopienas vadīta Q & A tīmekļa vietņu grupa.
Foto pieklājīgi no cobalt123 (Flickr).
SuperUser lasītājs user1301428 vēlas uzzināt, kā diski tiek pārbaudīti pēc to sadedzināšanas:
Ko verificē disks pēc ierakstīšanas, lai pārbaudītu datus? Es domāju, ka tas ir kaut kāds salīdzinājums starp oriģinālajiem failiem un failiem, kas ir uzdrukāti diskā, bet vai kāds zina, kā tas patiešām tiek darīts zemā līmenī?
Es domāju, vai tas rada avota un galamērķa satura maiņu, pēc tam tos salīdzina? Ja tā, vai tā saglabā sadedzinātā satura maiņu RAM? Vai arī tas tiek saglabāts pagaidu failā cietajā diskā? Vai ir žurnāla fails par to, kas notiek?
Just interesanti precīzi zināt, kā šī funkcija darbojas. Un es runāju par Windows Image Burner.
Kā darbojas diska verifikācijas process?
SuperUser autori Frank Thomas un Synetech ir atbildīgi par mums. Pirmkārt, Frank Thomas:
Iepazīstieties ar šīm MSDN lapām, izmantojot Windows API, IBurnVerification interfeisu un IMAPI_BURN_VERIFICATION_LEVEL enum.
Datu disku gadījumā izskatās, ka ātrā režīmā tas neveic kontrolsummu visu disku, tikai atsevišķu nozaru izvēli. Pēc tam tā pārliecinās, ka API sauc READ_DISC_INFO un READ_TRACK_INFO gūst panākumus pret jauno disku.
Lai veiktu pilnīgu verifikāciju, tā veic iepriekš minētās pārbaudes, pēc tam pēdējā sesijā jaunajā diskā tiek iegūta pilnīga kontrolsumma, salīdzinot ar kontrolsummu, kas aprēķināta atmiņas plūsmā. Kontrolsummas jāuzglabā atmiņā, taču tās ir īslaicīgas vērtības. Ņemiet vērā, ka salīdzinājums ir pret diska attēlu RAM, nevis pašu avota datu nesēju, tādēļ, ja avota dati nav pareizi izlasīti, tas tiks rakstīts nepareizi. Verifikācija to nenosaka.
Mūzikas disku gadījumā tā koncentrējas uz READ_TRACK_INFO un diska satura pārbaudes pārbaudi, taču tā neveic kontrolsummas aprēķinu. Nav mūzikas pilnīgas verifikācijas režīma.
Sekojot Synetech atbildei:
Frank labi izskaidroja Windows specifisko pārbaudi. Es sniegšu vispārīgāku atbildi.
- Ko verificē disks pēc ierakstīšanas, lai pārbaudītu datus?
- Es domāju, vai tas rada avota un galamērķa satura maiņu, pēc tam tos salīdzina? Ja tā, vai tā saglabā sadedzinātā satura maiņu RAM? Vai arī tas tiek saglabāts pagaidu failā cietajā diskā? Vai ir žurnāla fails par to, kas notiek?
Tas noteikti ir viens no veidiem, kā var salīdzināt: jauc vienu failu (cerams, ka ar pietiekami lielu nolasījumu ir mazs sadursmes algoritma risks), atkārtojiet otru un salīdziniet maizes. Ja tas tā ir, kā tiek veikta verifikācija, kādu brīdi varēsit redzēt diska-LED zibspuldzi, tad uz laiku CD / DVD-LED mirgo.
Vēl viens veids, kā īstenot verifikāciju, ir nolasīt viena faila bloku, pēc tam to pašu bloku no otra faila, salīdzināt tos, pēc tam atkārtot līdz faila beigām. Šajā gadījumā jūs redzēsiet divu disku gaismas diodes, kas mainās uz priekšu un atpakaļ.
Protams, ja cietajam diskam un optiskajam diskdzinim nav LED, tad tas nebūs tik acīmredzams. Bet jūs joprojām varat to redzēt ar kaut ko līdzīgu ProcessMonitor, jo tas reģistrēs virkni skanējumu no vienas, tad otra - vai nu vienā lielā pārsprāgt, vai arī mainot, mazus pārrāvumus.
- Es domāju, ka tas ir kaut kāds salīdzinājums starp oriģinālajiem failiem un failiem, kas ir uzdrukāti diskā, bet vai kāds zina, kā tas patiešām tiek darīts zemā līmenī?
Faktiski viss, kas patiešām notiek, ir diska kešatmiņas nolaišana, lai salīdzināšanas funkcija varētu nolasīt datus no faktiskā diska, nevis no atmiņas kešatmiņas. Acīmredzot tas ir kritisks solis, jo, ja pārbaude tiek veikta no kešatmiņas, tas neatspoguļo to, kas faktiski atrodas diskā, tāpēc korupcija var viegli izkļūt.
Jūs varat redzēt, vai salīdzinājums tiek veikts no diska vai no kešatmiņas RAM, cik ātri tas notiek. Ja jūs manuāli veicat vienkāršu salīdzināšanu (t.i., izmantojot WinDiff, WinMerge vai sajaucot tos ar maiņas rīku), jūs pamanīsit, ka salīdzinājums notiek daudz ātrāk, nekā gaidīts, jo tas tiek nolasīts no atmiņas kešatmiņas failiem. Jums ir jāiztukšo kešatmiņa, lai piespiestu to nolasīt no faktiskā diska. Optiskajiem diskdziņiem (un citiem noņemamiem datu nesējiem, piemēram, zibatmiņas diskiem un atmiņas kartēm), vienkārši draivera izgriešana ir pietiekama, lai iztīrītu kešatmiņu, bet cieto disku gadījumā tas nav gandrīz tikpat vienkāršs (lai gan parasti tas nav svarīgi, jo jauna kopija ir tā, kuru vēlaties pārbaudīt).
Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem? Šeit skatiet pilnu diskusiju pavedienu.