컴퓨터가 데이터를 저장하는 법

Jeris·2023년 4월 17일
0

코드잇 부트캠프 0기

목록 보기
36/107

1. 스토리지 vs 메모리

스토리지(Storage)

  • 데이터가 장기적으로 보존되는 곳
  • 스토리지는 컴퓨터가 꺼져도 데이터가 유지됩니다.
  • 읽기 및 쓰기 속도가 메모리에 비해 더 느립니다.
  • 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 등이 대표적인 예입니다.

메모리(Memory)

  • 데이터가 임시로 저장되는 곳
  • 읽기 및 쓰기 속도가 스토리지에 비해 더 빠릅니다.
  • 자료 구조는 데이터를 메모리에서 잘 사용하도록 하는 게 목적입니다.
  • 컴퓨터 메모리는 RAM을 사용합니다.

2. RAM: Random Access Memory

RAM이란?

  • RAM(Random Access Memory)은 컴퓨터에서 사용되는 주기억장치 중 하나로, CPU가 빠르게 접근할 수 있는 고속의 메모리입니다.
  • RAM은 컴퓨터가 작업할 때 필요한 데이터와 프로그램 코드를 저장하며, 컴퓨터가 실행 중인 프로그램이 필요로 하는 모든 데이터를 RAM에 로드하여 작업을 처리합니다.
  • RAM은 데이터를 랜덤한 위치에 저장할 수 있으므로, 컴퓨터가 데이터를 읽거나 쓰는 데 걸리는 시간이 매우 빠릅니다.
  • RAM은 휘발성 메모리(Volatile Memory)로서 컴퓨터가 꺼지거나 재부팅 될 경우에 저장된 데이터가 모두 소멸됩니다.

RAM의 cell

  • 데이터를 저장할 수 있는 일정한 cell로 나눠져 있습니다.
  • 각 cell은 자신만의 주소가 있습니다.
  • cell-size는 8-bit, 16-bit, 32-bit, 64-bit 등 다양한 크기로 존재합니다.

Random access

  • 저장 위치를 알면 접근할 때 항상 일정한 시간이 걸리는 것
  • 메모리에 저장한 데이터에 접근할 때의 시간 복잡도는 O(1)입니다.

3. 레퍼런스

레퍼런스란?

  • 레퍼런스(Reference)는 데이터에 접근하게 해주는 값입니다.
  • 해당 데이터의 메모리 주소(Address) 값을 갖거나, 오프셋(offset)을 이용해 데이터를 가리키는 값을 갖을 수 있습니다.

4. 데이터의 주소

파이썬 id() 함수

  • 파라미터로 객체를 입력 받고, 입력 받은 그 객체의 고유 주소 값을 정수형으로 리턴합니다.

Aliasing

  • 여러 변수가 같은 메모리를 가리키는 것
  • 각 변수를 다른 변수에 대한 alias라고 합니다.

Reference

profile
job's done

0개의 댓글