On 3/30/07, Queenie de Melo <queenie245@xxxxxxxxx> wrote:
As per me… Kernel is the OS and Device driver comes in it.. Now I want to know… what the bootloader does then… I understand that it brings up the processor (initialization) and initializes the peripherals…
on general purpose computers there is one more player in the game BIOS: basic input output system this is the first code which run on your system
Initialization of the peripherals like… Uart or Ethernet etc…. if its done by bootloader then… driver would have to be written rite? So r drivers also written in bootloader?
this is done by BIOS which then invokes the boot loader Now the bootloaders job is to get the kernel image and pump life into it It depends on the OS whether to use the BIOS' services or not Linux kernel does not use BIOS services it reinitializes the device in its own style so we can say that bare minimum drivers are written in/for the BIOS due to the size limitations & the linux kernel provides full fledged & more intelligient drivers on most of embedded platforms both responsibilites of BIOS & bootloader are usually handled by a single entity so we don;t see a clear distinction between the two CMIIW
then how does the flash( where bootloader is stored) and SDRAM ( where Bootloader is run from) get initialized?
usually the memory device where the code which runs first is stored is mapped to an address which the processor can access without any initialization then this code will do all the fancy stuff
Hmmm… Another question is… once the bootloader is run… it initializes the peripherals and then tried to load the kernel. What if kernel is not there? It would wait for the kernel… putting a message on console maybe… What stage would the hardware be at this point? Does it enter any wait state?
depends on what all the BIOS/bootloader has done before loading the kernel
Will the bootloader still be in the SDRAM at this point of time?
yes
Still another question is…. Y is virtual addressing used? What is the benefit of using virtual address… why cant we just give the physical address? Pyisical address and the corresponding virtual address , both r anyway unique for a processor na. then y virtual addressing is used?
this should have been asked in a different thread i think anyways I think one reason might be to make every process think that it owns the whole 4GB of virtual address space even if the system does not have that much of physical memory which makes multiprogramming easier CMIIW -- Milind Arun Choudhary -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ