Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Why are some operating systems labeled 32-bit and others 64-bit? If the processor is the one doing the actual execution, why does the operating system care about how many bits are used?

share|improve this question

closed as off-topic by Robert Harvey, dan_waterworth, delnan, Jimmy Hoffa, Thomas Owens Jul 1 '13 at 17:41

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about the use of general computer hardware or software are off-topic, but can be asked on Super User." – dan_waterworth, delnan, Thomas Owens
If this question can be reworded to fit the rules in the help center, please edit the question.

What gives the bits to the processor to process? –  Mike Jul 1 '13 at 17:16
@Mike but is it called 64 bits because the operating sistem can send 64 bits per second of information or something like that lol xD –  user95403 Jul 1 '13 at 17:23
It is called 64 bits because it is capable of processing information in 64 bit chunks, and to address physical memory using 64 address lines (greatly oversimplifying). –  Robert Harvey Jul 1 '13 at 17:24
so @RobertHarvey i was no 100% wrong, coz its called 64 bits because he processes the information by 64 bits in a period of time –  user95403 Jul 1 '13 at 17:27
It's not quite correct to say it processes 64 bits "in a period of time". @RobertHarvey's statement is more correct in that it is 64 bit chunks. Think of it like the difference between a 64 lane freeway instead of a 32 lane freeway. (Not the greatest metaphor, perhaps.) A 64-bit processor generally takes data in 64-bit chunks (no more, no less) at a speed based on the clock-speed. –  Steven Burnap Jul 1 '13 at 19:29

1 Answer 1

In the hopes of giving you a better idea of how this all works together, I'm going to break this down into a few different sections. Feel free to skip sections you feel confident you know enough about.

Operating Systems

Operating systems are large pieces of software that manage the resources of the computer and allocate them out to other applications running on the system. Windows is an example of one operating system, just like OSX or Ubuntu. These don't do anything by themselves, they rely on other applications to do real work, like word processors, or web browsers. Once an operating system is written, it gets compiled, that is it goes from being human readable code to a long string of 1s and 0s that the processor understands.


Processors are the actual machines that run the compiled code and do certain things based on the code they are given. They are actually rather simple and do very small operations, like adding two numbers, or fetching a piece of data out of memory. The reason they are so powerful is because they can do billions of these small, seemingly insignificant operations per second.

64 bit vs 32 bit

This is where we get into your question. You asked what the difference between 32 bit and 64 bit processors were, and the difference is how information is fed to the processor. If it is a 32 bit processor, the operating system's code gets compiled down to 32 bit chunks, that is a set of 1s and 0s that is exactly 32 numbers long. If it were a 64 bit, or 128, or 2304981234 bit processor, it would get compiled to being exactly that many bits long.

Why does it matter?

Well, if you have a set of 1s and 0s, there are a finite number of different combinations that can go into that set right? Lets take a simple example of a 2 bit processor. It only accepts 2 bits for every operation. We can list all the possibilities here:

00 01 10 11

This means that our system can only ever run 4 operations, so we need to string those operations together in some meaningful order to get it to do anything considered useful. With a 32 bit operating system, it's the same concept, but with many, many more possible instructions, but when you start trying to include data in with the instructions, you use up some of the bits as well, and before you know it, pretty soon we are out of instructions to use. Then we just have to be more creative with how we put the instructions together in order.

With 64 bits, we gain more instructions, allowing for things that take 2-3 instructions to possibly be turned into 1 instruction, which doesn't really seem like much, but when you are doing upwards of billions of operations per second, the gains can be HUGE!

share|improve this answer
When you say "they contain instructions that are 64 bits long" do you mean the OS or the processor? Your bullet point 1 could be a little clearer. –  Robert Harvey Jul 1 '13 at 17:18
Right. And you've already become probably too technical for the OP's level of understanding. I've voted to close this question as "too broad." –  Robert Harvey Jul 1 '13 at 17:23
@RobertHarvey I don't think it's too broad. It is answerable, on topic, and not particularly subjective (though 32 vs 64 has some room for debate, as I'm sure you already know). I agree the OP might not understand the answer, but that's not grounds for closing, is it? If Programmers.SE cannot explain why an OS is labeled 32 or 64 bits, then... shame on us ;) –  Andres F. Jul 1 '13 at 17:28
Andres makes good points, but I think this question is better asked on Super User. –  Brian Jul 1 '13 at 17:40
@AndresF. How's that? Didn't have time to break it down any more but I think it gives a brief overview of the whole thing –  Ampt Jul 1 '13 at 17:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.