John Hawkinson skrev:
(chiming in a bit late...)
Tony Finch <[email protected]> wrote on Thu, 1 Jan 2009
at 06:10:59 +0000 in
<[email protected]>:
Wednesday's PM on Radio 4 included an item about the way the keepers of
the Big Ben clock handled the leap second. They slowed it down for several
hours by removing a stack of old coins from a plate near the top of the
pendulum to lower its centre of gravity. They replaced them again when it
had lost a seond. Rubber seconds, 19th century style!
This is exactly how Unix systems handle changing the clock!
From the Solaris adjtime(2) manpage:
DESCRIPTION
The adjtime() function adjusts the system's notion of the
current time as returned by gettimeofday(3C), advancing or
retarding it by the amount of time specified in the struct
timeval pointed to by delta.
The adjustment is effected by speeding up (if that amount of
time is positive) or slowing down (if that amount of time is
negative) the system's clock by some small percentage, gen-
erally a fraction of one percent. The time is always a mono-
tonically increasing function. A time correction from an
earlier call to adjtime() may not be finished when adjtime()
is called again.
Not exactly, this is the old interface. Many uses a new interface when
doing NTP to achieve better performance. Instead ntp_adjtime() is used.
The idea is similar thought. What happend was the the control loop was
moved into the kernel for better performance. Implemented on many
systems. For more info see:
http://www.cis.udel.edu/~mills/resource.html#micro
You could of course to some degree steer the clock on a machine by
changing the computing load on it, as the tempco of most systems crystal
is pretty bad. It would kinda work except when it is out of
controlrange. I would not recommend such a tuning method, but it would
be on the levels of those coins.
It is noteworthy that it is an old set of coins. Choosing a new set
would require retuning of the set of coins being used. I would not mind
seeing a measurement log from Big Ben...
Cheers,
Magnus
_______________________________________________
LEAPSECS mailing list
[email protected]
http://six.pairlist.net/mailman/listinfo/leapsecs