ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 선점(Preemptive)/비선점(Nonpreemptive) 스케줄링
    Programming 2011. 8. 8. 09:53
    번에 Smartkey를 개발하면서 사용한 Scheduler는 비선점(Nonpreemptive).
    배운지 혹은 사용한지 1달이 넘으면 깔금하게 머리속에서 clear 해주는 
    기억력 덕분에 이놈들에 대해 다시 찾아보게 되었다.

    1. 선점(Preemptive) 스케줄링
    어떤 프로세스가 CPU를 할당받아 실행 중에 있어도 다른 프로세스가 실행 중인 프로세스를 중지하고 CPU를 강제로 점유할 수 있다. 모든 프로세스에게 CPU 사용 시간을 동일하게 부여할 수 있다. 빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세서를 제어할 수 있다. '운영체제가 프로세서 자원을 선점'하고 있다가 각 프로세스의 요청이 있을 때 특정 요건들을 기준으로 자원을 배분하는 방식이다.

    2. 비선점(Nonpreemptive) 스케줄링 
    어떤 프로세스가 CPU를 할당 받으면 그 프로세스가 종료되거나 입출력 요구가 발생하여 자발적으로 중지될 때까지 계속 실행되도록 보장한다. 선점 방식보다 스케줄러 호출 빈도 낮고 문맥 교환에 의한 오버헤드가 적다. 일괄 처리 시스템에 적합하며, CPU 사용 시간이 긴 하나의 프로세스가 CPU 사용 시간이 짧은 여러 프로세스를 오랫동안 대기시킬 수 있으므로, 처리율이 떨어질 수 있다는 단점이 있다.
     ※ From wikipedia


    'Programming' 카테고리의 다른 글

    재미있는 알고리즘  (1) 2013.05.14
    Code Review Checklist  (1) 2008.09.18
    [개념]Object Oriented Programming에 있어 중요한 점  (1) 2008.04.15
    ECMA스크립트(ECMAScript)  (1) 2006.09.28
    아스키 코드 값  (1) 2006.09.27
Designed by Tistory.