본문 바로가기

컴퓨터공학/운영체제

페이지폴트

반응형

프로세스가 모든 코드나 데이터를 다 메모리에 올려두지 않고 필요하거나 쓰는것만 올려두게 된다. 

그러다보니 필요할 때 메모리를 올리는 기술이 필요한데 그것이 페이지 폴트이다.

다시 말해서, 어떤 페이지가 실제 메모리에 없을 때, 일어나는 인터럽트

CPU가 요청한 가상주소 Page Table에 해당 내용이 invalid 되어 있으면 page fault 인터럽트를 발생하고 하드에서 페이지를 찾아서 update 시켜준 뒤, 다시 cpu가 가상주소를 MMU를 요청하는 순서로 실행하게 된다.

 

OS에서는 페이지 폴트가 인터럽트이기 때문에 이전에서 배운것처럼 커널모드로 변경 후 IDT에서 커널함수를 호출하여 실행한다.

 

 

이처럼 페이지폴트가 자주 일어나게 되면 실행속도가 느려지게 된다. 예전 컴퓨터에 여러 개의 프로그램을 실행시켜두고 프로그램을 변경할 때 하드에서 소리나는 원리가 이와 같다

반응형

'컴퓨터공학 > 운영체제' 카테고리의 다른 글

세그먼트  (0) 2019.11.27
페이지교체 알고리즘  (0) 2019.11.27
다중페이징시스템  (0) 2019.11.26
가상메모리의 이해 - 페이징 기법  (0) 2019.11.25
가상메모리  (0) 2019.11.25