CPU스케줄링

    [운영체제] 스케줄링 알고리즘

    [운영체제] 스케줄링 알고리즘

    CPU 스케줄링은 준비 큐에 있는 어느 프로세스에 CPU 코어를 할당한 것인지를 결정한다. 이번에는 여러 가지 다른 CPU스케줄링 알고리즘들에 대하여 알아보자. [선입 선처리 스케줄링] CPU를 먼저 요청하는 프로세스가 CPU를 먼저 할당 받는 구조이다. 이 구조의 문제점은 평균 대기 시간이 대단히 길 수 있다는 점이다. 아래와 같은 경우를 생각해보자 프로세스 버스트 시간 P1 24 P2 3 P3 3 프로세스들이 P1,P2,P3순서로 도착하고 선입선출의 구조로 일처리가 된다고 하면 다음과 같은 결과를 얻는다. 프로세스 P1의 대기 시간은 0밀리초이며, 프로세스 P2는 24, P3는 27밀리초가 된다. 따라서 평균 대기 시간은 (0 + 24 + 27) / 3 = 17밀리초이다. 보통 CPU의 처리 속도는 ..

    [운영체제]CPU 스케줄링

    [운영체제]CPU 스케줄링

    코어가 하나인 시스템에서는 하나의 프로세스만이 실행될 수 있다. 하나의 프로세스가 CPU 처리를 하다가 I/O 인터럽트로 넘어가게 되면 CPU는 I/O인터럽트가 끝날 때 까지 마냥 기다려야만 한다. 이렇게 되면 CPU를 효율적으로 사용할 수가 없는데, 이 때 다중 프로그래밍을 이용하여 CPU의 이용률을 최대화 할 수 있다. [CPU와 I/O 버스트의 교차] 프로세스의 실행은 CPU실행과 I/O 대기의 사이클로 구성된다. CPU가 유휴 상태가 될 때마다, 운여체제는 준비 큐에 있는 프로세스 중에 하나를 선택해 실행 해야하는데 이런 절차는 CPU스케줄러에 의해 수행된다. [CPU 스케줄링] CPU 스케줄링 결정은 다음의 네 가지 상황에서 발생할 수 있다. 1 ) 프로세스가 I/O에 의해 대기 상태로 가는 경..