다중 프로그래밍 메모리의 사용자영역에 프로그램이 여러개 탑재되어 있고, CPU가 이를 번갈아가며 수행한다. 어떤 프로그램을 수행하다 입출력이 발생하면 해당 입출력이 처리되는 동안 CPU가 다른 프로그램을 수행하는 방식이다. 여러 프로그램 중 어떤 프로그램을 선택할지는 '스케쥴링'을 통해 해결한다. 이는 적절한 정책을 통해 다음 프로그램을 결정해준다. 이러한 프로세스는 각 프로그램이 입출력이 발생할 때만 발생된다. 즉, 다른 프로그램으로 작업이 이동되려면 하나의 프로그램이 입출력이 발생해야 한다. 만약 하나의 프로그램에서 무한 루프가 발생된다면 스케쥴링도 일어나지 않아 나머지 프로그램도 돌아가지 않는다. 즉, 다중 프로그래밍 방식에서는 프로그램 간 간섭이 존재한다. 대부분의 프로그램 실행시간..