OS와 하드웨어

페이지 크기가 4 KB일 때, 가상 주소 중 페이지 내 위치(오프셋)를 나타내는 것은 몇 비트입니까?

  1. A4비트
  2. B12비트
  3. C22비트
정답과 해설 보기

정답: B. 12비트

4 KB = 4096바이트 = 2¹²바이트이므로, 페이지 내의 각 바이트를 구별하려면 12비트가 필요합니다. 가상 주소의 하위 12비트는 페이지 내 위치로서 그대로 물리 주소에 사용되고, 나머지 상위 비트가 페이지 번호로서 페이지 테이블이나 TLB에서 변환됩니다. 4비트는 '4 KB'의 4에 이끌린 오답이고, 22비트는 4 MB 페이지인 경우의 값입니다. 하위 12비트가 변환되지 않는다는 점은 캐시 설계에도 이용됩니다.

  • A. 4비트로는 16바이트밖에 구별할 수 없습니다.
  • B. 올바릅니다. 4096 = 2¹²이므로 12비트입니다.
  • C. 22비트는 4 MB 페이지인 경우의 값입니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 페이지 크기가 4 KB일 때, 32비트 가상 주소 0x00403ABC의 페이지 번호와 페이지 내 오프셋의 조합으로 올바른 것은 무엇입니까?
  2. RISC-V 특권 아키텍처에서 정해진 주요 동작 모드의 조합으로 올바른 것은 무엇입니까?
  3. 인터럽트나 예외 처리를 마치고 원래 프로그램으로 돌아갈 때, 일반 함수의 복귀 명령이 아니라 전용 복귀 명령(RISC-V의 sret, mret 등)을 사용하는 이유는 무엇입니까?
  4. 실시간성이 요구되는 시스템에서, 인터럽트가 발생하고 나서 핸들러가 동작하기 시작할 때까지의 시간(인터럽트 지연)을 크게 만드는 요인으로 가장 적절한 것은 무엇입니까?
  5. NMI(마스크 불가능 인터럽트, non-maskable interrupt)에 대한 설명으로 올바른 것은 무엇입니까?

이 분야의 비교