Sujet : Re: Python (was Re: I did not inhale)
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.miscDate : 19. Aug 2024, 00:14:33
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v9tv8o$2iahp$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
User-Agent : Pan/0.159 (Vovchansk; )
On Sun, 18 Aug 2024 10:10:09 +0200, Dmitry A. Kazakov wrote:
On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
>
On Sat, 17 Aug 2024 12:58:31 +0200, Dmitry A. Kazakov wrote:
Windows inter-process API are far more advanced than what UNIX ever
had. It would be enough to mention famous file locks.
Except those file locks are more of a liability than an asset.
Like so many things in UNIX...
People voluntarily choose to use Unix-type OSes. There’s a reason why
Unix-type OSes are the official de-facto standard in the computing world,
not Windows.
They are what prevent you from continuing to use a Windows system while
it is being updated, for example.
Windows mutex gets collected when the last process using it dies. UNIX
file lock does not.
What happens to a file lock when there is no file for it to lock?
The reason why processes are not included is that they are used to
deal with some OS or design flaw that forces you to spawn some script
or application.
Or because the *nix tradition of being able to spawn a pipeline of
multiple processes, all cooperating to perform a common task, is
difficult and expensive, or even unreliable, under Windows.
It is as expensive under Windows as it is under UNIX.
No it isn’t. An example is Git, which initially was built around the fork-
multiple-processes model as with traditional *nix software, and ran fine
that way on Linux, but had to compromise on that idea a bit in order to
gain acceptance under Windows.
Remember, the current Windows (aka Windows NT) was masterminded by Dave
Cutler, who came from the nest of Unix-haters at DEC. He carried over many
of the characteristics of his last major brainchild there, VMS. One of
them is that creating multiple processes is expensive, so you try to avoid
it.
Windows has a pipe object named and anonymous. No problem.
One problem: you can’t use them with poll/select calls.
P.S. It is no wonder that Windows process API are far beyond UNIX.
Linux has clone(2). This can create regular POSIX-style processes, as well
as regular POSIX-style threads. And quite a few things in-between.
On the other hand, Windows NT was developed by people influenced with
the VMS design. VMS had a very elaborated process communication API.
And single drive letters?
They usually require processes be able to run on different nodes.
Massive parallelism is something else Linux does better than Windows.