1) Do the linux device drivers reside in user space ?
2) if not, then how can they be a part of kernel address space ?
3) how do we integrate device drivers with kernel ?
4) and how do we write a driver in such a way that it gets more protection from user space programs.
me too have same doubt regarding device driver.
If we want use the driver have to insmod it, then we can use.But when system powered off,we have to load it explicitly before use.how can we make make it part of the kernel when system boots up.
The driver can be made a part of the main kernel, and can be compiled into the kernel image itself, you should google a little to find out.
Go through Linux Device Drivers by Alexander Rubunio its free ebook online available.