Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!cwjcc!hal!ncoast!allbery From: allbery@ncoast.ORG (Brandon S. Allbery) Newsgroups: comp.os.minix Subject: Re: PC Minix/64KB limit Message-ID: <13409@ncoast.ORG> Date: 24 Feb 89 04:35:24 GMT References: <415@lzaz.ATT.COM> <2485@sun.soe.clarkson.edu> <417@lzaz.ATT.COM> <3570@mit-amt> Reply-To: allbery@ncoast.UUCP (Brandon S. Allbery) Followup-To: comp.os.minix Organization: Cleveland Public Access UN*X, Cleveland, Oh Lines: 31 As quoted from <3570@mit-amt> by pshen@mit-atrp.UUCP (Paul Shen): +--------------- | By the way, the minimum addressable memory of 8086 is 640KB, | not 64KB. 80286 is much larger, due to the wider physical address bus. +--------------- Sigh. The 8086/8088 can address 1MB of memory. The reason why DOS (and Minix) are limited to 640K is because the addresses from 640K up are used by other things: at 640K is EGA/VGA screen RAM, at 720K is MDA/Hercules RAM, at 768K is CGA RAM, and the rest is ROM (EGA BIOS, if any, HD, and BIOS). This is the design of the IBM PC, *not* of the 8088. The 80286 can address more memory than this not only because of the address bus but also because of a bit of segment subterfuge referred to as "protected mode", whereby a "segment address" is actually a tag value used to find the *real* address in a table. It still has 64K segments, however. (The table referred to above also includes MMU information, such as read/write permissions; hence the name "protected mode".) The 80386 not only has an even larger address bus, it has larger segment registers. Which means larger segments -- 4GB instead of 64K. I have yet to hear of a medium-model 386 program, much less large or huge model.... ++Brandon -- Brandon S. Allbery, moderator of comp.sources.misc allbery@ncoast.org uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu Send comp.sources.misc submissions to comp-sources-misc@ NCoast Public Access UN*X - (216) 781-6201, 300/1200/2400 baud, login: makeuser