ukk1211
1k
2021-04-20 23:22:05
1
129

32bit/64bit 시스템 메모리 주소 관련 질문


책에서 만약 메모리 표현 범위가 4비트라면

0000~1111까지 표현 가능하므로 2의 4승 => 즉 16바이트를 나타낼 수 있다.

32비트 시스템의 경우 2의 32승 이니 4,294,967,296바이트로 약 4기가 정도의 메모리 주소를 표현할 수 있다고 하였습니다.

Q1. 주소 하나를 1바이트로 계산하였는데 원래 그런 것인지 궁금합니다.

       32비트 시스템에서 주소를 담는 포인터는 4바이트 변수인데 왜 저기서는 1바이트로 계산하였는지 

      헷갈립니다.


Q2. OS가 32비트 시스템 구동시 프로세스 당 4GB의 가상메모리가 할당된다고 하였는데(유저영역 커널영역) , 이곳에서 지칭하는 4GB가 위의 메모리 표현 범위 4GB와 관련있는 것인지요?

0
  • 답변 1

  • cathei
    413
    2021-04-21 01:11:30

    1. 포인터가 가리킬 수 있는 주소의 가짓수니까요. 4바이트보다 작은 자료형의 주소도 가리킬 수 있습니다.

    2. 32비트 포인터는 4기가의 메모리까지만 접근 가능하니 4기가를 할당하는 것입니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.