Liste des Groupes | Revenir à ca embedded |
David Brown <david.brown@hesbynett.no> wrote:DOS and Windows were a relevant part of OS/2 development too. Both IBM and MS were fully aware that if OS/2 and/or NT were to succeed, compatibility with existing software was essential. But more than that, compatibility with existing software /developers/ was essential.On 19/03/2025 15:27, Grant Edwards wrote:Actually, Microsoft folks say that Windows NT kernel supports fork.On 2025-03-19, David Brown <david.brown@hesbynett.no> wrote:>
>There are certainly a few things that Cygwin can handle that msys2>
cannot. For example, cygwin provides the "fork" system call that is
very slow and expensive on Windows, but fundamental to old *nix
software.
I believe Windows inherited that from VAX/VMS via Dave Cutler.
I am always a bit wary of people saying features were copied from VMS
into Windows NT, simply because the same person was a major part of the
development. Windows NT was the descendent of DOS-based Windows, which
in turn was the descendent of DOS. These previous systems had nothing
remotely like "fork", but Windows already had multi-threading. When you
have decent thread support, the use of "fork" is much lower - equally,
in the *nix world at the time, the use-case for threading was much lower
because they had good "fork" support. Thus Windows NT did not get
"fork" because it was not worth the effort - making existing thread
support better was a lot more important.
It was used to implement Posix subsystem. IIUC they claim that
trouble is in upper layers: much of Windows API is _not_ kernel
and implementing well behaving fork means that all layers below
user program, starting from kernel would have to implement
fork.
So this complicated layered structure seem to be main technical
reason of not having fork at API level. And this structure
is like VMS and Mica. Part of this layering could be motivated
by early Windows split between DOS and Windows proper, but
as Grant explained, VMS influence was stronger.
IIUC early NT developement was part of joint IBM-Microsoft
effort to create OS/2, so clearly DOS and Windows influence
were limited. Only later Microsoft decided to merge
classic Windows and NT and effectively abandon other
system iterfaces than Windows API.
Les messages affichés proviennent d'usenet.