I used OS/2 in order to develop Zortech C++ further. Its great advantage was protected mode. When there were memory bugs, instead of scrambling my hard disk it would seg fault. I'd get everything working perfectly on OS/2. Then, I'd port it to Rational's 286 DOS Extender, which also operated in protected mode. This would purge all the bugs in the compiler related to the mixed 16 bit memory model. Then the last step was to port it to real mode DOS.
OS/2 saved me an enormous amount of debugging time.
I always laugh when people complain about null pointer seg faults. Those are a feature, not a bug. Finding bugs in your code immediately, rather than a few miles further down the road, is a great attribute.
Writing through a null pointer in real mode DOS meant overwriting the interrupt vector table. Probably the worst CPU architectural mistake of all time is locating that table at address 0. If you were lucky, DOS would just freeze up, and you could reboot it. If you were unlucky, it would scramble your hard disk, and you'd have to re-install the operating system and all your files.
The ROMs (i.e. boot address) should have been located at address 0, and the interrupt table at FFFFF.
> Probably the worst CPU architectural mistake of all time is locating that table at address 0.
That’s not something unique to x86; eg. the PDP-11 also had its interrupt vector table starting at address 0. This only became a real problem when languages that treated address 0 as a sentinel value became popular.
C did not say 0 was the sentinel address. Most implementations had it as 0, but it could be any address, and K&R (first edition - highly recommended) had a table of what NULL was on various platforms - most were 0, but not all. In C++98 0 was the sentinel address, resulting in the compiler having to guess if you really meant 0 or whatever NULL really was when you have 0 in the code if NULL wasn't 0. C++11 introduced nullptr which is implementation defined.
Nothing got defined until much later, it's just that the early implementation of C used a 0, because it was not an usable address and they didn't want to burn any usable address space (of which there was only 56k on the PDP-11).
> Probably the worst CPU architectural mistake of all time is locating that table at address 0.
I don't know if it persisted into 16-bit era CPUs & OSs, but early on the bottom of the memory map was faster to access, so things like interrupt tables¹ were often located there. The 6502 family even had specific load and save instructions for zero-page so not only was the actual operation faster once read & decoded, it took two bytes not three to store so was read faster² and took less space.
--
[1] you generally want the response to an interrupt to be as fast as possible, shaving a few clock cycles off could be pretty significant
It was only faster because of the shorter encoding, something that doesn't matter when the CPU itself is generating the address like on an interrupt. On the 6502, there is a single vector for maskable interrupts, and another for NMI, both of them at the top end of address space.
The 8086/8088 microcode that handled interrupts used a special "segment 0" to provide the address, I don't think it would have been difficult to have some other hardwired value instead of 0. And on later x86 chips there is an actual register for it (IDTR) that can be changed by software - even in real mode, though for reason of backwards compatibility this wasn't usually done.
The 6502's interrupt vector is located at the _top_ of the memory map, but the reasoning is the same; you can simplify address decoding and shave clock cycles.
My first job in tech was as a support rep for an ISP (a massive phone company that has been since consumed by an even larger phone company)
I must have answered thousands of phone calls, but one that sticks out in my memory was a guy who had selected Mac support not because he had a Mac, but because he was running OS/2 Warp and he didn't want to deal with a Windows support person - who might try to help him fix Windows instead of just giving him the information he needed (whatever ISP specifics). I'm pretty sure he related that information a couple of times, which made me feel that aside from wanting the specific info, he also just wanted to tell someone that he was running OS/2 Warp. Or maybe have someone to appreciate how hard it was to be an outlier.
Those of us running non-MS Operating systems were of a type - thrown together because of our non-conformance. I shared a bit of camaraderie with my girlfriend's dad once because he was so excited about his Amiga.
Whenever someone with outlier software comes to us for help, I take great care to download and install it, make screenshots etc, just to pretend it's a normal occurrence.
OS/2 was a massive leap in the right direction. It was well ahead of its contemporaries of the time.
Of course it wasn't all roses, like the contemporaries of the era it had issues, which would be more prominent if more people had used it. It's worth remembering that, by todays standards, in the late 80s, computers were rare. Most businesses didn't have one at all, most homes certainly didn't (and a significant portion of those that did were not-Dos machines.) My Computer Science class of 1990 mostly consisted of folk who'd never touched a computer before. No-one I knew had an Apple Mac, they were expensive.
Windows 95 wasn't as good as OS/2 3.0 (aka Warp), but it marketed the idea of computers to the general public. Only once the 486 shipped did you start to see computers as "normal". But even by the end of the 90s we'd sell hardware when selling software.
I'd argue that we're absolutely in the future that OS/2 envisaged. Ultimately all paths converged and (probably starting with XP) we've been living that future.
> OS/2 was a massive leap in the right direction. It was well ahead of its contemporaries of the time.
Agreed. But...
> in the late 80s, computers were rare
I'd dispute that. At the time, I was British. PCs were rare, as in, IBM PC-compatibles. Computers were everywhere.
One view of OS/2 2 in the context of the time was that it made a 386 PC into what the Amiga, Atari ST and Acorn Archimedes already were: full-GUI multitasking computers with sound and decent full-colour graphics, and a fairly rich desktop.
Because Windows 3.x was none of those.
> No-one I knew had an Apple Mac, they were expensive.
Agreed. Businesses only. I met one (1) private owner in that time.
> Windows 95 wasn't as good as OS/2 3.0 (aka Warp)
"Good" is much to narrow a word here.
As an OS design, better? Yes. Better multitasking, better memory management, better filesystem.
As a desktop? No way. Win95 had a much better desktop. Note how every Linux desktop except GNOME 3 and Pantheon is an inferior knock-off of Win95.
Better for ordinary users? No. Win95 was much more compatible, with more hardware and more software.
Better for networking? No. Win95 had a full network stack as stock, dialup and LAN. OS/2 made that an expensive optional extra.
Better for developers? No. MS had lots of cheap dev tools.
Sadly, mostly, OS/2 2.x was only "better" in academic, almost theoretical terms. In the real world for real people, Win95 was better in every way that counted.
It banes me to say it, because I paid for OS/2 2 with my own money, something I've almost never done for software, as I work in the industry.
I used OS/2 Warp which was admittedly very late to the party. I don't remember the desktop being at all worse than Win95. It had TCP/IP, a dial-up stack, Ethernet drivers etc. Silky smooth multi-tasking and didn't crash.
OS/2 had no new games though, no DirectX, only older DOS games worked, and eventually most Windows programs wouldn't run anymore on OS/2 and then I switched to Linux.
But during the Doom era it was pretty standard to boot DOS on a floppy before starting Doom, so what OS you had on the HDD didn't matter too much.
> I used OS/2 Warp which was admittedly very late to the party.
There were 2 versions branded "Warp", OS/2 3 and OS/2 4. Because you said:
> It had TCP/IP, a dial-up stack, Ethernet drivers etc.
... then I think you had 4. Quite a different beast, several versions later.
The main versions were 1.0, 1.1, 1.2, 1.3, 2.0, 2.1, 3.0, 4.0 and then some point releases for the server flavour only.
So it sounds like you came in right at the end, when it was a bit more polished. You didn't see the horrors of the earlier releases.
> I don't remember the desktop being at all worse than Win95.
It was a _lot_ more complicated. Warp 4 had a kinda-sorta taskbar and a hierarchical start menu thing but nothing earlier did. Warp 3 had a CDE-like Launcher floating bar thing.
2.0 and 2.1 had none: no dedicated app launcher at all. Browse the virtual filesystem to your app, or make your own.
The WPS desktop was weird and complex. No "OK" or "Cancel" buttons. You could only drag with the right mouse button, for no good reason. Strange "shadow" icons that worked a bit like symlinks/aliases/shortcuts but were more complicated in incomprehensible ways. A tree view separate from and disconnected from the filer view. Magic system folders you couldn't modify. Lots of weird stuff that was weird for the hell of it rather than any technical reason.
I bought it, I ran it myself, and I liked it, but it was much much more complicated than either Win9x or NT 3.x/4.x, and it didn't need to be.
> Silky smooth multi-tasking and didn't crash.
It was very smooth. It was also quite easy to crash: I played with Fractint a lot, generating fractals, and just changing to one of the undocumented screen modes reliably killed OS/2 with a kernel panic. Even in a full screen VM.
There was also a nastier kind of crash: a single global I/O queue, in a 16-bit process for most of the released versions. If that died or froze, your OS was still running fine but you could no longer interact with it in any way. Including to cleanly shut it down.
No networking as standard, no way to SSH in, no virtual consoles you could switch to with Alt+Ctrl+F2. Just a perfectly working machine that was no longer listening to the world, so you could only power it off and pray to whatever gods you had it would survive.
This failure mode, I think, is why Microsoft made Ctrl+Alt+Del a magic system-request keystroke that the shell could not redefine and no program could override or stay in front of. If your desktop or full screen session locked up or crashed, C-A-D put you back in control. OS/2 had no equivalent.
Only of course the marketing lizards made them change that later. >_<
> Better for ordinary users? No. Win95 was much more compatible, with more hardware and more software.
Not sure about the hardware side, but my understanding of the canonical story why OS/2 lost is exactly because it supported running all Windows software natively?
This let _some_ clean Win32 apps run on 16-bit Windows 3.1. As a demo it bundled the original Freecell game. It's still out there as a free download today, and gets you the original tiny fast Freecell on Win11 64-bit, including on Arm.
IBM had licenses to include full integrated copies of DOS and Windows 3.x with and inside OS/2, called "WinOS2". But it was 16-bit Windows and ran on the OS/2 DOS VM.
Win32s let some apps run, but Win32s didn't work on WinOS2. IBM tweaked WinOS2 to get Win32s working. MS responded by tweaking Win32s so it didn't work.
Repeat multiple times until MS hit a way to stop it working at all.
So, apart from a few trivial apps that ran on older versions of Win32s, you could not run any Win32 apps on OS/2.
So, Microsoft moved the market to 32-bit as fast as it could, first with NT 3.1, then NT 3.5 which introduced the VFAT disk format and long file names, then with the consumer-focussed Win95, then with NT 3.51.
So all the cool new apps ran on Win32 and OS/2 was frozen out of the market.
It could only run win3.x application natively (and faster too). Then they even lost that. By that point win32 apps were starting to become the norm. Then the icing on the cake was win9x was 70ish dollars. While getting a copy of os2 usually started around 150 and it was wildly picky about the hardware it ran on. I too bought that thing. Suffered thru installing 20 floppy disks and usually a segfault or two during install (making you start over). The PM was kind of cool. But 9x was way better polished. You can tell MS did its homework with usability testing.
Smaller, cheaper, faster, much better UI, vastly better driver and app support.
No, the multitasking wasn't as good, but it was pretty good TBH. Compared to Windows 3.x it was amazing.
As a loyal OS/2 user who spent £300 odd on boxed copies of OS/2 2.0 and then 2.1, I switched to the unfinished beta version of Windows 95 because it was that much better.
A trivial but telling example:
On HPFS, OS/2's native filesystem, you got long file names. But DOS didn't. A DOS VM under OS/2 could see HPFS drives (just as if they were network drives) but any file or folder that was not an 8.3 character name was just... invisible.
I made a folder called `D:\DOCUMENTS` (note, 9 letters) instead of my old DOS `D:`DOCS` and put a file into it, and I couldn't open it in Word 6 because it could only see names up to 8 letters.
No way round. IBM never thought of this.
On VFAT in NT 3.5 and Win95 and all later versions, long filenames are automatically truncated and a short name shown to DOS and Win16 API calls.
The name was truncated to 6 characters, then a tilde `~`, then a 1 for the first long name with that 6 letters, then ~2 for the second, ~3 for the third.
(I never found out what happened if there were >9.)
If you installed MS Office 95 it went into Program Files (PROGRA~1) as OFFICE.
But if you installed Office 97, they leant in to their new long filenames:
C:\Program Files\Microsoft Office
From dos:
C:\PROGRA~1\MICROS~1.
That's why I sometimes use MICROS~1 as a cynical nickname for Microsoft. It's from their own product on their own OS.
Microsoft thought about what would happen if a DOS app accessed a LFN. IBM didn't.
Wonder if that would show the folder icon or think it is an asm file.
Think NT still has a flag where you can get that behavior for older applications if you need it. Think the prog fsutil lets you set it. Never had a need to do it though.
> Wonder if that would show the folder icon or think it is an asm file.
Oh, I'm sure it'd work fine, but I wanted "Documents" just because it looked nice.
I get LFNs now! Let's use them!
[5 min later]
Oh.
> Think NT still has a flag where you can get that behavior for older applications if you need it.
I am _fairly_ sure it's still there and on by default. Before Windows did tab-completion (badly), I used PROGRA~1 and so on as shorter-to-type versions. It was handy. I didn't have to think at all for those examples: they're burned into my muscle memory.
> Wonder if that would show the folder icon or think it is an asm file.
Oh, I'm sure it'd work fine, but I wanted "Documents" just because it looked nice.
«
I get LFNs now! Let's use them!
[5 min later]
Oh.
»
> Think NT still has a flag where you can get that behavior for older applications if you need it.
I am _fairly_ sure it's still there and on by default. Before Windows did tab-completion (badly), I used PROGRA~1 and so on as shorter-to-type versions. It was handy. I didn't have to think at all for those examples: they're burned into my muscle memory.
Late 80s computers were fairly common in Ireland, 386's and Mac's, although as you say mostly non-Dos, Spectrum, Commodore 64, Amiga, Atari and some other exotics.
We had a computer lab in my very run down school that has Macs and Apple IIs. My family were working class, if you had an interest there was a network of computer enthusiasts who would happy swap stuff, get you hardware etc. We bought a second hand 386 from somewhere, then fucked it up trying to add more memory I think. I was only a kid, but my dad saw me self learning BASIC and would encourage that sort of thing.
If this was happening in 80s Ireland I'd be surprised to learn they were rare in other countries, we weren't exactly doing well at that point.
It was probably rare in 80s Ireland as well. If it was anything like the rest of Europe, what you remember sounds like a tiny percentage of the population (enthusiasts) as opposed to almost everybody, as it came to be later.
Home computers were definitely common-ish in Ireland in late 80s. (Sinclair Spectrum, Commodore 64, Amiga). I'm from a small town in the West of Ireland and about 6 or 7 families got the new "Spectrum 48k" in 1985... By 1988-90 they were all over the place..
It was 1992 before we got an IBM PC 386 and that was a bit rarer alright... but Commodore and Amiga ruled for years..
In the UK there were about 2.5m Amstrad's (of various models) sold, similar for Spectrum, Comomodore 64 less. Amiga's and Atari's weren't for sale until the tail end of the 80s (and even then, Amiga had sold just ~ 400K between 1988-1990). All together around looks like in in 5 households had a computer, and the distribution favored higher income ones - in working class areas much fewer would. Before 1987 even less.
I started doing the maths after reading your first two sentences, but you had already done it.
I make ‘80s computers in Ireland a bit rarer than you at about 1 in 9 households, however that means many kids at school would have a couple in their class with a computer, with the number growing as they progressed through school.
I’d spin the same data differently: not that uncommon and growing quickly.
Depends what you're comparing it against though :)
Today (including smart phones) you're talking about multiple computers per household, probably more computers in the house than there are people. So one per "40ish people" was (compared to now) "rare".
So, in my original post when I said "rare" - I meant "a few per class". In my 80's childhood there were maybe 2 or 3 people in the class who had a computer (of any kind) at home. The school had 2 computers (BBC Micro) for student access (for over 600 students.) Most were completely uninterested.
Bear in mind that the numbers in the UK and surrounds were likely higher than that because the UK was an epicentre of home-computer development. Sinclair, Acorn etc were all at their height so penetration in that market was likely a bit higher.
First 3.5" hard disk I ever saw. Blazing speed for 1988. A 25MHZ 386! With secondary cache!
This thing was $10,500 for the base spec, if I remember rightly -- it's over 35 years ago -- and that excluded a keyboard, monitor and DOS.
In my 2nd year in that job I bought a 2nd hand Acorn Archimedes A310. 8MHz ARM 2, 1MB RAM, 20MB hard disk.
It was considerably quicker than that IBM. Like 4-8x the speed. And it was £800 used. With a screen, keyboard and RISC OS!
Probably £1500 new, so about one tenth of the price of a comparably-specified Model 70.
My point being... as someone said upthread, they didn't know anyone with a private Mac home computer. Yeah, well, a 386 PS/2 was even more expensive than a Mac.
Ah I knew I shouldn't have said 'IBM PC 386'...! :-O
It was an "Epson Equity 386SX" which - as you say - is my uninformed shorthand for 'a 386-based PC compatible' (actually maybe it was only 286-based anyway?!)
I remember the Epson Equity range. I supported quite a lot of the original 8086 and 80286 ones. Cute little PCs, which was unusual back then -- most big name vendors went with big wide, or fat or tall, cases to look impressive for the money.
>My point being... as someone said upthread, they didn't know anyone with a private Mac home computer. Yeah, well, a 386 PS/2 was even more expensive than a Mac.
Still within the reach of a PC-enthusiast early adopter upper middle class person, a doctor or lawyer doing well and such. The kind which now buy a Leica and lenses for $10K+.
I suppose rare and common are going to be subjective, but I don't think they were rare. There was a lot of in the yard tape swapping going on and it was probably only slightly rarer then consoles are now in schools. In that if you had an interest in games or computers you could get your hands on them.
In the late 80s my school had two or three Apple Macintosh 128Ks and about ten Apple IIe. This was a disadvantaged school but I doubt we were special. This was a donation of used computers I believe, although my memory is fuzzy on that.
My family was working class not much money but we had a 386 around '89 and then a 486 before I went to college in '92. Someone mentioned that they retailed for 10k, which would not have been possible with my families circumstance.
What's interesting to me is that we ended up with NT's Win32 personality as the default and only userland. I always wondered what an "NT-native" userland would look like, and if that would have been closer to the OS/2 personality that shipped through NT 4.0.
Perhaps it would look different, in the way that say MacOS and Windows are different, but I doubt it would be "better".
I mean, lots of choices are arbitrary. They're typically "invisible", like the pedals in a car, until you come across a different layout. [1]
visually, OSs like to reinvent themselves (Windows XP, 7, 8, 10, 11) but functionally they behave the same (maximise, minimise, close buttons in top right corner of window).
OS/2 today would look very different to OS/2 then, but probably a lot like Windows 11.
[1] I drove a truck for a bit that forced my left foot to use the brake because of the design. It took a long while to get used to pressing gently with the left foot, as I was used to trucks with a very heavy clutch pedal.
> [1] I drove a truck for a bit that forced my left foot to use the brake because of the design. It took a long while to get used to pressing gently with the left foot, as I was used to trucks with a very heavy clutch pedal.
I have never driven a "real" truck so I'm confused by this. I drive automatic so my left foot never does anything. Can you tell me a bit more about the arrangement that forces you to use your left foot for brakes?
The steering column was big, and went all the way to the floor. So basically one foot was on the left, one on the right. Think two footwells instead of 1. You couldn't cross the right-foot over to the left pedal.
Being a driver was tricky, being a passenger was worse - while learning the braking tended to be "very unsubtle".
> Most businesses didn't have one at all, most homes certainly didn't
I think this is wrong. The PC industry had been through a massive stock market boom in the early 80's, and "desktop publishing" was a real thing, not just for early adopters:
As for OS/2, Gates stabbed IBM in the back by pushing Windows, as is well documented. He continued to give lip service to OS/2, but anyone with eyes could see that Microsoft's heart was with Windows.
> I'd argue that we're absolutely in the future that OS/2 envisaged
Everyone had the same "vision" back then. Actually bringing it to market is something else again.
Computers had made large inroads in many different businesses. Newspapers all were done on computers because desktop publishing was so obviously better than the manual processes. Finance and the like were also computers. Scheduling was done on computers (thus the doctor's office had them for the staff but the doctor had not clue how to run them). Most word processing was on a computer, so low level staff had them - but the executives worked with hard copies and never touched the computer.
Nothing was on the internet. So even though airlines did scheduling on a computer you needed to call a travel agent to get tickets as you didn't have access to schedule flights yourself. Even if you got access, there was no usability so you couldn't figure out how to do this without a week training.
You might have had email, but the messages from the CEO was sent out via hard copy as not everyone in the company had it.
When I started as an intern in the mid 1990s everyone was excited that we had a new system and now you could schedule your own meetings instead of asking a secretary to do this. This was at a computer company where the people wanting a meeting spent hours every day staring at a terminal, and had access to the scheduling system - but the system was so complex they couldn't figure out how to use it.
The above is office jobs. There are a lot of non-office jobs that now have computers. When I had my garage door fixed the tech pulled out a tablet to sign off and pay for the work when done. Even 10 years ago this would have been handled by paper.
In conclusion: computers had a lumpy start. I think that it is fair to say most businesses didn't have one. However many of them did. They were expensive, but affordable.
But it was just the same sort of OS as the mainstream, without all the legacy baggage -- much of which, sadly, the Haiku folks are putting back in.
The world we wanted? I don't know about that.
I played with a Remarkable slate thing a couple of years ago and it nearly made me weep. It is so much less than the Apple Newton was 30 years earlier.
I want the original planned Newton in the Remarkable form factor. I want a thin, light, pocket Dylan workstation that runs for a week on a charge and can wirelessly connect to anything.
I don't just want a BeBox. I wanted that in 1999, sure, but a quarter century later, I want something MUCH more ambitious than that.
The Internet killed the OS, unfortunately. Before the widespread Internet (which really didn't "take" until after 2000 IMO) your OS and computer had to be "self contained" - now it's a glorified translation layer between the browser and the hardware.
I've poked around a little at Haiku wondering if it's truly the spiritual successor to BeOS. I don't know, because I only ever saw Be at a friends house running on a PowerMac.
I like the idea that there's still room for more OS', and that there might be reason for them.
Action Retro (https://www.youtube.com/watch?v=GW2V034859k) suggests that Haiku can be a daily driver, & does pretty well. Considering giving it a flight on my occasionally-used lappie.
> After staring at instruction traces for a little while, I found the rather unexpected cause. In the DOSKRNL file (the DOS 4.0 kernel running inside OS/2 DOS boxes), Microsoft tried to be clever and used an invalid instruction as a fast path to access protected mode services. But there was a fatal problem: Microsoft used the 0F 7F opcode, which is not undefined on Pentium MMX and later — it is the MOVQ instruction. For that reason, launching DOS boxes in build 6.78 fails miserably on Pentium MMX and later Intel processors (except perhaps on the Pentium Pro).
I was a middle school kid. A family friend provided the installation media and said it was the future. I was excited! I saw the pictures of the desktop! I tried and tried to install it, but time after time ended up with failures. The best I ever got was to progress all the way through the hours long installation only to get an error about memory without parity bits on the first boot. I messed with BIOS. I messed with the RAM chips, swapping out some. It seemed to me that it needed very specific hardware, and the hardware I had wasn't inside of that envelope.
When I had a 486 laptop at home, OS/2 felt like it was worth the money because it allowed me to access the power of the computer I already owned. Disk caching, lots of windows and lots of apps, multitasking, all stuff DOS didn't do on its own back then.
So I didn't resend spending it.
But Microsoft provided beta for free and it's long been quite easy to pirate MS OSes.
IBM did no blocking of pirates, but it expected journalists and evaluators to buy it, which is madness. It also released a time-bombed demo version of the OS, which is insane: it 100% will expire and nuke your PC, even if it works perfectly, which mostly it didn't.
Compare when I tried to review the new MS Exchange Server against Lotus Notes.
IBM sent me a copy of Notes and that was it.
MS sent me a copy of Exchange and Outlook, it sent me client licenses and OS media, and then it put me on a short off-site training course to make sure I knew what I was doing and was competent to deploy it, attach clients, and get it working.
(It wasn't amazing: for instance it couldn't collect mail over POP3 or IMAP. MS expected you to have a fixed IP, an MX record, and be receiving mail over SMTP like an ISP.)
But still, MS went the extra mile. IBM didn't. It spent fortunes on marketing, TV ads, everything, but it never occurred to IBM to get permission from Paramount Pictures to use the "warp speed" line from Star Trek until after the product had been named.
IBM spent billions but missed obvious stuff.
MS spent its money more wisely and worked to get the press, the developers, the vendors and so on on-side.
By the time IBM went solo, its vendors had been burned by missing the Windows boat, and were shy from pouring more good money after bad.
MS clearly knew what they were doing and they executed well. It's made fun of, but "developers, developers, developers" is right from Ballmer's time in the trenches, and he saw and knew that it was developers that got Windows over the hump.
IBM marketed it like an enterprise product, because they felt they only needed to sell it to "a few suits" like things they'd done before. Microsoft knew they needed to get everyone on it and developing for it, even if they had to eat piracy for decades to do so.
It's hard to see how else this story could have played out. OS/2 (1.x and 2.x) were whole new OSes, with the device-driver and compatibility issues that unavoidably entailed.
Secondly, in the era of ISA and EISA slots, PCs weren't really ready for this. MS had the clout to push initiatives like PnP, and PCI really helped too.
(As it also helped Linux. I remember the pain of trying to work out the right incantation of
linux aha152x=io:230,irq=11
... or some such nonsense to try to get a Slackware boot floppy to see my SCSI port, on which was the CD-ROM holding Slackware itself.)
Win9x was based on DOS, and so bypassed all this. But that couldn't help OS/2.
The one trick IBM could have executed that MS did, which would have helped, I tried to explain at the time to OS/2 communities online, to general bafflement.
NT could be installed from DOS. Right up to XP, and maybe later.
You copy the files from CD to a FAT16 partition, then run WINNT.EXE... just like with Win9x where you run SETUP.EXE.
This works very well and you don't need bootable media of the new OS that can access optical media or the network.
I deployed a whole network of NT 4 workstations this way. No optical drives, no USB.
1. Boot from DOS. Partition disk. Make a bootable DOS partition small enough to be efficient with FAT16 - say, 511MB. Reboot.
2. Install Netware client. Reboot.
3. Connect to server. Copy NT install files from server to C: drive.
4. CD to C:\WINNT, run WINNT.EXE.
WINNT.EXE runs in DOS, builds a new minimal NT system on the C drive. Then it reboots into that, and that formats the NTFS D: drive, and installs the OS into it.
It was quick (especially if you ran the SMARTDRV disk cache first) and it saved several thousand pounds in the cost of fitting optical drives across the fleet. That also stops users listening to music or installing their own software, and reduces potential failures, power use, maintenance costs, etc.
It means you didn't need to boot into NT to install NT. No compatibility issues, no SCSI or EIDE drivers, no network client, no faffing around modifying boot disks to see the source files to install from.
This was 100% perfectly possible for OS/2 but like the short filenames issue, I think it never occurred to them.
Agreed - I don't really think they cared much about "installing on existing systems" because IBM assumed everything would be OEM'd.
Everything about OS/2 feels like "the only existing market is DOS programs, and we can run those great, let's roll" - and they might not even have been wrong! I personally went straight from DOS 5.0 to Windows 98 SE (though I was using other people's Win95 machines during that time).
But installing on existing hardware is exactly what developers and "user fans" will do - it's almost the most important thing, until you get traction.
This evokes some strong nostalgia. My formative years were spent playing Doom IPX on LAN (DOS), Trials of Battle (OS/2) on LAN, and Galactic Civilizations, learning to code with REX, and spending time on internet chat rooms. We had an Windows NT 4 box in the house which was for my dad's work, and I didn't touch it much as DOS games either didn't run or were a real PITA to get working, so OS/2 Warp 3/4 and DOS were where I resided most of the time.
That was a standard price structure for a platform SDK at the time.
I purchased the NeXTStep SDK for $3000 in 1993, and I believe in 1995 I got the Microsoft Developer Network (MSDN) subscription, which had stacks of CDs for their entire platform collection, that was $2000 each year.
These Software Developer Kits were massive, representing a significant percentage of the total effort of the company behind it. The printed documentation was 25 kilograms of paper. That AT&T C++ compiler shipped with the documentation in three-ring binder notebooks, I literally had to get another bookshelf for it.
How did developers like yourself afford paying l hundreds to thousands of dollars (in the '90s no less!) for software and documentation without going bankrupt? I still find it strange that individuals spent the price of a used car on software that would became obsolete within a year or so.
My platform hopping was very unusual... and not a business strategy. I had always been fascinated by the NeXT platform, and when it became available for (very expensive configurations of) 80486 PCs I had to try it. I did manage to get the dev kit half price from another programmer who had purchased it but then got a lucrative contract in a different direction.
But I wrote a book about the Microsoft stuff. It didn't generate any royalties, but it landed me a couple of jobs, and I figure it worked for me.
Easy, we only bought what we actually needed to develop, and stayed with that until there was an actual reason to buy something else.
It certainly made it easier not to worry about a new framework or programming language every single month.
At least for those that wanted to stay legal, there were also tons of ways to get pirated software if one wanted to, including openly selling it on street bazaars.
I saw OS/2 in action once for a couple of minutes around the mid-90s on the company laptop (IBM Thinkpad?) of my aunt, who was an insurance agent for the German Allianz insurance company. Being used to the Amiga UI, OS/2 looked incredibly clunky and not much better than Windows 3.1 tbh. I'm kinda glad that it wasn't the future ;)
You're kinda glad Windows beat OS/2 because OS/2 was only a little bit better than Windows?
I was a big OS/2 fan. The Workplace Shell may have been a bit clunky, but under the hood it was pretty neat. Everything was an object that you could manipulate with Rexx (and other languages). In a way, it's what PowerShell eventually grew into.
OS/2 saved me an enormous amount of debugging time.
I always laugh when people complain about null pointer seg faults. Those are a feature, not a bug. Finding bugs in your code immediately, rather than a few miles further down the road, is a great attribute.
Writing through a null pointer in real mode DOS meant overwriting the interrupt vector table. Probably the worst CPU architectural mistake of all time is locating that table at address 0. If you were lucky, DOS would just freeze up, and you could reboot it. If you were unlucky, it would scramble your hard disk, and you'd have to re-install the operating system and all your files.
The ROMs (i.e. boot address) should have been located at address 0, and the interrupt table at FFFFF.