xref: /freebsd/contrib/ntp/html/kern.html (revision 9c2daa00c2315f101948c7144d62af5d5fb515cf)
19c2daa00SOllivier Robert<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
29c2daa00SOllivier Robert
39c2daa00SOllivier Robert<html>
49c2daa00SOllivier Robert
59c2daa00SOllivier Robert    <head>
69c2daa00SOllivier Robert        <meta name="generator" content="HTML Tidy, see www.w3.org">
79c2daa00SOllivier Robert        <title>Kernel Model for Precision Timekeeping</title>
89c2daa00SOllivier Robert        <link href="scripts/style.css" type="text/css" rel="stylesheet">
99c2daa00SOllivier Robert    </head>
109c2daa00SOllivier Robert
119c2daa00SOllivier Robert    <body>
129c2daa00SOllivier Robert        <h3>Kernel Model for Precision Timekeeping</h3>
139c2daa00SOllivier Robert        <p><img src="pic/alice61.gif" alt="gif" align="left"> <a href="http://www.eecis.udel.edu/~mills/pictures.html">from <i>Pogo</i>, Walt Kelly</a></p>
149c2daa00SOllivier Robert        <p>Alice touched the kernel and it exploded.</p>
159c2daa00SOllivier Robert        <p>Last update: <csobj format="ShortTime" h="24" locale="00000409" region="0" t="DateTime" w="50">20:26</csobj> UTC <csobj format="LongDate" h="24" locale="00000409" region="0" t="DateTime" w="257">Monday, December 02, 2002</csobj></p>
169c2daa00SOllivier Robert        <br clear="left">
179c2daa00SOllivier Robert        <h4>Related Links</h4>
189c2daa00SOllivier Robert        <script type="text/javascript" language="javascript" src="scripts/links11.txt"></script>
199c2daa00SOllivier Robert        <hr>
209c2daa00SOllivier Robert        <p>The technical report [2], which is a major revision and update of RFC-1589 [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 algorithm, which is very similar to the algorithm implemented in the NTP daemon, provides automatic time and frequency steering with update intervals from a few seconds to tens of minutes.</p>
219c2daa00SOllivier Robert        <p>The hybrid PLL/FLL code described in [2] is included in Solaris and Digital/Compaq/HP Tru64. It includes two system calls <tt>ntp_gettime()</tt> and <tt>ntp_adjtime()</tt> and can discipline the system clock with microsecond resolution. However, newer hardware and kernels with the same system calls can discipline the clock with nanosecond resolution. The new code described in [1] is available for Linux, FreeBSD, SunOS and Tru64; however, only the Linux and FreeBSD implementations, which do not include licensed code, are readily available. The software and documentation, including a simulator used to verify correct behavior, but not involving licensed code, is available at <a href="ftp://ftp.udel.edu/pub/ntp/software/nanokernel.tar.gz">nanokernel.tar.gz</a>.</p>
229c2daa00SOllivier Robert        <p>The model also changes the way the system clock is adjusted in time and frequency relative to an external precision timing source, such as described in the <a href="pps.html">Pulse-per-second (PPS) Signal Interfacing</a> page. The NTP software daemon uses the PPS to provide synchronization limited in principle only by the accuracy and stability of the external timing source.</p>
239c2daa00SOllivier Robert        <h4>References</h4>
249c2daa00SOllivier Robert        <ol>
259c2daa00SOllivier Robert            <li>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="http://www.eecis.udel.edu/%7emills/database/papers/nano/nano2.ps">PostScript</a> | <a href="http://www.eecis.udel.edu/%7emills/database/papers/nano/nano2.pdf">PDF</a>, Slides: <a href="http://www.eecis.udel.edu/%7emills/database/brief/nano/nano.html">HTML</a> | <a href="http://www.eecis.udel.edu/%7emills/database/brief/nano/nano.ps">PostScript</a> | <a href="http://www.eecis.udel.edu/%7emills/database/brief/nano/nano.pdf">PDF</a> | <a href="http://www.eecis.udel.edu/%7emills/database/brief/nano/nano.ppt">PowerPoint</a>
269c2daa00SOllivier Robert            <li>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/%7emills/database/reports/kern/kerna.ps">PostScript</a> | <a href="http://www.eecis.udel.edu/%7emills/database/reports/kern/kerna.pdf">PDF</a>, Body: <a href="http://www.eecis.udel.edu/%7emills/database/reports/kern/kernb.ps">PostScript</a> | <a href="http://www.eecis.udel.edu/%7emills/database/reports/kern/kernb.pdf">PDF</a>
279c2daa00SOllivier Robert            <li>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/%7emills/database/rfc/rfc1589.txt">ASCII</a>
289c2daa00SOllivier Robert        </ol>
299c2daa00SOllivier Robert        <hr>
309c2daa00SOllivier Robert        <script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
319c2daa00SOllivier Robert    </body>
329c2daa00SOllivier Robert
339c2daa00SOllivier Robert</html>