Running out of time

In this post, I said that Linux keeps time by counting seconds. So, here’s a good question: Is there a number that Linux can’t count past? I mean, if you sat there and counted, you could keep going and going and going until you fell asleep. Linux doesn’t actually fall asleep, it keeps counting… until it can’t. We’ll call it the ‘Running out of Time’ problem.

It’s not like when the good guy runs out of time trying to stop the bomb and everything explodes.

Time is Running Out

Running out of Time

Your system isn’t going to explode! I promise. It just runs out of ways to keep counting.

Most systems today are 32 bit systems or 64 bit systems. That 32-bit (or 64-bit) refers to several different internal operations of your system. We’re going to talk about what it means in terms of numbers. If your system is a 32 bit system, that means the largest number it can store is 2^32. That’s 4294967296. That looks like a big number, doesn’t it? It seems like it’d take a while to count that high. If your system is a 64 bit system, the largest number it can store is 2^64. That’s 2^32 squared or 4294967296 squared. That’s.. a REALLY big number.

The running out of time problem has to do with 32 bit systems.  On January 19, 2038, the number of seconds from January 1, 1970 is going to be larger than 4294967296.  Your 32 bit system isn’t going to be able to count any higher than that and, well, interesting things will happen, or won’t happen.

Running out of Time

Running out of Time

Your 64-bit system doesn’t have that problem, since it can count so much higher than your 32-bit system.

Is there a solution for this problem? Well, no. There’s a lot of smart people working on it though. Those smart people don’t include Tony Stark or Dr. Strange or even Batman, but they’re going to figure it out. Hopefully before January 19, 2038.

Leave a Reply

Your email address will not be published. Required fields are marked *