여러 프로그램이 실행 상태
운영체제가 이들을 번갈아가면서 실행 -> CPU의 이용률 증가
오랜 시간이 걸리는 프로그램-디버그 사이클에서 일괄 처리방식의 한계를 느낌
-> 대화식 이용의 개념이 중요해짐
방식
주소공간은 실행중인 프로그램이 가정하는 메모리의 모습이다
실행 프로그램의 모든 메모리 상태를 가지고 있음
코드
스택
함수호출 체인 상의 현재 위치, 지역변수, 함수 인자와 반환값
힙
동적으로 할당되는 메모리를 위해 사용
프로그램 코드는 주소공간 위쪽에 위치
정적이라 추가 메모리 필요하지 않음
실행과 더불어 확장, 축소가 되는 두 부분
heap, stack
주소공간의 양 끝에 배치하고 있어서 확장하는 것이 가능하다
여러 프로세스들이 같은 메모리에 공존하게 하는 방식
가상메모리(VM) 목표
투명성
실행중인 프로그램이 가상 메모리의 존재를 인지하지 못하도록 구현해야함
효율성
시간과 공간 측면에서 효율적이도록 해야함
보호
프로세스를 다른 프로세스로부터 보호해야하고, 자기 자신도 보호해야함
서로 주소공간을 격리시켜야 한다