본문 바로가기
전자/임베디드 시스템

Task Overrun과 실행시간

by Begi 2022. 3. 22.
반응형

Task Overrun은 인터럽터에서 태스크가 실행될 때 태스크 실행시간이 인터럽터 주기를 넘어가는 것을 의미한다. 1초에 인터럽터를 100번 실행하는 프로그램이 있을 때 Task Overrun이 발생하면 태스크가 한번 씩 빠지면서 1초에 100번 미만으로 실행되게 된다.

 

5ms 미만의 태스크

5ms 주기로 실행되는 인터럽터가 있을 때 다음 그림과 같이 나타낼 수 있다.

 

 

만약 INT#1보다 우선순위가 높은 태스크 INT#2가 샐행된다면 다음 그림과 같다.

 

 

위 그림에서 INT#1 실행 주기가 5ms에서 7ms로 한번 늘어나고 다음 인터럽터 주기는 3ms로 줄어든다. 하지만 전체적으로 실행되는 총 횟수는 변하지 않는다.

 

INT#2 실행시간이 5ms 미만일 때 INT#1의 실행 주기는 0~10ms로 변동될 수 있다. 하지만 총 실행 횟수는 변하지 않는다.

 

5ms 이상의 태스크

우선순위가 높은 태스크 INT#2의 실행 시간이 5ms이라면 다음 그림과 같다.

 

 

위 그림에서는 INT#1의 실행이 한번 빠지면서 실행되는 총 회수가 줄어든다.

 

INT#2의 실행시간이 0~5ms이면 실행이 빠지지는 않는다. INT#2의 실행시간이 5~10ms이면 1번이 빠지고 10~15ms이면 2번이 빠지고 15~20ms이면 3번이 빠진다.

 

반응형

'전자 > 임베디드 시스템' 카테고리의 다른 글

라즈베리 파이 SPI 속도  (0) 2022.04.01
오렌지 파이 개요  (0) 2022.03.31
MPU-6050 I2C 통신  (0) 2022.03.22
STM32에서 ADXL345 사용하기  (0) 2022.03.04
STM32 SPI 통신 절차  (0) 2022.02.24

댓글