Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I understand that due to physical construction, CPUs come in different sizes 16-bit, 32-bit, 64-bit. But what does this means " Windows XP is 32-bit OS"? what is the limitation on a software to limit itself to to 32-bit or 64-bit?

share|improve this question

migrated from Feb 7 '11 at 2:41

This question came from our site for professional and enthusiast programmers.

The operating system must be compiled with a certain assumption about the size (and thereby range) of pointers that it manages. Bear in mind that it's also the operating system's task to implement the virtual memory abstraction, and deal with the hardware side of that (pages, swapping, paging in and out, and so on). So the OS most certainly must be written to take into account architectural details like those.

share|improve this answer
@unwind so can we simply say that 'memory management capability' determines whether an OS is 32-bit or 64-bit? – Saurabh Feb 4 '11 at 12:01
@Saurabh: hm ... I think that is a bit too narrow. I guess there are also other considerations, OS:es for processors that are switchable between 32 and 64 bits need to support that, and the programming model must be supported of course (more registers, calling conventions, etc). – unwind Feb 4 '11 at 16:24
@user5627 that sounds pretty logical now. Long before being an operating system, it is a software created in some language. And as all the softwares are some ISA specific, so does the operating system also. It took me a while to grasp the depth of your reply, but in the end I have better understanding. Thanks a lot – KawaiKx Feb 21 '11 at 15:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .