본문 바로가기

운영체제

메모리

메모리 계층 구조

  1. 레지스터 (Registers)
    • CPU 내부에 위치해 가장 빠른 데이터 접근 속도 제공
    • 매우 제한된 용량으로 실행 중인 명령어 데이터를 임시 저장하는 용도
  2. 캐시 메모리 (Cache Memory)
    • 메인 메모리와 CPU간의 데이터 속도 향상을 위한 중간 버퍼 역할을 하는 메모리
    • 지역성을 이용해 메인 메모리의 데이터를 임시로 저장하여 속도 최적화 
      • 시간 지역성 (Temporal Locality): 한 번 접근된 데이터는 가까운 미래에 다시 접근될 가능성이 높음
      • 공간 지역성 (Spatial Locality): 메모리의 특정 영역에 접근한 후, 그 인접 영역에도 접근될 가능성이 높음
  3. 메인 메모리 (Main Memory)
    • CPU가 직접 접근 가능한 현재 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리
    • 프로세스가 실행되려면 프로그램이 메모리에 올라와야 함
  4. 보조 메모리 (Secondary Storage)
    • 하드 드라이브, SSD 등의 비휘발성 저장 장치
    • 속도 느림, 큰 용량

가상 주소와 가상 메모리

  • 가상 메모리 (Virtual Memory)
    • 물리적 메모리보다 큰 메모리 공간을 프로세스에 제공하는 기술
    • 메인 메모리와 보조 메모리 묶어 하나의 메모리처럼 사용
    • 가상의 주소를 사용해 논리적인 연속성 제공
    • 메모리 관리로 인한 오버헤드 발생
  • 가상 주소 (Virtual Address)
    • 가상 메모리와는 다른 개념
    • 운영 체제가 프로세스에 제공하는 주소 공간. 실제 물리적 메모리 주소와는 독립적
    • 각 프로세스는 자신만의 독립된 가상 주소 공간을 가짐으로써, 다른 프로세스와 메모리를 격리
  • MMU (Memory Management Unit)
    • 가상 주소를 물리적 주소로 변환하는 하드웨어 장치
    • 메모리 보호, 캐싱 관리

'운영체제' 카테고리의 다른 글

파일 시스템  (0) 2024.03.28
페이지 교체 알고리즘  (0) 2024.03.27
메모리 관리와 페이징, 세그멘테이션  (0) 2024.03.27
Race Condition (경쟁 상태)  (0) 2024.03.21
데드락(Deadlock, 교착 상태)  (0) 2024.03.21