Windows 95 was a big deal. It gave us the start button, featured USB support, and made people
who weren't alive in the 1960s aware of who the Rolling Stones are. But despite all that,
let's be real. Windows 95 and its successors, Windows 98 and especially ME, collectively
referred to as Windows 9X, were bugger than a roach motel. It might be tempting to lay the
blame on the less powerful hardware of the time, especially considering that many of
Windows Vista's problems were a result of PC makers installing it on below spec computers,
but it turns out the main reason Windows 9X was so maddening was that the operating system was
built like a house of cards. You see, all three of these OSs were based on MS-DOS, which was released
all the way back in 1981. And even though Windows looked very different, it shared lots of the code
with DOS under the hood. And as a metaphor, well, putting an infotainment system and some heated
seats in an 81 Bonneville isn't exactly going to make it run the same as a modern car. The reason
that Microsoft built Windows 95 this way was because they wanted users to be able to run
familiar DOS programs and wanted the OS to run well on older hardware. And to be fair to Microsoft,
Windows 95 largely achieved these goals. But doing so came at an unavoidable cost.
The stability problems ultimately boiled down to the fact that DOS was not meant to be a true
multitasking operating system. Although a big part of Microsoft's marketing was how well the
new Windows taskbar would make it super easy to switch between programs, that underlying DOS code
was built more for something called cooperative multitasking. What this meant was that DOS relied
on programs voluntarily relinquishing CPU time if the user wanted to switch to a different program.
This wasn't a big problem in DOS because users were nearly always just trying to use one program
at a time. Not only were there hardware and software limitations that kneecapped how many
programs you could conceivably run and an interface that steered you toward exiting a program rather
than minimizing it, but early users largely thought in a single task paradigm. Windows 9x,
though, was supposed to allow you to have lots of things open simultaneously. To enable this,
Windows 95 introduced preemptive multitasking, which is the same scheme we use today. In preemptive
multitasking, the OS has much more control over programs because it steps in and divvies up CPU
time on its own rather than waiting for the programs to do it. But the problem back in the
Windows 9x days was that this was really only implemented for newer 32-bit programs. And there
were plenty of old 16-bit software people were still using that didn't exactly play by the rules.
A huge problem that you would run into was that older code would often access
another program's memory space, or even the memory space of Windows itself.
16-bit programs and especially DOS mode device drivers were especially notorious for doing this,
as during the DOS days, programs and drivers were allowed to access far more of the system's
hardware directly than they are today. So when you tried to get those pieces of software to work
in an environment where there were lots of other programs running at the same time,
it often wasn't a pretty picture. There were other problems as well. Even newer 32-bit device
drivers actually shared memory space with the Windows kernel itself, meaning that the entire
operating system was vulnerable to poorly written software in more ways than one. Windows 9x also
did itself no favors by doing a poor job of freeing up memory that was no longer being used by a
program, a problem called a memory leak, which reduced the amount of memory available to other
programs resulting in slowdowns and eventually a crash. Of course, the Windows versions of
today aren't perfect, but they're a heck of a lot more stable than the bad old days we've been
talking about in this episode. So what changed? Well, even before Windows 95 came out, Microsoft
already had an alternate version of Windows called Windows NT. This version didn't have the old DOS
code that made 9x so buggy, was built from the ground up for seamless multitasking support,
and crucially had the ability to isolate each program's memory space much more effectively.
But as an operating system intended for more professional and workstation use,
NT had higher system requirements and wouldn't support a lot of the older programs and hardware
most users still needed. However, in 2001, Microsoft released Windows XP, the first version of Windows
based on the NT kernel that was aimed at home users. They were able to do this because the Windows
9x family, flawed as it may have been, steered developers toward coding for 32-bit operating
systems compatible with newer hardware. After a few years of this, Microsoft finally felt confident
enough to ditch those weird DOS Windows hybrids and the NT kernel continues to power Windows to
this day. But if you really miss Windows 95, there's nothing stopping you from changing your
desktop background to cyan, hooking up a CD ROM drive, and playing some space cadet pinball in
your browser. You can even kick your tower once in a while if you missed the instability. Yep,
gotta love that. Sometimes I kicked mine to get it to start working again. Usually I just had to
unplug it though. So thanks for watching. Like the video if you liked it, dislike it if you didn't,
check out our other videos like the one I did on Redbox, that was fun. And comment with video
suggestions down below and don't forget to subscribe and follow, follow. Like ring the bell,
you mean? Yeah, ring the bell, click the little bell. Yes, thank you, bye.