프로그래밍을 동시다발적으로 하려면 프로세스를 동시에 메모리에 막 올려둬야 하는데 그 때 가상메모리가 큰 역할을 한다. "프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법"
한마디로 가상메모리 덕에 프로세스 역할이 확 줄어든다? 뭐 이렇게 이해하면 될 것 같다.
가상 메모리는 "실제 물리 메모리 개념과 사용자의 논리 메모리 개념 분리한 것으로 정의" 때문에 작은 메모리 가지고도 얼마든지 가상 주소 공간을 프로그래머에게 제공할 수 있다.
뿐만 아니라 실제 메모리를 차지하는 것이 아니기 때문에 필요할 때 불러서 쓸 수 있어 메모리를 아낄 수 있다.
가상메모리는 프로세스 간 페이지를 공유할 수 있게 해준다.
이 부분에 대한 자세한 설명은 잘 이해가 되진 않는다.
"프로그램 실행 시작 시에 프로그램 전체를 디스크에서 물리 메모리에 적재하는 대신, 초기에 필요한 것들만 적재하는 전략"
-> 다 끌어 오는게 아니라 필요한 것만 적재
"프로세스 내의 개별 페이지들은 페이저(pager)에 의해 관리된다. 페이저는 프로세스 실행에 실제 필요한 페이지들만 메모리로 읽어 옮으로서, 사용되지 않을 페이지를 가져오는 시간낭비와 메모리 낭비를 줄일 수 있다."
-> 필요한 것만 읽어오니까 시간 낭비나 메모리 낭비를 줄일 수 있다는 뜻.
어렵다. 눈으로 보이지 않아서 그런지 쉽지 않다.