I need a firm answer on what OS, Linux, Unix, ect.. and software development code which will actually work in 64bit, mainly using the unlimited addressing capabilities. Now there are a LOT of claims out there and I've tried a few languages, although higher level, but ultimately run shot. My app is a high end medical imaging app. I know this is probably a stupid question, but can one of you guys throw me a bone so I can stop wasting my time and money on junk.

Thanks in advance!

Dean

Recommended Answers

All 10 Replies

There is no such thing as "unlimited addressing capabilities." -- all operating systems have limits.

My apologies, I meant within the limits of memory addressing capabilites via 64bit. I did post this as a newbie post, I suppose only a newbie could see this as an obvious question.

Windows, Linux, Unix, all the offshoots, yes bash me on that term as well are all very unclear as to their capabilities to address/access memory in 64 bit mode. And ofcourse unless I wish to develop my own operating system, I must start in available OS framework. From there, I'd also like to know which languages work best with the comparable OS's in addressing memory in 64 bit. I would prefer a higher level language as I'm very rusty in C, but it might be my only choice.

See I assume you are all smarter than me here, especially at this point so lets help the poor newbie out and help me answer this question or I suppose you could pick on my syntax and spelling for a few days.

Thanks in advance!

Dean

You welcome in advance :P There are 64-bit verisons of Windows, Linux, and some unixes (like freebsd). I don't know of any 64-bit OS that does not support 64-bit adressing (besides running 32-bit apps in 32-bit mode).
I'm sure windows has a 64-bit compiler for C/C++. Unix/Linux has gcc which also has 64-bit versions. If you don't want C/C++, than make sure you download a 64-bit compiler. Most languages will work on win/lin and unix. Here is a small list of languages which should be portable between all operating systems:
C
C++
C#
python (script)
pearl (script)
php (script)
java

Thank you Hiroshe! I've looked at Linux and some other OS's but the information I'm getting is telling me they can only allow to address up to 64GB through a (PAE), Physical Address Extension. Do you know that to be true and do you know if Java works well in 64 bit as it seems like it would allow me to develop faster?? Have you ever used Java??

Thanks again!!

Dean

I would think 64Gig RAM access would be more than sufficient -- I don't think computers can hold that much RAM anyway (yet). The maximum ram supported by Vista Ultimate is 128Gig.

The maximum RAM is more limited by hardware (motherboard) than operating systems.

And yes, Microsoft compilers (VC++ 2008) contains 64-bit version of the compiler (all editions except Express). 64-bit version must be specified during compiler installation.

Thank you! But I've read several articles that C++, C and Visual C++ have limitations due to the OS issues of Vista Ultimate. You are right for now my system can only contain 128GB of Ram, but I would prefer to use it all, though 64GB is a good start for now. Can you tell me for certain that with windows Vista Ultimate 64 that I can address and access up to 64 GB of Ram or should I use Linux? I'm not trying to dump on you, its just that everything I've read to date tells me Vista Ultimate won't allow this, though it technically should. Also this is the first time I've heard VC++ mentioned as a possible programming language.

Sorry for being a pain, I've invested tens of thousands of dollars and will invest more again if necessary, I just need to be sure my platform OS and programming language can handle what I basically need to accomplish, which requires unfettered access to Ram in a high range...

Sincerely,

Dean

A 64-bit integer can hold a maximum value of the value defined in limits.h -- 0xffffffffffffffffui64 If you put that value in a calculator and convert from hex to decimal it will be 18,446,744,073,709,551,615. According the chart in this link, that is about 18 Exabytes. That would be more than enough to reach far beyond the maximum capacity of any known computer. I don't know enough about hardware architecture to explain why a 64-bit program can not access the entire computer's memory. Possibly Windows 7 (release date in Oct 2009) will alleviate that.

I don't know if *nix can help you better or not because I don't use it.

Thanks for your info! Its the raw data that cannot be compressed not a single integer! I'm using video with a basic matrix of between 1 M to 1 G per image with massive image streams so memmory, especially process and scratchpad needs to be excessive. Otherwise I would need compression and extraction methods which just slow down the flow, versus real time which is my desired result. Again raw data versus numeric calculations if far more important in my system design. Any suggestions??

Thanks Again!

Dean

>>Its the raw data that cannot be compressed not a single integer!
Yes I realize that -- but memory address are unsigned integers. The size of any pointer is the size of an integer, and the size of an integer depends on the operating system (8, 16, 32, 64, 128 bits etc). I'm talking about memory address, not what's stored in them.

Maybe you should investigate operating systems other than Windows, MAC and *nix. For example IBM mainframes.

Thank you Hiroshe! I've looked at Linux and some other OS's but the information I'm getting is telling me they can only allow to address up to 64GB through a (PAE), Physical Address Extension. Do you know that to be true and do you know if Java works well in 64 bit as it seems like it would allow me to develop faster?? Have you ever used Java??

Thanks again!!

Dean

Holly goose kid, do you really need 64gb of ram? I've never made a program using more than 150k of ram, and thats just becouse I had a really long linked list (~80000 chars). I've heard that the 64bit kernals can also handle 128gb of ram, but I don't have the money to test it out ;) I learned java a long time ago, and from what I can tell, its pretty much C++ with new libraries. I'm pretty sure if you use a 64bit java compiler, it will allow you to use as much virtual memory as the operating system allows. Java has rich libraries, so it will allow faster development in some programs. Also, java is more portible. In fact, dosent Sun make compiler's that will make a single executable that will run on any system using a system called java virtual machine?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.