6 ms·
For those who work on it, it probably is just for fun. But Windows is, at its core, not a completely bad OS. I heard many parts of it are actually pretty well-
by captainmuon 12y ago
For those who work on it, it probably is just for fun.
But Windows is, at its core, not a completely bad OS. I heard many parts of it are actually pretty well-engineered. The Windows NT kernel has pluggable subsystems, one of which is for Windows applications, but there used to be also a POSIX layer. In the kernel, almost everything is an object and can have ACLs (security descriptors). You actually do have something like Linux' /dev and /proc, it's just not exposed to the shell (you can sometimes see hard drive device paths, not legacy drive letters like C:, shine through the cracks, but mostly when there are boot problems).
Even in the shell, there are a few neat ideas. Everything is a (COM) object, and has interfaces. Applications can embed parts of the shell, e.g. explorer windows, and they can also contribute back parts, like custom places and icon types.
Of course there are layers and layers of cruft in Windows, but funnily, the older parts seem to be better engineered (especially taking to account their age, and looking over things like legacy 8.3 module names). Its a bit telling that the new Windows Runtime is actually a new version of native COM underneath, and not .NET CLR (but both are fully brigded).
I think the hardest part to emulate for ReactOS is not the old cruft, but the modern cruft. WPF for example does have a few nice ideas, but its insanely huge and complicated. And a typical windows system has like 4 different, incompatible .NET runtime libraries (.NET, Silverlight, WPF, WinRT). This is one thing I hope MS will get sorted out in the future.
- mkesper 12y agoThe POSIX implementation in Windows was a shim to satisfy requirements about "POSIX compliance" when selling Windows NT. Even Microsoft tells it's not really useful: http://msdn.microsoft.com/de-de/library/y23kc048.aspx http://msdn.microsoft.com/de-de/library/y23kc048.aspx
- TazeTSchnitzel 12y agoEnglish: http://msdn.microsoft.com/en-us/library/y23kc048.aspx http://msdn.microsoft.com/en-us/library/y23kc048.aspx
- chris_wot 12y agoThe core Windows OS is actually very cool, IMO. Pity it's closed source. Some time ago, I did some research on Windows 2000 and wrote a lot of it down on the Windows 2000 Wikipedia article. I later split it to the "Architecture of Windows 2000", which interestingly (and correctly) has been renamed to "Architecture of Windows NT" [1] What you are referring to, however, is in user mode, in the environment subsystem. There is actually a few subsystems - the one you are talking about is the POSIX subsystem. I believe it's actually still there in the latest versions (might be wrong about that). 1. http://en.wikipedia.org/wiki/Architecture_of_Windows_NT http://en.wikipedia.org/wiki/Architecture_of_Windows_NT
- TazeTSchnitzel 12y agoI still own Windows Internals, the most authoritative book on the subject. Fascinating stuff.
- chris_wot 12y agoThe author is pretty amazing.
- TazeTSchnitzel 12y agoAlex Ionescu, one of the authors, has actually had some involvement with ReactOS.
- gpvos 12y agoThe POSIX and OS/2 subsystems were removed as of Windows XP and 2003.
- Demiurge 12y agoPOSIX was not. It's call SUA and I still enable it, and on w7 run Gentoo bootstrap under it. It works well enough and I even see sshd run as a service process.
- 12y ago
- guardian5x 12y agoNo of course Windows is not bad by itself. Only people who haven't looked closely enough would say that. Windows OS just like Linux has its dark sides but also its bright sides where it shines. The Windows kernel runs extremly well on ARM Devices like Windows Phone as well.
- bruceboughton 12y agoWPF and .NET are not different runtimes.
- cbd1984 12y agoCore Windows is, still, Windows NT, which was designed by Dave Cutler, who designed a number of OSes for DEC, which changed its name to Digital before it was bought by Compaq, which then merged with HP, which is its own can of worms. Cutler designed RSX-11M, VMS, and VAXELN (a real-time OS for the VAX), which are or were all serious OSes. VMS in specific was a serious competitor to Unix; in the form of OpenVMS, running on Alpha and Itanium, it still exists. So Windows NT is a foundation made by someone who knows OSes and OS design; in many markets (not all, not that I think my parenthetical will stop people from "correcting" me) it's the last OS family not based on a fundamentally Unix-like foundation. Having an Open Source version of that is interesting for historical reasons, if nothing else, and there's something to be said for hybrid vigor if some bright spark figures a way to port a few concepts to the rest of the OS world.
- rbanffy 12y agoAs surprising as this may sound, it seems OpenVMS is still under active development, even though not by HP. Even an x86-based version is on their roadmap. http://www.vmssoftware.com/ http://www.vmssoftware.com/
- elektronjunge 12y agoThat company is an HP contractor.
- heywire 12y agoFor anyone who is interested in the story of the original development of Windows NT, check out the G. Pascal Zachary book, Showstopper.
- teh_klev 12y agoI would agree, not read my copy for a very long time but it's very enjoyable. I think I read it at around the same time as I last read "The Soul of a New Machine" by Tracy Kidder, also a worthwhile read for some of the younger HN'ers who missed out on that era.
- 12y ago
- krylon 12y ago> WPF for example does have a few nice ideas, but its insanely huge and complicated. I have not written Windows code in a while, and what code I touched was C/Win32 and C++/MFC. But my impression with Microsoft software has been that they seem to like doing things in an unnecessarily complicated manner, then realize it does not really work out all that well, then reinvent the wheel, but make it even more complicated than whatever they tried to replace.