Linux中断处理之一(共享中断处理初探)
在看LKD(第二版)第六章(中断和中断处理程序)的时候,刚开始接触到中断线号和共享中断线的时候半天愣是没有想明白,原来理解的中断和中断和中断处理程序就是通过中断线号来进行关联,硬件发生中断,然后通过中断线号查找对应的中断处理程序,最后中断处理程序返回,此次中断则处理完毕,没想到冒出来个共享中断线,呵呵,比较一下,感觉知识真的要及时更新,呵呵。
从个人的理解,Linux2.6内核对中断处理程序的现在的处理可以分为两种模式,一种就是上面说的老的模式(非共享中断线),一种属于使用共享中断线的新模式,从其使用的注册中断处理程序的函数中来分析,函数原型如下:
int request_irq(unsigned int irq,
irqreturn_t (*handler)(int, void *, struct pt_regs *),
unsigned long irqflags,
const char * devname,
void * dev_id);
参数1:中断线号
参数2:中断处理程序函数指针
参数3:标志掩码(SA_INTERRUPT, SA_SAMPLE_RANDOM, SA_SHIRQ)
参数4:用于参数3为SA_SHIRQ(共享中断线)的时候,其他为NULL
原来对于计算机设备比较少的时候,可能一个中断线好可以对应一个中断处理程序(非共享中断线),这时候参数4为NULL,没有任何用,但随着计算机设备的增加,一个中断线号对应一个中断处理程序已经不太现实,这
相关文档:
操作系统 Fedora 10
mysql安装包 mysql-5.0.85.tar.gz
1、创建mysql用户组和用户名
# groupadd mysqlGroup
(创建组)
# useradd -g mysqlGroup mysqlUser
(创建一帐号)
2、解压安装包 ,当前目录为 /home/hust/down/mysql/
# tar -xvzf mysql-5.0.85.tar.gz
......
#!/bin/bash
while getopts "ab:cd:" Option
# b and d take arguments
#
do
case $Option in
a) echo -e "a = $OPTIND";;
b) echo -e "b = $OPTIND $OPTARG";;
c) echo -e "c = $OPTIND";;
d) echo -e "d = $OPTIND $OPTARG";;
esac
done
shift $(($OPTIND - 1)) ......
Linux Execution and Virtual Memory Utilization
Linux执行以及虚拟内存之用
When Linux boots, it starts with the MMU disabled, so initially it deals only with physical
memory. The kernel image is copied to physical address 0x8000 in DRAM and executed. First a master page table is created ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
Linux下用Busy Box制作Ramdisk全过程
1 建立根文件系统结构
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin tmp usr var
#chmod 1777 tmp
#mk ......
[转]Linux定时器
核主要需要两种类型的时间:
1.
在内核运行期间持续记录当前的时间与日期,以便内核对某些对象和事件作时间标记(
timestamp
,也称为
“
时间戳
”
),或供用
户通过时间
syscall ......