UNIX and PC mem betwx 640K-1MB

Kaleb Keithley kaleb at mars.jpl.nasa.gov
Fri Jun 1 01:50:24 AEST 1990


In article <30344 at cup.portal.com> cliffhanger at cup.portal.com (Cliff C Heyer) writes:
>
>I'm wanting to check my line of thinking...
>
>Compared to the 680X0 machines, I found myself
>thinking that UNIX on the 80X86 architecture 
>might be a bit more complicated because the
>ROM and VRAM located above 640K. You don't
>have a clear linear address space even with
>a 386 in protected mode because the PC
>architecture hard wires this memory into
>certain locations.
>
>Is this true or do 680X0 machines also
>have VRAM and ROM at certain memory 
>locations? 

Not only is VRAM and ROM in certain locations on 680x0, but I/O is memory
mapped, compared to 80x86 which has a separate I/O bus.  While DOS expects
ROM and VRAM to be in certain locations, and these are "hard-wired"
into certain locations, the 386 architecture allows a great deal of
flexibility, the ROM and VRAM can me mapped somewhere else, allowing
a contiguous memory segment.  QEMM (for DOS) does just this (memory map
manipulation that is, not create contiguous memory.)  Most(?) 386
PCs are populated with 1MB memory chips, which would overlay the ROM and
VRAM locations if it weren't for this ability.

>Also does UNIX on a PC use the BIOS?

It has been my experience (with ESIX) that UNIX does not use the BIOS.
I can only surmise that since the BIOS must work with DOS, it probably
does not use 386 code, and probably is not re-entrant; both of which
may be a factor for UNIX.  Plus UNIX probably has/wants a different calling
sequence than that used by the BIOS.  Since I don't have kernel source,
it's hard to provide a definitive answer to this; perhaps someone within
the works at ISC, SCO, or ESIX would care to confirm or deny this?

kaleb at thyme.jpl.nasa.gov            Jet Propeller Labs
Kaleb Keithley



More information about the Comp.unix.i386 mailing list