logoalt Hacker News

Zardoz84today at 8:52 AM2 repliesview on HN

if it runs in 32 bits protected mode, by definition you have flat memory.


Replies

lproventoday at 1:32 PM

> by definition you have flat memory.

No, not at all.

It would be more accurate to say:

"by definition you can have flat memory, if you want, but you don't have to."

But everybody wanted to.

In x86-32 you can absolutely have segments if you want. In practice, for an easier but far more insecure life, everyone opted for "one big segment pls kthxbye".

ButlerianJihadtoday at 9:19 AM

The question is understandable because EMM/EMS use protected mode in a limited way.

In fact, 386 protected mode could still make use of memory segmentation, with 32-bit segment registers being an upgrade from the 286 protected mode.

But there has been no production OS that continued to use segmentation once 386 mode made 32-bit addressing so easy. In large part because Unix could be ported from flat memory models such as VAX, and m68k.

Therefore, since CP/M-386 is derived from CP/M-68K, it seems straightforward that a flat 32-bit memory model is employed.

show 1 reply