My original response to Gore's post was that it was a bit thin on history and lacking technical depth. I wasn't complaining about the attempt. It was a good attempt. Covering the topic of OSs in this limited space is a challenge for anyone.

However, by cooperation, we can all add to the effort.

I submit:

DOS:
The first "DOS" (disk operating system) for desktop computers was CP/M (not Apple-DOS), developed in the mid-70's by Gary Kildall (Digital Research). Gary's model was the old PDP operating systems. This was the model on which the first version of the 8086/8088 DOS was built at Seattle Computer (from which Gates and crew bought). This CP/M was also the OS that Gates and crew wrote the Basic Interpreter for (published as GW-Basic).

The original IBM PC actually came with two operating systems. PC-DOS and CP/M 86. The first IBM PC also only had 64KB (one bank filled) RAM. It was up to the user to add additional RAM as needed.

PC-DOS was dog slow and clunky in 64KB RAM, but there were some applications for it (Lotus 123 was one). CP/M 86 ran just fine, but there were no apps for it. The bean counters, or course, won. CP/M 86 died out and was dropped by IBM.

GUI:

All the real work on GUI's started in Xerox-PARC, from which Apple, Microsoft, IBM (you young-uns probably don't remember the IBM GUI--thank whoever's in charge for that), HP (Amiga and Atari, too) built their various graphical interfaces. Until Win98, though, Apple was the only major company offering a fully integrated GUI that wasn't just a shell over the real OS.

Windows 1.x, 2.x, 3.x and 95 were not operating systems. They were operating environments. They rode on the memory management and API of DOS (the operating system). The environment and operating system did not become integrated in the x86 platform until Windows 98 (I think this may have been pointed out elsewhere on AO).

Plug-n-Play

P-n-P was not actually an operating system function, but a hardware standard for which Microsoft wrote supporting drivers and tools in Win9x. The hardware standard was developed by Microsoft partners as an approach to adding hardware to a system without having to go through the kind of misery and suffering required when adding hardware to IBM PS/2 MicroChannel systems. Hardware standards for processor and motherboards were being brought out by a number of vendors to vie for the 32-bit market. IBM's MicroChannel was a very good idea, but it was IBM'ed to death. The EISA was what prevailed and what P-n-P was designed to work in, originally.

There were also a number of "bus-mastering" models that appeared to help deal with the information handled by graphic, sound and other peripheral cards on systems. PCI won out as the fastest and simplest general purpose interface to replace the old 16-bit and 8-bit ISA slots. Later, AGP came along to handle graphics. These all had an impact on what the OS could work with and how well it could function--and how easy it was to add peripherals to a system.

640KB:

The 640KB RAM limitation was never really there. Most systems came with just 640KB at one point, and had no additional memory sockets available for adding more. It wasn't until some clone makers added additional banks of RAM sockets that we were seeing 768KB and as much as 1MB on PC/XT and AT systems. There were memory cards that could be plugged into 16-bit ISA slots that would expand memory. But that was an expensive and not very good solution. The cost of an upgrade from 640KB to 1MB (at the time) was about $500. There were two methods back at about version 3.3 of MS/PC-DOS (1987/1988) for addressing upper or higher memory. One was extended memory and one was expanded memory. I get confused as to which worked which way, now, but the one that allowed full access to high memory was the one that one out. Before Win3.0 was released, I was tweaking DOS to move drivers and portions of DOS into upper memory blocks, or high memory. I cut my teeth on understanding how memory worked and how to get the most out of it working in the 64kB environment of CP/M.

Multi-tasking:

There was a race to true (cooperative) multi-tasking at about the time Win95 came out. Apple was trying hard to do it, but came up short and had to live with pre-emptive multi-tasking for a few more iterations of its OS, largely due to limitations of the Motorola processors. Microsoft, on the other hand, had no such limitation with the Intel processors and got a huge boost with the 486s.

Win95:

Windows 95 did support internet connectivity out of the box. It included support for TCP/IP (granted, you had to know that the support was not loaded by default, but had to be added). I networked a campus with Win3.11 and Win95.