다음 이전 차례

3. xntpd에 대해서

컴퓨터에는 실제로는 2개의 시계가 있습니다. 하나는 충전지로 가동되는 ``실시간 시계(real time clock)'' 이라는 것인데 시스템이 꺼져 있을 때도 계속 돌아가면서 시간을 기억하고 있습니다. (다른 말로는 ``CMOS 시계'', ``하드웨어 시계'', ``RTC'' 라고도 합니다) 두번째는 ``커널 시계'' 인데 이것은 처음 부팅 시에 CMOS 시계에 의해서 맞춰 진 다음 타이머 인터럽트에 의해서 갱신됩니다. (이것은 ``소프트웨어 시계'' 또는 ``시스템 시계'' 라고도 합니다). 이 두 개는 둘 다 조금씩, 서로 다른 정도로 틀리기 때문에 시간이 지나면 두 개 모두 정확한 시간과 차이가 커 질 뿐만 아니라 두 개 간에도 서로 조금 씩 차이가 커지게 됩니다.

xntp 문서에서 ``시계 (the clock)'' 이라고 한 것은 모두 ``커널 시계''를 의미하고 있습니다. xntp나 timed (또는 adjtimex() 시스템 콜을 사용하는 다른 프로그램) 를 사용하는 경우, 커널 시계가 CMOS 시계 보다 더 정확하다고 가정하고 매 11분 마다 CMOS 시계를 다시 맞춥니다. (시스템을 리붓 하기 전까지 계속 됩니다). 다시 말해서 ``clock'' 명령을 사용할 때 CMOS 시계가 언제 리셋 되었는지 알 수가 없고, /etc/adjtime에 적을 교정 계수를 계산 할 수가 없게 된다는 것입니다.

Xntpd는 여러가지 하드웨어 `라디오 시계 (radio clock)' 장치를 지원 하므로, 주기적으로 NIST 등에서 제공하는 시보 서비스에 전화로 접속하여 시간을 맞출 수 있게 되어 있습니다. (전화를 거는 시간 간격을 지정할 때는 전화 요금에도 신경을 쓰십시오.) 이것 (xntpd)는 또한 일정 시간 이상 (NIST 서버등의) 외부 시보를 참조 할 수 없는 상황이 생기더라도 교정 계수를 이용해서 커널 시계를 조정 할 수 있게 되어 있습니다.

대개 `라디오 시계' 장치는 3000 4000 달러 정도 가격이지만, 간단한 ``기계장치 (gadget box)'' (실제로는 300 baud의 모뎀) 를 시스템과 캐나다의 CHU 시보국에 다이얼을 맞춰 둔 단파 라디오에 연결해서 사용해 볼 수도 있습니다. (<ftp://ftp.udel.edu/pub/ntp/gadget.tar.Z>를 참조 하십시오). Heathkit WWV 수신기 (``가장 정확한 시계'' 라고 광고 하던 제품) 도 사용할 수 있는데 이건 약 400 500 달러 정도 합니다. GPS 신호도 시간 정보를 포함하고 잇고 어떤 GPS 수신기는 컴퓨터의 직렬 포트에 연결할 수 있게 되어 있습니다. 가까운 장래에 이러한 GPS 수신기를 싼 가격에 구입할 수 있게 될 지도 모릅니다.

이론대로 하자면, NIST의 전화 시보 서비스에 자동으로 접속해서 교정계수를 자동으로 계산하고 CMOS 시계와 커널 시계를 자동으로 교정 해 주는 프로그램을 만드는 것도 가능합니다. 아직까지는 이런 기능을 가진 프로그램을 보지는 못했지만, 만약 만들려고 한다면 xntpd의 소스만 참조 해도 대부분의 기능을 구현 할 수 있을 것입니다.

역주1) NIST : National Institutes of Standards and Technology, 미국 표준기술국

역주2) USNO : U.S. Naval Observatory 미 해군 관측소

역주3) WWV : NBS (미국 표준국)에서 관리하는, 표준 시보 방송국 전화를 통한 시보 안내 서비스도 제공하고 있슴. 한국의 경우 116으로 전화를걸면 시보 안내가 나옵니다.

--이상--


다음 이전 차례