개발

요리책 운영체제. Chapter 8 가상 메모리 기초 연습문제 풀이

mycloudy 2021. 10. 17. 20:53

Part 3 메모리 관리

Chapter 8 가상 메모리 기초

연습문제

  1. 가상 메모리에서 메모리 관리자가 사용할 수 있는 전체 크기는 어떻게 결정되는가?
    • 물리 메모리(실제 메모리)와 스왑 영역을 합한 크기
  2. 가상 주소에서 하나의 프로세스가 사용할 수 있는 최대 주소는 무엇과 연관이 있는가?
    • 컴퓨터 시스템이 가진 물리 메모리의 최대 크기로 한정되며 CPU의 비트에 따라 결정된다
    • 메모리 주소 레지스터 (MAR)의 비트가 CPU의 비트와 동일하게 따라가기 때문에 32bit인 경우 4GB가 메모리의 최대 크기이고, 가상 메모리의 최대 크기도 약 4GB 이다
  3. 가상 메모리에서 가상 주소를 물리 구조로 변환하기 위해 사용하는 자료 구조를 무엇이라 하는가?
    • 매핑 테이블
  4. 페이징 기법의 주소 변환 과정 식을 쓰시오.
    • VA = <P, D> -> PA = <F, D>
  5. 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가?
    • 페이지 테이블 엔트리 (Page Table Entry, PTE)
  6. 가상 주소를 <P, D>로 변환하는 공식을 쓰시오
    • P = 가상 주소 / 한 페이지의 크기
    • D = 가상 주소 % 한 페이지의 크기
  7. 각 페이지 테이블의 시작 주소를 가지고 있는 레지스터는 무엇인가?
    • 페이지 테이블 기준 레지스터 (Page Table Base Register, PTBR)
  8. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 그중 일부만 물리 메모리에 무작위로 가지고 있는 방식은 무엇인가?
    • 연관 매핑 (associative mapping)
  9. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 물리 메모리에 보관하는 방식은 무엇인가?
    • 직접 매핑 (direct mapping)
  10. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 페이지 테이블을 일정한 집합 단위로 물리 메모리에 보관하는 방식은 무엇인가?
    • 집합-연관 매핑 (set-associative mapping)
  11. 페이지 테이블 매핑 방식 중, 물리 메모리의 프레임 번호를 기준으로 테이블을 구성하는 방식은 무엇인가?
    • 역매핑 (invert mapping)
  12. 연관 매핑에서 사용하는 테이블의 이름은 무엇인가?
    • 변환 색인 버퍼 (Translation Look-aside Buffer, TLB)
  13. 연관 매핑에서 원하는 데이터가 변환 색인 버퍼에 없는 상태를 무엇이라 하는가?
    • TLB miss
  14. 연관 매핑에서는 전체 매핑 테이블을 어디에 보관하는가?
    • 스왑 영역
  15. 가상 메모리에서 메모리 관리자는 물리 메모리 영역과 스왑 영역을 합쳐서 프로세스 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환한다. 이러한 작업을 무엇이라 하는가?
    • 동적 주소 변환 (Dynamic Address Translation, DAT)
  16. 사용자 프로세스가 자신의 크기보다 더 큰 주소에 접근하려고 하면 메모리 관리자는 그 프로세스를 강제 종료한다. 이때 발생하는 오류를 무엇이라 하는가?
    • 트랩 (trap)
  17. 세그먼테이션-페이징 혼용 기법에서는 접근 권한을 어디에서 관리하는가?
    • 세그먼테이션 테이블