7 ms·
Does it support flat memory model or its banked like DOS ?
by iberator 2mo ago
Does it support flat memory model or its banked like DOS ?
- paseante 2mo ago[flagged]
- deleted 2mo ago[deleted]
- Zardoz84 2mo agoif it runs in 32 bits protected mode, by definition you have flat memory.
- ButlerianJihad 2mo agoThe 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.
- unnah 1mo agoAlso, since CP/M 3.0 on Z80 supported more than 64 kB memory via bank switching, one might expect CP/M to do so on other platforms too.
- ButlerianJihad 1mo agoYou probably mean "more than 64KB" or "more than 64KiB", but you're not wrong that 65,536 > 64,000
- lproven 1mo ago> 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".
- trn 1mo agoActually, while the TPA is "flat", the OS model is using only segmentation for protection and not paging currently. Just the segment is quite large:)