54 votes

Why did "protected-mode MS-DOS" never happen?

16-bit protected mode DOS did sort of happen: Concurrent DOS 286 and FlexOS 286 were able to run some DOS applications in protected mode (this involved complex LOADALL shenanigans and revealed bugs in ...
Stephen Kitt's user avatar
35 votes
Accepted

How much slower was the 286 in protected mode?

Basically, anything that involves changing segments is slower, sometimes significantly so; this is unsurprising since descriptors have to be checked, privilege levels potentially changed etc. Other ...
Stephen Kitt's user avatar
34 votes
Accepted

Were Windows 3.x applications dependent upon 80286 instructions?

Windows 3.x wasn’t “stuck to the 80286 platform”: Windows 3.0 still supported real mode on 8086 processors. The requirement for a 286 at the platform level only came with Windows 3.1. As far as ...
Stephen Kitt's user avatar
29 votes

80286 can switch from real mode to protected mode - but why not back?

My guess is that it was merely a design decision based upon the assumption that once a protected mode OS is started, there is no need to go back. Most microprocessors at that time already booted in ...
mcleod_ideafix's user avatar
28 votes
Accepted

Did any software attempt to perform 8086 emulation on the 80286 using LOADALL, in the vein of the later virtual 8086 mode of the 80386?

I believe what you are describing was in fact done. Concurrent DOS for the 286 could multitask DOS programs in protected mode. See the Wikipedia article on Multiuser DOS as well as DOS VMs. The ...
RETRAC's user avatar
  • 13.6k
27 votes
Accepted

80286 can switch from real mode to protected mode - but why not back?

This was intentional so that the CPU would support secure operating systems. In a secure operating system with rigorous memory access protections you could not allow any software - user or kernel ...
davidbak's user avatar
  • 6,249
24 votes
Accepted

How can a protected-mode Watcom C program access memory that a real-mode interrupt service returned in a segment:offset register pair?

In OpenWatcom, which was used in the example given in the question, the intr function performs transparent translation between segment values and protected-mode selectors, presumably using DPMI ...
user3840170's user avatar
  • 22.9k
20 votes
Accepted

Are .COM executable binaries real mode or protected mode?

DOS programs always start in real mode (or an emulation thereof), so it’s best to start disassembling them assuming that. When disassembling, you should assume real mode, with 16-bit data and 16-bit ...
Stephen Kitt's user avatar
19 votes

Why did "protected-mode MS-DOS" never happen?

And, marketing-wise, did everyone want multitasking and GUI so much that an idea of a single-tasked OS was no longer appealing by definition? In a word, yes. The 80386 came to market in 86/87, well ...
mschaef's user avatar
  • 4,816
16 votes

The move to protected mode on x86

Where became protected mode the norm and real mode something for old people with fond memories? I think the answer to that question is with the 80386. Protected mode on the 286 had some issues in ...
JeremyP's user avatar
  • 11.6k
14 votes

Why did "protected-mode MS-DOS" never happen?

The programs that you already had and needed to run were not protected mode programs, they needed to be run in 16-bit real mode anyway. DOS drivers used BIOS for I/O, which also was 16-bit real mode ...
Justme's user avatar
  • 30.4k
12 votes
Accepted

How do you put a 286 in Protected Mode?

Actually this is a lot easier than I thought, after trying to link to another MSW note, I found it in the Intel Instruction Set: Machine Status Word (286+ only). The machine status word seems to be a ...
Evan Carroll's user avatar
  • 3,398
12 votes

Did any software attempt to perform 8086 emulation on the 80286 using LOADALL, in the vein of the later virtual 8086 mode of the 80386?

As RETRAC writes, this was indeed done. Companies other than Digital Research also considered similar approaches, but ultimately discarded them. One documented case is IBM with OS/2’s DOS support ...
Stephen Kitt's user avatar
11 votes

Were Windows 3.x applications dependent upon 80286 instructions?

While Win 3.x operating system stuck to the 80286 platform, Not really as Windows was since 2.1 available in two versions: Windows/286 and Windows/386 It got only unified by name with Windows 3.0. ...
Raffzahn's user avatar
  • 219k
10 votes

How can a protected-mode Watcom C program access memory that a real-mode interrupt service returned in a segment:offset register pair?

I've accepted user3840170's answer as it solved my issue but I want to add a second answer that contains just the concepts that I lacked in order to solve my problem: The far keyword is still ...
knol's user avatar
  • 11.9k
8 votes

Why did "protected-mode MS-DOS" never happen?

There was at least one proposal for a 32-bit OS that would have been a drop-in replacement for MSDOS: Marc Perkel's NovOS, submitted to Novell in 1991. The intention was that existing MS-DOS programs ...
john_e's user avatar
  • 7,045
7 votes

80286 can switch from real mode to protected mode - but why not back?

Just speculating here, but it might have been a product decision to encourage writing code for protected mode. It's also possible it was a combination of technical difficulties and product priorities. ...
Rico Pajarola's user avatar
7 votes

Are .COM executable binaries real mode or protected mode?

com files are not segmented (its just single segment). They have limitation that it can not cross 64K of code (filesize). They always starts in real mode but I do not think there is any restriction to ...
Spektre's user avatar
  • 7,238
7 votes

Why did "protected-mode MS-DOS" never happen?

There were several attempts to introduce an ABI like this, including VCPI (Virtual Control Program Interface) and DPMS (DOS Protected-Mode Services), but the one that came closest to being a standard ...
Davislor's user avatar
  • 8,667
6 votes

Why did "protected-mode MS-DOS" never happen?

In a nutshell: because at that time everybody wanted GUI and multitasking. In the other answers to this question, clever people have listed plenty of technical reasons why it would have been very ...
Dercsár's user avatar
  • 675
6 votes

The move to protected mode on x86

But where was this step really done? Where became protected mode the norm and real mode something for old people with fond memories? My understanding is it was a gradual transition, spanning a decade....
Peter Green's user avatar
  • 2,884
6 votes

The move to protected mode on x86

A major weakness of the 80286 was the fact that most programs were limited to having two general-purpose segment registers loaded at a time. This was adequate if one wanted to copy a range of data ...
supercat's user avatar
  • 35.7k
6 votes
Accepted

Why does the ‘Get Next Selector Increment Value’ DPMI call exist?

I don’t have any insider knowledge on this topic, so this is purely speculation. I suspect the call exists because there was potential variation in similar mechanisms available at the time, which ...
Stephen Kitt's user avatar
4 votes

Were Windows 3.x applications dependent upon 80286 instructions?

I could be mistaken—and I would love to see some examples!—but I believe that it was rare for 16-bit Windows programs to require an 80286 (although some might need an 80386). For example, Version 1.0 ...
Davislor's user avatar
  • 8,667
3 votes

The move to protected mode on x86

Early versions of OS/2 and SCO Xenix (Unix like system for PC) supported 286. Sometime after the 386 was released, Microsoft switched to Windows NT while IBM continued with later versions of OS/2. ...
rcgldr's user avatar
  • 631
3 votes

Why did "protected-mode MS-DOS" never happen?

There was multitasking DOS called Wendin DOS constructed with their Wendin Operating System Toolkit (OST.) The toolkit internally appeared to me to be inspired by VMS. To get around the non-rentrant ...
Bebu's user avatar
  • 31
2 votes

Why did "protected-mode MS-DOS" never happen?

I'd think it was pretty obvious at the time that the real-mode limitations of both BIOS and MS-DOS Real-mode limitations are not of BIOS or MS-DOS. Real-mode uses a 16bit addressing + segmentation, ...
stsp's user avatar
  • 161
1 vote

XMS function 0Ch "Lock Extended Memory Block"

XMS driver function AH = 00h queries the XMS version. The function is mainly used to get the version of which XMS specification the driver implements and it is returned in AX. So that can be used to ...
Justme's user avatar
  • 30.4k
1 vote

Did any software attempt to perform 8086 emulation on the 80286 using LOADALL, in the vein of the later virtual 8086 mode of the 80386?

I don't think the engineers at Intel really understood what made real-mode 8086 segmentation so useful: it allowed memory to be allocated in 16-byte chunks, and allowed any group of up to 4096 such ...
supercat's user avatar
  • 35.7k

Only top scored, non community-wiki answers of a minimum length are eligible