linux device drivers ch01

ch01. 设备驱动程序简介

设备驱动程序的作用在于提供机制(需要提供什么功能),而不是提供策略(如何使用这些功能)。

内核功能划分:

进程管理:进程创建、销毁、进程间通信、共享cpu调度器。

内存管理:内核为每个进程创建一个虚拟地址空间,内核的不同部分在和内存管理子系统交互时使用一组函数调用,包括简单的malloc/free函数以及其他的复杂的函数。

文件系统:“一切皆文件”。

设备控制:几乎每一个系统操作都会映射到物理设备上。除了处理器、内存以及其他很有限的几个对象外,所有设备控制操作都由与被控制设备相关的代码来完成,这段代码就叫做驱动程序。

网络功能:所有的路由和地址解析问题都由内核处理。

可装载模块

linux有一个很好的特性:内核提供的特性可在运行时进行扩展。这意味着当系统启动并运行时,我们可以向内核添加功能(当然也可以移除)。可在运行时添加到内核中的代码被称为“模块”。

insmod 加载模块

rmmod 卸载模块

设备和模块的分类

字符模块(字符设备)、块模块(块设备)、网络模块(网络设备) 

原文地址:https://www.cnblogs.com/wei-chen-linux/p/9829831.html