请问什么叫时钟中断?
我在看一个别人写的如何编写俄罗斯方快的教程。里面在讲如何控制时间的时候提到了时钟中断和getvect()setvect()这两个函数。感觉看的很迷糊。不知道作者在讲一些什么?请问有没有相关的比较详细的资料?时钟中断属于什么书里讲的知识? 问题点数:50、回复次数:10Top
1 楼tb01412(tb)回复于 2006-03-15 22:36:36 得分 10
你知道什么是中断吗?时钟中断就是中断中的一种
在现代的操作系统中,应用层是不能操作中断的,中断一般交由内核来管理,或者可以由驱动程序中去向内核申请获得处理自己中断的能力。
你所说的时钟中断,我想应该是定时函数,是一种信号或得消息!!!!!除非在DOS那样的操作系统中才可以直接操纵中断处理!!!!!Top
2 楼SEUU(三枝花)回复于 2006-03-15 22:50:16 得分 0
不大清楚,楼上的好像有点道理.
应该就是类是定时器样的东东吧,settimer()
还有,你的分多给我一点吧,我是来得分的,我只要星星!Top
3 楼chysxmy(chysxmy)回复于 2006-03-15 23:17:36 得分 0
具体什么书里会讲这些东西呢?Top
4 楼ykzhujiang(朱朱)回复于 2006-03-16 01:39:48 得分 10
关于计算机组成及系统结构的书里面都有讲的
多看看基础知识与底层的硬件实现,要编出好的程序对于硬件一定要有所了解,加油~Top
5 楼Wolf0403(废人:独活十年~心如刀割)回复于 2006-03-16 08:32:06 得分 5
嗯,现代系统中 中断都是内核/驱动处理的东西,用户态程序无法直接操作这些的。setvect /getvect 看起来像是获取 BIOS 中断向量的东西?DOS 程序吧。Win32 / Linux 都没法用的了。Top
6 楼goodluckyxl(被人遗忘的狗)回复于 2006-03-16 08:45:10 得分 5
这个是封装定时期产生的中断向量设置
针对不同的硬件会有不同的实现
大概意思就是设置中断产生特征和跳转地址等等Top
7 楼terryjwf(开大奔的帅哥)回复于 2006-03-16 09:10:21 得分 10
我给你举一个例子吧,希望对你有帮助:
#define SY_MAX_ARRAY_CALL 16
typedef struct SY_ARRAY_CALL_STRUCT
{
WORD number;
void (*(function[SY_MAX_ARRAY_CALL]))(void);
}SY_ARRAY_CALL;
//定时中断函数声明
int SYC_Array_Call_Deregister(SY_ARRAY_CALL *array_call, void(*function)(void));
//定时函数调用,定时5S进行一次函数调用
SYC_Array_Call_Register(&SYC_5S_Array_Call,CCidt_TimingCall);Top
8 楼Acoolice()回复于 2006-03-16 10:28:20 得分 0
学习!Top
9 楼rainharder(风)回复于 2006-03-16 10:56:39 得分 0
markTop
10 楼zzw820626(偶要分,偶要星星)回复于 2006-03-16 11:07:47 得分 10
中断,可以分成软件中断和硬件中断。
软件中断有软件执行异常,或者软件调用软中断指令形成的,INT 9H就是典型的中断指令。
硬件中断由硬件产生,例如时间中断,i/o中断,有硬件设备产生电路信号,cpu相应信号转向中断服务程序。
x86的cpu在接受到中断信号的时候,首先把cs:ip压入堆栈,然后根据中断号找到中断服务程序的地址,执行中断服务程序。Top




