OS · MEMORY PROTECTION

세그먼테이션 폴트 판정 흐름

CPU와 OS는 주소 변환 중 세그먼트 범위와 권한을 확인하고, 위반이 있으면 트랩을 통해 프로세스를 중단합니다.

실패 유형

fault
범위 초과세그먼트 한계보다 큰 오프셋을 접근하면 유효하지 않은 주소입니다.
권한 위반읽기 전용 코드나 실행 불가 스택에 쓰기/실행을 시도하면 차단됩니다.

검사 순서

translation
논리 주소세그먼트 번호와 오프셋을 분리합니다.
테이블 조회Base, Limit, R/W/X 비트를 읽습니다.
범위·권한 검사한계와 접근 종류를 비교해 위반을 찾습니다.
물리 주소통과하면 Base + Offset으로 실제 주소를 만듭니다.

디버깅 단서

debug
NULL 역참조주소 0 근처는 보통 매핑하지 않아 즉시 SIGSEGV가 납니다.
Use-After-Free이미 반환한 힙 블록을 다시 읽으면 운에 따라 늦게 터질 수 있습니다.
버퍼 오버런배열 밖 쓰기는 인접 세그먼트나 보호 페이지에서 드러납니다.