My highlights:
- First version of Windows (1.01)
- SerenityOS <3
- and even ReactOS
In fact I got so in the zone that I pressed ALT-F4 to close Win98 notepad and shut down my whole web browser instead!
Sync primarily happened via either a hardwired serial connection or wirelessly via infrared. The infrared sync worked, but was finicky and required that the infrared sensors on your laptop and PDA be directly facing each other.
I only played with this after I'd graduated and started making enough money that I could buy used PDA's just to see what they were capable of.
Win9x (and I believe it started with Windows/386) are based on a hypervisor architecture with minimal protections. The Win32 environment is essentially a protected-mode DOS application that also runs its own application format, and is itself a VM, along with each "DOS box" that gets created.
> 95 and prior were literally running on top of DOS.
Not sure how you're gathering that the GP is contradicting this. Windows 95, 98 and Me are all architecturally the same: a protected-mode DOS app.
Running DOS from within the Windows shell is not the same as exiting or skipping the boot of the Windows graphical shell, and is running in VM86 mode (which as the GP points out existed in Windows/386 / Windows 3.0 Enhanced 386 mode) See Virtual 8086 mode for some more overview.
It's messy and weird, but progress. Windows NT operates differently and I don't think ever started from DOS.
https://en.wikipedia.org/wiki/Windows_95#Architecture
https://en.wikipedia.org/wiki/Windows_9x#Virtual_Machine_Man...
The only functional improvements I can note over two decades are: Unicode support, higher resolution of everything (from hardware to content), and system reliability thanks to driver isolation.
Also, it’s kind of amazing that many web pages these days are larger than Doom shareware’s zip size.
Orthography and grammar checking was too slow. You had to press a button to check them, and it missed a lot of tricky cases.
There is no real reason OSes get more shitty with every version
The reason is that there’s profit to be squeezed out with all the additional bloat.
Fedora Silverblue was too heavy, but MX Linux made that computer run like my main. No slowdowns ever. Moments like this make me wonder who/what is leading us.
It's something of a Parkinson's law of optimization. The more computing power there is, the more clutter and less optimization will be had until we fill the computing power. When your hardware is a big limiting factor, performance becomes a primary concern.
I think there is also something to be said about the size of the project. Win98 was in the hundreds, 11 is in the thousands. I have found much harder to get the fundamentals right on a larger project than a smaller one. Responsibility is diluted, architecture creates more seams and redundancies, and coordinating people is more complex. On top of that, slap a product culture that favors form over function, and cramming in the largest feature list possible, and you've got yourself a modern OS.
But you can get a reasonably close experience with Linux or the BSDs and a simple GUI environment like the *box window managers. They're modern and snappy even on things like older generation RasPis.
1. Bad abstraction, causing the moral equivalent of N+1 queries in UI code. For example, modify one thing, causing layout, moving something else, causing layout, moving something else, causing layout, etc., etc., until it is all recalculated and re-laid out, and then allowing the paint.
2. Hidden serialization of asynchronous processes, essentially causing tiny pauses throughout the main thread.
I think this is one reason why people are so impressed with IMGUI. They imagine that the UI code must be doing an incredible amount of work to feel so slow, but then they watch a similar IMGUI app build and display the whole UI every frame 60-120 times per second, with plenty processing power left over. But if the other frameworks weren't wasting clock time, they could feel plenty fast.
You can get a good feel for what is really slow by using a very slow computer. The original Macintosh feels snappy, but it is doing one process in black and white. It's not hard to reach 30fps. When you take System 7, and put it on a 16MHz 68020 with half a memory bus (Mac LC), and run it at 16-bit color, painting those windows takes a long time. Our trick back then was to jump to black and white when we needed to get things done quickly, then back to higher bit depths when we wanted color or eye candy.
Now we have a situation where we can output full screen 24bit color in a millisecond or less, we are waiting on other things.
Why is it surprising that an old OS built for late 90's hardware runs "comically fast" on 2020's hardware?
Just look at XP system requirements:
- Pentium 233-megahertz (MHz) processor or faster (300 MHz is recommended)
- At least 64 megabytes (MB) of RAM (128 MB is recommended)
- At least 1.5 gigabytes (GB) of available space on the hard disk.
How would anyone expect that not to be much faster on a modern quad+ core, 4GHz system with 8GB+ RAM?* realtime collaborative spreadsheet editing
* 28 inch high definition monitor
* watching movies in HD
* playing almost lifelike games
* browsing an extremely hostile internet
* live backing up all my files
* Running large complex scripts on the same machine I can easily carry in one hand
* Running an IDE like JetBrains
I could go on. We are only doing the "same tasks" if you ignore a lot of the details.
It ran, but it was quite slow. Windows 2000 managed better. Windows 98 even more, but internet on Windows 98, maybe not the best thing to do. Linux even more.
I can't see 233 MHz and 64 MB being reasonable minima, more like very bare minima as in "it boots".
(of course, this does not contradict anything essential from your comment)
It's not a given.
For example, Windows XP may boot faster than 98 or 2K on the same hardware, because XP parallelizes and shortens some hardware initialization steps. (e.g. anything related to the network).
Win98 with file sharing spends almost a minute during boot (even from an SSD) just squeaking netbios frames.
https://news.ycombinator.com/item?id=11155203 (356 points | Feb 23, 2016 | 165 comments)
https://news.ycombinator.com/item?id=23674012 (421 points | June 29, 2020 | 266 comments)
Many other pages don't load, possibly non supported https standards
And then I got a BSOD (Invalid VxD dynamic link call from VMM(06)+1D72 to device "C001" service E74) when I turned on the Underwater screen saver.
Technology has really come a long way since the olden days. (And I wasn't even there for the olden days!)
I discovered it while browsing the web and thought it'd be interesting to share it