• 10. 스케줄링의 개요

    2021. 9. 20.

    by. ahntree

    728x90

    프로세스는 생성, 준비, 실행, 대기와 같은 여러 상태를 거치며 작업이 이루어진다. CPU 스케줄러는 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정한다. 그래서 프로세서 스케줄러(processor scheduler라고도 한다.

     

     

     

    1. 스케줄링 규모

    스케줄링은 규모에 따라 3가지로 나눌 수 있다.

     

     

    고수준 스케줄링

    장기 스케줄링(long-term scheduling), 작업 스케줄링(job scheduling), 승인 스케줄링(admission scheduling)이라고도 한다. 시스템 내의 전체 작업 수를 조절한다. 여기에서 말하는 작업은 운영체제에서 다루는 일의 가장 큰 단위로, 1개 이상의 프로세스로 이루어진다.

     

    어떻게 전체 작업 수를 조절할까? 어떤 작업을 요청받았을 때 시스템이 받아들일지 말지 결정함으로써 조절한다. 일단 작업이 시작되면 시스템 자원을 사용하기 때문에 기존 작업에 영향을 미친다. 고수준 스케줄링에 따라 시스템 내에서 동시에 실행 가능한 프로세스의 개수가 정해진다.

     

     

    저수준 스케줄링

    단기 스케줄링(short-term scheduling)이라고도 한다. 가장 작은 단위의 스케줄링이다. 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정한다. 프로세스 상태에 관한 내용은 대부분 저수준 스케줄링에 해당한다.

     

     

    중간 수준 스케줄링

    고수준과 저수준 사이에서 일어난다. 중지(suspend)활성화(active)전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막는다. 일부 프로세스를 중지하여 보류 상태가 되게 함으로써 나머지 프로세스가 원할하게 실행되도록 하는 것이다.

     

     

     

    2. 스케줄링의 목적

    공평성

    모든 프로세스가 자원을 공평하게 배정받아야 한다.

     

     

    효율성

    시스템 자원이 유휴 시간 없이 사용되도록 하고, 유휴 자원을 사용하려는 프로세스에 우선권을 주어야 한다.

     

     

    안정성

    우선순위를 사용하여 중요 프로세스가 먼저 작동되도록 한다. 이는 시스템 자원을 점유하거나 파괴하려는 프로세스로부터 자원을 보호하기 위함이기도 하다.

     

     

    확장성

    프로세스가 증가해도 시스템이 안정적으로 동작해야 한다. 또한 시스템 자원이 늘어나는 경우 시스템이 혜택을 받도록 해야 한다.

     

     

    반응 시간 보장

    응답이 너무 오래 없을 경우 사용자는 시스템이 멈춘 것으로 생각한다. 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다.

     

     

    무한 연기 방지

    특정 프로세스의 작업이 무한히 연기되어서는 안 된다.

    728x90

    '운영체제' 카테고리의 다른 글

    12. 다중 큐  (0) 2021.09.22
    11. 스케줄링 시 고려 사항  (0) 2021.09.20
    09. 동적 할당 영역과 시스템 호출  (0) 2021.09.20
    08. 스레드  (0) 2021.09.20
    07. 프로세스의 연산  (0) 2021.09.20

    댓글