페이지 크기가 4,096바이트일 때 페이지 안에 있는 바이트 하나를 가리키려면 비트가 열두 개 필요합니다(메모리 주소 개념과 같습니다). 페이지 안에서 특정 바이트를 가리키는 이 비트를 오프셋(offset)이라고 부르겠습니다.

    페이지 넘버와 오프셋을 더하면 논리 주소가 됩니다. 이 논리 주소는 CPU가 요청하는 주소로 프로그램 카운터에 저장된 값입니다. 페이지 넘버와 오프셋을 더하면 프로그램 카운터의 주소 값이 된다는 개념이 아직 이해되지 않을 수 있습니다.

    10진수로 예를 들어 보겠습니다. 다음과 같은 상황을 가정합시다.

    가상 주소 공간: 2,000바이트

    페이지 크기: 100바이트

    프로그램 카운터 값: 234

    페이지 개수: 20(2,000/100)

    오프셋: 두 자릿수 10진수(0~99)


    전체 2,000바이트에서 페이지 넘버는 어떻게 될까요?

    0~99바이트: 0

    100~199바이트: 1

    200~299바이트: 2

    300~399바이트: 3
    (중략)

    1,900~1,999바이트: 19

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.