diff options
Diffstat (limited to 'contrib/ntp/html/kern.htm')
-rw-r--r-- | contrib/ntp/html/kern.htm | 171 |
1 files changed, 121 insertions, 50 deletions
diff --git a/contrib/ntp/html/kern.htm b/contrib/ntp/html/kern.htm index b1ee383d7ee3..4139fb2e612b 100644 --- a/contrib/ntp/html/kern.htm +++ b/contrib/ntp/html/kern.htm @@ -1,51 +1,122 @@ -<HTML><HEAD><TITLE> -A Kernel Model for Precision Timekeeping -</TITLE></HEAD><BODY><H3> -A Kernel Model for Precision Timekeeping -</H3><HR> - -<P>The technical memorandum: <I>A Kernel Model for Precision -Timekeeping</I><A -HREF="http://www.eecis.udel.edu/~mills/database/memos/memo96b.ps"> -(PostScript) </A>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 using phase-lock -loops (PLL) and frequency-lock loops (FLL) often found in the -engineering literature. The model uses a hybrid PLL/FLL discipline -algorithm implemented in the kernel. The hybrid loop provides automatic -time and frequency steering with update intervals from a few seconds to -over one day. - -<P>The hybrid PLL/FLL has been implemented in the Unix kernels for -several workstations, including those made by Sun Microsystems, Digital -and Hewlett Packard. Currently, the modifications are in licensed -kernels for Digital Unix 4.0 and Sun Solaris 2.6. Since these specific -implementations involve modifications to licensed code, they cannot be -provided directly. Inquiries should be directed to the manufacturer's -representatives. In addition to the licensed kernels, the hybrid PLL/FLL -has been implemented in the nonlicensed kernels for Linux and FreeBSD. -The engineering model for these implementations, including a simulator -with code segments almost identical to the implementations, but not -involving licensed code, is available via the web at <A -HREF="http://www.eecis.udel.edu/~mills/ntp/ntp">kernel.tar.Z</A> or by -anonymous FTP from ftp.udel.edu in the <TT>pub/ntp</TT> directory. - -<P>The model changes the way the system clock is adjusted in time and -frequency, as well as provides mechanisms to discipline its time and -frequency to an external precision timing source, such as a pulse-per- -second (PPS) signal. The model incorporates a generic system-call -interface for use with the Network Time Protocol (NTP) or similar time -synchronization protocol. The NTP software daemons for Version 3 -<TT>xntpd</TT> and Version 4 <TT>ntpd</TT> operate with this model -to provide synchronization limited in principle only by the accuracy and -stability of the external timing source. There are two new system calls -defined in the model, <TT>ntp_gettime()</TT>, which returns a structure +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> +<meta name="generator" content="HTML Tidy, see www.w3.org"> +<title>Kernel Model for Precision Timekeeping</title> +</head> +<body> +<h3>Kernel Model for Precision Timekeeping</h3> + +<hr> +<img align="left" src="pic/alice61.gif" alt="gif"> <a href= +"http://www.eecis.udel.edu/~mills/pictures.htm">from <i>Pogo</i>, +Walt Kelly</a> + +<p>Exploding kernel<br clear="left"> +</p> + +<hr> +<p>The technical report [2], which is a major revision and update +of an earlier report [3], describes an engineering model for a +precision time-of-day function for a generic operating system. The +model is based on the principles of disciplined oscillators using +phase-lock loops (PLL) and frequency-lock loops (FLL) often found +in the engineering literature. The model uses a hybrid PLL/FLL +discipline algorithm implemented in the kernel. The hybrid loop +provides automatic time and frequency steering with update +intervals from a few seconds to over one day.</p> + +<p>The hybrid PLL/FLL has been implemented in the Unix kernels for +several operating systems, including FreeBSD and Linux and those +made by Sun Microsystems, Digital/Compaq and Hewlett Packard. The +modifications are currently included in the licensed kernels for +Digital Unix 4.0 (aka Tru64) and Sun Solaris 2.8. Since the +modifications involve proprietary kernel interface code, they +cannot be provided for other licensed kernels directly. Inquiries +should be directed to the manufacturer's representatives. The +software and documentation, including a simulator with code +segments almost identical to the implementations, but not involving +licensed code, is called <tt>nanokernel.tar.gz</tt> and available +via the web at <a href="http://www.ntp.org">www.ntp.org</a> or by +anonymous FTP from ftp.udel.edu in the <tt>pub/ntp/software</tt> +directory.</p> + +<p>Recently [1], the model has been re-implemented to support a +nanosecond system clock. The <tt>/usr/include/sys/timex.h</tt> +header file defines the applications programming interface (API) +routines and data structures. Implementations are available for +Linux, FreeBSD, SunOS and Tru64; however, only the Linux and +FreeBSD implementations, which are included in recent system +versions, are directly available. The software and documentation, +including a simulator with code segments almost identical to the +implementations, but not involving licensed code, is called <tt> +nanokernel.tar.gz</tt> and available via the web at <a href= +"http://www.ntp.org">www.ntp.org</a> or by anonymous FTP from +ftp.udel.edu in the <tt>pub/ntp/software</tt> directory.</p> + +<p>The model changes the way the system clock is adjusted in time +and frequency, as well as provides mechanisms to discipline its +time and frequency to an external precision timing source, such as +described in the <a href="pps.htm">Pulse-per-second (PPS) Signal +Interfacing</a> page. The model incorporates a generic system call +interface for use with the NTP or similar time synchronization +protocol. The NTP software daemons for Version 3 <tt>xntpd</tt> and +Version 4 <tt>ntpd</tt> use this API to provide synchronization +limited in principle only by the accuracy and stability of the +external timing source. There are two new system calls defined in +<tt>timex.h</tt>, <tt>ntp_gettime()</tt>, which returns a structure including the current time, estimated error and maximum error, and -<TT>ntp_adjtime()</TT>, which provides a means to adjust kernel -variables, including the current time and frequency offsets. Further -information on the calling sequences and variable definitions are in the -<TT>/usr/include/sys/timex.h</TT> file. - -<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a -href=mailto:mills@udel.edu> David L. Mills <mills@udel.edu></a> -</address></a></body></html> +<tt>ntp_adjtime()</tt>, which provides a means to adjust kernel +variables, including the current time and frequency offsets.</p> + +<p>These kernel modifications are normally used in conjunction with +a kernel hardware interface such as described in the <a href= +"kernpps.htm">Kernel Programming Interface for Precision Time +Signals</a> page.</p> + +<h4>References</h4> + +<ol> + +<li><p>Mills, D.L., and P.-H. Kamp. The nanokernel. <i>Proc. Precision +Time and Time Interval (PTTI) Applications and Planning Meeting</i> +(Reston VA, November 2000). Paper: <a href= +"database/papers/nano/nano2.ps">PostScript</a> | <a href= +"http://www.eecis.udel.edu/~mills/database/papers/nano/nano2.pdf"> +PDF</a>, Slides: <a href= +"http://www.eecis.udel.edu/~mills/database/brief/nano/nano.htm"> +HTML</a> | <a href= +"http://www.eecis.udel.edu/~mills/database/brief/nano/nano.ps"> +PostScript</a> | <a href= +"http://www.eecis.udel.edu/~mills/database/brief/nano/nano.pdf"> +PDF</a> | <a href= +"http://www.eecis.udel.edu/~mills/database/brief/nano/nano.ppt"> +PowerPoint</a></p></li> + +<li><p>Mills, D.L. Unix kernel modifications for precision time +synchronization. Electrical Engineering Department Report 94-10-1, +University of Delaware, October 1994, 24 pp. Abstract: <a href= +"http://www.eecis.udel.edu/~mills/database/reports/kern/kerna.ps"> +PostScript</a> | <a href="database/reports/kern/kerna.pdf">PDF</a>, +Body: <a href= +"http://www.eecis.udel.edu/~mills/database/reports/kern/kernb.ps"> +PostScript</a> | <a href= +"http://www.eecis.udel.edu/~mills/database/reports/kern/kernb.pdf"> +PDF</a></p></li> + +<li><p>Mills, D.L. A kernel model for precision timekeeping. Network +Working Group Report RFC-1589, University of Delaware, March 1994. +31 pp. <a href= +"http://www.eecis.udel.edu/~mills/database/rfc/rfc1589.txt"> +ASCII</a></p></li> +</ol> + +<hr> +<a href="index.htm"><img align="left" src="pic/home.gif" alt= +"gif"></a> + +<address><a href="mailto:mills@udel.edu">David L. Mills +<mills@udel.edu></a></address> +</body> +</html> + |