CPU 스케줄링

    [운영체제] Ch5. CPU 스케줄링

    [운영체제] Ch5. CPU 스케줄링

    공룡책(운영체제)을 읽고 정리한 글입니다. 실질적으로 운영체제는 프로세스가 아니라 커널 수준 스레드를 스케줄한다. 그러나 '프로세스 스케줄링'과 '스레드 스케줄링' 용어는 상호 교환적으로 사용된다. 일반적인 스케줄링 개념이면 '프로세스 스케줄링'을 사용하고, 스레드에 국한된 개념이면 '스레드 스케줄링' 이라는 용어를 사용할 것이다. CPU 스케줄링 기본 개념 하나의 프로세스가 I/O요청이 완료되기를 기다리고 있다. 만약 프로세스가 I/O응답을 받기 전까지 다른 프로세스를 실행하지 못하고 기다린다면 시간을 매우 비효율적으로 사용하게 된다. 따라서 어느 프로세스가 대기해야 할 경우, 운영체제는 CPU를 회수해 다른 프로세스에게 할당해야 할 것이다. 결국 CPU는 항상 바빠야 한다는게 중요한 원칙이 된다. 그..