[운영체제] 가상 메모리 - (4)

Yeongsan Son·2021년 7월 4일
0
post-custom-banner

요구 페이징(Demanded Paging)

요구 페이징이란 선행 페이징과 반대되는 개념으로, 프로세스의 모든 데이터를 메모리에 저장하지 않고, 프로세스 실행 중 필요한 시점에서만 데이터를 저장하는 기법을 말한다.

  • 프로세스의 어떤 데이터가 필요할때
  • 페이지의 가상주소에 해당하는 페이지 테이블의 페이지 번호의 valid bit가 invalid 상태이면
  • 페이지의 데이터를 물리 주소에 저장하고 페이지 테이블의 물리주소를 변경해주고
  • 프로세스 실행

선행페이징(anticipatory paging / prepaging):
프로세스와 관련된 모든 데이터를 메모리에 저장하고 실행하는 기법

페이지 폴트(page fault) : 인터럽트

어떤 페이지가 실제 물리 메모리에 없을 때 일어나는 인터럽트를 말하며, 운영체제가 page falut가 일어나면, 해당 페이지를 물리 메모리에 저장한다.

페이지 폴트가 빈번하게 일어나면 이 부분에서 시간을 많이 소요하게 된고 컴퓨터의 성능에 문제를 일으킬 수 있다.

SSD가 나오기 전, 프로그램을 많이 실행하게 될 경우 하드 디스크를 읽는 소리와 컴퓨터 성능이 저하되는 현상이 페이지 폴트와 관련이 있다.

이를 해결하기 위해서는 실행 예정이거나 참조될 코드나 데이터를 미리 물리 메모리에 저장한다면 해결 할 수 있다. 하지만 이를 예측하는 알고리즘을 구현하는 것은 쉽지 않다.

페이지 폴트와 인터럽트

  • page fault interrupt
    • IDT
    • page fault 번호
    • OS 함수 실행 => find page in storage

출처

profile
매몰되지 않는 개발자가 되자
post-custom-banner

0개의 댓글