메모리

메모리

- 데이터의 상태나 명령어 등을 기록하는 장치

- 주기억장치인 RAM을 보통 메모리라고 함

 

메모리 계층

- 레지스터, 캐시(L1, L2, L3), RAM, 디스크(HDD/SDD)로 이루어져 있음

- 속도 : 레지스터 > 캐시 > RAM(메모리) > 디스크(저장장치)

- 용량 : 레지스터 < 캐시 < RAM(메모리) < 디스크(저장장치)

 

캐시

- 데이터를 미리 복사해 놓는 임시 저장소이자 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리

- 실제로 메모리와 CPU 사이의 속도 차이가 크기 때문에 그 중간에 레지스터 계층을 둬 속도 차이를 해결하는데 이렇게 속도 차이를 해결하기 위해 계층과 계층 사이에 있는 계층을 캐싱 계층이라고 함

 

웹 브라우저의 캐시

쿠키 : 만료기한이 있는 키-값 저장소

로컬 스토리지 : 만료기한이 없는 키-값 저장소, 도메인 단위로 저장 및 생성

세션 스토리지 : 만료기한이 없는 키-값 저장소, 탭 단위로 생성

 

가상 메모리

- 메모리 관리 기법 중 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 실제 메모리보다 많아보이게 만드는 것

- 프로세스는 가상 주소를 사용하고, 실제 해당 주소에서 데이터를 읽고 쓸 때만 물리 주소로 변환

(가상 주소 : 프로세스가 참조하는 주소) (물리 주소 : 실제 메모리 주소)

- 메인 메모리를 디스크의 캐시로 사용함으로써 효율적으로 사용가능

- 각 프로세스가 완전히 동일한 포맷의 가상 주소 공간을 가짐으로써 메모리 관리를 단순화시킴

 

메모리 할당

- 프로그램이나 데이터를 주기억장치에 할당하는 기법

 

연속 로딩 기법 (단일, 다중 분할 할당)

분산 로딩 기법 (페이징, 세그먼테이션)

 

단일분할 할당

- 한 순간에 하나만 주기억장치를 사용하는 기법

- 초기 운영체제에서 사용하던 기법

- 오버레이 기법과 스와핑 기법을 사용

(오버레이 기법 : 프로그램의 메모리가 주기억장치보다 클 때의 문제를 해결하기 위한 기법)

(스와핑 기법 : 주기억장치에 적재한 하나의 프로그램과 보조기억장치에 적재한 다른 프로그램의 메모리를 교체하는 기법)

 

다중분할 할당

- 주기억장치를 여러개의 고정 크기로 분할하여 사용하는 기법

- 프로그램이 분할 영역보다 크면 분할 영역을 사용할 수 없어서 빈 공간으로 남은 전체 영역을 사용하는 외부 단편화가 발생

- 분할 영역보다 크기가 작은 프로그램을 적재하였을 때 내부 단편화가 발생

- 초기 다중 프로그래밍을 위해 사용했던 방법

BELATED ARTICLES

more