del C:\WIN – A Goodbye to Windows 3.1


The end of an era has arrived for a legend in computing. Windows 3.1, the first widely accepted foray into graphical user interface operating systems from Microsoft, has reached its End of Life.

The BBC covered the story noting, “[It] helped Microsoft establish itself and set the trend for how it makes its revenues, and what drives the company until the present day.”

While Microsoft stopped releasing the OS as a desktop operating system years ago, licenses were still being issued as it was apparently wildly popular as an embedded Operating System. The BBC points out, to my surprise, that it is even being used on Virgin Atlantic and Qantas airlines to power the in-seat entertainment systems for their long-haul flights. Note that this does not appear to be the case with Virgin America that appears to be using a Linux variant, as we covered over a year ago.

To me, it seems that Windows 3.1, while it was certainly lightweight by todays standards, is a bit overkill for an embedded operating system. Certainly, mobile phones tend to benefit from Java ME (Blackberry smartphones, for instance, are run on Java), Symbian which is wildly popular among Nokia phones or event the .NET Compact Framework usable in Windows apps on mobile devices.

Of course, mobile phones are not the only mobile devices. Every electronic device that does anything has some sort of embedded operating system that might be a embedded linux variant, or the like.

The trick for embedded operating systems is that they must live in a very small memory space and typically are feature limited to essential functionality usable in a miniature device. Windows 3.1 ability to live in the reserved 640k memory space of a DOS environment made it sexy for this kind of application (keep in mind that Windows Vista requires a minimum of 1GB of memory, so do the math on technology differences).


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@ECHO OFF
LH /L:2 C:\WINDOWS\COMMAND\MSCDEX /D:MSCD000 /M:15 /E /S /L:D /V
LH /L:0;2 /S C:\WINDOWS\COMMAND\SMARTDRV 2048 16 /V
C:\WINDOWS\COMMAND\MODE CON RATE=32 DELAY=2
C:\WINDOWS\COMMAND\MODE CON CP PREP=((865) C:\WINDOWS\COMMAND\EGA.CPI)
C:\WINDOWS\COMMAND\MODE CON CP SEL=865
LH /L:2 C:\WINDOWS\COMMAND\KEYB DK,865,C:\WINDOWS\COMMAND\KEYBOARD.SYS
LH /L:2 C:\MOUSE\MOUSE
LH /L:2 C:\WINDOWS\COMMAND\DOSKEY /INSERT
PROMPT $p$g
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\CTSND
SET DIRCMD=/P /A
SET TEMP=C:\WINDOWS\TEMP
SET TMP=C:\WINDOWS\TEMP
SET SOUND=C:\CTSND
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:G
C:\CTSND\DIAGNOSE /S
C:\CTSND\SB16SET /P

It’s been a good 18 years, not that I miss Windows 3.1 all that much. I got my start on Apple IIc and moved quickly to an 8088 before beginning real learning on an i286 running Windows 3.1. This was back in 1990, so there’s a bit of nostalgia here. Congrats, Microsoft, for making a game changer.