중앙처리장치가 항상 수행되도록 하여 그 이용도를 높이기 위한 방안, 주 기억 장치 내에 여러 프로그램들이 존재하도록 함
운영체제는 주기억 장치 내에 있는 작업들 중 어느 하나를 선정하여 실행하기 시작
실행 중 자기 테이프나 키보드 또는 어떤 입출력장치 등의 조작이 끝나는 것과 같은 event를 기다려야할 때, 비 다중프로그램 체제하에서는 중앙처리장치가 쉬게 되지만, 다중프로그래밍 체제에서는 운영체제가 다른 작업으로 switching하여 새로운 작업을 수행
해당 작업이 기다리는 상태가 되면 운영체제가 중앙처리장치를 다른 작업이나 프로그램에게 전황하여 줌으로써 중앙처리장치는 쉬는 시간이 없게 됨
다중프로그래밍 시스템에서는 여러 개의 작업을 준비 상태로 두고, 준비상태에 있는 여러 작업들 중 어느 한 작업을 실행할 작업으로 선정하는 데에는 별도의 기억장치 관리 기법이나 중앙처리장치 관리 기법 등이 필요
이 외에도 디바이스 스케줄링,데드락 문제, 병행제어 보호 및 보호 문제등이 고려되어야함.
A라는 프로그램 실행
메인 메모리에 A라는 프로그램이 적재되어 있어야 함.
CPU가 한 줄씩 읽어다가 실행을 하는데, 프로그램을 하나만 적재해놓고 실행하다 보니 프로그램을 실행하다가 입출력이 있을 시,
IO가 끝나기를 기다리면서 CPU가 유휴 상태가 됨
👇 다른 프로그램들도 적재하자! 👇
A가 IO를 하는 동안 B는 CPU를 사용함으로써 CPU의 유휴 상태를 최소화!
통합과 집약은 기억장치에서 공백의 처리에 관한 용어이다. 이 처리를 하지 않으면 단편화 현상이 나타나 기억공간을 효율적으로 쓸 수 없게 된다.