MacOSX86
5. Mac OS X on Intel
Ah, the time:
Please do this trick on your Mac computer: Try and set the Mac clock date (top left) to 1/1/2038. See what happens! Unbelievable, isn’t it?! The clock won’t move above that! This is a known issue since BSD core of OSX uses a 32 bit Unsigned Integer to provide the time variable. Given the fact that UNIX starts counting since its "birthday", GMT 00:00:00, Thursday, January 1, 1970, the largest possible value for this integer is 2^31-1 = 2,147,483,647 (over two billion seconds that is.)
Which means 2,147,483,647 seconds after UNIX’s birthday corresponds to GMT 03:14:07, Tuesday, January 19, 2038. One second later, many UNIX systems (yes including your beloved OSX) will revert to their starting date, which is (yes) January 1, 1970. You can read more about this bug on the official Project 2038 bug FAQ. So, we did find a bug after all in the OSX system! Big deal! We probably won’t have to worry about it since the computer technology will be so advanced after 32 years that there will be no problem at all! Right?
Wrong! A moral issue here is to see how the world is moving. Within a few days you’ll be asking yourselves if you are going to buy Windows™ Vista or not. Vista is a very nice looking OS and we think that it’s going to be a successful rival to its predecessor Windows™ XP; but there is a problem; for the first time in computer history, the OS fails to fulfil the demands of the hardware!
After 32 years, you will probably using a UNIX-oid operating system that uses the very same technique to count the seconds. Please consider that the 2038 bug is NOT in the hardware, but lies in the software. It doesn’t matter if the CPU of yours has 64 cores or even if its 1024bit extensions are on or off. It WILL count the seconds as a 32-bit unsigned integer; but we guess up until then someone will probably get another OS around that overrides the problem; except someone solves it sometime soon…