메모리 란?
- 메모리의 역할
데이터 저장 : 메모리는 프로그램이 실행되는 동안 필요한 데이터를 저장한다.
이는 변수,배열,객체 등의 형태로 존재할 수 있습니다.
프로그램 실행 : CPU는 메모리에 저장된 명령어를 순차적으로 읽어 실행한다. 메모리의 속도가 CPU의 처리 속도와 밀접하게 연결되어 있기 때문에, 빠른 메모리는 전반적인 시스템 성능을 높입니다.
- 메모리의 종류
휘발성 메모리(RAM)
① DRAM (Dynamic RAM) : 주로 컴퓨터의 주 메모리로 사용되며, 주기적으로 데이터를 새로 고쳐야한다.
② SRAM (Static RAM) : DRAM보다 빠르지만 더 비싸다. 주로 CPU의 캐시 메모리로 사용된다.
비휘발성 메모리
① ROM (Read-Only Memory) : 전원이 꺼져도 데이터가 유지되며, 주로 시스템의 부팅 정보를 저장한다.
② 플래시 메모리 : USB 드라이브와 SSD에서 사용되며, 빠른 데이터 접근이 가능하다.
③ 하드 드라이브 (HDD) : 데이터를 영구적으로 저장하는 데 사용되며 , 비휘발성이지만 접근 속도가 느리다.
주소공간
주소공간의 정의
① 주소공간은 메모리 내의 모든 가능한 주소의 집합으로 , 각 주소는 특정 데이터나 명령어를 가리킨다.
주소공간의 크기는 메모리의 최대 용량과 연결되어 있다.
주소공간의 크기
① 비트 수에 따른 주소공간
● 32비트 시스템 : 최대 2^32 주소를 가질 수 있으며 , 이는 약 4GB의 메모리 주소를 의미한다.
● 64비트 시스템 : 최대 2^64 주소를 가질 수 있으며 , 이는 이론적으로 18.4엑사바이트(EB)의 주소공간을 제공한다. 현재 대부분의 시스템에서 64비트 주소공간을 사용하고 있다.
가상 메모리
①현대 운영체제는 가상 메모리 기술을 사용하여 물리적 메모리보다 더 큰 주소공간을 제공할 수 있다.
이를 통해 프로그램은 실제로 사용가능한 메모리보다 더 많은 메모리를 사용할 수 있으며, 운영체제는 필요에 따라 데이터를 물리적 메모리와 저장 장치 간에 이동시킨다. 이 과정은 페이지 교체 알고리즘에 의해 관리된다.
메모리 관리
①운영체제는 메모리 관리 기능을 통해 각 프로그램에 메모리를 할당하고, 사용이 끝난 메모리를 회수하여 다른 프로그램이 사용할 수 있도록 한다. 이 과정에서 메모리 단편화 문제가 발생할 수 있으며 , 이를 해결하기 위한 다양한 기법이 존재한다.