Hacker News new | ask | show | jobs
by M95D 638 days ago
WinNT task manager is not the same as Win9x. I doubt it was "ported".

In Win9x calling the task manager (CTRL-ALT-DEL) instantly stopped all tasks except the Task Manager itself, and the Task Manager was always in memory. Most mis-behaving apps could be closed that way. Only a system that was frozen on I/O would not respond to CTRL-ALT-DEL with the Task Manager, and open a blue screen instead (the "system is busy: press any key to wait or CTRL-ALT-DEL again to reboot" BSOD).

In WinNT, pressing CTRL-ALT-DEL didn't do sh|t. All apps kept running. The Task Manager was loaded from disk (when the system found the time) and run in parallel with the other apps. On a busy system, especially if it was out of memory and doing disk thrashing, or some video/media was stuck with 100% CPU on high priority, there was no chance of recovering it with the Task Manager.

2 comments

Do you see any feasible way of re-fitting a modern OS with similar capability? It would likely require a lot of vertical integration between the kernel, display server, task manager, etc
Unfortunately, no.

I belive it is first a conflict of policy: the USER needs to have more privileges than SYSTEM in order to suspend execution of all (including system's) processes. WinNT is a multi-user OS. Nobody would allow the user to DDoS the system, even when that user has direct access to the reset button.

A second problem is that WinNT probably can't even open the Task Manager if some system processes are suspended (csrss?, lsass?).

It probably works in Linux console. Sysvinit has two keyboard signals (CTRL-ALT-DEL and CTRL-UP, I think), that can run any command, exec'd directly by init with root privileges, and both are configurable in inittab. It also has the SysRq.

https://en.wikipedia.org/wiki/Magic_SysRq_key

I miss the magic SysRq key... Xorg / graphical systems blocked it decades ago, I've forgotten how to invoke it without looking it up, though I do remember REISUB.

The security perspective of the SysRq commands is: a human is on a hard-wired console. If they want they can pull the power or press buttons on the outside of the PC that aren't on the keyboard. It's probably OK to obey some small list of actions that are useful when the rest of the system might be unresponsive.

Yep that's my line of thinking, if you have physical access it's game over for security anyway (evil maid etc). Whether the kernel recognizes SysRq or CAD or whatever else is a matter of a patch, X11 or Wayland can't intercept (that's the entire point of having a very very low level kernel routine for that).

The funky part would be the user space integration, the kernel would probably have to selectively resume a couple key processes or take over the display with its own/embedded one. Sounds like too brittle and/or extra bloat.

I never thought I'd consider Windows 95 technically superior in some area, but holy hell that system ran in 4mb of memory and did one (even if only one) thing right.

Reboot gives you disk access. Access to the running system additionally gives you memory access. There may be something in memory you want to keep safe, like encryption keys and other credentials. Evil maid means you had to kill everything that was running, which may in itself signal that something is off.

Stealing my iPhone and replacing it with another is not the same as having access to my data on it.

It ran like shit in 4MB—I remember telling the IT boss that we’ll need 8MB on every W95 machine, unless we want to wait 5 seconds to open a menu or run only one app at a time. Still 8 is impressive for the functionality.
Yeah my own Win95 machine had 32MB and ran super happy. The 4MB machine was frankensteined from very random parts for a friend who fried the PSU on their 8MB - the difference between all 3 setups was crazy, I think at 4MB you had to use a 16-color palette? At 640x480x8bpp video memory alone should eat 300KB (I don't think there was double-buffering?)

I sometimes wonder, what would be the "smallest" machine you could feasibly DIY/build today, that would still allow you to be somewhat productive (e.g. write code, very basic web browsing, SSH, etc). I recently spent a week with a PowerBook G4 (2002) and it's very usable (save for the fan noise). There's probably a lot to explore with modern MCUs.

If I had to bet the reasons why would be that the 9x kernel was extremely frail and if you want to have any chance of Task Manager actually running it had to run from the start
That can't be the reason. If the kernel crashes (or a driver, 'cause it's all the same in Win9x), then there's an instant BSOD, so there won't be any Task Manager, even if it's already loaded in memory.

I belive that's the way thing were done in those days. In Win95 the Start Menu was also in memory, with the entire menu tree, progam names, icons, and everything. It would open instantly. In Win98 they changed that. It would read the .lnk files form disk (or cache) every time it openend. But it added drag&drop editing! And IE integration. And Active Desktop. And web content in Explorer folders.

Chicago onwards was glorified Windows 3.0 386 enhanced mode, Cougar. The fundamental problems Win 9x has is it was buggier and didn't have the isolation assurances NT had. The main things Win 9x solved were the resource leaks of Win 3x and gradually increased relative stability. Whistler/Asteroid were the ways forward based on NT. (Pour one out for Neptune/Odyssey.)
Buggier than WinNT?! I remember WinNT4 having 7 service packs, and after the latest SP, something like 50 more patches only for the RPC, and in the end they recommended switching to Win2K because it couldn't be fixed without breaking compatibility. I'm sorry I can't give any links - they deleted everything.

You probably remember the BSODs due to buggy drivers.

One could argue that an OS for PC (Win9x) doesn't need any isolation. There's only one user (personal in "PC").

Taskinfo was running fine on Win9x