선점형과 비선점형 스케줄러

패스트캠퍼스 올인원 패키지 - 컴퓨터 공학을 보고 정리하는 용도의 포스팅입니다.


선점형과 비선점형 스케줄러

  • 선점형 스케줄러(Preemptive Scheduling)
    • 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할 수 있음
  • 비선점형 스케줄러(Non-preemptive Scheduling)
    • 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없음

비선점형 스케줄러 -> 선점형 스케줄러 로 넘어가고 있는 추세


선점형과 비선점형 스케줄러 차이

  • 비선점형
    • 프로세스가 자발적으로 blocking 상태로 들어가거나, 실행이 끝났을 때만 다른 프로세스로 교체가능
  • 선점형
    • 프로세스 running 중에 스케줄러가 이를 중단시키고, 다른 프로세스로 교체 가능

요약하자면, 스케줄러가 프로세스를 점유해서 제어할수 있느냐 없느냐의 차이


스케줄러 구분

어떻게 처리하는 방식을 선택하느냐에 따라 구분

즉, 많은 요구사항들을 어떻게 분배할까에 대한 방법론 -> 정책 혹은 Policy라고 한다.

  • FIFO(FCFS), SJF, Priority-based
    • 어떤 프로세스를 먼저 실행시킬지에 대한 알고리즘
    • 비선점형 스케줄러에 가까움
  • RoundRobin
    • 시분할 시스템을 위한 기본 알고리즘
    • 선점형 스케줄러

Reference

패스트캠퍼스 - 올인원 패키지: 컴퓨터 공학 18강

패스트캠퍼스 - 올인원 패키지: 컴퓨터 공학 19강

Comments