设备驱动程序是进入linux内核的大门。
设备驱动程序的作用在于提供机制,而不是提供策略.需要提供什么功能(机制)和如何使用这些功能(策略)。
内核功能的划分:
-
进程管理:复制创建和销毁进程,并处理它们和外部世界之间的连接。
-
内存管理
-
文件系统:linux中每个对象几乎都可以当作文件来看待。
-
设备控制
-
网络功能
linux有一个很好的特性:内核提供的特性可在运行时进行扩展。
可在运行时添加到内核中的代码被称为“模块”。
设备和模块的分类:
-
字符设备:字符设备就是能偶像字节流一样被访问的设备。字符设备驱动程序通常至少要实现open、close、read、write系统调用。
-
块设备:块设备是寻址以块单位,能够支持重定位操作的设备,也就是能对数据随机访问的设备。
-
网络接口:一个能够与其他主机交换数据的设备。