Skip navigation.
 
mlRe: Hardware Clock
FROM : Ed Wynne
DATE : Sat Jul 08 19:59:20 2006

On Jul 8, 2006, at 7:00 AM, Gerriet M. Denkmann wrote:

>
> On 08.07.2006, at 08:48, Ed Wynne wrote:
>

>>
>> On Jul 8, 2006, at 1:38 AM, Gerriet M. Denkmann wrote:

>>> The problem: whenever (B) is initialized from (A) a random value 
>>> in the range -0.5 ... +0.5 seconds is added to the time.
>>> To test: make the time (B) equal to the correct wall clock time. 
>>> Sleep. Awake. Compare time to wall clock. See difference of 
>>> -0.5 ... +0.5 seconds.

>>
>> The hardware clock is probably only second accurate and its likely 
>> the OS only samples it once, instead of polling for the next 
>> second increment. This would save about .5s (on average) from the 
>> wakeup time.

>
> Yes; further proof for this is the fact that the system time after 
> awakening always starts with a full second (no fractional part).
>
> But: if the OS can poll the hardware clock, why can't I?


You could, if you knew how... and were sufficiently motivated.

Apple does not provide an API or document how to do this. On OS X 
you'll need a kext to talk to the SMU for current machines, the PMU 
on slightly older machines, and god knows what on even older 
machines. It also used to be different for laptops vs desktops, I 
don't know if it still is. So how do you do it? Get the appropriate 
linux kernel source and go spelunking, they've figured most of it out.

-Ed

Related mailsAuthorDate
mlHardware Clock Gerriet M. Denkman… Jul 7, 11:26
mlRe: Hardware Clock Damien Bobillot Jul 8, 00:17
mlRe: Hardware Clock Shawn Erickson Jul 8, 00:21
mlRe: Hardware Clock Gerriet M. Denkman… Jul 8, 07:38
mlRe: Hardware Clock Ed Wynne Jul 8, 08:48
mlRe: Hardware Clock Gerriet M. Denkman… Jul 8, 13:00
mlRe: Hardware Clock Ed Wynne Jul 8, 19:59