2013-06-03 1 views
2

이 질문은 기본적인 질문 인 것 같습니다. 그러나 어디서나 답변을 찾을 수는 없습니다.스케줄러 대기 시간이란 무엇입니까?

필자가 이해하는 바와 같이, 스케줄러 대기 시간은 작업을 다시 실행 가능하게 만드는 데 소요되는 시간입니다. 즉, 1, 2, e.t.c라는 100 개의 프로세스가 있다면 그들은 1부터 시작하여 차례대로 실행됩니다. 따라서 대기 시간은 프로세스 1이 다시 실행되는 시간입니다. 이는 대기 시간이 프로세스의 대기 시간뿐만 아니라 실행 준비가 된 실행 대기열에있을 때 대기 시간이라는 것을 의미합니다.

또는

내가 요점 및 sheduler 대기 시간을 오해는 프로세스 간의 전환 시간 컨텍스트 그러나 다만 아무것도 아니다?

+0

대기 시간은 작업 완료까지 걸리는 시간과 작업 대기 시간으로 이해할 수 있습니다. – christopher

+0

@Chris : 대기 시간은 일자리를 시작하는 데 걸리는 시간으로 항상 이해했습니다. –

+0

@DavidSchwartz 매우 기괴한 ... 얼마나 복잡합니까? – christopher

답변

3

예약 대기 시간은 예약 작업으로 인해 시스템이 비생산적인 시간입니다. 스케줄링에 시간을 소비해야하기 때문에 시스템 지연이 발생합니다.

은 특히이 두 요소로 구성

    작업 사이의 지연이
  • 시간이 만드는 동안 실행 실제로합니다 ('컨텍스트 스위칭 시간') 깨어과
  • 스케줄러 결정 (스케줄러의 실제 작업 더 이상 실제 작업에서 사용할 수없는 리소스를 사용합니다.)
+0

오케이, 그래서 내가 전체 부분을 오해 한 것을 의미합니까? 컨텍스트 스위칭 대기 시간이 증가하거나 프로세스 수에 따라 어떻게 달라 집니까? 그것은 실행 가능한 프로세스 목록을 살펴보고 우선 순위에 따라 실행될 프로세스를 결정합니다. 그러나 이것이 문맥 전환 시간을 그렇게 오래 걸릴 수 있습니까? – John

+1

[선점 형 멀티 태스킹] (http://en.wikipedia.org/wiki/Preemption_ (computing) #Preemptive_multitasking)의 요점은 공정성에 기반을 둔다는 것입니다. 실행중인 모든 스레드와 프로세스는 공정한 시간 할당을 받았습니다. 스케줄링에는 시간이 걸리고 알고리즘이 복잡해지면서 비용이 더 많이 드는 것은 분명합니다. 1000 프로세스와 우선 순위의 균형은 10보다 스케줄링에 더 많은 고통을 안겨주며 그 레벨에서 손실 된 슬라이스가 어디에서나 느낄 수 있습니다. –

+0

감사합니다. 나는 컨텍스트 스위칭이 발생할 때 TLB 엔트리의 플러시뿐만 아니라 실행 큐의 프로세스 대기 시간도 대기 시간을 증가 시킨다는 것을 발견했다. – John