摘要: Linux内核链表的操作定义在kernel/include/linux/list.h中,我们将逐一分析此文件中关于链表操作的接口。1,struct list_head的定义在kernel/include/linux/types.h中:struct list_head { struct list_head *next, *prev;};struct list_head类型的结构体包含了两个指向struct list_head结构类型的成员指针next和prev,因此我们可以看出struct list_head类型的变量可以进行双向链表的操作。2,静态初始化链表头节点:/* * Si... 阅读全文
posted @ 2014-03-10 23:50 Watson 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 深入分析Linux内核源码参考网址:http://oss.org.cn/kernel-book/Linux 设备驱动 Edition 3参考网址:http://oss.org.cn/kernel-book/ldd3/Git参考网址:http://www.open-open.com/lib/list/81?pn=8http://blog.csdn.net/wh_19910525/article/details/7438183git log --pretty=onelinegitshow某次的提交哈希值文件名 阅读全文
posted @ 2014-03-10 14:42 Watson 阅读(318) 评论(0) 推荐(0) 编辑
摘要: RTC是Real Time Clock的简称,它在硬件电路上单独供电,当系统关机时,CPU和其他外部硬件设备全部掉电,但是RTC仍然继续工作. HWCR (Hibernate Wakeup Control Register)是一个控制休眠唤醒的寄存器,如果我们要使用休眠状态下RTC唤醒的功能,我们需要打开它的第0位ELAM(RTC Alarm Wakeup enable),当ELAM置1时,使能ELAM功能。 RTCSR (RTC Second Registe)是一个32位的寄存器,它的值以1Hz的频率加1,即每秒自动加1。 RTCSAR (RTC Second Alarm Regi... 阅读全文
posted @ 2014-03-07 16:59 Watson 阅读(17715) 评论(0) 推荐(0) 编辑
摘要: 中断通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路产生的电信号相对应。 中断分为同步中断和异步中断: 同步中断是当指令执行时由CPU控制单元产生的,之所以称为同步,是因为CPU在每条指令执行结束前,都要检查是否有中断信号出现,如果有,那它就要在执行完当前指令之后,转入中断处理,而不继续执行下一条指令。 指令周期包含如下子周期: 取址(Fetch):将下一条指令由存储器读入CPU。 执行(Execute):解释操作码并完成指定的操作。 中断(interrupt):若中断是允许的并且有中断发... 阅读全文
posted @ 2014-02-14 10:20 Watson 阅读(936) 评论(0) 推荐(0) 编辑
摘要: 等待队列在内核中很有用途,尤其用在中断处理、进程同步及定时。 等待队列实现了在事件上的条件等待:希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制权。因为,等待队列表示一组睡眠的进程,当某一条件变为真时,由内核唤醒他们。1.每个等待队列都有一个等待队列头(wait queue head),等待队列头是一个类型为wait_queue_head_t的数据结构:struct __wait_queue_head { spinlock_t lock; struct list_head task_list;};typedef struct __wait_queue_head wa... 阅读全文
posted @ 2014-02-11 15:55 Watson 阅读(2530) 评论(0) 推荐(0) 编辑
摘要: 为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。 进程的定义 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。它是系统进行资源分配和调度的一个独立单位。 进程的概念 进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存... 阅读全文
posted @ 2014-02-10 15:09 Watson 阅读(330) 评论(0) 推荐(0) 编辑