vxWorks에서 선점되면 타임 슬라이스는 어떻게 되나요?

StackOverflow https://stackoverflow.com/questions/89071

  •  01-07-2019
  •  | 
  •  

문제

Vxworks에서 라운드 로빈을 활성화하고 작업이 더 높은 우선순위 작업에 의해 선점되면 남은 시간 조각은 어떻게 되나요?

도움이 되었습니까?

해결책

작업이 실행을 재개하고 나머지 시간 조각을 완료합니다.

시간 분할에는 1 클럭 틱 단위가 있으므로 한 번의 틱 동안 발생하는 약간의 지터가 있습니다.

예를 들어:
10개의 시계 틱 시간 분할로 라운드 로빈을 활성화했습니다.1클럭 틱은 10ms입니다.시간 조각당 100ms를 예상합니다.
5ms(첫 번째 틱 중간)에 선점됩니다.95ms를 더 실행해야 하지만 VxWorks는 아직 10틱이 남아 있다고 간주합니다.

작업이 11ms에 CPU를 다시 가져오면 99ms를 더 실행하게 됩니다.
작업이 19ms에 CPU를 다시 가져오면 91ms를 더 실행하게 됩니다.

선점될 때마다 작업은 절대 시간에 +/- 1틱을 실행할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top