3 ms·
No doubt the pivotal importance of IBM's PS/2 range and I was instrumental in my organization acquiring many but that wasn't without problems as we already had
by hilbert42 4y ago
No doubt the pivotal importance of IBM's PS/2 range and I was instrumental in my organization acquiring many but that wasn't without problems as we already had many ISA machines so PS/2s weren't compatible at a board level. That increased the cost of maintenance amongst other things.
However, when I think back the two most disruptive problems for us were the development of the 80286 and the failure of OS/2. The 80286 was dog of a design not from its silicon per se but rather from a design concept. The switching modes problem, triple-faulting the processor and so on.
I understand the reasoning behind why Intel designed the processor that way as an explanation of why it did so took up most of the time of a long Intel seminar/presentation that I attended just when the chip became available.
It's easy to be wise in hindsight but it would have been better for everyone—except of course Microsoft—if the 80286 had never existed and that the 8086 platform had migrated directly to the 80386.
- klelatti 4y agoCan you expand on the explanation as to why Intel said they designed the 286 as they did?
- ForOldHack 4y agoThis is a bit of history, I had to search a while for: "The designers of the 80286 based it on the Multics segmentation model, but in reality segmentation makes it really hard to implement, because of internal memory fragmentation. A while back I wrote blog post about how an alternative 80286 with segment registers pointing to 256 byte paragraphs giving a true 24-bit virtual address which was then paged into a 24-bit physical address space. 8068 compatibility could then be managed by having the segment registers map to 16 byte paragraphs as before." But: The screwed up on the switch back to real mode, and on the reservation of the 4th byte of the descriptor tables, which made it so that Xenix-286 cannot run on a 386. ( long discussion... I think that MS purposefully made it incompatible. )
- klelatti 4y agoBrilliant! Thanks so much.
- lproven 4y agoSegmentation is harder to work with, but it has benefits too. At the time, when it was all new, everyone just complained about it: they wanted the ease of use of flat, unsegmented memory, with just one memory address. More recently, the NX bit has become desirable and promoted. The CPU can flag areas of RAM as data, and mark them as Non eXecutable. That is all: one bit, so either it is code and you can run it, or it's data and you can't. But the original Intel 386 design had 4 protection rings: 0, 1, 2 and 3. 0: kernel mode, can do anything. 1: inner ring, privileged code, but with restrictions. 2: outer ring, some hardware privileges: can do device I/O. 3: user mode code, no hardware access privileges, has to request everything through the kernel. OS/2 2+ used the middle rings, and Novell Netware 4.x, optionally, for NLMs (apps that ran on the server, which was rare for Netware). Nothing much else. Microsoft only ever used 0 and 3. But with memory segments, you could, in theory, flag each segment by ring. This is much more flexible and controllable than just one NX bit. I've written about this: https://www.theregister.com/Print/2011/07/11/a_brief_history_of_virtualisation_part_one/ https://www.theregister.com/Print/2011/07/11/a_brief_history... Segmentation had benefits, but they took more work, more effort and thought and planning. You needed to design the OS for it, and the drivers, and the apps. But remember how DOS evolved: it's a clone of CP/M. No multitasking, no permissions, only 1 app in memory at a time. Back in the 1980s, the industry was growing by adding stuff onto a brain-dead, super-simple design from the 1970s. They saw segments as a hindrance, an unnecessary complexity. They wanted them to go away. In the 1990s, we got 32-bit desktop personal computers and 32-bit end-user desktop OSes. Apple's design was a single-tasking OS and it had to buy a Unix vendor to make a grown up OS. Microsoft's engineers achieved miracles bolted on to DOS, but in the end, it had to ditch its entire OS too, and build a whole new one: Windows NT. It took headhunted talent to make it work. IBM dropped the ball, which is the whole point of my blog post that is the root of this discussion. Now, we have CHERI, building protection segments back in again. I've written about that too: https://www.theregister.com/2022/07/26/cheri_computer_runs_kde/ https://www.theregister.com/2022/07/26/cheri_computer_runs_k... It's a huge waste of human effort: we had them in the 1980s, but they were too hard and we threw them away. UNIX did too. Multics used them, but Multics was too hard. UNIX was Multics with the hard bits left out. And now, 50 years later, we're discovering that we needed them all along and we're painfully and with great difficulty putting them back in again.
- hilbert42 4y agoToo late to reply now, others have already jumped in with splendid answers. :-)
- klelatti 4y agoThanks for the thought provoking original comment!