Research Stream: OS/2 1.0 Explorations
This needs to become an infobox:
- Stream: RESEARCH STREAM: The First Version of OS/2 ...
- Streamed On: January 11th, 2023
- Streamed by: NCommander
- Stream type: Emulated on 86Box
Questions To Answer
These were questions I wrote down and asked before doing the stream to try and answer them, and my collected feelings over them.
What was OS/2 1.0 like to use?
Assuming you could get it to work, OS/2 1.0 was not a bad experience in and of itself. Even on an emulated 6Mhz 286 you could switch and load multiple applications at once, and it was quite easy to run Word and Multiplan side by side, while having WordPerect 4.2 present and accounted for. In short, period correct DOS applications (and even Windows 3.0) worked just fine.
The system requirements were extremely steep; at a minimum, Microsoft OS/2 seems need at least 512kb of conventional memory, and an additional 512kb of XM to run. It may actually require 640kb convention memory, but this wasn't tested, but that would be commonplace by the 90s, when Windows 3.0 came around, however, had the family mode API been more used, it could have provided a solid upgrade path over DOS 3.3 and MDOS 4, especially given it could use both the 80286's segmented protected mode, and the 80386's 32-bit segment size limits.
Furthermore, Program Switch/TSHELL is essentially just a more refined version of MDOS 4. Had MDOS4 and OS/2 been more successful, we may have seen a much more text UI based take on multitasking, than the one that was built around Presentation Manager/Program Manager. That said, DOS based multitasking programs like DESQview were pretty successful.
Was OS/2 a decent development platform?
That's difficult to answer at this point. I know that OS/2 was at least relatively well supported as a development platform, and that Microsoft used it as a host platform for Word, and several other products until transitioning over to Windows NT. Porting a console application from DOS to run on OS/2 is relatively straight forward from what I've seen of the Family API.
While I did install MS C compiler, I haven't really tried to do much development on it. However, while there were some IDEs in this era, its not uncommon to have had to quit out of the editor, run the compiler, relink, and more. Projects were probably more held together with batch scripts and good intentions since microcomputers were quite limited. Tools like make were either too bulky or weren't needed yet.
At least some versions of OS/2's toolkit included MEP or SKED, a full screen editor, and other commercial ones were available. Watcom provided a port of vi out of the box. There were at least two versions of the development tools; the one included in MS C 5.1, and those included on the toolkit disk. The toolkit disk seemed very much for those who wanted to "bring their own compiler", and had the linker and other associated tools needed but wasn't a complete package.
This is similar to how the Windows 1.0 SDK had the link4 linker, as well as things like the resource compiler, but required the use of MASM, Microsoft Pascal, or Microsoft C. I'm not certain if this predates OMF files, but there may have been a de facto standard in this era.
What were the absolute minimum requirements to use OS/2 without Presentation Manager?
- Is this an upgrade from DOS (especially Multiuser DOS 4)?
- How does this compare to Xenix, or other PC Unix and Unix-likes of the time?
- What problems were visible here that were only obvious with hindsight?
Interesting Timestamps
This is an incomplete list, please add as more are found:
- 2:20 - Stream Start
- 34:39 - Installing Windows 1.0
- 56:00 - Installing Word 5.0A - DOS
- 1:10:00 - Multitasking Example Word/WordPerfect
- 1:12:00 - Multiplan(ish)
- 1:24:00 - Microsoft C
- 1:47:00 - Don't Install System Upgrades
- 2:07:00 - Windows 3.0 Installation
- 2:31:00 - Install IBM OS/2 Extended Edition
- 3:10:00 - Actually installing IBM OS/2 Extended Edition
- 3:31:00 - Install Communication Manager
- 3:37:00 - Install Database Services
- 3:50:00 - Introducing OS/2
- 4:00:00 - Tutorial on Multitasking
- 4:13:00 - Tutorial on Database Manager/Query manager
- 4:20:00 - Starting Query Manager
- 4:35:00 - Trying QM/DM with 8 MiB of Memory
- 4:50:00 - Experimenting Low Memory
Description
Findings
Exploring OS/2 1.0
As Microsoft (and likely IBM) strongly believed in dog-fooding, the goal is to create example environments representing what is known about how they used. Microsoft originally made OS/2's software development kit available to
Microsoft Developer on OS/2
Microsoft used OS/2 fairly extensively in-house as it was an early adopter of the 80286, and OS/2 was used to develop itself, and Windows NT, as well as several well known applications such as Word for Windows. In effect, OS/2 is a fairly solid development platform, and provides a lot more flexibility and customization than DOS of the era.
The goal is to create an example VM with the following components
- Microsoft OS/2 1.0 running on a 80286
- Microsoft Word
- Microsoft Multiplan
- Microsoft C Programmers Workbench
- OS/2 SDK 1.0
I would have included a mail client, but there doesn't appear to be any good preserved period correct ones.
Internally, among other things, Microsoft used the M editor, originally for DOS, with an OS/2 port being made as SDKED, which is important since OS/2 1.0 doesn't ship with an editor. SDKED should be on the SDK, but even a DOS copy of MEP should be used if needed.
For good measure of the following third-party applications. These should be 8088 based, and period correct from 1985-1988ish.
- WordStar for DOS
- Rogue
IBM Powered Business
While Microsoft saw OS/2 as the future, IBM wanted it as a more advanced operating system for the 286. While IBM intended it for use on their own line of PCs, they did sell Extended Edition to partners that included two, and then three major apps.
- IBM SQL Server (which is used as the basis for non-mainframe DB2 today)
- Communication Manager, for interfacing with other IBM machines
- LAN Server, which was a NetBIOS server, and domain master - It wasn't in 1.0, but check when it was added.
By and large, OS/2 was a very threadbare environment, with the most advanced built in app being the E editor, and very few third party applications. OS/2 had very high system requirements for that time period, and while it needs to be backed with research, it stands to reason that IBM was mostly catering to very high end power users, as well the small and middle business groups who were on the IBM PC already.
Things To Test
Here's some various bits to test:
- Absolute minimum hardware configurations
- DOS/Backwards Compatibility
- Windows 1, 2, and/or 3.x Compatibility
Stream Questions and Answers Notes
To be cleaned up a bit (and probably need to add wiki box)
-- Things Discovered: Windows 1.0 didn't work doesn't work under OS/2 1.0 DOS Box, but WIndows 3.x does MS C 5.1 talked about creating a patch for IBMBIO (DOS specific file), using patch, with following notes - Hex Offset 1432 - 1A -> 1C End result broke the system entirely, might have not done it correct. (Original comments) - OS/2 Patch in MSC4 talks about booting from floppy - OS/2 patch patches IBMDOS.COM?! Microsoft Link/2 - 1987 Copyright Microsoft included branded linker for OS/2; might work with DOS compiler than understands segments. IOPL is set the YES natively on OS/2 1.0 on MSFT/IBM CONFIG.SYS is drastically different between IBM/MSFT Installer is drastically different from IBM/MSFT Dates: Microsoft OS/2 Unbranded - 12-15-1987 Tandy OEM - 4-11-88 Windows 3.0 SETUP.EXE has a family mode binary? 86Box seems to have problems with IBM 286 - worked with NEC BIOS - but unclear as to why IBM/Microsoft Differences - Installer Drastically Different - IBM version starts to Progream Selector/MS version starts to command line 12 OS/2 Program Limit - Base Memory Alt-Esc on OS/2 1.0 was the equivelent of Alt-Tab DOS program is suspended when out of focus IBM C/2 programming language (probably related to CSet/2) Database Manager is exceptionally slow ... DM requires exceptional amount of memory Was the multitasking in IBM OS/2 exceptionally slow? 512 kb of XMS is the actual limit of how low it can go ... --- Follow up stream topics: DESQView TOPView - IBM PS/2 Memory SIMMS