[질문] 리눅스 커널 2.4에서~ 시계 프로그램을 만들 때 카운터를 어떤것을 사용해야 가장 정확할까요?

유훈이의 이미지

현재~

리눅스 제가 만든 리눅스 드라이버를 이용하여~!

장치에 날짜 및 시간을 띄울려고 하는데요^^;;

응용프로그램 작성중에~!

어떻게 시간을 흘러가게 할까? 고민하다~! 고수 프로그래머들이 모여있는 이곳에 질문을 해야겠다고 생각되어 왔습니다^^;;;

매 1초마다~ 값이 갱신되어야 하는데~ 이 매 1초를 카운터해줄~ 함수를 어떤것을 사용해야 할까요?

한달간 켜놓아도~ 1초의 오차도 없게 만들고 싶은데^^;;;

매번 카운터를 받고~ 현재 시간을 업데이트 해주는 루틴이 시간을 어느정도 잡아먹을테니;; 매번 조금씩 느려질거 같기도하고;;

(장치가 조금 후져서;;)

어떻게 해야할지 도움 주시면 감사하겠습니다^^~!

wariua의 이미지

업데이트 루틴에서 잡아먹는 시간 때문에 조금씩 느려지는 문제는 매번 현재 시각을 다시 구해서 다음 업데이트 시각까지 남은 시간만 기다리게 해주시면 됩니다.

한편 호스트의 하드웨어 클럭에 오차가 있으니 한 달에 1초의 오차도 없게 만들고 싶으시다면 타임 서버도 이용하셔야 합니다.

$PWD `date`