Embedded linux 의 SW clock 이 느려지는 문제
1.
Embedded linux 에서 Qt Lib. 를 사용하여 작성된 GUI application 을 수행 시킬경우 SW clock (OS 의 시계)이 느려지는 것은 왜 그런가요?
제가 알기로는 Linux os 는 많은 연산을 필요로 하는 application 이 수행되고 있으면 오차가 발생한다고 알고 있는데,
정확하게 왜 그런지는 이해가 되지 않습니다.
고수님들께서 참고할 자료나 설명 부탁드립니다.
2.
제가 시리얼 통신기능을 테스트하는 과정에서 힌트를 발견했습니다.
수신관련 함수 호출이 되지 않도록 주석 처리하고, 송신관련 함수만
호출 되도록하여 테스트한 결과 30sec 마다 1sec 의 시간 지연이 있습니다.
스레드 에서 송신을 위하여 일정 주기 마다 write()함수를 호출하고 있습니다.
이 write()함수가 문제를 일으키는 것으로 추정되는데 스레드 안에서는 write()
함수를 사용하면 문제가 발생하나요?
경험이 하신 분 있으신가요?
-- 테스트 결과 --
GUI Application 실행 하지 않음 : 24h 마다 8sec 씩 느려짐.
GUI Application 실행 : 30 sec 마다 1sec 씩 느려짐.
-- Target system 환경 --
Linux kernel : 2.6.24
network : 사용 불가.
RTC clock : 사용가능.
time server : 사용안함
crotab에 등록된 시간 보정: 사용안함
댓글 달기