> On Wed, 4 Dec 96 11:44:31 EST, W. Wesley Groleau (Wes) wrote:
> >Ada.Real_Time.Clock in gnat HP or Solaris is not really monotonic, since
> >it calls the C/Unix 'gettimeofday' (stupid name for a routine that tells
> >seconds since 1970), which can have backward jumps and large forward jumps
> >if someone with privileges calls 'settimeofday'
> It will on almost any system be the case that somebody with
> sufficient rights can alter the value of any system clock.
> Only systems that have a hardware clock that is
> 1) not (re-)setable by software
> 2) not (re-)setable by hardware without termination of program execution
> 2) has a resolution of 1 millisecond or less
> 3) has a duration of 50 years or longer
> will be able to provide "real" monotonic time in the strict way you seem
> to expect. Note that such a hardware-clock requires 41 bits. I do not
> know any popular system that meets these requirements. So, the hardware
> limits you.
I like your use of the term "popular system hardware". The way you
said it perhpas implies that you are familar with the 71-bit clocks
on the GE/Honeywell GECOS/GCOS 3/GCOS 8/Multics that had all of the
characteritics we need. And that's 1968 time-frame or so. Of course
those machines did 71-bit + sign arithmetic in one machine-instruction,
so doing time right was a trivial matter (well, anyhow, relatively easy).
Isn't it insteresting how "unuseful" "modern" hardware can be?