kern.adoc 2.89 KB
Newer Older
James Browning's avatar
James Browning committed
1
= Kernel Model for Precision Timekeeping
2
include::html.include[]
3 4

image:pic/alice61.gif[]
5
{millshome}pictures.html[from 'Pogo', Walt Kelly]
6 7 8

Alice finds the kernel a house of cards.

James Browning's avatar
James Browning committed
9
== Related Links
10

11
include::includes/misc.adoc[]
12 13 14 15 16 17

'''''

The technical report [2], which is a revision and update of an earlier
report [3], describes an engineering model for a precision clock
discipline function for a generic operating system. The model is the
18
same hybrid phase/frequency-lock feedback loop used by +ntpd+, but
19 20
implemented in the kernel. The code described in [2] is included in
Solaris and Digital/Compaq/HP Tru64. It provides two system calls
21
+ntp_gettime()+ and +ntp_adjtime()+ and can discipline the system clock
22 23 24 25 26 27
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 in FreeBSD, Linux and
Tru64. The software and documentation, including a simulator used to
verify correct behavior, but not involving licensed code, is available
in the
28
https://www.eecis.udel.edu/~ntp/ntp_spool/software/nanokernel.tar.gz[nanokernel.tar.gz]
29
distribution.
30 31 32

Ordinarily, the kernel clock discipline function is used with the NTP
daemon, but could be used for other purposes. The
33
link:ntptime.html[ntptime] utility program can be used to control it
34 35 36 37 38 39
manually.

The kernel model also provides support for an external precision timing
source, such as described in the link:pps.html[Pulse-per-second (PPS)
Signal Interfacing] page. The new system calls are used by the
link:kernpps.html[PPSAPI interface] and in turn by the
40
link:driver_pps.html[PPS Clock Discipline] driver to
41 42 43 44
provide synchronization limited in principle only by the accuracy and
stability of the external timing source. Typical results with the PPS
signal from a GPS receiver and a modern computer are in the 3 μs range.

James Browning's avatar
James Browning committed
45
== References
46 47 48 49

1.  Mills, D.L., and P.-H. Kamp. The nanokernel. _Proc. Precision Time
and Time Interval (PTTI) Applications and Planning Meeting_ (Reston VA,
November 2000). Paper:
50
{millshome}database/papers/nano/nano2.ps[PostScript]
51
|
52
{millshome}database/papers/nano/nano2.pdf[PDF],
53
Slides:
54 55 56
{millshome}database/brief/nano/nano.ps[PostScript]
| {millshome}database/brief/nano/nano.pdf[PDF] |
{millshome}database/brief/nano/nano.ppt[PowerPoint]
57 58 59
2.  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:
60
{millshome}database/reports/kern/kerna.ps[PostScript]
61
|
62
{millshome}database/reports/kern/kerna.pdf[PDF],
63
Body:
64
{millshome}database/reports/kern/kernb.ps[PostScript]
65
|
66
{millshome}database/reports/kern/kernb.pdf[PDF]
67
3.  Mills, D.L. A kernel model for precision timekeeping. Network
68
Working Group Report RFC 1589, University of Delaware, March 1994. 31
69
pp. {millshome}database/rfc/rfc1589.txt[ASCII]
70 71 72

'''''

73
include::includes/footer.adoc[]