Here is my friend Telling some facts about Microsoft..... Below that i have justified my views....Mail me if my concept is wrong anywhere.
My Friend writes:
Hi,
DO u know about this?
Will Windows work continuously for more than 49.7
days?
Here is a bit of information, which may surprise you
all. Windows crashes automatically if you don't switch
off the machine for 49.7 Days. Microsoft accepts this. Do you know
why? If not read this.
In Windows the Virtual Machine Manager (here after
referred as VMM) is responsible for creation,
execution, monitoring and termination
of virtual machines. This VMM, which is a 32 bit,
protected mode operating system entity, provides a
number of system services at chip level. One of these services is
"Get_System_Time". This particular service loads the
EAX register with the time in milliseconds since
Windows started on that machine. This service is
accurate to 1 ms. EAX is a 32 bit register in Intel
386 Processor onwards.
So the maximum number of milliseconds it can hold is
(232)-1 = 4294967295 milliseconds = 4294967.295
seconds = 71582.79 minutes = 1193 hours = 49.7 days
So after 49.7 days the EAX resets to zero. Most of the
Drivers use this Time Service to keep track of the
timeout of various services they provide. So after 49.7 days the drivers
cannot use the get_System_Time function of VMM and
they crash taking the OS along with.
byeMy Views:Hi friends,
I am disagree with the fact that Microsoft Windows crashes due to size of EAX register (32-bits). I have some justifications below. If i am wrong somewhere then plz inform me.
First of all Intel's 286 architecture was also 32 bits only and EAX register was 32 bits register there.
Second, Windows doesnt store system time in any resister instead it maintains data structure in which it stores sec, min, hours , day ,month....etc
All these fields are int,so there is no question of register to be overflown.
Third, as mentioned time is updated every 1ms. Now EAX is accumulator and used for other purposes (like arithmatic operations, storing return values, etc).. so in order to retain value of current time ,value of this register should be saved when other process is running. Since time changes at every 1ms ,windows has to switch its context every 1ms which it never does(not operationally feasible).
Fourth, nattive of VMS operating system can on Pentium machines. It is called charon-VAX.
So it should also be using one of the register to store time.(I am not sure)... but for last 26 years VMS has never hanged.
So i dont think Windows hangs due to that reason.Anyway Intel and AMD have come up with 64 bit processors, hence Windows should never hang on that.
Regards,
Dhaval Makawana