On Sat, December 12, 2009 18:03, Thomas Hruska wrote: > [email protected] wrote: >> Ocean> You misunderstand. If he's successfully running it with >> Windows >> Ocean> 7 - 32 bit, you can't say that SpamBayes definitively works >> with >> Ocean> Windows 7, because you don't know if it works on the 64 bit >> Ocean> version. You have to know it works fine on both before you >> can >> Ocean> make a unilateral declaration like that. >> >> I don't use Windows, however... > > That's a shame. It is a great OS that 90% of the world uses for their > desktop OS. :P > > (Flamebait...) > > >> If he's installing a released version of SpamBayes (1.0.4 or 1.1.a4) he >> should be getting a Python interpreter as part of the installer. To the >> best of my knowledge neither Mark, Tim, Tony nor anybody else who ever >> released a SpamBayes-on-Windows installer ever bundled a 64-bit version >> of >> the interpreter with it. If a 32-bit interpreter will work on a 64-bit >> machine you're home free. If not, then it would have bombed if he was >> running 64-bit Windows 7. I conclude that either he was running on a >> 32-bit >> version of Win7 or a 32-bit version of the Python interpreter will work >> on a >> 64-bit version of Win7. (Can someone with more knowledge of Windows >> than me >> -- that is, with *any* knowledge of Windows -- confirm or deny this >> conclusion?) As far as I know there is nothing specific to 32- or >> 64-bit >> architectures in the SpamBayes source code itself. All 32- or 64-bit >> dependencies would be in the binary code of the Python executable. >> >> Skip > > Hello. I have in-depth knowledge about the differences between 32-bit > and 64-bit Windows. > > When it comes to drivers (for hardware), the driver has to match the OS. > 32-bit drivers for 32-bit OSes, 64-bit drivers for 64-bit OSes. No > exceptions. > > For software, Windows does a lot of funky stuff when doing 32-bit vs. > 64-bit. For 64-bit programs, all DLLs and the EXE must be native 64-bit > DLLs/EXEs. In addition, Windows uses the 64-bit Windows Registry (but > can be switched using some API calls). The entire chain MUST be 64-bit. > The Windows loader will fail to load any 32-bit component. The PE > File Format (of which I am intimately familiar with) declares whether a > component is 32-bit or 64-bit. > > When the Windows loader encounters a 32-bit program under a 64-bit OS, > it enters a sort of virtual machine environment known as WOW64 > (http://en.wikipedia.org/wiki/WoW64). This is similar in nature to how > we moved from 16-bit to 32-bit years ago (but less stupid). The 32-bit > Windows Registry is used and some file APIs are redirected (e.g. > 'C:\Program Files\' becomes 'C:\Program Files (x86)\'). Again, a 32-bit > program aware of the 64-bit environment can call certain APIs and change > this behavior. > > However, there is perfect isolation between 32-bit and 64-bit. A 64-bit > program cannot load a 32-bit component into its environment and vice > versa. The Windows loader prevents it. So, in-process, apartment > threaded COM objects (such as the Outlook interface for Spambayes) have > to match the application that is loading the object. Here's an article > on the topic of 32-bit vs 64-bit COM objects that is worth reading: > > http://www.dnjonline.com/article.aspx?id=jun07_access3264 > > My personal experience is that, in most cases, Windows applications can > simply be recompiled as 64-bit and it should work as a native 64-bit > application. The only issues that I've run across are: Bad programming > and assembler with optimized code for a 32-bit platform. > > In the case of Spambayes, I don't see why recompiling for 64-bit would > be much a problem. It looks like Python currently has two separate > versions: One for AMD64 and one for IA-64 (instead of a unified build). > You aren't doing anything exotic (except for Outlook), so a 64-bit > build is possible with potentially minimal effort.
Hello, Although I am a Linux user, I am not too unfamiliar with general operating system design principles. Perhaps I'm one of the few people that actually read Tanenbaum's work cover to cover. :-) What you write sounds very familiar to me, and I'd say that you have described the situation very accurate. Linux works in a very similar way when 32bit applications are executed on top of a 64bit kernel. I'd say that a 64bit version of Spambayes is not needed as long as there is no 64bit version of Outlook, and that won't happen until Office 2010 hits the shelves. Wouldn't you agree? -- Amedee _______________________________________________ [email protected] http://mail.python.org/mailman/listinfo/spambayes Info/Unsubscribe: http://mail.python.org/mailman/listinfo/spambayes Check the FAQ before asking: http://spambayes.sf.net/faq.html
