• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

페이징 기법에 대해 질문드립니다

23.02.01 01:46 작성 조회수 987

0

가상메모리 소개 강의를 보고 추가로 제공해주신 페이징 기법의 구현 영상도 보았는데요, 몇 가지 궁금증이 생겨서 질문드립니다.

  1. page fault를 제가 잘 이해한건지 모르겠는데요, 매칭되는 프레임이 존재하지 않는다는 말은 페이지가 막 할당되어 아직 프레임이 할당되지 않은 상태를 말하는 건가요? 아니면 페이지 아웃이 발생해서 프레임이 존재하지 않는 상태인가요?

  2. 작업관리자에 표시되는 페이징 풀은 커널 레벨에서 사용한다고 하던데, 중요한 시스템 프로세스들을 위해 예약된 용량이라고 보면 되나요?

  3. 32비트 프로세스가 4GB의 가상메모리를 모두 사용한다고 치면, 페이지 크기가 4KB이므로 페이지 테이블이 가지는 엔트리의 개수는 1M정도 될듯한데요, 경우에 따라서는 낭비가 될 수도 있을 듯한데 이러한 부분이 문제되지는 않는지 궁금합니다.

2월의 첫날이네요~ 이번 달도 잘 부탁드리고, 신규 강의와 준비중이신 강의 모두 좋은 성과 있으시길 바랍니다^^

답변 1

답변을 작성해보세요.

1

  1. 네, 맞습니다. 페이지 아웃된 것은 다시 읽어오느라 지연이 발생하지만 결국 접근이 허용되는 것입니다.

  2. 가상 메모리 시스템 자체가 OS의 핵심요소입니다. 페이지 풀이 커널에서 사용된다라는 표현보다는 페이지 파일을 커널이 관리한다라고 이해하는 것이 좋겠습니다. 그리고 시스템 프로세스들 중 높은 반응성이 요구될 경우 사용중인 메모리가 페이지 아웃되지 않도록 비페이징 풀 메모리를 사용합니다.

  3. 관리를 위해 사용되는 메모리 공간은 OS 구동에 필요한 최소한이라 하겠습니다. 당연히 낭비를 최소화 해야 할 것이며 이는 전적으로 OS의 몫입니다. 즉, 걱정하지 않으셔도 될 주제일 수 있습니다. 물론 내가 직접 OS 혹은 그에 준하는 시스템 프로그램을 개발할 것이라면 해야 하겠습니다. 참고하시기 바랍니다.

새해의 첫 달이 벌써 지나갔습니다. 늦은 새벽시간까지 학습에 열중하시나 봅니다. 꼭 좋은 결과 얻으시기 바라며 학습여정을 응원하겠습니다. 감사합니다. ^^