MS DOS: A Eulogy
roadhog95 writes: "Love it or hate it, I'm sure everyone's got a love story or traumatic memory of the infamous MS-DOS. Byte magazine reports on the passing away of DOS in light of the recent Windows XP launch. Even Regis Philben stopped by to pay tribute: 'Bill... Is that your final command prompt?'"
With the creation of the 32-bit Windows OSes, Microsoft had these relatively unpleasant hacks involving wowexec and system/system32 folders. I suppose they were relatively necessary (although I'm sure folks here could have thought of a better way, but we have the benefit of hindsight).
Now they're finally leaving 16-bit behind, only to introduce similiar (if not worse) hacks between 32-bit and 64-bit OSes. Instead of following their old design (which at least would have been consistent), they opted to use the system32 folder to hold 64-bit stuff, and to have another folder (is it system64?) hold the 32-bit stuff.
Confused yet?
Oh well...
And so it goes.
From "Microsoft the Company"
http://www.aaxnet.com/topics/msinc.html
* 1982 - Digital Research sues Microsoft and IBM - Wins - . It was obvious MS-DOS and its PC-DOS variant were simply rip- offs of Digital Research's CP/M operating system. It remained only to prove it contained DR code. DR's Gary Kildall sat down at an IBM PC supplied by IBM and, using a secret code, got it to pop up a Digital Research copyright notice.
It's case won, Digital Research received monetary compensation and the right to clone MS-DOS. This is why Microsoft never sued DR over DR-DOS, but used every other means to destroy it. The settlement was under a strict non- disclosure agreement, so few even know DR sued, never mind that they won.
Digital Research was purchased by Novel and destroyed by neglect and mismanagement. The products now belong to Caldera, which has filed suit against Microsoft over predatory practices used to destroy DR-DOS's market.
What I always found funny was that when a certain DOS program went bezerk, EMM386 thought to jump in and save your ass with... that's right, shutting down the computer before you could save _ANYTHING_, showing words similar to:
"EMM386 has shutdown your computer to prevent loss of data".
Thankfully these days are over... o wait, nv_disp.dll just went into a stop 0xea
Never underestimate the relief of true separation of Religion and State.
[Bil Gates] stated, "It's the end of the MS-DOS era," referring to the exorcism of 16-bit code from the Windows code base.
What, again??
What is the sound of one hand clapping?
cat
People keep complaining about DOS all the time... about autoexec.bat, config.sys, and what not. IMHO, DOS was and _is_ one of the best and cleanest operating systems to learn about the intel architecture. Where else can you issue BIOS interrupts, and play around with system memory? Linux doesnt let me do that unless I compile a kernel module, and what not.
Trey, DOS wasnt the best desktop/server/handheld Operating System, but it surely was a great learning experience for all who used and programmed for it.
I still use TurboC on DOS when I need to try out some small program, and dont want to wait for linux to load.
Another point, I dont think you can ever have a successful operating system without any command prompt. Copying and moving files can never be as easy using a dumb GUI file manager.
Don't Panic
it still has 'edlin' -- whoohoo!
try { do() || do_not(); } catch (JediException err) { yoda(err); }
Somehow I don't think DOS is as dead as they make it out.
Here's my reality... and I'm not kidding about this, but feel free to mod up to "funny".
I work for a software company, maintaining 15 year old DOS Software. The company is owned by older people that can't move fast enough to be in this industry... but somehow, we're still managing to sell this software to unsuspecting people.
We have 2 applications... both of which are touted as "high-end", mission critical apps. A typical installation could cost the client somewhere around $50,000 USD, sometimes more. Here's what they get:
1. A nasty DOS app written in Qbasic, using a Btrieve database on a Novell Server, all running over our favorite protocol, IPX.
Sounds good? Well, its my nightmare!!!
When win2k was released, a lot of little things in our DOS app stopped working. Our company's president refused to believe that MS-DOS was anything less than cutting edge. Now that XP was released, and more things are broken, our company's president refuses to believe that microsoft would abandon DOS.
Anyway, enough rambling about this. Its a sad fact that there are companies STILL working with DOS programs. Sad. Even worse, is that I'm typing here, rather than working on that Qbasic crap.
c:\> del *.*
Skiers and Riders -- http://www.snowjournal.com
Even through I now solely use Linux I will miss DOS. It was my first operating system and my lifeline whenever the users on the network screwed up with their Window$ boxes.
With DOS and Doom I learned syntaxsis, options and commands. It gave me the challenge and the boost necessary for me to head towards an IT career.
So long DOS, you were Window$ last hope!
Writing: no longer done with the fountain pen, now done with an eraser.
The water is getting muddy, here, so let me explain for those who are lost in the buzzword-bingo:
First there was DOS (well, not really, but that's where my story begins). DOS was not really an OS so much as a very simple library and some interupt handlers. The command-prompt was a program that came with it, and a very important one (so were "dir", "del" and others).
When MS decided to build a graphical interface, they did so on top of DOS. DOS was still there as the core interupt handler, but Windows was how the user interacted with the system.
This posed some problems. Windows was not a multi-tasking OS because DOS was not. Windows faked it by giving applications library routines that let them manage their own time-slices in a cooperative multitasking framework. Any app that wanted to take over the system simply avoided calling those routines, but that would be considered bad form.
Eventually, MS build may kludges into Windows to allow memory protection and something resembling premptive multi-tasking. These are good things, but 95, 98 and ME are all still DOS-based.
With NT (2000 and XP are NT versions) MS wrote the whole OS from scratch and did a fairly good job at the low levels (yes, NT is a nice OS down near the hardware where you never interact with it). At the higher levels, they just took the miserable waste of system resources called Win32 (MS' port of Windows to a 32-bit environment) and pasted it on top of NT. Win32 has grown and become more NT-friendly over the years, but it's still the vestige of a DOS-based windowing environment on top of what is arguably a fine OS.
Woefully, the dream that MS engineers had of creating a flexible mircrokernel platform was also squashed. NT was supposed to have several smaller sub-systems to support many types of application access (the POSIX subsystem is a demonstration of the dismal failure of that plan). In reality, all NT, 2000 and XP apps have to go through Win32 to be useful, and Win32 is what most folks think of when they think Microsoft OS.
In the end, the recent press about DOS disapearing is actually misleading. DOS may be gone from NT, 2000 and XP, but the legacy of Windows remains, and will continue to taint MS products for a very long time.
Edlin wished it had the intuitiveness and user friendliness of writing in your own blood using the stump of your foot for a pen.
This next song is very sad. Please clap along. -- Robin Zander
Come on, don't you remember all the OS/2 vs. NT 3.1 articles when NT 3.1 shipped? NT 3.1 was a flop, mostly used as a testing ground for people interested in keeping up with MS's new plans.
NT 3.51 was the first successful version of NT. NT 3.51 SP 5 was amazingly stable... it would be interesting to put an NT 3.51 SP 5 machine up against a Windows 2000 SP 2 (NT 5 SP 2) machine and compare.
Win32s was the backwards port of the core of the Win32 API to Win3.1. The two goals were:
1) Get new applications written against the Win32 API so NT (the future) would have some applications
2) Break OS/2 Windows compatibility layer... they kept changing Win32s until they broke OS/2, then they released apps for Win32s.
Windows 4.0 (Chicago AKA Windows 93 AKA Windows 95) was the version that combined DOS/Windows (to stop the DR-DOS onslaught) and introduced the Win32 API as the standard API. Win95 resulted in the Win32 apps that allowed NT to show some success on the desktop. NT 3.51 had some success as a server (very useful environment for managing Win3.1 desktops without the cost of Novell).
Win95 had some new APIs, which were mostly ported to NT 4 (except DirectX > 3 APIs). When I was at Citrix (MS Blocked WinFrame 2.0, then basically bought it to become Terminal Server), we couldn't support newer versions of IE because WinFrame 1.x was based upon NT 3.51, and IE required Win95/NT4 APIs.
Cairo was supposed to be the end of Windows with NT 4. Two years late and without a lot of functionality, NT 4 had (and still has!) some good server-side support and corporate desktop standing. When NT 4 lacked a lot of the functionality, MS declared that Cairo was a set of projects, not a release, and that some of them would be in NT 5. NT 5, two years late as Windows 2000, finally made a nearly API complete NT to match their home desktop dominance.
Windows XP appears to use a nearly identical system, focusing on a new user experience based on MacOS's improvements.
Microsoft has finaly achieved its 8 year goal of eliminating DOS support, ME was the end of the DOS based Windows, and it looks like all the old DOS games are finally dead. MS kept promissing better support for DOS apps/games in the next version of NT, but never delivered, instead stalling on their demise. Oh well.
Interestingly, NT 3.51 (I don't recall NT 3.5) was extremely portable, commercially supporting 4 processor families (this continued until NT 4, but the other platforms failled to take off).
The DOS support in NT, the NT VDM, emulated a 286, albeit much faster. This is the reason that you couldn't run fancy things in the DOS emulation, if it was a protected mode DOS API (386 DOS app), the NT VDM couldn't handle it.
Hopefully a better solution than VMWare (overkill, complexity, etc.) will exist to run old DOS games in emulation. My brother bought me the commercial version of Abuse (at one time a favorite) as a present, but I got it about 2 weeks after I migrated to NT 4 fulltime. Well, my new HTPC (home theater PC, just for gaming, I got me a progressive scan DVD player already) is going to be 98SE or ME based for gaming compatibility, so I guess I'll be able to play the old classics there.
Alex
On occasions I have had to explain to people which versions of Windows really run on top of MS-DOS. It is somewhat confusing because MS changed all the names around. Here is a list that might be of interest here.
The following versions of Windows run on top of MS-DOS:
Windows 1.x
Windows 2.x
Windows 3.x
Windows 95 (Bundled MS-DOS 7.00 that is no longer sold as seperate product)
Windows 95 OSR2 (Bundled MS-DOS 7.10)
Windows 98 and 98SE (Bundled MS-DOS 7.10)
Windows ME (Bundled MS-DOS 8.00, but exiting to MS-DOS is now forbidden)
The following versions of Windows do not run on top of MS-DOS:
Windows NT 3.1
Windows NT 3.5x
Windows NT 4.0
Windows 2000 (NT 5.0)
Windows XP (NT 5.1)