I'm planning a test environment in several platforms include both 32/64 bits but I'm not sure about the hardware 32 bit could be virtualize through HyperV or not?
SUre it can. Hyper-V simulates a 64 bit environment. You can install a 32 bit operating system on a 64 bit processor, or? ;) I did not see any 32 bit normal processor (outside some low poewer stuff) in the last years.
Related
How is it that an executable can work on both AMD and Intel systems. Aren't AMD's and Intel's instruction sets different? How does the executable work on both? How exactly do they compile the files to work like that. And what exactly is the role of the OS in all this?
The only real difference between AMD and Intel at a given processor iteration is their implementation of the instruction sets they support. x86 (32 bit) and x64 (64 bit) are the two most common instruction sets for Intel and AMD processors.
The differences come in when Intel and AMD implement the instruction sets in their chips - but these implementations should have no effect on the instruction sets themselves. So if a program was compiled for an x64 processor, it can run on any processor that implements the x64 instruction set, which almost all modern Intel and AMD processors implement.
A great example of an implementation difference is the way that Intel likes to hyperthread cores whereas AMD likes to just add more cores. They do this for a multitude of reasons, such as power consumption and better concurrent processing, but it doesn't really impact if programs run because it doesn't change the instruction set. Another difference between Intel and AMD is the number of pipeline stages, which can affect speed.
Huge complexities come into play when operating systems are considered. Windows has huge libraries that programs have to use if they want to run on windows. The same goes for Linux and Mac OS X. Since these libraries aren't shared between operating systems, programs written on one operating system probably won't run on another.
Essentially these days, compilation is done for the OS not for hardware, as most hardware have universal protocols and/or tech, as mentioned above, x86 or x64 machine code/opcodes/instruction sets, some programmers do make software designed to run better on certain hardware i.e optimized for AMD or Intel etc...
but still have other versions for other hardware
mainly due to the OS you need to worry about bit length and or running OS
most compilers or software makers tend to compile out to shared machine code instead of manufacturer specific, it should be remember different people use the same things in a different way, the guys in MIT, may decide to code their own OS for their needs and may want to use advance specific features of Intel ins tsrcution set some people fully re do their own androids etc...
I have a 64 bit version of Solaris with a 32 bit bundled version of Apache. I am trying to load mod_wl.so which is a 64 bit module for the apache-weblogic proxy but I get this error:
mod_wl.so: wrong ELF class: ELFCLASS64
to me this suggests that the 32 bit Apache is not compatable with 64 bit modules. My UNIX admin suggests otherwise, citing the modules-64.load file as enabling the 64 bit modules to work with 32 bit Apache.
I'm not convinced, I think he needs to rebuild Apache to 64 bit.
Am I right?
You are right, that's not going to work.
As succinctly answered by #Leeft, this doesn't work.
The modules-64.load file sits alongside modules-32.load. In httpd.conf a check is done on the bit size to determine which of these files to use, so a 64 bit build reads from modules-64.load so that 'directives contained in it are actually available before they are used'. In other words, this has nothing to do with enabling 64 bit modules to work with a 32 bit build - my UNIX admin appears to not know what he is talking about.
So the answer is 'yes I am right' - we need a 64 bit build of Apache or a 32 bit build of the weblogic module. Being that Oracle owns both Sun (Solaris) and Weblogic you'd think that they'd have figured that a the 32 bit default install of Apache on a 64 bit machine would need a 32 bit module, but apparently not.
Is it possible to run an application on a 64 bit Weblogic 10.3.2 Server instance with a 32 bit JDK?
The reason for me to doing this is getting an exceptions while running my program using 64 bit JDK.
UCFWin32JNI.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
The error is gone when using 32 bit JDK.
If it is possible, then how?
Thanks!
A 32-bit version of a library cannot be loaded and used by a 64-bit JVM, and vice versa.
Moreover, UCFWin32JNI.dll does not appear to be a WebLogic library at all. In fact, it appears to be a library from Documentum. You ought to be looking for a 64-bit version of that library (if it is available) as it appears to be a 32-bit version going by the name and the error message produced. Finally, you'll need to place the 64-bit version in one of the directories constituting java.library.path.
No problems at all running a 32bit JVM on a 64bit platform. In fact, for some applications it can actually be more efficient, due to the fact that certain data types are innately larger on a 64bit JVM (ints I think are an example of this from memory)
A 64bit JVM provides all sorts of advantages for an application requiring access to a larger heap, but there's no harm at all in running a 32bit JVM.
Short of buying a SPARC processor, what emulators are there? Thanks.
Pickup a second hand Power Mac G5 and you can run a fairly recent version of a mainstream OS (ie. OS X 10.5.8) and a modern development environment (Xcode 3.1.4).
You get a pretty fast, modern RISC machine running an OS that is still highly used (for the time being, I admit.)
You could also install Linux onto it if that would be better for your needs.
Probably a lot easier to find and cheaper than a SPARC machine.
You could also install the SPIM emulator for MIPS
On revisiting this, it's worth noting that nearly all modern smartphones run on ARM processors, which is short for 'Acorn RISC Machine'. So, an easy answer is 'Android Studio' or anything else targeting phone applications.
Similarly, there's a plethora of simple development boards available inexpensively, such as the BeagleBone Black and the Raspberry Pi, that also carry ARM processors.
our target production environment is Win2003 + SQL2005 + .NET 2.0 (all 32 bit);
Currently We have new developing PCs comming in and they are 64 bit capable.
As a developer PC, we want real raw installation instead of VM solution.
I know 64 bit IDE installation (win7 X64 + VS 2010 X64) will give us bigger RAM and faster response and I know 32 bit application can run in 64 bit environment through WOW (windows 32 on Windows 64) .
My concerns:
(1) 3rd party DLLs are 32 bit and might give us debugging troubles in 64 bit environment.
(2) The production target platform is 32 bit, it might give us some troubles to adjust 64 bit develoment environment to fit the target.
(3) Because the WOW is the mechanisim for 32 bit process running under 64 bit environment, No big performance gain (testing & developing the 32 bit code) just because it's 64 bit IDE environment.
Are my concerns valid?
I really want to know if the 64 bit PC development environment could improve our developing process (for 32 bit target) or might just end up giving us a bunch of troubles instead.
Thanks a lot.
Support for 32 bit development on a 64 bit platform has in my experience been flawless. That said, with a modern computer I doubt you will notice much difference in responsiveness and speed of the development process between the two. You would probably know this better than me, though, as only you know the details of what you are going to develop and how resource hungry said development will be. If you are just writing code, you could probably do that on a Commodore 64.
If you really think there is a reason to pick 64 bit, then I doubt you will run into much trouble. Installing a virtual machine is easy as a backup solution. Even if the 64 bit installation turns out to be a bad decision, you could always set up a dual boot, or just reinstall the OS. To be honest I think you are worrying too much :)
Sorry to contradict you, but information in your question is wrong. VS 2010 is 32-bit IDE. Support for 64-bits is provided by a set of compilers&tools. You can just select an options of not installing them.
You might have some issues with COM servers registration (like necessity to use SysWOW64 version of regsvr32 and use corresponding regedit), but again - if you have more than 3GB of RAM then x64 environments are worth a bit of pain caused by x64 redirection.
But I'd suggest you to move only if you feel that your current performance is not good enough. It might be more reasonable to perform cheap h/w upgrades rather than buying all that expensive stuff like new OS, new Visual Studio, etc
64-bit machine will let you catch virtualized registry errors easier. And also, only commercial virtual machines support 64 bit OSes if I'm not mistaken. I'd recommend 64 bit machine for development. You can really use more RAM too.