메모리
컴퓨터 시스템에서 데이터를 저장하고 처리하기 위해 사용되는 구성 요소로, 크게 주기억장치와 보조기억장치로 나뉜다.
- 주기억장치 (RAM)
전원이 꺼지면 저장된 데이터가 사라지는 휘발성 메모리이며 CPU가 빠르게 접근할 수 있는 고속 메모리로, 현재 실행 중인 프로그램과 데이터를 임시로 저장한다. RAM의 종류에는, 주기적으로 재충전해야 하며 일반적인 컴퓨터의 RAM인 DRAM(Dynamic RAM) 과 DRAM에 비해 더 빠르지만 비싼, 주로 캐시 메모리에서 사용되는 SRAM(Static RAM) 이 존재한다.
- 보조기억장치
전원이 꺼져도 데이터가 유지되는 비휘발성 메모리로, 대량의 데이터를 영구적으로 저장하는 용도로 사용된다.
종류
ROM (Read-Only Memory): 읽기 전용 메모리로써, 시스템의 부팅 및 기본적인 하드웨어 초기화에 필요한 프로그램(BIOS or UEFI)을 저장한다. 일반적으로 사용자가 데이터를 수정할 수 없다.
HDD (하드 디스크 드라이브): 자성을 이용하여 데이터를 저장하는 기계식 저장 장치이며 대량의 데이터를 영구적으로 저장하고 파일 시스템을 통해 사용자 데이터와 프로그램을 저장한다.
SSD (솔리드 스테이트 드라이브): 기계적 부품이 없으며, 데이터를 전자적으로 저장하는 플래시 메모리 기반으로, 빠른 데이터 접근 속도를 제공하여 운영 체제와 애플리케이션을 저장하는 데 자주 사용한다.
USB 드라이브 및 외장 하드 드라이브: 휴대용 저장 장치로 데이터를 이동하고 저장하는 용도로 많이 사용된다. USB 드라이브는 플래시 메모리를 사용하고, 외장 하드는 HDD나 SSD로 구성될 수 있다.
광학 디스크: 데이터를 레이저로 읽고 쓰는 방식으로 저장한다. 주로 음악, 영화 및 소프트웨어 배포에 사용되며 CD, DVD, 블루레이 등이 존재한다.
- 주소 공간
메모리 내에서 각 데이터와 명령어에 접근하기 위한 주소의 범위를 의미한다. 메모리의 각 위치에는 고유한 주소가 할당되어 있으며, CPU는 이 주소를 사용하여 특정 데이터를 읽거나 쓸 수 있다.
가상 주소 공간: 운영 체제가 프로세스에 할당하는 주소 공간. 물리적 메모리의 실제 주소와는 별개로, 각 프로세스는 자신만의 가상 주소 공간을 가진다. 가상 주소 공간을 사용함으로써 각 프로세스는 독립적으로 실행되므로 서로의 메모리에 영향을 미치지 않으므로 메모리를 보호할 수 있고, 필요할 때만 물리적 메모리에 데이터를 로드하는 방식으로 메모리를 효율적으로 사용할 수 있다.
물리적 주소 공간: 실제 메모리 칩의 주소. CPU가 직접 접근할 수 있는 메모리의 위치를 나타낸다. 가상 주소는 페이지 테이블을 통해 물리적 주소로 매핑되고, 이 과정은 메모리 관리 유닛(MMU)에 의해 수행된다.
주소 공간 예시
32비트 시스템: 이론적으로 최대 4GB의 주소 공간을 가진다(2^32). 각 메모리 주소는 4바이트의 데이터를 가리킬 수 있다.
64비트 시스템: 이론적으로 16EB(엑사바이트)까지 주소 공간을 가질 수 있다(2^64). 현재는 실질적으로 64비트 주소 공간의 전체 활용은 불가능하지만, 훨씬 더 큰 메모리 공간을 지원한다.
'CS' 카테고리의 다른 글
객체 지향? (0) | 2024.10.16 |
---|---|
IOCP? (1) | 2024.10.15 |
CPU? (0) | 2024.10.08 |
면접 질문 연습하기(1) (0) | 2024.09.30 |
OSI - 데이터 링크 계층 (2) | 2024.09.27 |