A Kernel Model for Precision Timekeeping

David L. Mills · 1994

This memo provides information for the Internet community.This memo does not specify an Internet standard of any kind.Distribution of this memo is unlimited. OverviewThis memorandum describes an engineering model which implements a precision time-of-day function for a generic operating system.The model is based on the principles of disciplined oscillators and phase-lock loops (PLL) often found in the engineering literature.It has been implemented in the Unix kernel for several workstations, including those made by Sun Microsystems and Digital Equipment.The model changes the way the system clock is adjusted in time and frequency, as well as provides mechanisms to discipline its frequency to an external precision timing source.The model incorporates a generic system-call interface for use with the Network Time Protocol (NTP) or similar time synchronization protocol.The NTP Version 3 daemon xntpd operates with this model to provide synchronization limited in principle only by the accuracy and stability of the external timing source.This memorandum does not obsolete or update any RFC.It does not propose a standard protocol, specification or algorithm.It is intended to provoke comment, refinement and alternative implementations.While a working knowledge of NTP is not required for an understanding of the design principles or implementation of the model, it may be helpful in understanding how the model behaves in a fully functional timekeeping system.The architecture and design of NTP is described in [1], while the current NTP Version 3 protocol specification is given in RFC-1305 [2] and a subset of the protocol, the Simple Network Time Protocol (SNTP), in RFC-1361 [4].The model has been implemented in three Unix kernels for Sun Microsystems and Digital Equipment workstations.In addition, for the Digital machines the model provides improved precision to one microsecond (us).Since these specific implementations involve modifications to licensed code, they cannot be provided directly.Inquiries should be directed to the manufacturer's representatives.However, the engineering model for these implementations, including a Mills[Page 1] RFC 1589 Kernel Model for Precision Timekeeping March 1994 simulator with code segments almost identical to the implementations, but not involving licensed code, is available via anonymous FTP from host louie.udel.edu in the directory pub/ntp and compressed tar archive kernel.tar.Z.The NTP Version 3 distribution can be obtained via anonymous ftp from the same host and directory in the compressed tar archive xntp3.3g.tar.Z, where the version number shown as 3.3g may be adjusted for new versions as they occur.Kernel Model for Precision Timekeeping March 1994 installation instructions are given in a specific README files included in the kernel distributions.RFC 1589 Kernel Model for Precision Timekeeping March 1994 6.3.External Oscillator Definitions The following definitions and declarations are used only if an external oscillator (HIGHBALL or TPRO) is configured on the system.#define CLOCK_INTERVAL 30 /* CPU clock update interval (s) */ 7. References

Read the paper · More papers on PaperTik