본문 바로가기
영문 위키피디아 번역

(번역) Memtest86

by 다움위키 2023. 12. 16.

MemTest86Memtest86+는 대부분의 메모리 주소에 테스트 패턴을 쓰고, 데이터를 다시 읽고, 오류에 대해 비교함으로써, x86 아키텍처 컴퓨터의 랜덤 액세스 메모리(Random Access Memory, 줄여서 RAM)를 테스트하고 스트레스 테스트(stress test)를 수행하도록 설계된 메모리 테스트 소프트웨어 프로그램입니다. 각각은 RAM이 그것에 쓰인 데이터의 임의의 패턴을 수용하고 올바르게 유지하는지, 서로 다른 메모리 비트가 상호 작용하는 오류가 없는지, 메모리 주소 사이에 충돌이 없는지 확인하기 위해 시도합니다.

History

MemTest86은 1994년에 크리스 브래디(Chris Brady)에 의해 개발되었습니다. MemTest86은 2년 동안 버전 3.0 (2002 출시)으로 유지된 후, 사뮤얼 드물르미스터(Samuel Demeulemeester)는 새로운 CPU 및 칩셋에 대한 지원을 추가하기 위해 Memtest86+ 포크를 생성했습니다. 2020년 9월 현재 Memtest86+의 최신 버전은 5.31b입니다.

MemTest86은 C 및 x86 어셈블리(assembly)로 작성되었습니다. MemTest86 (BIOS 버전) 및 MemTest86+ 포크의 소스 코드는 GNU (GPL) 아래에서 출시되었습니다. 부트로딩 코드는 원래 리눅스 1.2.1에서 파생되었습니다. 그 프로그램은 스스로 움직이고 모든 메모리 영역을 테스트 할 수 있도록 위치-독립적 코드로 컴파일되었습니다. 두 버전은 이제 최신 멀티-코어 프로세서와 해당하는 칩셋을 지원합니다.

MemTest86 2.3 및 Memtest86+ 1.60에서 시작하는, 그 프로그램은 리눅스 커널에 대해 BadRAM 패치에 의해 예상된 형식에서 불량 RAM 영역의 목록을 출력할 수 있습니다. 그럽2는 패치되지 않은 커널에 이와 동일한 정보를 제공할 수 있으며, BadRAM 패치가 필요하지 않습니다. 마이크로소프트 윈도우는 유사한 특색 (badmemorylist/badmemoryaccess)을 가지지만, 수동 변환이 그것을 설정하기 위해 요구됩니다.

2013년 2월에, 원래 MemTest86이 PassMark에 판매되었습니다. 바이오스 버전은 버전 4.3.7까지 GPL 아래에서 업데이트되었습니다. 그때까지 두 포크의 특색 집합은 거의 동일했었습니다.

MemTest86 버전 5.0 (2013년 12월 3일)은 UEFI부팅에 대해 다시 작성되었으며, 보안 부트 승인 및 마우스 지원을 허용합니다. 모든 UEFI 버전은 독점 프리웨어 라이센스 아래에서 출시됩니다. UEFI가 유용하지 않을 때, 버전 5.0 (및 그 이상)은 바이오스 부팅으로 되돌아가고 이전 버전 4.3.7을 로드합니다. 버전 6.0.0 (2015년 2월 13일)은 DDR4 RAM에 대한 지원을 추가하고, 김윤구와 그 외의 연구를 기반으로 로우-해머 테스트를 추가합니다.

MemTest86 + 버전 5.31b (베타) (2020년 4월 12일)는 "핵심 기능의 많은 버그 수정과 함께", 거의 6년 만에 출시되었습니다. "이 빌드는 여전히 프로덕션에 대해 준비되지 않았는데, 왜냐하면 베타-테스트로부터 일부 피드백이 부족하기 때문입니다. 추가적인 기능과 업데이트된 감지 코드는 모든 참조 테스트 플랫폼을 갖는 내 실험실에 액세스할 수 있게 되면, 곧 제공될 것입니다. 현재 코비드19 폐쇄로 인해 접근할 수 없습니다."

Description

Memtest86의 두 가지 개발 스트림이 있습니다. 원래 것은 간단히 MemTest86으로 알려져 있습니다. Memtest86+로 알려진 다른 하나는 원래 MemTest86의 개발 포크입니다. 그들의 화면 모양과 기능은 v4가 출시될 때까지 거의 동일했습니다. 어쨌든, MemTest86 버전 5는 마우스-기반 그래픽 사용자 인터페이스 (GUI) 및 UEFI 지원이 추가되었습니다.

이들 프로그램은 80386- 및 80486-기반 시스템에서 64-비트 프로세서를 갖는 최신 시스템에 이르기까지 거의 모든 PC 호환 컴퓨터에서 작동합니다. 각각의 새로운 출시는 더 최신의 프로세서 및 칩셋에 대한 지원을 추가합니다.

MemTest86(+)은 부팅 가능한 USB 플래시 드라이브, CD-ROM, 플로피 디스크, 또는 운영 시스템 없이 적절한 부팅 관리자에서 독립-실행형, 자체-포함된 프로그램으로 실행되도록 설계되었습니다. 이것은 프로그램이 테스트 중인 하드웨어를 직접 제어해야 하고 검사에 대해 가능한 한 많은 RAM 공간을 남겨야 하기 때문입니다.

MemTest86(+)의 테스팅은 매우 포괄적이므로 정상적으로 작동하는 것처럼 보이는 컴퓨터에서 숨겨진 문제를 찾을 수 있습니다. 많은 칩셋과 함께, MemTest86은 심지어 오류 수정 ECC DRAM에서 고장의 셈을 허용합니다 (특별한 처리 없이, 오류 수정 메모리 회로가 기본 메모리 칩의 문제를 감출 수 있습니다).

일부 오류는 간헐적으로 나타나거나 저장되는 정확한 비트에 따라 다르고, 각 패스에서 발생하지 않습니다; 그러한 오류는 장기간에 걸쳐 많은 패스를 실행하면 드러날 수 있습니다. 일부 테스트는 각 패스마다 다른 데이터를 사용하여 데이터에 따른 오류를 들추어냅니다.

Adoption

MemTest86+는 데비안, 파생된 우분투아치 리눅스를 포함한 많은 리눅스 배포판의 일부입니다. 우분투는 만약 기계가 바이오스 모드에서 부팅되면 기본 설치의 일부로 그것을 포함합니다; 그것은 그럽 OS-선택 메뉴에서 유용할 수 있습니다. 이들 배포판은 2013 코드 기반 기능을 유지하기 위한 여러 유형의 "패치"를 포함합니다. 예를 들어, 데비안은 GCC 버전 5에 대해 makefile을 업데이트하고 프로그램을 Multiboot|멀티부트와 호환되도록 하는 패치를 가집니다.

External links