cs

[기억 장치] 디스크와 메모리

sihanni 2025. 6. 8. 20:20

 기본 개념 정리 

구분 디스크 (Disk) 메모리 (RAM)
특징 영구 저장소 휘발성 저장소
속도 느림 (ms 단위) 빠름 (ns~μs 단위)
목적 데이터를 오래 저장 작업 중 데이터를 빠르게 처리
예시  SSD, HDD DRAM, SDRAM
전원이 꺼지면 데이터 유지 데이터 사라짐

 

컴퓨터 시스템에서 데이터를 저장하는 방식에는 크게 디스크와 메모리가 있다.

이 때 메모리는 주로 RAM(Random Access Memory)를 의미하고 데이터를 일시적으로 저장하는 특징이 있다.

메모리는 빠른 속도로 데이터에 접근 가능하지만, 전원이 꺼지면 저장된 데이터는 사라진다.

디스크는 HDD(Hard Disk Drive), SSD(Solid State Drive)와 같은 저장장치를 말하고, 데이터를 영구적으로 저장한다.

 디스크 (Disk) 

  • 보조 기억장치
  • 데이터를 영구적으로 저장하는 저장 장치이다. 전원이 꺼져도 데이터가 유지되는 특성을 가졌다.
  • 메모리에 비해서 접근 속도는 느리지만, 대용량의 데이터를 저장할 수 있다.

 메모리 (Memory) 

  • 주 기억장치
  • 실행 중인 프로그램과 데이터를 일시적으로 저장하는 역할을 한다.
  • CPU가 빠르게 잡근하여 데이터를 처리할 수 있게 해준다.
  • 빠른 데이터 접근 속도를 제공하기 때문에, 실행 중인 프로그램의 성능을 크게 향상 시킬수 있다.
  • 변수를 저장해두는 곳도 바로 이 메모리다. 변수를 메모리에 저장하면 프로그램 실행 중에 CPU가 빠르게 읽고 처리한다.

 Memory Hierarchy (메모리 계층 구조) 

메모리를 필요에 따라 여러가지 종류로 나누어 둔 것

 

레지스터와 캐시는 CPU 내부에 존재한다. -> CPU가 아주 빠르게 접근 할 수 있다.
메모리는 CPU 외부에 존재한다. 그래서 레지스터와 캐시보다는 느리게 접근 할 수 밖에 없다.
하드 디스크는 CPU가 직접 접근할 방법이 없다.
그래서 하드 디스크의 데이터를 메모리에 이동시키고, 메모리에서 접근해야하니 아주 느리다.

큰 메모리를 사용한다고해도 모든 데이터를 고르게 접근하지 않고, 자동으로 자주 쓰이는 데이터를 메모리에서 캐시로 읽어온다.
자주 쓰이는 데이터는 전체 데이터 양에 비해 작은 양이므로, 캐시는 메모리보다 더 작아도 된다. 메모리와 하드 디스크의 관계도 마찬가지다. 

https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B3%84%EC%B8%B5_%EA%B5%AC%EC%A1%B0

상위 계층으로 갈수록 속도가 빠르고, 비용이 비싸고, 용량이 작고 빈도가 높다.

각 계층이 서로를 보완(속도와 저장량)하면서 전체 시스템 성능을 최적화한다.

 

구성 요소

  • Registers (레지스터)
    • CPU 내부에 있는 초고속 메모리
    • 매우 작고 빠르며, 프로그램이 가장 자주 접근
    • 명령 실행
  • L1, L2, L3 Cache
    • CPU와 메인 메모리 사이에 있는 임시 저장소 (CPU-Memory 간 속도 차이 완화)
    • 최근에 사용한 데이터나 명령어 저장
    • 캐시 미스가 발생하면 하위 계층으로 탐색 
    • 빠른 데이터 접근
  • Main Memory (주 기억장치, RAM)
    • CPU가 직접 접근 가능한 외부 메모리
    • 휘발성(전원 꺼지면 데이터 사라짐)
    • OS와 실행 중인 프로그램이 사용하는 주된 공간
    • *DB 버퍼, *쿼리 캐시 등
  • Secondary Storage (보조 기억장치)
    • HDD, SDD 등
    • 비휘발성, 용량 큼, 느림
    • 프로그램, 파일 저장용
    • 실행 전 데이터를 RAM으로 불러와야 함
  • Tertiary Storage/ Backup Storage
    • 외장하드, 테이프, 클라우드 저장소 등
    • 데이터 백업, 아카이빙 용도
    • 매우 느리지만 가격 저렴, 대용량
    • 영구 저장소 (DB파일, 로그 등)

 

데이터베이스에서 디스크와 메모리의 사용방식

DB 종류 저장 위치 메모리 활용 방식 영속성 여부
MySQL, PostgreSQL 디스크 *Buffer Pool, Cache 등 내부 메모리 활용 있음
Redis 메모리 (기본) 거의 모든 데이터가 RAM에 존재 AOF, RDB 설정 시 디스크 백업 가능
MongoDB 디스크 (기본) OS의 캐시 기능으로 자주 읽는 데이터를 RAM에 유지 있음

 

 

 


*Buffer Pool 

디스크에서 읽은 페이지를 RAM에 캐싱하여 빠르게 접근

 

*Index Cache

자주 조회되는 인덱스를 메모리에 올려 속도 향상

 

*Write-Ahead Logging (WAL)

데이터를 디스크에 쓰기 전, 로그를 메모리에 저장

 

*Query Cache

동일한 쿼리 결과를 메모리에 저장해 재사용

 

*CPU (Central Processing Unit)

  • 중앙 처리 장치 (컴퓨터의 두뇌)
  • 모든 계산과 명령어 실행을 담당하는 핵심 부품
  • 컴퓨터에서 실행되는 프로그램의 명령어들을 해석하고 처리한다.
    • 연산 논리 장치(ALU) : 산술 연산과 논리 연산을 수행
    • 제어 장치 (Control Unit) : 명령어를 해석하고 실행 순서를 조절
    • 레지스터 (Register) : CPU 내 초고속 임시 저장 공간, 연산과 명령어 처리를 위한 데이터 저장 
  • 동작 과정
    1. 명렁어 인출(fetch): 메모리에서 실행할 명령어를 가져옴
    2. 명령어 해석(Decode): 가져온 명령어를 해석해 어떤 연산을 해야할 지 결정함.
    3. 명령어 실행(Execute): ALU가 실제 연산을 수행하거나 데이터를 이동시킴
  • 메모리와의 관계
    • CPU는 레지스터와 캐시에서 데이터를 가장 빠르게 읽고 쓴다.
    • 그리고 RAM, 마지막으로 디스크를 이용해 데이터를 주고 받는다.
    • 메모리 계층 구조에서 CPU가 가장 높은 우선권과 속도를 가진다.

'cs' 카테고리의 다른 글

Proxy (Reverse Proxy / Forward Proxy)  (0) 2025.06.23
라이프 사이클 (LifeCycle)에 대한 이해  (0) 2025.06.23
[WEB] REST, RESTful API  (1) 2025.06.04
HTTP와 HTTPS 란?  (0) 2025.01.28
[자료구조] Array, Linked list  (0) 2025.01.15