OS와 하드웨어
프로그램이 OS가 할당하지 않은 주소에 접근했을 때 일반적으로 일어나는 일은 무엇입니까?
- ACPU가 그 주소를 위해 새로운 물리 메모리를 자동으로 증설한다
- B접근은 무시되고 프로그램은 아무 일 없이 다음 명령을 계속한다
- C페이지 폴트가 발생하고, OS가 잘못된 접근이라고 판단하여 프로그램을 정지시킨다
정답과 해설 보기
정답: C. 페이지 폴트가 발생하고, OS가 잘못된 접근이라고 판단하여 프로그램을 정지시킨다
할당되지 않은 주소에 접근하면 페이지 테이블에 유효한 항목이 없으므로 페이지 폴트가 발생합니다. OS는 그 주소가 프로세스에 허용된 범위인지 조사하고, 어디에도 할당되지 않은 잘못된 접근이면 프로그램에 이상을 알리고 정지시킵니다(이른바 세그멘테이션 오류, segmentation fault). 이로써 잘못된 포인터가 다른 프로세스나 OS의 메모리를 망가뜨리는 것을 막을 수 있습니다. 물리 메모리가 자동으로 늘어나거나 접근이 조용히 무시되는 일은 없습니다.
- A. 물리 메모리가 자동으로 늘어나는 일은 없습니다.
- B. 조용히 무시되면 오류를 알아차릴 수 없게 됩니다.
- C. 올바릅니다. 페이지 폴트를 받은 OS가 잘못된 접근으로 정지시킵니다.