ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기본 개념
    운영체제/CPU 스케줄링 2018. 2. 3. 17:51

    다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행중인 프로세스를 가지게 하는 있다.

    어떤 프로세스가 대기하고 있을 경우 운영체제는 CPU 프로세스로부터 회수해 다른 프로세스에게 할당한다.

    CPU 시스템에서 중요한 자원이기 때문에 CPU 스케줄링은 운영체제 설계의 핵심이 된다.

     

     

    CPU 입출력 버스트 사이클

    프로세스 실행시 CPU버스트와 입출력 버스트가 번갈아가며 발생한다.

     

     

    CPU스케줄러

    CPU 프로세스가 없을 때마다 운영체제는 준비 완료 큐에 있는 프로세스들 중에서 하나를 선택하여 실행한다.

    선택 절차는 단기 스케줄러 의해 수행된다.

     

     

    선점 스케줄링

    CPU 스케줄링 결정은 다음의 가지 상황 하에서 발생한다.

    1. 프로세스가 실행 상태에서 대기 상태로 전환될

    2. 프로세스가 실행 상태에서 준비 완료 상태로 전환될

    3. 프로세스가 대기 상태에서 준비 완료 상태로 전환될

    4. 프로세스가 종료될

     

    상황 1, 4에서 스케줄링이 발생할 경우 비선점 이라고 하고

    상황 2,3에서 스케줄링이 발생한 경우 선점 이라고 한다.

     

     

    디스패처

    디스패처는 CPU 제어를 단기 스케줄러가 선택한 프로세스에게 주는 모듈이며 다음과 같은 작업을 수행한다.

    문맥 교환

    사용자 모드로 전환

    사용자 프로그램의 적절한 위치로 이동

     

    디스패처는 모든 프로세스의 문맥 교환시 호출되므로 가능한 최고로 빨리 수행되어야 한다.

    디스패처가 하나의 프로세스를 정지하고 다른 프로세스의 수행을 시작하는 데까지 소요되는 시간을 디스패치 지연 이라고 한다.


    '운영체제 > CPU 스케줄링' 카테고리의 다른 글

    실시간 CPU 스케줄링  (0) 2018.02.03
    다중 처리기 스케줄링  (0) 2018.02.03
    스레드 스케줄링  (0) 2018.02.03
    스케줄링 알고리즘  (0) 2018.02.03
    스케줄링 기준  (0) 2018.02.03

    댓글