linux内核延时操作

linux内核延时操作

系统为了实现中断的快速处理,将中断处理程序分为处理中断请求的上半部和延时处理逻辑和I/O的下半部(buttom halves)。下半部的主要实现机制有两种:tasklet和workqueue。

Posted by vmlinz Thu, 28 Apr 2011 17:30:46 +0800


Android HAL Notes

Android HAL

Android Hal 是用来隔离linux内核和Android用户空间的一个中间库,它主要是为了让一些硬件厂商不用根据linux内核的gpl协议放出全部的linux驱动代码。有了hal硬件厂商就可以只在内核驱动中实现基本的操作而把硬件操作的逻辑移到hal层来实现,hal层是apache协议的,所以厂商可以只提供二进制库。

Posted by vmlinz Tue, 26 Apr 2011 11:18:40 +0800


linux 设备驱动模型笔记

Linux device driver model

overview

linux 设备模型的目的是为内核构建统一的模型,从而使系统有一般性的描述。

设备模型的几个主要任务:

  • 电源管理和系统关机:设备模型使得操作系统能够以正确的顺序遍历关闭系统硬件
  • 和用户空间进行通讯:sysfs虚拟文件系统的实现和设备模型密切相关,并向用户空间展现了系统的结构
  • 设备模型:维护设备驱动的体系化数据机构
  • 对象的生命周期:设备模型的创建需要一系列的机制来处理对象的生命周期、对象之间的关系以及这些对象在用户空间的表示

Posted by vmlinz Sun, 17 Apr 2011 18:11:09 +0800


块设备驱动要点

块设备驱动

块设备驱动比字符设备驱动要复杂许多,它在I/O操作上表现出极大的不同,缓冲,I/O调度和<
请求队列等是块设备驱动的主要概念。

块设备I/O的主要操作特点:

  • 块设备只能以块为单位进行I/O,字符设备则以字节为单位。大多数设备是字符设备,因为它
    们不需要缓冲而且不以固定块大小进行操作。
  • 块设备对于I/O请求有对应的缓冲,因此它们可以选择以什么顺序进行响应,字符设备无需缓
    冲且被直接读写。对于存储设备而言调整读写顺序的作用巨大,因为读写连续的山区比
    分离的扇区更快。
  • 字符设备只能顺序读写,而块设备可以随机访问。虽然块设备可以随机访问,但是对于磁盘
    这类机械设备而言,顺序的组织设备的访问可以提高性能。注意,对SD卡和RAMDISK等块
    设备而言,不春在机械上的原因,所以没有必要这样调整。

Posted by vmlinz Fri, 08 Apr 2011 00:30:17 +0800


使用thinkfan控制thinkpad风扇

使用thinkfan智能控制thinkpad风扇速度

我的thinkpad在安装了ubuntu 10.04之后,cpu风扇一直是满速运转,风扇声音非常烦人,而
且长时间这样运转可能会把cpu风扇给搞坏了。于是开始在网上找控制thinkpad风扇的方
法。这里就简单记录一下使用thinkfan来控制cpu风扇的过程。

Posted by vmlinz Mon, 04 Apr 2011 13:31:17 +0800