Re: 32 bit processors / 64 bit processors
益牙 <[email protected]>
| Newsgroups | gmane.linux.newbie,gmane.linux.kernel.kernelnewbies |
|---|---|
| Message-ID | <[email protected]> |
On Oct 21, 2009, at 1:39 PM, Siddu wrote: > > > On Wed, Oct 21, 2009 at 8:32 AM, Rick Brown <[email protected]> > wrote: > Hi, > > Firstly, I'm trying to understand what exactly characterizes a > procesor or an operating system as 32bit / 64 bit. I've read that it > means the "native word size" of a machine. But what exactly is that? > Register size? Address bus size? Anything else? > > > When they say its 32/64 bit machine its the capability of the system > or processor to process so many bits at once ! I had an understanding of this being how many bits you have to address your RAM. > > > Secondly, I'm trying to understand what exactly does a sizeof(int) > depend on when we say it is "platform specific". Is it dependent of > compiler being 32bit / 64 bit? Or the OS being 32bit / 64 bit? Or the > processor being 32 / 64 bit? > > its dependent on processor being 32/64 bit Just did a comparison test but it tells me otherwise. But I'm not sure if the test case if correct, can someone improve it? On a 64bit CentOS: [root@yyan ~]# more test.c #include <stdio.h> int main () { printf ("%d\n", sizeof(int)); return 0; } [root@yyan ~]# gcc test.c [root@yyan ~]# ./a.out 4 [root@yyan ~]# uname -a Linux yyan.pmlab.com 2.6.18-128.el5 #1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux [root@yyan ~]# On my Leopard: (Hopefully it's a 32bit OS as it shows) simonmac:coding yansimon$ cat test.c #include <stdio.h> int main () { printf ("%d\n", sizeof(int)); return 0; } simonmac:coding yansimon$ gcc test.c simonmac:coding yansimon$ ./a.out 4 simonmac:coding yansimon$ uname -a Darwin simonmac.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 simonmac:coding yansimon$ > > Lastly, How are "sizes" of compiler / OS / processor inter related? > Here is my understanding. A 32 bit processor can only be running a 32 > bit OS. > > No ... 32 bit OS can run anything <= 32 bit > > A 64 bit processor may run a 32 or a 64 bit OS. > > yes thats right ! > > A 32 bit > compiler genrates code only to be run on a 32 bit OS; ditto for 64 > bit. > > Not sure about this let others have their say ! > Is this right? > > > Please correct me if i am wrong ! > TIA, > > Rick > > -- > To unsubscribe from this list: send an email with > "unsubscribe kernelnewbies" to [email protected] > Please read the FAQ at http://kernelnewbies.org/FAQ > > > > > -- > Regards, > ~Sid~ > I have never met a man so ignorant that i couldn't learn something > from him > -- 益牙 http://www.google.com/profiles/simonyanix -- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs