2009-08-26 2 views
4

저는 Linux OS를 사용하는 실시간 시스템에 관한 논문을 읽었으며 "스케줄링 지터"라는 용어는 정의없이 반복적으로 사용됩니다.스케줄링 지터는 무엇입니까?

스케줄링 지터는 무엇입니까? 무슨 뜻이에요?

답변

8

지터는 시간 기반 신호의 불규칙성입니다. 예를 들어, 네트워크에서 지터는 네트워크를 통한 패킷 대기 시간의 가변성입니다. 스케줄링에서, 나는 지터가 프로세스에 할당 된 시간 분할의 불평등을 가리킨다 고 가정하고있다.

더 읽기 여기 http://en.wikipedia.org/wiki/Jitter

+0

나는 이것을 받아 들일 수 있도록 도와 주었고, 중요한 부분을 나에게 주었다. 나는 내 자신의 대답이이 경우 좀 더 지적이라고 생각한다. 그러나 내 마음이나 내 논문을 읽을 수는 없으며,이 경우 내 대답이 가장 좋다고 생각하면 극도로 자기 중심적이라고 생각합니다. :) –

6

따라서는, 주어진 DJC의 대답, 질문에 내 의미 도메인에 대한 스케줄링 지터는 위의 것 :

예약 지터 : 시간의 조각의 불평등 프로세스에 할당 시스템 스케줄러에 의해 필요에 따라 발생합니다. 이러한 상황이 발생할 수있는 예는 다음과 같습니다. 실시간 환경의 모든 프로세스가 예약 된 시간당 100 밀리 초 이상의 프로세서 시간을 사용하는 요구 사항이있는 경우 150ms를 필요로하고 사용하는 프로세스는 상당한 오류를 발생시킵니다. 그 실시간 시스템에서 지터를 스케쥴링하는 것.

+0

감사. 핵심 아이디어는 분명합니다. 도메인에 맞게 공식화하는 방법을 정확히 알지 못했습니다. – djc

8

지터는 주어진 작업에 대한 후속 기간의 차이입니다. 실시간 OS에서 지터를 허용 가능한 수준으로 줄이는 것이 중요합니다. 다음은 지터 그림입니다. 실시간 운영 체제에서

Jitter

1

예약 지터는 프로세스에 대한 서로 다른 시간의 조각이 아니다. 지터는 이상적인 타이밍 이벤트로부터의 가변적 인 편차입니다. 스케줄링 지터는 작업이 시작될 시간과 작업이 시작될 때 사이의 지연 시간이 인 것입니다. 이 시작되었습니다. 예를 들어 10ms 후에 작업을 시작해야한다고 생각하면 어떤 이유로 든 15ms 후에 작업이 시작됩니다. 이 예에서 지터는 5ms입니다!

0

단순히 지터는 운영 체제 개념의 지연을 의미합니다. 스케줄링 지터는 실제 상대 시작 시간과 공칭 값의 차이를 의미합니다. 업 깨우 주기적 작업

5

스케줄링 지터 제 명령어의 실행 지점 systick의 발생

포인트 프로그램 실행 기간

이 개념을위한 예상되는 시간에서의 최대 편차이다 매우 중요 실시간 시뮬레이션 시스템. 내 경험은 실시간 시뮬레이션 업계 (주로 비행 시뮬레이션)에서 30 년이 넘었습니다. 이상적으로 절대 지터가 바람직하지 않으며 하드 실시간 스케줄링의 목표입니다.

예를 들어 실시간 시뮬레이션이 해당 시스템의 안정적이고 정확한 시뮬레이션을 생성하기 위해 400 Hz에서 특정 컴퓨터 프로그램을 실행해야한다고 가정합니다. 즉, 시스템이 매 2.5ms마다 프로그램을 실행할 것으로 기대해야합니다. 하드 실시간 시스템에서이를 달성하기 위해 고해상도 클럭을 사용하여 지터가 거의 제로가되도록 높은 우선 순위로 모듈을 예약합니다. 이것이 소프트 실시간 시뮬레이션 인 경우, 더 많은 양의 지터가 예상됩니다. 스케쥴링 지터가 0.1 msec이면, 그 프로그램의 시작 지점은 매 2.5 msec +/- 0.1 msec (또는 그 이하)이다. 프로그램을 실행하는 데 2.3 밀리 초 이상 걸리지 않는 한 허용됩니다. 그렇지 않으면 프로그램이 "오버런"할 수 있습니다.그런 일이 발생하면 결정론은 사라지고 시뮬레이션은 충실합니다.

+1

이 질문을 쉽게 따르기 위해, 아마도 약간의 스케쥴러 지터가 실제로 무엇인지를 설명하기 위해 약간 수정하고 _is_ 왜 중요한지 설명해 주시겠습니까? 당신이 지금 그것을 썼기 때문에 그것이 무엇인지에 대한 설명은 정확하게 숨겨져 있습니다. –