1. 驱动分类
驱动可以分为三类:字符设备驱动、块设备驱动、网络设备驱动。
2. 驱动与内核的关系
(1)驱动是内核的一部分
驱动已经成为内核中最庞大的部分;
内核会直接以函数调用的方式调用驱动代码;
驱动的动态安装和卸载都会“更改”内核。
(2)驱动对内核的影响
驱动程序崩溃有可能会导致内核崩溃;
驱动的效率会影响内核的整体效率;
驱动的漏洞会造成内核安装漏洞。
(3)常见驱动安全性问题
未初始化指针;
恶意用户程序;
缓冲区溢出;
竞争状态。
3. 驱动学习
(1)框架思维,多考虑上下层。