linux 设备驱动模型笔记
Linux device driver model
overview
linux 设备模型的目的是为内核构建统一的模型,从而使系统有一般性的描述。
设备模型的几个主要任务:
- 电源管理和系统关机:设备模型使得操作系统能够以正确的顺序遍历关闭系统硬件
- 和用户空间进行通讯:sysfs虚拟文件系统的实现和设备模型密切相关,并向用户空间展现了系统的结构
- 设备模型:维护设备驱动的体系化数据机构
- 对象的生命周期:设备模型的创建需要一系列的机制来处理对象的生命周期、对象之间的关系以及这些对象在用户空间的表示
块设备驱动要点
块设备驱动
块设备驱动比字符设备驱动要复杂许多,它在I/O操作上表现出极大的不同,缓冲,I/O调度和<
请求队列等是块设备驱动的主要概念。
块设备I/O的主要操作特点:
-
块设备只能以块为单位进行I/O,字符设备则以字节为单位。大多数设备是字符设备,因为它
们不需要缓冲而且不以固定块大小进行操作。 -
块设备对于I/O请求有对应的缓冲,因此它们可以选择以什么顺序进行响应,字符设备无需缓
冲且被直接读写。对于存储设备而言调整读写顺序的作用巨大,因为读写连续的山区比
分离的扇区更快。 -
字符设备只能顺序读写,而块设备可以随机访问。虽然块设备可以随机访问,但是对于磁盘
这类机械设备而言,顺序的组织设备的访问可以提高性能。注意,对SD卡和RAMDISK等块
设备而言,不春在机械上的原因,所以没有必要这样调整。
使用thinkfan控制thinkpad风扇
使用thinkfan智能控制thinkpad风扇速度
我的thinkpad在安装了ubuntu 10.04之后,cpu风扇一直是满速运转,风扇声音非常烦人,而
且长时间这样运转可能会把cpu风扇给搞坏了。于是开始在网上找控制thinkpad风扇的方
法。这里就简单记录一下使用thinkfan来控制cpu风扇的过程。
Linux内核中的并发和同步
作者: Nick Qi
0.简介
Linux内核中并发处理、抢占调度的支持以及中断的处理都需要处理竞争条件和同步问题,
下面我将通过《Linux设备驱动程序》以及相关文档中的内核同步机制以及使用方法做一
个总结。
竞争条件是指代码段的实际效果依赖于代码段的执行顺序。包含可能产生竞争条件的代码
被叫做临界区。在Linux内核添加了SMP支持之后,竞争条件和临界区就成了内核设计和
实现主要关注的问题之一。