Linked by Thom Holwerda on Sat 9th Feb 2013 18:54 UTC
Windows "The 16-bit Windows kernel was actually three kernels. One if you were using an 8086 processor, another if you were using an 80286 processor, and a third if you were using an 80386 processor. The 8086 kernel was a completely separate beast, but the 80286 and 80386 kernels shared a lot of code in common." As always, Raymond Chen delivers. If you don't yet follow his blog, you should. Right now. Click that bookmark or RSS button.
Thread beginning with comment 552040
To view parent comment, click here.
To read all comments associated with this story, please click here.
kwan_e
Member since:
2007-02-18

What happened was that Intel thought everyone would be so amazed with the possibilities of protected mode, that no one would care for real mode any longer, hence the no inclusion of programming instructions to switch back to real mode.


And history replayed itself with long mode.

Reply Parent Score: 2

siride Member since:
2006-01-02

But long mode isn't nearly as bad as 80286 protected mode, and it wasn't invented by Intel. You can still run legacy code on 64-bit processors just fine. It's just more painful than it was. But it's 2013 and if you need to run 16-bit real mode programs, you neither need a modern processor nor a modern OS.

Reply Parent Score: 2

Megol Member since:
2011-04-11

It's possible to switch from long mode, it isn't even hard (just setup the new environment with interrupts disabled and then clear the long mode bit).

In comparison the only way to return to real mode in the 80286 was to setup some data in the realtime clock module and then do a hardware reset. When the processor have initialized it jumps to the reset vector in the BIOS and pretty early the BIOS code checks the RTC memory and if enabled it jumps to a specified code location.

Reply Parent Score: 2