Re: diff b/w BIOS and driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thats a good question....

First we need to know what a BIOS is.. BIOS forms part
of the computers Basic Input Output operation...
doesn't explain much.. so I'll try this.. a hardware
by itself is useless (duh!!).. we have all these
devices connected to each other (CPU, memory.. drives
the video card, other cards, controllers... IO
chips... blah... blah..).. but all by themselves they
do nothing.. there needs to be some logic.. 

so we need some software that does that and thats the
BIOS.. when you turn on the system the BIOSs job is to
initialize all devices, check that the necessary
devices are working, ascertain that there is no
conflicts within the system.. enable the devices to be
registered. and then start loading the operating
system..

But why not leave this to the operating system.. the
operating system lives on the harddisk.. which would
no tbe initialised.. and would be in a state 'X' which
is unknown.. all devices may be in their own states
after a start and bios does the cleanup and
initializes the states of the devices.. yes we can
have the operating system live up there doing the job
of the BIOS (Linux bios @
http://www.acl.lanl.gov/linuxbios/)

for this the bios does some low level stuff..
(somewhat akin to the device driver.. ).. but if you
add in custom cards, it wouldn't know how to do
things... as BIOSes are written for more generalised
devices.. 

the devices initialised by the BIOS are accessible
through the software interrupts (13 disk, 9,16 ->
keyboars, 10->video functions (did I get that right..
been a while since I've done some assembly)).. However
each hardware is unique.. and offers additional
capabilities and features.. also accessing the device
everytime though software interrupts is a waste of
time.. 

hence we need device drivers to do those things for
us.. device drivers are loaded up by the operating
system.. to take advantage of the additional
capabilities of the hardware.. and well sometime you
have device drivers to do a lot of other stuff.. ever
wondered what happens when you type in 'echo "hello
world" >/dev/null' ??)

why is a device driver faster than the BIOS.. well for
once device drivers do not use the BIOS.. can be
optimised... and since they are written for custome
hardwrae they do not need a whole lot of
'generalisation baggage'... 

long read.... quiet true.. :)
cheers,
Sharath


<HR>

<br><font size=2 face="sans-serif">hi all,</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp;
&nbsp; &nbsp; this is a pretty basix qn. how exactly
the BIOS functioning are different from the device
driver's functionality, since both of them control the
i/o devices. i have read somewhere that we can bypass
the BIOS for speedier access to I/O devices. how it's
done? </font>
<br><font size=2 face="sans-serif">thankx for ur time.
</font>
<br><font size=2 face="sans-serif">-Prabhakar</font>
<br><font size=2 face="sans-serif">&nbsp;</font>
--
Kernelnewbies: Help each other learn about the Linux
kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



=====
-Sharath

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux