12 ms·
The NT kernel is pretty nifty, albeit an aging design. My issue with Windows as an OS, is that there's so much cruft, often adopted from Microsoft's older OSes
by runjake 2y ago
The NT kernel is pretty nifty, albeit an aging design.
My issue with Windows as an OS, is that there's so much cruft, often adopted from Microsoft's older OSes, stacked on top of the NT kernel effectively circumventing it's design.
You frequently see examples of this in vulnerability write-ups: "NT has mechanisms in place to secure $thing, but unfortunately, this upper level component effectively bypasses those protections".
I know Microsoft would like to, if they considered it "possible", but they really need to move away from the Win32 and MS-DOS paradigms and rethink a more native OS design based solely on NT and evolving principles.
- fortran77 2y ago> The NT kernel is pretty nifty, albeit an aging design. Unix is an Apollo-era technology! Also an aging design.
- _yb2s 2y agoExcept unix nowadays is just a set of concepts and conventions incorporated into modern OSs
- jiggawatts 2y agoHow “modern” are they when they’re just a bunch of shell scripts on top of POSIX? SystemD caught up to NT4 and the original MacOS.
- xattt 2y ago> SystemD caught up to NT4 and the original MacOS. The transition happened to the huffing and puffing/kicking and screaming of many sysadmins.
- ruthmarx 2y agoStill a minority of sysadmins though. Most seem to have embraced it to an extent that's honestly a little sad to see. I liked to think of the linux community as generally being a more technical community, and that was true for a long time when you needed more grit to get everything running, but nowadays many just want Linux to be 'free windows'.
- RiverCrochet 2y ago> nowadays many just want Linux to be 'free windows' This means Linux has "made it." > I liked to think of the linux community as generally being a more technical community, and that was true for a long time when you needed more grit to get everything running I guess that grit was a gateway to a basic Linux experience for a long time - it did take a lot of effort to get a normal desktop running in the early to mid 90's. But that was never going to last - technical people tend to solve problems and open source means they're going to be available to anyone. There are new frontiers to apply the grit.
- phendrenad2 2y agoWhat percent of Unix users are using a "modern OS" and what percentage are using Linux, which hasn't significantly changed since it was released in 1994?
- SSLy 2y agolet's be charitable, removal of global lock was fairly big change.
- _yb2s 2y agoMy point was that most people are using things like Linux, MacOS, etc. nowadays, which are all also pretty old by now but not nearly as old as ATT Unix
- SoothingSorbet 2y agoLinux has changed dramatically since its first release. It has major parts rewritten every decade or so, even. It just doesn't break its ABI with userspace.
- phendrenad2 2y agoOf course, I meant the design hasn't changed. Linux has had a lot of refactoring, and probably Windows has also.
- ElectricalUnion 2y agoIf by "modern" you mean stuff between 1930 and 1970, sure, most contemporany OSes can trace roots from that era.
- leftyspook 2y agoSet of concepts derived from "whatever the hell Ken Thompson had in his environment circa 1972".
- fasa99 2y agoThe "aging design" arguments holds water like a sieve. Electricity and engines are 1800s vintage designs The wheel is a prehistorical aging design american government is an aging design The quality of an idea is independent of the time of its conception. The utility of an idea is dependent on the time and place where it may be used however.
- anthk 2y agoWin32 is not the issue, MS could just create shims for these in a secure way. It's 2024, not 1997. Ditto with GNU/Linux and old SVGAlib games. It already should have been some a wrapper against SDL2.
- runjake 2y agoI'm not sure what you're trying to say here, but those "shims" exist. Apps generally do not talk directly to the Executive (kernel). Instead, the OS has protected subsystems that publish APIs. Apps talk to the subsystem, and the subsystem talks to the Executive (kernel). Traditionally, Windows apps talk to the Win32 subsystem[1]. This subsystem, as currently designed, is an issue as described in my previous comment. 1. https://en.wikipedia.org/wiki/Architecture_of_Windows_NT#Win32_environment_subsystem https://en.wikipedia.org/wiki/Architecture_of_Windows_NT#Win... Caveat: Details of this may have changed in the last couple major Windows versions. I've been out of the NT game for a bit. Someone correct me, if so.
- anthk 2y agoYes, I will correct you. Direct Draw games with run dog slow under Windows 8 and up. You can run them at full speed with WineD3D as it has libraries to map both GDI and DDraw to OpenGL.
- marcodiego 2y agoI created a file named aux.docx on a pendrive with Linux. Tried to open it on windows 7. It crashed word with a strange error. Don't know what would happen on 8+.
- monocasa 2y agoIt's a dos holdover implemented in the win32 side of things in user space. I'm pretty sure it still exists on win11. https://stackoverflow.com/questions/40794287/cannot-write-to-any-path-with-filename-aux https://stackoverflow.com/questions/40794287/cannot-write-to...
- uncanneyvalley 2y agoIt would fail, too. ‘CON’ has been a reserved name since the days of DOS (actually CP/M, though that doesn’t have direct lineage to Windows) where it acted as a device name for the console. You can still use it that way. In a CMD window: `type CON > file.txt`, then type some stuff and press CTRL+Z. https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file https://learn.microsoft.com/en-us/windows/win32/fileio/namin...
- nullindividual 2y agoThis is a Win32-ism rather than an NT-ism. This will work: mkdir \\.\C:\COM1
- robotnikman 2y agoThe backwards compatibility though is one of the major features of windows as an OS. That fact that a company can still load some software made 20 years ago developed by a company that is no longer in business is pretty cool (and I've worked at such places using ancient software on some windows box, sometimes there's no time or money for alternatives)
- sedatk 2y agoThat and it's 30+ years (NT was released in 1993). Backwards compatibility is certainly one of the greatest business value Microsoft provides to its customers.
- ozim 2y agoPeople tend to forget that it already is 2024.
- xattt 2y agoShort of driver troubles at the jump from Win 9x to 2k/XP, and the shedding of Win16 compatibility layers at the time of release of Win XP x64, backwards compatibility had always been baked into Windows. I don’t know if there was any loss of compatibility during the MS-DOS days either. It’s just expected at this point.
- anthk 2y agoOn DOS, if you borrow ReactOS' NTVDM under XP/2003 and Maybe Vista/7 under 32 bit (IDK about 64 bit binaries), you can run DOS games in a much better way than Windows' counterpart.
- rasz 2y agoAfaik due to POPF not trapping Reactos implemented NTVDM as a software emulator. https://web.archive.org/web/20170723164052/http://community.reactos.org/index.php/news/years-progress-ntvdm-part-1 https://web.archive.org/web/20170723164052/http://community.... https://web.archive.org/web/20151216085857/http://community.reactos.org/index.php/news/years-progress-ntvdm-part-2 https://web.archive.org/web/20151216085857/http://community.... At this point you might as well use DOSBOX. Intel Protected Mode POPF fail: https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/swvirt-details.html https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm... https://devblogs.microsoft.com/oldnewthing/20160411-00/?p=93281 https://devblogs.microsoft.com/oldnewthing/20160411-00/?p=93...
- nox101 2y agoSeems to me they should pull an Apple. Run everything old in some "rosetta" like system and then make something 100% new and try to get people to switch, like say no new updates except security updates for the old system so that apps are incentivized to use the new one.
- mepian 2y agoCarbon is a better Apple-related comparison since it's basically a cleaned-up version of the classic Mac OS API as a library that ran on both Mac OS X and classic.
- nullindividual 2y agoWin32 runs on Linux by way of SQL Server.
- chem83 2y agouhhhhhh yes, but not really? All Win32 calls are intercepted and handled by SQLPAL, instead. https://www.microsoft.com/en-us/sql-server/blog/2016/12/16/sql-server-on-linux-how-introduction https://www.microsoft.com/en-us/sql-server/blog/2016/12/16/s...
- wannacboatmovie 2y agoYou left out the important part: abandon the Rosetta-like system a mere few years later once you've lured them in, then fuck everyone over by breaking backwards compatibility every OS release. Apple really has the "extinguish" part nailed down.
- wvenable 2y agoNobody wants something 100% new. Users don't want it. Developers don't want it. You can make a new OS but then you'll have zero developers and zero users. Yet this fantasy exists. And as soon as you make something new, it'll be old, and people will call for its replacement.
- phendrenad2 2y ago> an aging design What does that mean, exactly? Linux is also an "aging design", unless I missed a big announcement where they redesigned it at any point since 1994.
- HPsquared 2y agocf Terry Davis saying "Linux wants to be a 1970s mainframe".
- beeflet 2y agoTD had some interesting ideas when it came to simplifying the system, but I think the average person wants something inbetween a mainframe and a microcomputer. In linux/unix there is too much focus on the "multiuser" and "timesharing" aspect of the system, when in the modern day you generally have one user with a ton of daemons so you forced to run daemons as their own users and then have some sort of init system to wrangle them all. A lot of the unixisms are not as elegant as they should be (see plan9, gobolinux, etc). TempleOS is more like a commodore 64 environment than an OS: there's not really any sort of timesharing going on and the threading is managed manually by userspace programs. One thing I like is that the shell language is the same as the general programming language (HolyC).
- jonathaneunice 2y agoEvery new system wants to be a mainframe when it grows up. VMS, Unix, Linux, NT...they all started "small" and gradually added the capabilities and approaches of the Bigger Iron that came before them. Call that the mainframe--though it too has been evolving all along and is a much more moving target than the caricatures suggest. Clustering, partitions, cryptographic offload, new Web and Linux and data analytics execution environments, most recently data streaming and AI--many new use modes have been added since the 60s and 70s inception.
- Someone 2y ago> Every new system wants to be a mainframe when it grows up. VMS, Unix, Linux, NT...they all started "small" and gradually added the capabilities and approaches of the Bigger Iron that came before them MacOS started on desktop, moved from there to smartphones and from there to smartwatches. Linux also moved ‘down’ quite a bit. NT has an embedded variant, too (https://betawiki.net/wiki/Windows_NT_Embedded_4.0 https://betawiki.net/wiki/Windows_NT_Embedded_4.0, https://en.wikipedia.org/wiki/Windows_XP_editions#Windows_XP_Embedded https://en.wikipedia.org/wiki/Windows_XP_editions#Windows_XP..., https://en.wikipedia.org/wiki/Windows_IoT https://en.wikipedia.org/wiki/Windows_IoT).
- apatheticonion 2y agoMy understanding is that the portion of revenue Microsoft makes from Windows these days is nearly negligible (under 10%). Both XBox and Office individually make more money for Microsoft than Windows, which indicates that they don't have a compelling incentive to improve it technically. This would explain their infatuation with value extraction initiatives like ads in Explorer and Recall. My understanding is that the main thing keeping Windows relevant is the support for legacy software, so they'd be hesitant to jeopardize that with any bold changes to the kernel or system APIs. That said. Given my imagined cost of maintaining a kernel plus my small, idiolistic, naive world view; I'd love if it Microsoft simply abandoned NT and threw their weight behind the Linux kernel (or if GNU is too restrictive, BSD or alternatively write their own POSIX compliant kernel like MacOS). Linux would be ideal given its features; containers, support for Android apps without emulation, abundance of supported devices, helpful system capabilities like UNIX sockets (I know they started to made progress there but they abandoned further development), and support for things like ROCm (which only works on Linux right now). Microsoft could build Windows on top of that POSIX kernel and provide a compatibility layer for NT calls and Win32 APIs. I don't even care if it's open source. The biggest value for me is development capabilities (my day job is writing a performance sensitive application that needs to run cross-platform and Windows is a constant thorn in my side). Cygwin, msys2/git-bash are all fantastic but they are no replacement for the kind of development experience you get on Linux & MacOS. WSL1 was a great start and gave me hope, but is now abandonware. WSL2 is a joke, if I wanted to run Linux in a VM, I'd run Linux in a VM. I guess a less extreme option would be for Microsoft to extend NT to be POSIX compliant - If I could target unix syscalls during development and produce binaries that worked on Windows, I supposed I'd be happy with that.
- EvanAnderson 2y ago> I guess a less extreme option would be for Microsoft to extend NT to be POSIX compliant... Microsoft had this and abandoned it. I was building GNU software on NT in 2000 under Interix. It became Services for Unix and then was finally abandoned.
- lproven 2y ago
- Andrex 2y agoImagine the alternate reality where we got Longhorn with WinFS instead of Vista.
- johnflan 2y agoCertainly would have helped in the era of embedding AI into the operating system.
- ninetyninenine 2y agoDidn't the article say that unix's were even more full of cruft?
- ruthmarx 2y agoDid it?
- ninetyninenine 2y agoIt did. The whole article was about how the NT kernel is better designed.
- ruthmarx 2y agoSeems you answered your own question then :)
- ninetyninenine 2y agoQuestion is more implied than literal. Why are you commenting on cruft in NT when the article is all about Unix cruft? Why no mention about the contrast? No snark. Honest question.
- flohofwoe 2y agoMy main impression of Windows is that all the 'old' NT kernel stuff is very solid and still holds up well, that there's a 'middle layer' (Direct3D, DXGI, window system compositing) where there's still solid progress in new Windows versions (although most of those 'good parts' are probably ported over from the Xbox), while most of the top-level user-facing code (UI frameworks, Explorer, etc..) is deterioating at a dramatic pace, which makes all the actual progress that still happens under the hood kinda pointless unfortunately.
- pasc1878 2y agoDoes any common OS have a modern design. Unix is around the same age.
- pjmlp 2y agoThat was the whole point of WinRT and UWP, and the large majority of Windows developer community rebeled against it, unfortunely. Didn't help that trying to cater to those developers, management kept rebooting the whole development approach, making adoption even worse.
- jtdev 2y ago[dead]
- giancarlostoro 2y agoI'd rather we get rid of all the marketing crap first.
- deleted 2y ago[deleted]