메모리는 여러 가지 이유로 손상될 수 있다. 환경적 요인에 의한 하드웨어 문제가 그 중 하나다.
(한 스레드가 읽기 작업을 수행하는 동안 다른 스레드가 쓰기 작업을 하는 등) 소프트웨어 문제
또한 메모리 손상을 유발할 수 있다. 소프트웨어 엔지니어가 이상한 버그는 모조리 하드웨어 문
제로 치부하는 것은 위험한 발상이다.
현대의
DRAM
은 메모리 손상을 방지할 수 있는 몇 가지 방어장치를 제공한다.
●
에러 수정 코드
error
-
correcting
code
(
ECC
)
RAM
은 대부분의 손상을 수정한다.
●
에러를 발견했지만 수정이 불가능한 경우에는 머신 체크 예외를 유발해서 운영체제가 이를 처리
하도록 한다.
●
운영체제는 손상된 메모리를 참조하는 프로세스에서 패닉을 유발하거나 또는 강제 종료할 수 있
다. 이 두 가지 조치는 시스템은 유효하지 않은 메모리 콘텐츠를 사용하지 못하게 하기 위함이다.
체크섬
은 데이터의 변경을 탐지할 목적으로 데이터로부터 추출한 숫자를 의미한다. 체크섬은 예
상하지 못한 하드웨어와 소프트웨어 장애로부터 보호하기 위한 것이다. 체크섬을 사용할 때는
다음과 같은 사항을 고려해야 한다.
●
체크섬을 확인할 때 드는
CPU
비용과 체크섬이 제공하는 보호 수준 사이의 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.