易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 2.6源代码情景分析笔记之中断与异常6

每个中断向量都有自己的irq_desc_t描述符,所有的这些描述符组织在一起形成irq_desc数组。
typedef struct irq_desc {
        hw_irq_controller *handler;指向pic对象(hw_irq_controller描述符),服务于irq线
        void *handler_data;指向pic方法所使用的数据
        struct irqaction *action;       /* IRQ action list */标识当出现irq时要调用的中断服务例程。该字段指向irq的irqaction描述符链表的第一个元素。
        unsigned int status;            /* IRQ status */描述irq线状态的一组标志
        unsigned int depth;             /* nested irq disables */如果irq线被激活,则显示0;如果irq线被禁止了不止一次,则显示一个正数
        unsigned int irq_count;         /* For detecting broken interrupts */中断计数器,统计irq线上发生的中断计数
        unsigned int irqs_unhandled;中断计数器,统计irq线上发生的无法处理的中断进行计数
        spinlock_t lock;用于串行访问irq描述符和pic的自旋锁。
} ____cacheline_aligned irq_desc_t;
extern irq_desc_t irq_desc [NR_IRQS];
/*
 * IRQ line status.
 */
#define IRQ_INPROGRESS  1       /* IRQ handler active - do not enter! */IRQ的一个处理程序正在执行
#define IRQ_DISABLED    2       /* IRQ disabled - do not enter! */由一个设备驱动程序故意地禁用irq线
#define IRQ_PENDING     4       /* IRQ pending - replay on enable */一个irq已经出现在线上,它的出现也已对pic做出应答,但是内核还没有为它提供服务
#define IRQ_REPLAY      8 &nbs


相关文档:

袁老谈linux的10年发展

 本世纪第一个十年,即将过去。回顾以往,才能看清现在,我有几句话要说。
      记得,在十年之前,人们只能玩玩美国红帽的 Linux 桌面(特别是 6.2 版本),整天 sudo (即 Super User do ),任凭激情泛滥。到了 2001 年 1 月, Linux 2.4 正式发布,首次支持 USB 和蓝牙技术,以及 ext ......

linux c mkdir创建递归目录

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define err(msg) perror(msg)
static void mkdirs(const char *dir)
{
        char tmp[1024];
        char *p;
 &nbs ......

Linux编程

一、Linux设计特点:多用户(多个用户可以同时登录,同一用户可以登录多次);多任务(同一程序可以有多个线程或进程并发执行);分时。
二、C开发环境:开发工具(包括编译器、连接器、gcc)、工程管理软件(make)、编辑器、分析调试工具gdb、函数库、版本控制系统CVS。(Perl不需要编译)。
三、在线文档:
1.manpage ......

linux 2.6源代码情景分析笔记之中断与异常5

中断处理依赖于中断类型,有三种主要的中断类型:
i/o中断:某些i/设备需要关注;相应的中断处理程序必须查询设备以确定适当的操作过程。
时钟中断:某种时钟(或者是一个本地apic时钟,或者是一个外部时钟)产生一个中断;这种中断告诉内核一个固定的时间间隔已经过去。这些中断大部分是作为i/o中断来处理的。
处理器间 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号