Sujet : Re: Python (was Re: I did not inhale)
De : Muttley (at) *nospam* dastardlyhq.com
Groupes : comp.unix.shell comp.unix.programmer comp.lang.miscDate : 18. Aug 2024, 09:30:28
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v9sbf4$2artq$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
On Sun, 18 Aug 2024 10:10:09 +0200
"Dmitry A. Kazakov" <
mailbox@dmitry-kazakov.de> boringly babbled:
On 2024-08-17 23:51, Lawrence D'Oliveiro wrote:
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. There is no
problem to produce the same mess as under UNIX. In fact Windows shells
do this just same.
No they don't - cmd.exe only supports a very limited implemetation of
pipelining. Powershell makes a better attempt at it but still doesn't get
it right.
Windows has a pipe object named and anonymous. No problem. Pipes are
rarely used in applications because it is not how distributed systems
(where multiple processes are indeed used) are designed. They usually
Rubbish. You just made that up. Unix processes that need to talk to their
child processes almost always create a pipe to do so before the fork. Thats
how for example sshd talks to the shell process.
require processes be able to run on different nodes.
Again - rubbish.
P.S. It is no wonder that Windows process API are far beyond UNIX.
The windows process API is crippled which is why threading is the main
parallel processing method in Windows and has been since 3.0. If you think
otherwise please give some examples. However I distincly remember trying to
port server to windows only to discover that sockets are some wierd
structure in windows instead of a simple file descriptor meaning it was
impossible to multiplex using poll() or select() on them, you had to have
a seperate thread to manage each connection. What a fucking mess designed
by idiots.
Historically UNIX started with singe fork() call. There was nothing but
files, no system objects, nothing.
fork() copies the entire process space. No idea what you mean by "system
objects". Must be some windows thing.
On the other hand, Windows NT was developed by people influenced with
the VMS design. VMS had a very elaborated process communication API. So
Windows inherited much of that, but must importantly the concept of
system resources managed by the OS.
Windows NT was a slow unreliable dog. Even microsoft didn't use it for their
heavy duty backend servers, they used BSD and AS400s instead.