가상 메모리
-
Operating System - 페이지 교체 알고리즘Computer Science/Operating System 2022. 1. 27. 12:57
가상 메모리(Virtual Memory) 가상 메모리(Virtual Memory)의 필요성 프로그램이 CPU에서 실행되기 위해서는 실행에 필요한 부분이 메모리에 올라와 있어야 한다. 또한, 여러 프로그램이 동시에 수행되는 환경에서는 한정된 메모리 공간을 여러 프로그램이 조금씩 나누어서 사용해야 하는데, 이를 위해서는 운영 체제가 적절히 프로세스에 메모리를 할당해야 한다. 운영체제는 CPU에서 당장 수행해야 하는 부분만 메모리에 올리고, 나머지는 디스크의 swap 영역에 저장해 두었다가 다시 필요해지면 기존에 메모리에 있었던 부분과 교체하는 방식을 사용한다. 이처럼, 메모리의 연장 공간으로 디스크의 swap 영역을 사용하게 된다면 메모리의 물리적인 크기에 대한 제약을 고려할 필요가 없어진다. 즉, 가상 메..
-
Operating System - 페이징(Paging) & 세그멘테이션(Segmentation)Computer Science/Operating System 2022. 1. 26. 13:36
메모리 메인 메모리(Main Memory)의 문제점 CPU가 직접 접근할 수 있는 기억 장치로, 프로세스가 실행되기 위해서는 프로그램 코드를 메인 메모리에 적재해 두어야 한다. 그런데, 만약 프로그램 용량이 메인 메모리보다 크면 어떤 일이 발생할까? 가상 메모리(Virtual Memory)의 등장 실제 물리 메모리 개념과 사용자의 논리 메모리 개념을 분리한 것이다. 메모리 공간은 한정적이기 때문에 사용자에게 더 많은 메모리를 제공하기 위해 가상 주소를 사용한다. 메모리 관리 장치는 가상 주소를 이용해 실제 데이터가 담겨있는 주소로 변환해 준다. 여기서 가상 주소 공간은 하나의 프로세스가 메모리에 저장되는 논리적인 모습을 가상 메모리에 구현한 공간이며, 가상 주소는 이러한 가상 주소 공간을 가리키는 주소이..