CPU스케줄링

CPU & I/O burst CPU burst : CPU를 사용하여 작업하는 부분 I/O burst : I/O 작업을 수행하는 부분 프로그램은 CPU burst 와 I/O burst 번걸아서 연속적으로 실행된다. CPU Burst Time의 분포 I/O bound job : CPU 를 잡고 계산하는 시간 보다 I/O에 많은 시간이 필요한 job 이다. 위의 그래프에서 알 수 있듯이 CPU burst를 짧게, 빈도는 많이 사용할 것이다. CPU bound job : CPU를 잡고 계산을 위주로 하는 job이다. CPU를 길게 연속적으로 사용하며 CPU burst 빈도는 적게 일어난다. 여러 종류의 job (= process) 이 섞여 있기 때문에 CPU 스케줄링을 통해, 자원을 효율적으로 사용해야 한다. ..
CPU Scheduling이 필요한 이유 ? 멀티프로그래밍을 지원하는 운영체제에서 효율적으로 일을 처리하기 위해서 process 스케줄링이 필요하다. single CPU에서는 오직 하나의 process만이 CPU를 사용할 수 있으며, 다른 process들은 CPU를 사용하기 전까지 대기를 한다. ( 여기서 process 스케줄링은 thread 스케줄링과 같은 의미로도 사용할 수 있다. ) 스케줄링에는 두가지 이슈가 있다. CPU Burst에 들어온 프로그램이 여러게 있는데, 누구한테 먼저 줄것인가 ? CPU를 다 쓰고 I/O를 할때까지 한 process에게 CPU를 계속 줄것인가 아니면 중간에 CPU를 뺏어서 다른 프로세스에게 넘겨줄 것인가 ? CPU를 중간에 뺏지 않는다면 긴 프로세스 하나때문에 다른 ..
minjiwoo
'CPU스케줄링' 태그의 글 목록