6 ms·
A quick look at OS/2's builtin virtualization
- daitangio 2y agoOs/2 Warp had support for windows 3.x virtualization, so little surpise for me. Also IBM developed virtualizaion tenchnology (like LPAR) long time ago: https://en.wikipedia.org/wiki/Logical_partition https://en.wikipedia.org/wiki/Logical_partition
- sedatk 2y agoYes, one of its marketing highlights were "a single Windows app won't crash the whole OS" as that was before Windows 95 came out. IIRC, some Windows apps even ran faster under OS/2.
- zabzonk 2y agoIf IBM had given OS/2 to their mainframe division to develop (and hired someone to design a better GUI, with much better icons - these things matter), I think it could have been a hit. I was using hypervisor stuff on VM/CMS in the early 1980s and it worked flawlessly (fun to run a vm inside a vm at the time). Of course, you need the hardware to support it, and IBM were too slow on using the latest Intel chips, and should probably have developed their own.
- sedatk 2y agoVM/CMS wasn't known for its great GUI though. So, the reason OS/2 GUI looked bad might actually be because mainframe guys were too involved with its design. OS/2 had few remarkable VM/CMS characteristics that I could remember, including intricate, hierarchical error codes prefixing every error message like "HPL1001A: File not found", and favoring upper-case on file names and configuration files. Not to mention that OS/2 came with XEDIT and REXX which were cornerstones in VM/CMS.
- kjellsbells 2y agoIn retrospect OS/2 was an OS created for a certain kind of professional user just at the time when the nature of who actually used a computer underwent a fundamental shift. If you were the kind of customer that had a mainframe in the head office, or maybe an AS/400 and some terminals, and your IT stack was tightly managed, OS/2 would have been quite familiar: Redbooks, prescriptive hardware compatibility, Rexx, manuals with every error code documented, and very IBM-ish approaches to development (eg System Object Model). Sadly for IBM they didnt realize that people wanted an OS that was simple to use and would work well enough on any cheapo PC to get things done without needing a managed IT provider or somesuch. I view NT as Microsoft understanding that while they would never want to be IBM, the Win31/Win95 platform was too fragile to be a basis for the future and that they better take on board some of the lessons of OSes like OS/2 and UNIX before their market window slammed shut.
- sedatk 2y agoThat's a good observation. Yes, IBM has always seen the money in enterprise and tried to solely focus on that while Microsoft has been able to remain ambivalent successfully. Both Windows 3.1 and Windows for Workgroups 3.11 were great success stories for example. Even PS/2 line could be a great consumer product if IBM weren't so adamant on making it an enterprise product line.
- hulitu 2y ago> Both Windows 3.1 and Windows for Workgroups 3.11 were great success stories for example. Maybe un US. In eastern europe was DOS then Win95
- SoftTalker 2y agoBack in the day, large companies would often be "IBM shops," meaning every piece of technology, from the mainframe to every terminal, every PC, every monitor, every printer was made by IBM, they would run OS/2 on the PCs. I worked at such a place for about a year in the ~1993 time frame. The only time non-IBM tech was approved for purchase was if they simply didn't offer the item needed.
- russellbeattie 2y agoThere's no universe in which OS/2 was a hit. IBM was simply delusional. They wanted OS/2 to give them back the monopoly on computing hardware they once had in the early 1980s before the "PC clones" took over the marketplace. That was never going to happen. You can pick from any number of business, technical or marketing decisions - and there are many to choose from - that contributed to its failure, but fundamentally, nothing was going to save OS/2 from its original sin.
- anyfoo 2y agoI don't really doubt that that's true for business or marketing decisions, but what exactly were the technical reasons? I don't know too much about OS/2 internals, but what made it worse than, say, NT?
- deleted 2y ago[deleted]
- fredoralive 2y agoIt didn't really cause issues for end users, but OS/2 was tied to x86, it actually uses more than two rings and AIUI even Warp 4 still has 16 bit code in various places. One of the reasons for creating NT back when it was "NT OS/2" was as a "Portable OS/2" so that the OS didn't get left behind when one of the upcoming RISC architectures inevitably destroyed x86 (nobody then would expect a clunky CISC like x86 to be on top 30+ years later, or that the nearest challenging RISC would be the chip from the Acorn Archimedes).
- anyfoo 2y agoHah. It is pretty crazy that the Acorn Archimedes chip won.
- giamma 2y agoAt the time of OS/2 vs NT, NT needed a huge amount of ram to work, while OS/2, even though more greedy than Windows 3 or Windows 9.5 was still cheaper. The system was very good, stable, snappy. The main issue was the lack of software. Microsoft made deals with all hardware vendors and whenever people bought a personal computer they would find Windows pre-installed. At that time most of the people did not know what an operating system was, they just thought of a PC as an appliance, and most believed that Windows was the only option, that PC=Windows. Plus, computer and software were quite expensive, so why buy another operating system when your new PC comes with Windows for free. There are articles over the internet that claim that Microsoft, to kill OS/2, made deals with PC makers (HP, Compaq etc.) giving them OEM Windows licenses for free as long as they did not offer OS/2 as an alternative purchase choice to the end users, which basically meant 99% of people did not even know OS/2 existed. You would then find OS/2 in airports, banks, public transport etc. (all big organizations who were IBM customers) but it was not known by regular users. This said the main weakness of OS/2 was the SIQ [1], single-input-queue. The user interface had a single queue for dispatching UI events, and due to a poor design, a single badly written UI program that got stuck while processing a call from the event loop, would freeze the whole OS/2 user interface. This was improved in later releases but never completely solved, even though admittedly in the last years of OS/2 this type of issues became quite rare. [1] https://www.os2world.com/wiki/index.php/Databook_for_OS/2_%E2%80%93_Chapter_2_%E2%80%93_Inside_OS/2_Warp#The_Single_Input_Queue_Dilemma https://www.os2world.com/wiki/index.php/Databook_for_OS/2_%E...
- VincentEvans 2y agoOS/2 competed against Windows 3.1 - and I don’t recall it visually looking at all inferior.
- Narishma 2y agoIt looked worse than Windows 3.1 IMO.
- anyfoo 2y agoHmm, tough call. I remember it looking "more professional", in some ways even more logical, but overall I'd say Windows 3 (and yeah, especially 3.1/WfW 3.11) was more "pleasing". That was mostly the color scheme, I think.
- sigzero 2y agoNah, OS/2 was visually better.
- sedatk 2y agoOS/2 looked more modern than Win3.1 because, well, it was newer, but also because of the increased use of "gray 3D slab" style which meant modern at the time (see OSF/Motif). But the design language was less uniform in OS/2 despite that it was based on Presentation Manager standard like Win3.1. The generous use of colors in OS/2 made it look like a kindergarten scrapbook, rather than a serious desktop OS. Maybe, they thought people would find it friendlier that way, and it might have even looked friendlier. Yet, Win95 looked way more professional than OS/2 because the design language (fonts, conservative color use in UI elements and more incorporation of gray 3D style in the UI) was simply more elegant. That was mostly because of the influence of NeXTSTEP in the design of Win95 though, so thanks, Steve Jobs, I guess? :) Not to mention completely innovative paradigms in Win95 like "Start" menu and taskbar which made it to 2024 and became the de-facto standard of desktop UX.
- anyfoo 2y ago> The generous use of colors in OS/2 made it look like a kindergarten scrapbook Are we still talking about OS/2 2.x? I somehow remember it to be more "somber", and a very quick search seems to confirm that, though it's not conclusive. https://www.classic-computers.org.nz/blog/images/2009-10-3-os2.2-screen.jpg https://www.classic-computers.org.nz/blog/images/2009-10-3-o...
- akira2501 2y agoThe "support elements" on the mainframe, which are just a laptop connected to some internal buses and power controls, did run OS/2 for many years. You could IPL the machine right from the Warp desktop. It was neat. They also continued VM with VM/370, VM/ESA and z/VM operating systems which are equally rock solid systems. Aside from these IBM did actually go big on Intel systems but they got completely blindsided by clone manufacturers and entirely failed to see what cloud infrastructure would do to their impressive mainframe lineups.
- lproven 2y ago> I think it could have been a hit. I have written about this in some depth, and it should be published on the Register at Yule. Can't link to it as it's not up yet. Yes, it could have been a hit -- if IBM had grasped the nettle firmly and made OS/2 1.x a 386-native OS. After OS/2 1.x flopped, it was too late. IMHO.
- tssva 2y agoI’m not sure how targetting a processor which was very expensive and available in low quantity from a single source at the time would have made OS/2 1.0 a success. 386 systems didnt start landing on regular users desk until a couple of years later when prices fell and the chips became available in quantity including being available from non-Intel foundries. Even Compaq who introduced the 1st 386 systems sold many more 286 based systems for years after introducing the Deskpro 386. Tieing OS/2 1.0 to the 386 at the time would have just condemned it to failure in a different manner. That doesn’t even take into account that OS/2 was supposed to be the OS for the new PS/2 systems introduced at the same time which consisted mainly of 286 based systems.
- lproven 2y agoHere's how I put it in 2010: What if OS/2 v1 had been a 386 product? I think it might have done quite well. OTOH, and I loved OS/2 - I have spent more cash on OS/2 than all other PC software put together in my entire computing life; possibly more than on anything except Spectrum games, and maybe more even than that! - but even as a fan, it was a pig to install, a pig to network, a pig to install drivers, etc. etc. When I tried the Windows 4 beta, I was dazzled. THIS is how it should be. It Just Worked, and setup & tweaking was a dream. Explorer, so elegant! Device Manager - I nearly wept for joy. No 2000-line CONFIG.SYS file! No separate windows for the directory tree and the directory contents! WPS, elegant & sophisticated? My arse it was. Half-assed Mac ripoff. And for all OS/2's alleged reliability, Fractint could kill it easily, the whole machine. Win95 was no better, and as the 32-bit apps & shonky drivers piled up, considerably worse. Then came the horrors of Win98. And SE. And ME. But at first, even the beta of Windows 4 was about as good. And DOS drivers worked at a push. And DOS games and things. The long-filenames-on-FAT hack was a hack, but it worked. Make a long filename on HPFS, look for it from a DOS window or WinOS2 - gone! Invisible! You can't have it, mate, tough. Then they hacked that to give us FAT32, and lo, it worked and was just like the old days. Incremental steps, no big bangs. But when the state of the art was the horrors of Windows 3.x on DOS - even DR-DOS, optimised until it bled with QEMM - or the driver-less and app-less incompatible nightmare of NT 3.1 or 3.5 (if you could afford a £2500 PC to run it well) - OS/2 really actually was "a better DOS than DOS, a better Windows than Windows". But I still wonder... If OS/2 1 had been a 386 OS, and had swept away Quarterdeck QEMM and DesqVIEW, killed the infant BSD4.4-Lite on 386, ensured that Windows 3.0 had been aborted... If it had used V86 mode to flawlessly multitask DOS apps, boot DOS and its drivers off a floppy for those troublesome programs for near-perfect compatibility... Well... Program Manager and File Manager, which in the 1990s everyone thought were Windows 3.0 innovations but actually came from OS/2 1... They weren't so bad. I kinda liked them, actually. Had them tuned for a very efficient, convenient GUI. Loads of custom hotkeys for launching and switching apps, which always damned well worked, unlike on Explorer when if Windows was narked it would just ignore you, or launch 876 extra copies of your app then fall to its knees and die. It coulda been a contender. In 1987, we knew no better. We might have gone for it. But knowing what I do now about OS/2 2 compared to Windows 95... I am not sure that we were not a whole lot better off with what we got than what might have been. I remember impotently screaming abuse at a Warp Connect box, just trying to get it on my LAN and on the Internet via dial-up at the same time. Either Win95 or NT 3 were vastly better than that. OS/2 was, in a horrible way, more DOSsy than DOS. Everything was hand-configured in a vast ASCII config files, which you had to hand-massage into perfection with excruciating care. Then, if you were particularly masochistic, optimise for performance. I never did get Warp 3 to drive the graphics cards and the sound cards of my two 486 laptops at the same time. One or the other, but not both. And one of them was a bloody IBM! I would in an odd way have liked to see OS/2 thrive, but you know... Despite my irrational nostalgia for it, on the whole, when Windows 95 gave us plug-and-pray, I mean, plug-and-play, and power management and suspend/resume and so on, and then NT4 gave us a vaguely modern GUI... Then Windows 2000 brought it all together into a single whole, which if not exactly seamless by any means, did slap enough makeup on Frankenstein's Monster to make it look presentable... Sorry to say it, but I think we were better off. I know, heresy, praise for Microsoft from one of the "Linux Taleban". Shocking. Of course, after that it all went a bit wrong. I know everyone loves XP in hindsight, but with all the bloat, I wasn't and am not so sure. Themes? Really? Do I need that? I know, I can oh-so-intuitively switch to Windows Classic in Display Preferences, then run SERVICES.MSC and stop the THEMES service and disable it... But I can't uninstall Movie Maker or IE or any of the other cruft, no way José. I can't move the hibernation file to another drive or partition. Then came Vista and we learned to love XP. Then came 7, and everyone loves Windows again, except for those of us who found it handy to run a command-line app full-screen occasionally. I think I'll stick to Linux, thanks. https://liam-on-linux.livejournal.com/22311.html https://liam-on-linux.livejournal.com/22311.html
- smm11 2y agoThe OS/2 Warp commercials blew my mind in the mid-90s, and they never even once showed the system. I was a Mac person at the time, and would have been all over OS/2 if I'd had the chance. But I was in a very small town, this was the world with a pre-functional-WWW, and it was just impossible to find anything but System 7 and Win 3.1 at the time. Then I saw a NeXT slab and it was all over. https://www.youtube.com/watch?v=AZRy-6E1FDQ https://www.youtube.com/watch?v=AZRy-6E1FDQ
- AshamedCaptain 2y ago> Windows 3 also uses virtualization for its DOS boxes, but this is "internal" to Windows. OS/2, on the other hand, exposes this entire functionality to the user. What does this mean? It looks wrong. Of course Windows exposes virtualization to users, otherwise they would not be able to run anything on DOS boxes. That's the entire point, and that's why virtualization is used. Because the difference between a "DOS program" and "real mode operating system" is, due to how such a thin layer DOS is, practically zero. So each DOS box is a full VM emulating everything from VGA to floppy, because your average DOS program is very likely going to access them directly. The same test program happily runs in a Win95 DOS box.. or even a Windows 10 one. This is not a special OS/2 feature, it's a requirement for running a DOS box.
- EgoIncarnate 2y agoIn OS/2, you can run any version of DOS, or even multiple different versions at the same time, and I think possibly any real-mode OS that doesn't do anything too crazy with the hardware. In Windows, you are limited to the version of DOS that Windows is running on. Windows does not expose the ability to run any other version of DOS or other OS; nor does Windows API expose any of its virtualization functionality that would be useful in doing so.
- AshamedCaptain 2y agoAnd so you can on any other DOS box, including Windows ones. That is, again, a necessary requirement of a DOS box: you have to emulate a full (real mode) PC. Every DOS box is its separate VM, so it couldn't care less if you run different versions of DOS on different instances. For example, you can run FreeDOS, and even real mode Windows 3 itself on a 9x DOS box. You can do int13h disk access from a DOS box and completely wreck your disks. This is _required_ by any minimally effective DOS box, otherwise FDISK wouldn't work! Keyboard, mouse, even sound have to be emulated as if they're were real devices, too. Otherwise, your fancy "DOS" game (that happens to call practically no DOS interrupts) would not work . As I was saying, there's practically no difference between a DOS program and a real mode operating system. How would the VM manager notice you weren't running (MS)DOS, much less care? > Windows does not expose the ability to run any other version of DOS or other OS; nor does Windows API expose any of its virtualization functionality that would be useful in doing so. You really do not need _any_ functionality to boot another OS from DOS. It's one int 19h away -- or copy the bootloader in memory and jump to it. It's a shorter program than the vga.com program used in this article. In fact, the moment you run the author's vga.com on a DOS box, even from command.com, you are effectively no longer running DOS: you have already bootstrapped your own non-DOS operating system on a Windows DOS box. If you want to be nitpicky, it's likely your "non-DOS" OS has to keep certain DOS structures in the usual places, specially if you want to use e.g. host filesystem level accesses (not full disk), but this will most definitely also be the case for a OS/2 DOS box.
- bloatfish 2y agoSo OS/2 exposes VM86 to the user (https://en.wikipedia.org/wiki/Virtual_8086_mode https://en.wikipedia.org/wiki/Virtual_8086_mode) (as does Windows) but also emulates POST booting behaviour from diskettes?
- MisterTea 2y agoI had no idea this was available. Seems like it is also capable of running doom so that means it allows 32 bit mode somehow?
- anyfoo 2y agoWin95 (and beyond, and somewhat before) DOS boxes also allowed to run DOOM and other protected mode software. But pretty much only if the software was written for "DPMI" ("DOS Protected Mode Interface")[1], which abstracted all of the protected mode "management" stuff away from the software, like switching into protected mode, allocating memory, etc. If you ran DOOM, you might remember DOS/4GW. That was a so called "DOS extender", and the DPMI "server" when DOOM ran under DOS. When you ran DOOM under Windows, Windows itself became the DPMI server, and DOS/4GW acted as a thinner layer. Protected mode software written that way did not run as a v86 task anymore, but closer to a regular Win32 task (it was after all real 32bit software). [1] Or its predecessor VCPI.
- csense 2y agoThis all kinda obvious if you're familiar with the 386 hardware and early PC history. The OG 8086 was a chip from a different world than what a modern developer is used to (even a modern PC developer). The 8086 is definitely rooted in the tradition of earlier CPU's of the first days of home computing in the 1970's. While it had segments instead of banks, the 8086 was a near-contemporary and near-peer of classical bank-switched 16-bit CPU's of the 1970's, like the Zilog Z80, Motorola 68000, or MOS 6502. After the IBM PC had already gotten popular, people wanted to bring protected mode OS's and software to the PC (especially as these were standard features on the "big boy computers," i.e. time-shared multiuser systems like mainframes and VAX's). So Intel made the 286 and IBM put it in the PC/AT and its successor, the PS/2. The 286 suffered from a number of design issues. It was still 16-bit. And critically, you couldn't easily mix protected mode and real mode. This meant anyone who wanted to run a fancy new protected-mode OS had to sacrifice their entire existing userspace of DOS software. Interest in the feature was extremely tepid; most people simply used their 286 as a faster 8086. For the next chip, the 386, Intel learned from those mistakes. They added all the infrastructure needed to virtualize a complete 16-bit real-mode system (I/O ports, memory ranges, interrupts). The 386 has three operating modes: Real mode, protected mode, and virtual 8086 mode. The latter is what they use for DOS emulation in OS/2 and Windows 95. The OS/2 2.x DOS emulator was pretty amazing technology back in 1992. Equally amazing is that there was little technical reason it couldn't have been released much earlier; the 386 debuted in 1985! It was around this time that OS developers basically decided "Segments were a mistake. Let's just give every process a flat address space and use the MMU to manage memory with pages rather than segments," a design decision doubtlessly helped along by the fact that the 386 MMU could manage memory with pages rather than segments. (This was, in hindsight, a solid design decision that has stood the test of time. C programmers these days have no idea what a far pointer even is, and it's probably better that way.) Unfortunately the 386's protected mode had its own fatal flaw: It was only designed with the necessary traps to emulate a real-mode guest. Hardware support for emulating a protected-mode guest didn't appear until well after the turn of the millenium, with Intel Vanderpool and AMD Pacifica. (Not coincidentally, modern cloud computing and VPS hosting -- which we all take for granted today -- started to appear not long after. Before this time, "hosting" was understood to mean "rent a whole server" or "rent a UNIX / Linux shell account on a shared server.")
- tzs 2y agoA neat thing in Warp (I don't know if it was also pre-Warp) was that when it booted if it didn't have an OS/2 driver for the hard disk it would create a v86 task that would take over the state of the BIOS and it would then use BIOS INT 13h calls to access the disk. That meant you could install and use it on a PC with a disk controller that OS/2 did not recognize out of the box as long as that controller provided BIOS INT 13h support.
- anyfoo 2y agoI think 386+ Windows did the same, all through at least Windows 95. I even remember some goose chasing trying to enable the coveted "32 bit disk access" (which IIRC meant using native protected mode Win drivers for disk access) instead of the dreaded legacy disk access that called into the real mode BIOS: https://lh5.googleusercontent.com/-EKxolyf8ZJY/TePaQskPwCI/AAAAAAAABw4/RvWvoJVor-o/s800/diskAcc.jpg https://lh5.googleusercontent.com/-EKxolyf8ZJY/TePaQskPwCI/A...
- mananaysiempre 2y agoThis used to be common for modesetting using 16-bit VESA BIOS calls on multiple operating systems. Even Linux could do it, once upon a time.
- sehugg 2y agoOS/2 was pretty boss. I could fuzz test multiple DOS apps while running two Windows 3.1 sessions that communicated over a null modem cable.
- Grimeton 2y agoI think you're mistaking the Windows Subsystems for "virtualization". Windows has/had tons of subsystems beside the today well known WSL. There were MSFU, NTVDM (Dos) or even OS/2 subsystems. As Windows NT is based on the ideas and code of OS/2 (the chkdsk output is the same till Windows 7 iirc) both OS support the subsystem feature. Printing is its own subsytem btw. This went as far as having the Win32 subsystem available on OS/2 and vice versa. These subsystems are small layers that convert between the NT native system and the software that is run on top of them. The thing you call Windows is just the Win32/Win64 "subsystem" running on top of the NT-Kernel. Here a few links I could find regarding this topic. This stuff is ancient and Microsoft doesn't make a big fuzz about it, because it's one of the core features that allows Microsoft to port Windows quickly to any platform and run software built for any architecture on top of the NT kernel. There are enough "subsystems" out there, like Windows on Windows (WoW64) or even Windows on Arm and so on. This hole is deeeeeeep. I recommend the sysinternals book. [1] - https://learn.microsoft.com/en-us/previous-versions//cc767964(v=technet.10)?redirectedfrom=MSDN https://learn.microsoft.com/en-us/previous-versions//cc76796... [2] - https://web.archive.org/web/20120112001543/http://support.microsoft.com/kb/308259 https://web.archive.org/web/20120112001543/http://support.mi... [3] - https://en.wikipedia.org/wiki/Virtual_DOS_machine https://en.wikipedia.org/wiki/Virtual_DOS_machine [4] - https://en.wikipedia.org/wiki/System#Subsystem https://en.wikipedia.org/wiki/System#Subsystem [5] - https://en.wikipedia.org/wiki/Windows_Services_for_UNIX https://en.wikipedia.org/wiki/Windows_Services_for_UNIX
- anyfoo 2y agoI don't think they're mistaking anything. 386-era Windows and OS/2 versions used the CPU's v86 task support, which, while having some severe warts[1], can well and truly be called "virtualization". [1] Most of them fixed with later CPU extensions: https://www.rcollins.org/articles/vme1/ https://www.rcollins.org/articles/vme1/
- mr_toad 2y agoWhen most people talk about VMs these days they mean something similar to the Popek and Goldberg definition, which wouldn’t be achieved on x86 until a decade later.
- psd1 2y agoNihil novum sub solem. Which means, nothing new since Sun was bought out.