Re: 64 bit OS [Q]

Khimenko Victor (khim@sch57.msk.ru)
Sat, 11 Sep 1999 18:00:02 +0400 (MSD)


In <004801befb4e$acfc7680$21fea8c0@sodium> Sachin Tilloo (tsachin@triton.ltindia.com) wrote:
> Hi all,
> I have heard about 16/32 bit OS. As far as i know a 32 bit Os means
> that the instructions that are used to code OS knew only 32 bit
> operations. Am i right !!!
> Now if i have say a 32 bit Os and the length of my data bus of PC is
> 64 bit, can i not run a 64 bit program on my PC.

No. Even if data bus is 64bit wide all registers are 32bit wide. If you want
to execute 64bit program you need 64bit processor at least. How wide is data
bus is irrelevant.

> I mean if my compiler and CPU can undertand that instruction where
> does the OS come in between to prevent it.

In case of 16bit/32bit OS it's simple: i386 (and up) CPU's can be in two
states 16bit (8086 compatible or 80286 compatible) and 32bit
(non-8086 compatible). You can execute 32bit program (DOOM :-) in 16bit OS
(MS DOS) doing switching all the time, but you can not execute 64bit program
on PC since you have 32bit CPU !

> I think as far as i am not needing dynamic memory support from OS
> i can run say a simple program which transfers 64 bits from
> memory location to my 64 bit register.

Yes. Just you need 64bit register :-)

> Correct me if i am wrong in above logic

All is correct. Only one thing is wrong: there are no 64bit registers on PC
(ok, there are few but they are not "normal" CPU registers anyway)...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/