[컴퓨터 기초] 컴퓨터가 기억공간을 관리하는 방법

Robert.Yang·2023년 2월 20일
1

컴퓨터 기초

목록 보기
12/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

컴퓨터가 기억공간을 관리하는 방법

기억장치의 종류와 역할

기억 장치는 여러 분류로 나눠지는데 CPU가 가지고 있는 메모리 장치인 레지스트리가 있으며, RAM이라는 1차메모리와 HDD, SDD등 2차메모리가 존재한다.
여기서 가장 핵심은 레지스트리이며 여기까지 값을 가져와야 연산을 하든 무엇을 하든 진행이 가능하다.

속도차원에서 봤을때 가장 빠른 속도는 레지스터가 가장 빠르며 RAM에 비해 4배정도 더 빠르다. 또한 레지스터와 2차메모리의 속도 차이는 비행기와 사람이 걸어가는 속도차이라고 보면 좋을 것이다. 그래서 레지스터와 2차메모리와 속도차이가 너무 크기때문에 이것을 극복하기위해 RAM과 L1~L3 캐시 메모리가 존재한다.

레지스터와 RAM까지의 특징이 있는데 휘발성 메모리라는 특징이다. 즉, 전원을 꺼버리면 다 날라간다는 특징이 있다.
위의 그림을 보면 레지스터로 올라갈 수록 극소량의 메모리 + 가격이 비싸며 2차 메모리로 올라갈 수록 가격이 싸고 대량 메모리로 저장 할 수 있다.
그럼 좀 궁금한게 L1~L3까지의 캐시메모리는 어떤 역할을 할까? RAM의 정보들을 미리 예측하여 CPU가 캐시 메모리에 저장을 해두어서 RAM에서 복사하는 과정을 최소화한다. 물론 CPU 예측이 틀려서 fault가 날 때는 RAM에서 정보를 복사해와야 하는 경우가 있다. 만약 RAM에도 찾는 정보가 없다고 하면 2차메모리에서 찾아야 하고 거기도 없으면 예외가 발생한다. 프로그래밍으로 치면 NullPointerException이 발생하는 것이다.

즉, CPU와 보조기억장치의 속도차이를 극복하기 위하여 RAM이 존재하는 것이다.

예를 한번 들어보자. 우리가 SSD에 OS를 설치하고 OS를 실행한다고 해보자. 그러면 그 OS정보를 RAM에 copy가 된다. 그리고 그 OS의 명령들을 CPU에 보내서 실행하게 되는 것이다.

컴퓨터가 기억공간을 관리하는 방법

  • 컴퓨터는 기본적으로 모든 것이 다 ‘숫자’이다.
  • 정보가 저장된 위치도 ‘숫자’ (보통은 일련번호(메모리 주소))로 표시한다.
  • 이같은관리체계는아파트단지에서각가구를동,호숫자로관리하는것 과 유사하다.
  • 레지스터, 주 기억장치(RAM), 보조 기억장치(HDD, SSD)를 관리하는 방 법은 조금씩 다르다.
    • 레지스터는 개별 기억공간마다 고유 이름을 붙인다.
    • 주 기억장치는 일련번호를 붙인다.
    • 보조기억장치는 트랙(Track) 번호와 섹터(Sector) 번호를 붙여 관리한다. (파일(File)의 등장!)
profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글