[coreboot] About Paging, Realmode and what is going on

ron minnich rminnich at gmail.com
Thu Sep 7 02:23:14 CEST 2017


The original statement about BIOS -- that it was a second OS from the first
day on -- is not correct.

I am pretty sure the term BIOS (Basic Input Output Subsystem) comes from
the early days, from CP/M. That's when I started hearing it anyway.

The BIOS was the bottom half of CP/M. It provided an abstract device
interface that the top half -- the part that came on a floppy -- could use.
So the BIOS was not a second OS. It was 1/2 the OS you ran. Vendors created
hardware and BIOS for the (usually 1024 byte) ROM and that ensured that
CP/M could run on their box. The part of CP/M on the floppy, and the part
in EEPROM, combined to provide a kernel. Kernel, of course, being a very
loose term given the lack of processor modes.

This was a very different model from, e.g., the minicomputers of the day,
wherein the ROM was used to boot a kernel and then it got out of the way.

So BIOS nature as a runtime entity was established very early on.

Linux, for a long time, did not need no steenkin' BIOS (you can find that
quote if you look back far enough). But those days are gone.

ron

On Wed, Sep 6, 2017 at 5:09 PM Julius Werner <jwerner at chromium.org> wrote:

> > The awkward thing about BIOS is that it was a second OS from the first
> > day on – while the reasonable philosophy behind firmware should be:
> > Start the board, load the OS and go back into your flash until reboot.
>
> My history lessons may be failing me here, but IIRC the main reason
> for that was memory: DOS wasn't a full OS in the modern sense, it was
> pretty much just a shell and a collection of utility programs. All the
> actual device driving was done by the BIOS. So if you compare it with
> a modern GNU/Linux machine, the BIOS was equivalent to Linux and DOS
> to the GNU parts.
>
> The original IBM PC had so little memory that they couldn't really
> afford to waste any of it on stuff like device drivers. So they put
> the drivers in flash where they could be executed in-place, which
> became the BIOS. Most of DOS itself (essentially the command.com
> shell) was just unloaded whenever you launched a program and re-loaded
> from disk afterwards, and while the program was running it mostly
> interacted with the BIOS directly.
>
> So you're right that from our current point of view that having
> callbacks into firmware makes little sense, but back then they were
> working with what they had and it was pretty much the only way to get
> as much out of the machine as they needed. The BIOS was really the
> first OS on the platform, and all those later ones that implement
> their own drivers (Windows, Linux) are breaking with the intended
> paradigm.
>
> --
> coreboot mailing list: coreboot at coreboot.org
> https://mail.coreboot.org/mailman/listinfo/coreboot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20170907/d87ee802/attachment.html>


More information about the coreboot mailing list