4대_메모리 Random Access Memory

사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치. ‘주 기억 장치’로 분류된다. 즉 메인 메모리.

전원이 차단되면 내용이 휘발되는 휘발성 기억장치.

성능의 지표 메모리 레이턴시 메모리 쓰루풋 및 대역폭 메모리 레벨 병렬 처리


메인 메모리의 구성 요소

Data - 전역변수 / static 등을 할당하기 위해 존재 - > 데이터 메모리는 릴리즈 당시에 메모리 단편화 해결을 위해 주소를 바꾸게 됨. 그래서 데이터의 주소는 잘 안쓰는게 좋다.

Stack- 지역 변수 / 함수 호출 인자값을 저장하기 위해 존재 Heap - 동적할당을 하기 위해 존재 하는 영역 Code - 실행 파일을 구성하는 명령어들이 올라가는 영역

위와 같은 메모리에 프로그램을 구성하는 요소들이 올라가게 되면 이는 프로세스라고 표현하기도 한다. 메모리는 실행하는 프로세스 개수 만큼 생성이 되는데, 이때 프로세스의 구성요소로 더불어 생각해봐야 하는 것은 Register. 그 중에서도 Register Set이다.

왜냐하면, 해당 프로세스를 실행하게 되면 CPU를 구성하는 레지스터들 또한 프로세스를 위한 데이터로 채워지기 때문에, 레지스터의 상태를 프로세스의 일부로 포함할 수 있다.

이 부분은 컨텍스트_스위칭(Context Switching)과 관련이 있다.