[comp.unix.i386] UNIX and PC mem betwx 640K-1MB

cliffhanger@cup.portal.com (Cliff C Heyer) (05/31/90)

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? 

Also is there any truth to the idea that UNIX is 
more cumbersome on PC platforms 
compared to minicomputer-type platforms
that have no ROM or VRAM in their address space?

Also does UNIX on a PC use the BIOS?

Cliff

kaleb@mars.jpl.nasa.gov (Kaleb Keithley) (05/31/90)

In article <30344@cup.portal.com> cliffhanger@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@thyme.jpl.nasa.gov            Jet Propeller Labs
Kaleb Keithley

johnl@esegue.segue.boston.ma.us (John R. Levine) (06/01/90)

In article <3900@jato.Jpl.Nasa.Gov> kaleb@mars.UUCP (Kaleb Keithley) writes:
>In article <30344@cup.portal.com> cliffhanger@cup.portal.com (Cliff C Heyer) writes:
>>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.

>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.

All 386 unices page, which means that they treat RAM as a pool of 4K
pages, the real addresses of the pages being nearly irrelevant.  The hole
in the address space causes a little extra startup complication as the
kernel makes the initial free memory list, but as architectural warts go,
it's not a big one.  Incidentally, 86 machines have a separate I/O space
but not a separate I/O bus.  There's only one bus, with a line that
indicates whether an address should be treated as an I/O or memory address.

>>Also does UNIX on a PC use the BIOS?

It can't, the BIOS code runs in real mode and unices run in protected mode.
The PS/2 series has an ABIOS which runs in 286 protected mode, but I haven't
heard of anyone who uses it other than IBM OS/2.  Given that AT clones don't
have an ABIOS, any protected mode system has to be able to run without an
ABIOS, so most of them don't bother to use it even if it's there.

-- 
John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 864 9650
johnl@esegue.segue.boston.ma.us, {ima|lotus|spdcc}!esegue!johnl
Marlon Brando and Doris Day were born on the same day.