一种中断处理方法和装置的制作方法

文档序号:6578790阅读:115来源:国知局
专利名称:一种中断处理方法和装置的制作方法
技术领域
本发明涉及网络技术领域,更具体地说,涉及一种中断处理方法和装置。
背景技术
在计算机系统中,中断是一种发生了一个外部的事件时调用相应的处理 程序的过程。在计算机系统中,在响应一个特定中断的时候,内核或者进程 会执行一个函数,该函数叫做中断处理程序。
在现有的嵌入式操作系统的应用中,通常是将中断处理程序加载在内核 中作为内核一部分,当进程中出现中断时,内核调用自身预存的中断处理程 序来处理中断。随着操作系统的技术发展,逐步采用内核和进程分离的技术,
采用这样的技术,内核不能直接调用上层软件的中断处理程序;同时随着应 用环境的日益复杂,中断种类也越来越多,如果进程中出现中断,而出现的 中断的类型又是内核中预存的中断处理程序无法处理的,这种情况下,现有 的中断处理方法就无能为力了。因此需要提供一种能处理进程中中断的方法。

发明内容
本发明的实施例提供了一种中断处理方法,包括接收内核发送的中断
处理中断,中断处理程序按照与中断标识对应的方式存储在内核外的预设空 间中。
本发明的实施例提供了一种中断处理装置,包括第一接收单元,用于 接收内核发送的中断信息;调用处理单元,用于依据第一接收单元接收到的
预置中断处理程序按照与中断标识对应的方式存储在内核外的预设空间中。
本发明的实施例还提供的一种中断处理装置,包括第二接收单元,用 于接收各个进程发送的各个进程自身能够处理的中断信息和中断信息对应的 进程标识;查找单元,用于依据中断的中断信息,从第二接收单元接收到的信息中查找能处理该中断信息的进程;发送单元,用于将中断信息发送给所
述查找单元查找到的进程;以及中央处理单元。
从上述的技术方案可以看出,与现有技术相比,本发明的实施例中,将 中断处理程序存储在内核之外的预设空间中,当系统需要调用中断处理程序 的时候可以通过进程中的中断任务代理调用中断处理程序,解决了现有技术 的不足。另外当需要增加或修改中断处理程序的时候,只需要在预设空间中 增加或者修改中断处理程序,相对于现有技术中解决同类问题需要编辑内核 程序要简单许多。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法实施例一的流程图2为本发明方法实施例二的流程图3为本发明装置实施例三的结构示意图4为本发明装置实施例四的结构示意图。
具体实施例方式
本发明实施例提供了 一种中断处理方法和装置。
为了引用和清楚起见,本文中使用的技术名词、筒写或缩写总结如下 RTP, Real-time Process,即实时进考呈; Bitmap,即位像。
在背景技术中介绍了现有技术中的不足之处,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述本发明的技 术方案是如何来解决现有技术的不足的。显然,所描述的实施例仅是本发明 一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通 技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本 发明保护的范围。实施例一
参见图1,为本发明提供的一种中断处理方法的实施例一,实施例一从进
程的角度来描述的,具体可以包括
步骤IOI,接收内核发送的中断信息;
步骤102,依据中断信息中包含的中断标识调用与中断标识对应的中断处 理程序处理中断,中断处理程序按照与中断标识对应的方式存储在内核外的 预设空间中。
实施例一中,系统中运行的进程只有一个的时候,当发生中断,则内核 将中断信息发送给唯一的进程,进程调用相应的中断处理程序来处理中断。 但是,实际的情况是,系统中运行的进程往往有多个,当发生中断的时候就 需要内核有针对性的向相应的进程发送中断信息,内核要^L出有针对性的发 送判断,因此需要增加了 一些步骤使得内核能够有针对性的发送中断信息, 具体可以为在步骤101之前,还可以包括
步骤99,各个进程将自身能够处理的中断信息和所述中断信息对应的进 程标识发送给内核;
步骤100,内核依据中断的中断信息查找能处理该中断信息的进程;
在具体实施的时候,步骤100中,内核依据中断的中断信息查找能处理
该中断信息的进程,这个被查找到的进程就是实施例一的步骤101中接收内
核发送的中断信息的进程,即所述接收内核发送的中断信息的进程为所述内
核依据中断的中断信息查找到能处理该中断信息的进程。
在具体实施的时候,中断标识可以为中断的中断向量号,在步骤102中,
所述预置中断处理程序按照与中断标识对应的方式存储在内核外的预设空间 中可以是将所述预置中断处理程序按照与中断向量号对应的方式存储。
在上述实施例一中,中断处理程序存储在内核之外的预设空间中,当发 生中断需要调用中断处理程序的时候可以通过进程中的中断任务代理调用中 断处理程序,解决了现有技术中的不足。实施例一所釆用的技术方案也解决 了随着应用环境的日益复杂,不容易修改和编辑中断处理程序的问题,现有 技术中,因为中断处理程序存储在内核里或者是作为内核的一部分,如果要 修改编辑中断程序就需要修改编辑内核程序,而修改编辑内核中的中断处理程序的工作难度和工作量都比修改编辑内核外预设空间的中断处理程序要复 杂很多。实施例一中的中断处理程序存储在内核外的预设空间中,当需要修 改和编辑的时候只需要在预设空间中增加或者修改中断处理程序,相对于现
有技术中解决同类问题需要编辑内核程序要简单许多。
实施例 一对于进程如何依据中断信息调用中断处理程序没有详细的描 述,为了能更清楚的理解本发明,在下面描述中给出了进程如何依据中断信
息调用对应的中断处理程序处理中断的具体实现的方式,可以包括
预先在进程中建立中断任务代理;中断任务代理依据中断信息调用对应 的中断处理程序处理中断。
按照上述实施例一给出的方式来实现本发明的方法在进行步骤99和步骤 100的时候,可以发现每一次中断发生后或者每一次中断发生前,各个进程都 需要将自身能够处理的中断信息和所述中断信息对应的进程标识发送给内核 以供内核能有针对性的发送中断信息;采用这样的方式,内核可以不用存储 各个进程发来的信息,节省了内核的存储空间;在内核存储空间足够大或者 存储空间较空闲的情况下,也可以将各个进程发来的信息存储在内核中,免 得各个进程多次的向内核发送自身能够处理的中断信息和所述中断信息对应 的进程标识这些内容重复的信息,具体实现方式可以在所述的各个进程将自 身能够处理的中断信息和所述中断信息对应的进程标识发送给内核之后,进 一步包括内核将各个进程自身能够处理的中断信息和中断信息对应的进程 标识存储在内核中预设位置;内核依据中断的中断信息查找能处理该中断信 息的进程具体为内核依据中断的中断信息从内核的预设位置中查找能处理
该中断信息的进程。
在具体实施上述本发明方法实施例的时候,各个进程可以通过中断连接 函数将各个进程将自身能够处理的中断信息和所述中断信息对应的进程标识 发送给内核。进程可以通过内核中断连接函数接收内核发送的中断信息。
下面举一个具体应用的例子以便于更好的理解上述发明的方法。以在 RTP进程为例预先将各种中断处理程序"t要照与中断向量号对应的方式存入 到内核外的预设空间中,在实际操作中可以将各种中断处理程序保存到专门 分配的中断结构控制块中;RTP进程将自身能够处理的中断信息和所述中断信息对应的进程标识发送给内核,内核将收到的上述信息存储在内核中的预
设位置;在每一个RTP的进程中,建立一个中断任务代理,当有中断发生的 时候,内核根据该中断对应的中断信息查找到对应的RTP进程,然后给该RTP 进程中的中断任务代理发送一个中断事件信息;RTP进程中的中断任务代理 不停的查询来自内核发出的中断事件信息,当接收到内核发出的中断事件信 息后,通过中断事件信息的bitmap数组位置得到中断对应的中断向量号,中 断任务代理依据中断向量号从预设空间中调用该中断向量号对应的中断处理 程序,使用该中断处理程序来处理发生的中断。
在上述的具体应用的例子中,进程可以通过中断连接函数将各个进程将 自身能够处理的中断信息和所述中断信息对应的进程标识发送给内核。内核 可以通过内核中断连接函数,例如intConnect函数,把中断产生后的中断信息 发送给进程。
在上面的实施例中介绍了如何采用本发明提供的中断处理方法来处理中 断,在背景技术中还介绍了现有技术无法在进程中加载驱动,在实际应用中 可以将需要加载的驱动程序看作是特殊的一种中断处理程序,将加载驱动的 请求看作是一种特殊的中断。在下面的实施例二中将介绍如何采用本发明的 方法来处理进程中加载驱动程序。
实施例二
参见图2,在进程中加载驱动程序可以包括如下步骤 步骤201,将进程能够处理的驱动程序标识和驱动程序标识对应的进程标 识发症合内核;
步骤202,内核接收加载请求信息,所述加载请求信息包括需要加载的驱 动程序标识;
步骤203,内核依据驱动程序标识找到对应的进程标识,将加载请求信息 发送给进程标识对应的进程,该进程调用与该驱动程序标识对应的预置驱动 程序来响应加载请求,所述预置驱动程序存储在内核外的预设空间中。
在具体实施步骤202时,当有加载驱动程序的需求时,内核接收这样的 请求之后,就把这个加载请求认为是一个中断。
8在实施步骤203时,进程可以调用预置驱动程序来响应内核发送的加载
请求,也就是说进程可以调用预置驱动程序来满足系统需要加载驱动程序的 需求。
下面举一个具体应用的例子以便于更好的理解上述发明的方法。在具体
实施的时候,预先将各种驱动程序存入到内核外的指定空间中,可以将各种 驱动程序保存到专门分配的中断结构控制块中,进程将自身标识和自身能够 处理的驱动程序标识通过中断连接函数发送给内核,在每一个的进程中,建 立一个加载任务代理,当有加载请求发生的时候,内核通过内核中断连接函
数给进程中的加载任务代理发送一个加载事件信息;进程中的加载任务代理
不停的查询来自内核发出的加载事件信息,当接收到内核发出的加载事件信 息后,通过加载事件信息中的驱动程序标识,从预设空间中调用该驱动程序 标识对应的驱动程序。通过加载调用的驱动程序来完成处理该加载事件,完 成系统加载驱动程序的请求。在将各种驱动程序预先存入到指定位置的时候 每个驱动程序预设有唯一对应的驱动程序标识。采用实施例二的技术方案解
决了进程中无法加载程序的问题;另外当需要增加或修改加载程序的时候, 只需要在预设空间中增加或者修改加载程序就可以了 ,这样需要解决的只是 应用程序层面上的编辑问题,相对于编辑内核程序要简单许多。之前说了可 以将加载驱动程序看作一个特殊的中断来处理,因此在具体实现实施例二的
时候可以相应的参见实施例一的实现方法,两个实施例最大的区别就在于进 程所调用的程序不同,在实施一中是中断处理程序,在实施例二中为驱动程序。
本发明实施例三还提供了一种中断处理装置,参见图3,包括
第一接收单元301,用于接收内核发送的中断信息;
调用处理单元302,用于依据第一接收单元接收到的中断信息中包含的中 断标识调用与中断标识对应的中断处理程序处理中断,中断处理程序按照与 中断标识对应的方式存储在内核外的预设空间中。
在实际应用中,可以将中断处理装置的功能软件化之后作为进程的组成 部分,在釆用本发明的中断处理方法处理中断过程中,第一接收单元301接 收内核发送的中断信息,然后调用处理单元302依据第一接收单元301接收到的中断信息调用对应的中断处理程序处理中断,预置中断处理程序存储在 内核外的预设空间中。
本发明实施例四提供了一种中断处理装置,用于向进程发送中断信息,
参见图4,包括中央处理单元401,第二接收单元402,查找单元403,发 送单元404;该中断处理装置可以作为内核的一部分,或者也可以理解为内核 具有中断处理的功能模块。中央处理单元401,用于处理、运算计算机内部的 所有数据,中央处理单元401可以指挥协调第二接收单元402,使第二接收单 元处于接收/不接收的状态,第二接收单元402用于接收各个进程发送的各个 进程自身能够处理的中断信息和中断信息对应的进程标识,在这个准备工作 完成之后,当发生中断时,查找单元403依据中断的中断信息,从第二接收 单元402接收到的信息中查找能处理该中断信息的进程,然后通过发送单元 404将中断信息发送给所述查找单元403查找到的进程。该装置还可以包括存 储单元405,存储单元405可以用于存储第二接收单元接收到的各个进程发送 的各个进程自身能够处理的中断信息和中断信息对应的进程标识。在具体实 施的时候,该中断装置可以设置在内核中,作为内核的一部分。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都 是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述 的比较简单,相关之处参见方法部分说明即可。
专业人员可以理解,结合本文中所公开的实施例描述的各示例的单元及 方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚 地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了 各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技 术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来 使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范 围。
程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于 一计算机可读取存储介质中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体
(Read-Only Memory, ROM)或随才几存卡者i己小乙体(Random Access Memory, RAM)等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会#1限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1、一种中断处理方法,其特征在于,包括接收内核发送的中断信息;依据中断信息中包含的中断标识调用与中断标识对应的中断处理程序处理中断,所述中断处理程序按照与中断标识对应的方式存储在内核外的预设空间中。
2、 根据权利要求1所述的方法,其特征在于,在接收内核发送的中断信 息之前还包括各个进程将自身能够处理的中断信息和所述中断信息对应的进程标识发 送给内核;内核依据中断的中断信息查找能处理该中断信息的进程; 所述接收内核发送的中断信息的进程为所述内核依据中断的中断信息查 找到能处理该中断信息的进程。
3、 根据权利要求1或2所述的方法,其特征在于,所述中断标识为中断 的中断向量号;所述中断处理程序按照与中断向量号对应的方式存储。
4、 才艮据权利要求2所述的方法,其特征在于在所述的各个进程将自身 能够处理的中断信息和所述中断信息对应的进程标识发送给内核之后,进一 步包括内核将各个进程自身能够处理的中断信息和中断信息对应的进程标 识存储在内核中预设位置;所述的内核依据中断的中断信息查找能处理该中 断信息的进程具体为内核依据中断的中断信息从内核的预设位置中查找能 处理该中断信息的进程。
5、 根据权利要求2所述的方法,其特征在于各个进程通过中断连接函 数将自身能够处理的中断信息和所述中断信息对应的进程标识发送给内核。
6、 根据权利要求1所述的方法,其特征在于所述接收内核发送的中断 信息的步骤是由进程通过内核中断连接函数来实现。
7、 根据权利要求1所述的方法,其特征在于,所述依据中断信息中包含 的中断标识调用与中断标识对应的中断处理程序处理中断具体包括预先在进程中建立中断任务代理;中断任务代理依据中断信息中包含的中断标识调用与中断标识对应的中 断处理程序处理中断。
8、 一种中断处理装置,其特征在于,包括 第一接收单元,用于接收内核发送的中断信息;调用处理单元,用于依据第一接收单元接收到的中断信息中包含的中断 标识调用与中断标识对应的中断处理程序处理中断,所述中断处理程序按照 与中断标识对应的方式存储在内核外的预设空间中。
9、 一种中断处理装置,包括中央处理单元,其特征在于,还包括第二接收单元,用于接收各个进程发送的各个进程自身能够处理的中断 信息和中断信息对应的进程标识;查找单元,用于依据中断的中断信息,从第二接收单元接收到的信息中 查找能处理该中断信息的进程;发送单元,用于将中断信息发送给所述查找单元查找到的进程。
10、 根据权利要求9所述的装置,其特征在于,还包括存储单元,用于存储第二接收单元接收到的各个进程发送的各个进程自 身能够处理的中断信息和中断信息对应的进程标识。
全文摘要
本发明的实施例提供了一种中断处理方法,包括接收内核发送的中断信息;依据中断信息中包含的中断标识调用与中断标识对应的中断处理程序处理中断,所述预置中断处理程序按照与中断标识对应的方式存储在内核外的预设空间中。与现有技术相比,本发明的实施例中,将中断处理程序存储在内核之外的预设空间中,当系统需要调用中断处理程序的时候可以通过进程中的中断任务代理调用中断处理程序,解决了现有技术的不足。
文档编号G06F9/46GK101587448SQ200910148428
公开日2009年11月25日 申请日期2009年6月26日 优先权日2009年6月26日
发明者江 王 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1