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

Linux的中断处理的一些说明

1、中断是一种电信号,由硬件设备生成,并直接送入中断控制器的输入引脚上。然后再由中断控制器向处理器发送相应的信号。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。此后,处理器会通知操作系统已经产生中断,这样,操作系统就可以对这个中断进行适当的处理了。  
2、不同的设备对应的中断不同,而每个中断都通过一个唯一的数字标识。中断值通常被称为中断请求(IRQ)线。有些中断值是指定的,有些是动态分配的。特定的中断总与特定的设备相关联。
3、异常与中断不同,它在产生时必须考虑与处理器时钟同步。异常也常常称为同步中断。许多处理器体系结构处理异常与中断的方式类似,因此内核对它们的处理也很类似。
4、在响应一个特定中断的时候,内核会执行一个函数,该函数叫做中断处理程序或中断服务例程。产生中断的每个设备都有一个相应的中断处理程序,如果一个设备可以产生多种不同的中断,那么该设备就可以对应多个中断处理程序。一个设备的中断处理程序是它设备驱动程序的一部分。
5、中断处理程序与其他内核函数的真正区别在于:中断处理程序是被内核调用来响应中断的,而它们运行于我们称之为中断上下文的特殊上下文中。
6、中断处理一般分为两个部分,中断处理程序是上半部:接收到一个中断就立即执行,但只做有严格时限的工作,这些工作都是在所有中断被禁止的情况下完成的。能够被允许稍后完成的工作被推迟到下半部去。通常情况下,下半部会在中断处理程序返回时立即执行。
7、Linux中的中断处理程序是无需重入的。当一个给定的中断处理程序正在执行时,相应的中断线在所有处理器上都会被屏蔽掉,以防止在同一中断线上接收另一个新的中断。通常情况下,所有其他的中断都是打开的,所以这些不同中断线上的其它中断都能被处理,但当前中断线总是被禁止的。由此可以看出,同一个中断处理程序绝对不会被同时调用以处理嵌套中断。
8、共享的中断处理程序与非共享的在注册和运行方式上比较类似,但差异主要有以下三处:
   A,注册中断处理程序函数request_irq()的参数flags必须设置SA_SHIRQ标志。
   B,对每个注册的中断处理程序来说,dev_id参数必须唯一。不能给共享的处理程序传递NULL值。
   C,中断处理程序必须能够区分它的设备是否真的产生了中断。否则它根本无法知道是它对应的设备发出了这个中断还是共享这条中断线的其它设备发出了这个中断。
9、当执行一个中


相关文档:

Oracle Linux 起動と停止の自動化

その他のオペレーティング?システムにおけるデータベースの起動と停止の自動化
dbstartおよびdbshutスクリプトを使用してデータベースの起動と停止を自動化するには、次の手順を実行します。
rootユーザーでログインします。
プラットフ ......

linux中线程相关函数

linux中线程相关函数
2010年03月09日 星期二 22:18
1. 比较两个线程 ID 是否一致。
   线程ID 使用 pthread_t 数据类型来表示。Linux 使用 unsigned long int 表示pthread_t 数据类型。Solaris 9 把 pthread_t 数据类型表示为 unsigned int。FreeBSD5.2.1 和 MAC OS X 10.3 用一个指向 pthread ......

linux c 读取文件行数

linux c 读取文件行数参照wc 系统命令编写的函数如下:
#include <fcntl.h>
#include <stdlib.h>
#define MAXBSIZE 65536
u_long file_wc(char *file)
{
register u_char *p;
register short gotsp;
register int ch, len;
register u_long linect, charct;
int fd;
u_char buf[MAXBSIZE];
......

linux下命令行下编译c程序

-------------------------------------------
Linuxmine收集整理  作者:linux宝库 (http://www.linuxmine.com)  时间:2006-10-11
-------------------------------------------
C 是所有版本的UNIX上的系统语言.
C 在过去 ......

如何用VNC远程管理Linux桌面

步骤:(安装目录的README有说明) 
◎为了方便说明,定下如下的机器和IP:
客户端:192.168.228.100
服务端:192.168.228.153
1。安装VNC服务器: 
先把vnc-4_1_1-x86_linux.tar.gz放到需要远程控制的机器192.168.228.153上,然后解压
#tar zxvf vnc-4_1_3-x86_linux.tar.gz
#cd vnc-4_1_3-x86_linux
#m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号