[OT] But important to me. Appropiate Mailing Lists ??

Markku Kolkka markkuk at tuubi.net
Mon Apr 17 08:48:42 UTC 2006


William Case kirjoitti viestissään (lähetysaika maanantai, 17. huhtikuuta 2006 04:54):
> To be more accurate about the BIOS question; one of the things
> that has always bothered me -- and it may be a result of
> stupidity -- is when I turn on my computer in a cold boot,
> power first flows to the main BIOS (read Firmware Hub for
> Intel) and then to the other auxiliary BIOSes.

No, all components are powered on at the same time. (large servers
may use power sequencing to limit the maximum start-up current draw,
but that's not relevant to BIOS start-up).
See: http://www.pcguide.com/ref/mbsys/bios/boot.htm

> How does main BIOS, at this early stage, know were the
> auxiliary BIOSes are and which ones to elbow into action

They are at fixed addresses: video BIOS at 0xC000, other expansion
cards between 0xC8000 and 0xF0000 at 2KiB boundaries. The main
BIOS looks for a specific "magic number" at those addresses to see
if there's an add-on BIOS chip.
http://en.wikipedia.org/wiki/BIOS#Firmware_on_adapter_cards

> You know, to get a real answer I am probably going to have to
> slog my way through the BASH source code.  Ruefully; I would
> have thought that someone would have already done the slogging
> and left a nice neat readable explanation for the world.

A UNIX/Linux shell is basically really simple: see this CS course
assignment:
http://www.math.grin.edu/~walker/courses/213.fa04/lab-shell.shtml

BASH adds various extra features like command history, filename
completion etc. but the basic command interpreter works the same way:

For each command line,
	1. break the command line into tokens - the pieces separated
	   by spaces
        2. place the command tokens into an array of command-line
	   strings
        3. identify the location of the desired program by searching
	   the user's PATH variable for the given program
        4. use fork to spawn a child process, and use execv
	   within the child process to actually run the desired program.

-- 
 Markku Kolkka
 markku.kolkka at iki.fi




More information about the users mailing list