> > 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? Cheers, ..Paul