비선점 스케줄링, 선점 스케줄링

(비선점 스케줄링에서 넘어옴)
non-preemptive schduling
비선점 스케줄링, 비선점형 스케줄링
preemptive schduling
선점 스케줄링, 선점형 스케줄링

1 스케줄링 시점[ | ]

스케줄링은 다음과 같이 프로세스 상태가 전환될 때 발생함

  1. 수행 → 대기 (예: I/O 요청, 자식프로세스 종료 대기 등)
  2. 수행 → 준비 (예: 인터럽트 발생)
  3. 대기 → 준비 (예: I/O 완료)
  4. 수행 → 종료
  • 1, 4번은 프로세스가 스스로 CPU를 놓아주는 시점

2 비선점 스케줄링[ | ]

  • OS가 CPU 사용권을 선점하지 않음
  • 프로세스에게 자율적으로 반납하도록 하는 방식
  • OS가 정책에 따라 적당한 프로세스에게 CPU를 빌려주되 반납은 자율적으로 하도록 함
  • 실행 중인 프로세스가 CPU를 스스로 반납하기 전까지 OS가 사용권을 가져올 수 없는 스케줄링 방식
  • 스케줄링 시점 1, 4번(프로세스 스스로 반납시)에서만 스케줄링 가능
  • 예: FCFS 스케줄링

3 선점 스케줄링[ | ]

  • OS가 CPU 사용권을 선점함
  • OS가 적당한 프로세스에게 CPU를 빌려주고, 필요시에는 사용중이라도 회수함
  • 필요시 OS가 실행 중인 프로세스로부터 CPU 사용권을 가져올 수 있는 스케줄링 방식
  • 스케줄링 시점 1, 2, 3, 4번 모두에서 스케줄링 가능
  • 예: RR 스케줄링

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}