ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Process Scheduling
    CS/OS(운영체제) 2022. 4. 12. 23:33
    728x90

    프로세스 스케쥴링의 종류(level)

     

    Long-term Scheduling ( job scheduler )

    - 시스템에서 처리할 수 있는 프로그램을 결정한다.

     

    Medium-term Scheduling ( swapper )

    - 메인 메모리 안에 있는 부분적이거나 완전한 프로세스들의 수를 추가할지 결정한다.

     

    Short-term Scheduling ( CPU scheduler )

    - 프로세서에 의해 실행될 사용 가능한 프로세스를 결정한다.

     

    I/O Scheduling

    - 프로세스의 보류중인 I/O 요청에 대한 결정은 사용 가능한 I/O 장치에서 처리한다.

     

    선택 함수 ( Select Function )

    - 준비 프로세스 중 실행을 위해 다음에 선택할 프로세스를 결정한다.

    w : 지금까지 시스템에서 보낸 시간

    e : 지금까지 실행에 소요된 시간

    s : 프로세스에 필요한 총 서비스 시간 ( e포함 ) 일반적으로 이 양은 유저에 의해 추정되거나 공급되어야 한다.

     

    Ex. max[W] => FIFO

     

    Decision Mode

    - 선택 함수가 사용되는 시간을 지정한다.

    - 일반적으로 두가지 카테고리가 있다.

    Nonpreemptive(비선점 방식)

    - 이 경우 실행 상태에 있는 한 종료되거나, I/O를 기다리거나 또는 I/O를 위해 스스로 차단할 때 까지 운영체제에 서비스를 요청하여 프로세스를 계속해서 실행한다 

    Preemptive(선점 방식)

    - 현재 실행중인 프로세스는 운영체제에 의해 준비 큐로 이동되거나 인터럽트 된다.

    - 선점에 대한 결정은 새 프로세스가 도착할 때 수행된다. (차단된 프로세스를 준비 상태로 두는 인터럽트가 발생하는 경우나 주기적으로 클럭 인터럽트를 기준으로)

     

    Scheduling Algorithms

     

    1.FIFO ( First In, First Out )

    - 현재 프로세스가 실행 중지되면, 준비 큐에서 가장 긴 프로세스가 선택된다. ( FCFS )

    - 선택 함수 : Max[W]

    - 결정 모드 : 비선점방식

    - 장단점 : 가장 간단한 스케줄링 정책 / 짧은 프로세스보다 긴 프로세스에서 더 나은 수행결과를 보임 / FCFS는 convoy effect로 인해 어려움을 겪을 수 있음

     

    2.SPN( Shortest-Process-Next )

    - 기대 처리 시간이 가장 짧은 프로세싱을 다음에 선택하는 비선점 정책이다.

    - FCFS(FIFO)에서 긴 프로세스에 대한 편향을 줄이기 위한 또 다른 접근 방식으로 제시된 방식.

    - 짧은 프로세스는 큐의 head로 이동한다.

    - SJF(Shortest-Job-First)로도 불림.

    - 선택 함수 : min[s]

    - 결정 모드 : 비선점방식

    - 장단점 : 전반적인 수행은 turnaround time 관점에서 훨씬 개선됨 / 긴 프로세스들은 비중이 적어질 가능성이 있음 / 한가지 어려움은 각 프로세스마다 요구되는 시간을 아는것이 필요함.

    3. Round-Robin

    - 인터럽트가 발생할 때, 현재 실행중인 프로세스는 준비 큐 안으로 배치되고, 다음 준비된 작업은 FCFS 기준으로 선택된다.

    - 가장 중요한 이슈는 타임 퀀텀(Time Quantum)의 길이를 디자인 하는 것이다.

    - 선택 함수 : constant

    - 결정 모드 : 선점방식

    q가 클 경우 => FIFO

    q가 작을 경우 => 내용에 switch와 관련하여 q가 커야함. 그렇지 않으면 오버헤드가 너무 높음.

     

    4. SRT( Shortest-Remaining-Time )

    - 이 스케줄러는 항상 남은 시간이 짧은 프로세스를 선택한다.

    - SPN의 선점 방식 버전

    - 선택 함수 : min[s-e]

    - 결정 모드 : 선점 방식

    - 장단점 : SPN보다 뛰어난 처리 시간 성능을 제공한다 / 오버헤드가 높을 수 있다 / Starvation이 발생할 수 있다.

     

    5. HRRN( Highest-Response-Ratio-Next )

    - R의 밸류가 가장 큰 준비 프로세스를 선택한다.

    - R = Response ratio : 정규화된 turnaround time. R = (q+s)/s

    - 선택 함수 : max[(q+s)/s]

    - 결정 모드 : 비선점방식

    - 장단점 : 긴 프로세스는 결국 더 짧은 job을 가짐 / 예상 서비스 시간을 반드시 추정해야함.

     

    728x90

    'CS > OS(운영체제)' 카테고리의 다른 글

    인터럽트(Interrupts)  (0) 2022.04.17
    컴퓨터 하드웨어(Computer Hardware)  (0) 2022.04.17
    Process Switch  (0) 2022.04.12
    Program & Process  (0) 2022.04.12
    Resource Protection & System Call  (0) 2022.04.11
Designed by Tistory.