Page fault란?
카테고리: OS
태그: Computer science Operating System Page fault 오에스 운영체제 OS
Page fault
Page Fault란?
운영체제는 메모리를 가진다. 메모리 안에는 여러가지 리소스(주소값이나, 이미지 파일이나, 코드적인 데이터든…)를 가지고 있는데. 페이지 폴트는 가상 메모리 시스템에서, 프로세스가 접근하려는 메모리 페이지가 물리적 메모리에 존재하지 않을 때 발생하는 이벤트이다.
따라서, Page Fulat는 예외 상황이다.
Page fault가 어떤 방식으로 작동되는가?
- 페이지 폴트 발생 → 위에서 서술했던 것과 동일하게, 프로세스가 메모리에 접근하려 할 때(여러 이유로) 해당 주소에 대응하는 페이지가 물리 메모리에 없을 때 페이지 폴트가 발생한다.
- 인터럽트 처리(예외 사항인 인터럽트가 발생했으니) → 운영 체제는 이 인터럽트를 받고 현재 CPU 상태를 저장한 후, 페이지 폴트 처리 루틴을 실행한다.
- 페이지 로딩 → 운영 체제는 물리 메모리에 비어있는 프레임(물리 메모리의 일종의 단위, 비어있는 공간으로 나름 생각해도?)이 있는지 찾는다. 그 후, 비어있는 프레임에 해당 페이지를 로드한다.
- 페이지 테이블 업데이트 → 운영체제는 페이지 테이블(가상 메모리 → 물리 메모리 주소 변환을 맵핑햊둔 것)을 갱신한다.
- 그 이후, 프로세스를 재개하여 프로그램을 실행시킨다.
댓글 남기기