OS

    [전산학] CPU 스케줄링

    과거의 Single-processor system에서는 한번에 오직 하나의 프로세스만이 순차적으로 실행될 수 있었다. 다른 프로세스가 실행되기 위해서는 CPU가 현재 실행중인 프로세스를 끝내고 프리 상태에 도달할 때까지 기다려야만 했던 것이다. 하지만 실제적으로는 입출력을 기다리는 시간동안은 CPU는 아무일도 하지 않게되고 이는 CPU utilization에 있어 비효율로 이어진다. 프로세스의 생명 주기동안 CPU를 필요로 하는 시간의 비중이 크지 않기에 굳이 이 전체의 시간동안 CPU를 부여한다는 것은 낭비이다. 전화로 예를 들면 쉬울 것이다. 우리가 누군가와 통화를 할때면 서로 말하고 있는 시간보다 침묵하고 있는 시간의 비중이 압도적으로 크다고 한다. 사실 여러분은 이렇게 전화선을 낭비하고 있는 것이..