1 Jan 04:03
Re: [Cython] Cython 0.12 not working on Windows XP
[This is perhaps OT on the Cython list. Please forgive me the noise.] Stefan, CreateProcess in Win32 API and fork in Interix (SUA/SFU) both call the kernel function ZwCreateProcess in ntdll.dll. If NULL is passed as section handle to ZwCreateProcess, it will clone the current process. The copy-on-write optimization actually happen in hardware. Most modern processors have a paging memory-management unit that can tag pages as shared and copy-on-write. The reason that early versions of Unix or Linux did not copy-on-write optimize fork but modern do, is that CPUs have evolved. You can read about Windows kernel programming in Nebbet's book on NT kernel internals. It even has example code for a boiler-plate implementation of fork. Cygwin's problem is that hooking up a process created by ZwCreateProcess to the Win32 or SUA subsystem is undocumented; neither MS documentation or Nebbet cover that. That is why Cygwin does not implement a copy-on-write fork yet, although most modern hardware supports it. I recommend using Interix (SFU/SUA) instead of Cygwin. You will need Windows XP professional or enterprice, or Windows Vista / Windows 7 Ultimate. The codebase of Interix is mostly derived from OpenBSD. This means it is very safe. The old POSIX subsystem form Windows NT4 is deprecated in favour of Interix. You'll find more information at www.interix.com. Prebuilt binaries for common Unix tools can be downloaded from the Warehouse in SUA community. Note that SUA is UNIX, not Windows, it just happens to share kernel. This(Continue reading)
On Windows we can rely on nice guys like David Cournapeau to make binary
installers for us
> Of course, from the developers point of view, no matter how nice we
> set up our own environment of choice, the issue remains that we don't
> want to require users to have to upgrade Windows Ultimate to compile/
> run our code.
I guess that depends on the user. If we are programming for the masses:
no. If we are programming for a particular client, we can often require
whatever system setup we want.
RSS Feed