Saya membaca pertanyaan lain tentang Memtest dan mulai bertanya-tanya: Bagaimana fungsi Memtest86 dengan RAM yang buruk?
Pikirkan tentang hal ini: Memtest86 perlu menyimpan informasi tentang seberapa besar RAM, apa yang dimasukkan ke dalam RAM untuk dibandingkan nanti, di mana memperbarui layar, dan banyak informasi lainnya. Tindakan menggunakan variabel membutuhkan RAM agar berfungsi dengan baik. Tetapi bagaimana Anda bisa mendapatkan hasil yang andal ketika Anda menjalankan program pada RAM yang mungkin rusak?
Sebuah analogi dengan ini adalah menjalankan program pemeriksaan hard drive dari hard drive yang Anda periksa. Anda tidak akan pernah melakukan itu, blok yang buruk dapat mempengaruhi program dengan banyak cara yang tidak terduga
Bagaimana fungsi Memtest86 dengan RAM yang buruk?
sumber
Jawaban:
Sebagian besar karena jumlah ram yang diperlukan untuk memuat memtest sangat kecil. Jika program berjalan, kemungkinan memori di area ini tidak apa-apa.
Kesempatan itu-
Tidak mungkin.
sumber
Memtest cukup tahan lama karena tidak terlalu tergantung pada RAM yang diuji.
Misalnya, tes 0 menggunakan algoritme berjalan , dan yang diperlukan untuk tes itu adalah satu pointer (mungkin di-cache), karena hanya membandingkan dua alamat memori yang berurutan.
Jadi jika kita memiliki RAM stick 3-bit, memtest memuatnya dengan ini:
Dan jika alamat pertama rusak, itu akan membandingkan dua lokasi acak:
Dan itu masih akan gagal, bahkan jika variabel memtest rusak.
sumber
Memtest benar-benar harus membuat setidaknya satu asumsi, bahwa setidaknya memori yang dimasukkan ke dalamnya bagus. Setelah itu dapat memindai dan menguji sisa memori secara keseluruhan.
Mungkin masih dapat membaca dan mendeteksi kesalahan dalam memorinya sendiri karena, sebagai satu-satunya program yang dimuat, ia harus memiliki akses ke hampir semua memori pada sistem sehingga dapat membaca dan membandingkan memori itu dengan Sampel "dikenal baik".
sumber
Dengan menjadi kecil. Jika beberapa RAM buruk, semakin kecil programnya, semakin kecil kemungkinan beberapa bagian dari program akan berada di salah satu titik buruk. Menimbang bahwa mem-boot cukup jauh untuk memuat tes memori akan melibatkan beberapa kode firmware menggunakan RAM, kemungkinannya adalah jika Anda bisa sejauh itu, area rendah RAM bekerja cukup baik sehingga memtest dapat menjalankannya.
sumber
Nah, inilah yang dilakukan Memtest - ia menulis berbagai pola (dikenal) ke RAM Anda, membacanya kembali, dan membandingkannya. Jika ada kecocokan, RAM Anda harus rusak.
Meskipun ini benar, ada beberapa kasus di mana Anda tidak punya pilihan. Selama Anda dapat memuat program dengan sukses, itu harus dapat melakukan tugas-tugas diagnostik itu (bahkan jika itu berjalan pada media yang rusak dari beberapa jenis).
Yah, itu harus memuat dirinya ke dalam memori terlebih dahulu. Dalam kebanyakan kasus, memori ini akan tetap bagus. Jika tidak , Memtest kemungkinan besar akan menentukan bahwa program itu sendiri rusak dengan membandingkan beberapa variabel di tempat dengan checksum. Jika mereka tidak cocok, Anda akan langsung tahu bahwa RAM Anda buruk, atau salinan yang Anda unduh rusak (dan itu akan menjadi tugas yang sepele untuk menentukan apakah yang terakhir adalah penyebabnya atau tidak).
TL, DR: Memtest86 + hanya berfungsi dengan asumsi megabita pertama RAM Anda masih baik-baik saja (lokasi di mana ia akan dimuat kemungkinan besar). Dengan asumsi area ini rusak, Memtest86 + sendiri tidak akan berfungsi (yang merupakan indikator yang cukup cepat RAM Anda buruk tanpa harus menjalankan tes).
sumber
Jika RAM aplikasi menyimpan variabel buruk, maka sebagian besar tes akan gagal.
Algoritme menulis semua jenis pola yang berbeda dan kemudian memeriksa apakah mereka ditulis dengan baik dengan membacanya lagi, jika tulisan atau bacaan tidak berjalan dengan benar itu akan membuat tes yang dimaksud gagal. Dengan menjalankan sebagian besar tes dan menjalankannya selama beberapa jam, Anda dapat melihat seberapa stabil RAM Anda ...
sumber