책너두 (컴퓨터 밑바닥의 비밀) 13일차 포인터와 참조, 메모리 안에서의 프로세스 모습

  • 메모리의 본질 : 비트, 바이트, 객체

  • 메모리는 메모리 셀(memory cell)로 가장 작은 단위를 구성함.

  • 이를 비트라고 하며, 1과 0을 보관할 수 있음.

  • 비트 8개가 모여 1바이트를 이룸.

    • 각 바이트마다 번호를 붙임.
    • 즉, 모든 바이트는 메모리 내 자신의 주소를 가지고 있음.
  • 1바이트로 정보를 표현하기엔 한계가 있음.

    • 따라서 바이트를 묶어서 여러 정보를 표현함.
    • ex) 4바이트 → 32비트 → 4,294,967,295개의 조합이 가능
      • 4바이트도 부족하면 여러 정보를 묶는 구조체, 객체를 만들면 됨.
  • 변수의 의미

  • 메모리 주소에 값을 저장했다고 치자.

    • ex) 주소 6에 값 1을 저장함.
    • → 주소 6이라는 표현 대신 변수 a를 둬서 직관적으로 표현함.
  • 포인터 이해하기

  • 변수의 주소를 알고 있다면 그 변수의 값을 굳이 ‘복제’할 필요 없이 그 주소를 가리키게 하면 됨.

    • 포인터를 이용하여 그 주소를 가리키게 할 수 있음.
  • 포인터는 값 뿐만 아니라 메모리 주소도 저장할 수 있음.

  • 가상 메모리 : 눈에 보이는 것이 항상 실제와 같지는 않음.

  • 프로세스는 동일한 크기의 조각 으로 나뉘어 물리 메모리에 저장됨.

  • 모든 조각은 물리 메모리 전체에 무작위로 흩어져 있음.

    • 가상 메모리와 물리 메모리 사이의 사상 관계만 유지하면 프로세스에 균일한 가상의 주소 공간을 제공할 수 있음.

댓글

Designed by JB FACTORY