CPU 내에서 하나의 core에서는 한 번에 단 하나의 process만 실행이 가능합니다. 그 말인즉슨 하나의 process가 실행되고 있으면, 다른 process는 실행이 되고 싶어도 사용 가능한 core가 생길 때까지 대기를 해야 한다는 뜻입니다. 만약 CPU에 진입한 process의 실행이 모두 완료가 되어야 다음 process가 CPU를 차지할 수 있다고 가정해봅시다. Process는 실행 중에 입출력 요청이 완료되기를 기다릴 때가 있습니다. 이러한 상황에서 CPU는 아무 작업도 실행하지 못하며 시간과 자원을 낭비하는 결과를 초래합니다. 또는 꼭 지금 수행해야 하는 process가 있는데 앞에서 수행 중인 process의 작업이 너무 길어서 한참을 대기해야 하는 경우에도 비효율적인 결과가 만들어집..