电子设备以及中断处理方法与流程

文档序号:12176633阅读:226来源:国知局
电子设备以及中断处理方法与流程

本发明涉及针对多个进程中的每一个发生了中断的电子设备以及中断处理方法。



背景技术:

典型的电子设备针对多个进程中的每一个发生中断。

图6示出进程91和进程92两者不等待中断的发生的状态下的典型的电子设备90的功能。

图6所示的电子设备90使用了进行事件等待的Linux(注册商标)系统调用。

电子设备90能够执行进程91、进程92、作为等待中断的Linux的函数而等待进程91的中断的中断等待单元93、作为等待中断的Linux的函数而等待进程92的中断的中断等待单元94、作为处理中断的任务的中断处理器95。

进程91包括:执行进程91的主要的处理的主处理线程91a、处理中断的中断处理线程91b。

进程92包括:执行进程92的主要的处理的主处理线程92a、处理中断的中断处理线程92b。

图7是示出进程91和进程92中的至少一个等待中断的发生的状态下的电子设备90的功能。

在主处理线程91a等待中断的发生的情况下,进程91的中断处理线程91b向中断等待单元93执行中断获取请求。因此,如图7所示,中断等待单元93在电子设备90的RAM 90a上的特定的地址上设定用于等待中断的发生的中断等待标记90b,并且通过使进程91睡眠(sleep),从而使进程91成为等待(wait)状态。

同样地,在主处理线程92a等待中断的发生的情况下,进程92的中断处理线程92b向中断等待单元94执行中断获取请求。因此,如图7所示,中断等待单元94在电子设备90的RAM 90a上的特定的地址上设定中断等待标记90b,并且通过使进程92睡眠,从而使进程92成为等待状态。

另外,中断等待单元93以及中断等待单元94在设定中断等待标记90b的情况下,当已经设定有中断等待标记90b时,重新设定中断等待标记90b。

图8示出发生了中断的状态下的电子设备90的功能。

一旦发生电源按钮被按压、用于省电的省电键被按压、从网络接收到指示等任何中断,则中断处理器(Interruption handler)95清除RAM 90a上的中断等待标记90b。即,中断处理器95清除中断等待标记90b。

然后,中断处理器95如图8所示的那样在RAM 90a上的特定的地址上设定所发生的中断的种类90c。

中断等待单元93一旦检测到从如图7所示的那样设定有中断等待标记90b的状态向如图8所示的那样清除了中断等待标记90b的状态的变化,则将进程91 wakeup、即唤醒,由此解除进程91的等待状态。

同样地,中断等待单元94一旦检测到从设定有中断等待标记90b的状态向如图8所示的那样清除了中断等待标记90b的状态的变化,则将进程92 wakeup、即唤醒,由此解除进程92的等待状态。

一旦进程91的中断处理线程91b从等待状态被解除,则确认RAM 90a上的中断的种类90c,判断中断的种类90c是否与进程91对应。然后,如果判断出中断的种类90c与进程91对应,则中断处理线程91b使处理线程91a动作。另一方面,如果判断出中断的种类90c不与进程91对应,则中断处理线程91b向中断等待单元93执行中断获取请求。因此,如图7所示,中断等待单元93在电子设备90的RAM 90a上的特定的地址上设定用于等待中断的发生的中断等待标记90b,并且通过使进程91睡眠,从而使进程91成为等待状态。

同样地,一旦进程92的中断处理线程92b从等待状态被解除,则确认RAM 90a上的中断的种类90c,判断中断的种类90c是否与进程92对应。然后,如果判断出中断的种类90c与进程92对应,则中断处理线程92b使处理线程92a动作。另一方面,如果判断出中断的种类90c不与进程92对应,则中断处理线程92b向中断等待单元93执行中断获取请求。因此,如图7所示,中断等待单元94在电子设备90的RAM 90a上的特定的地址上设置用于等待中断的发生的中断等待标记90b,并且通过使进程92睡眠,从而使进程92成为等待状态。

另外,中断等待单元93以及中断等待单元94在设定中断等待标记90b的情况下,当已经设定有中断等待标记90b时,重新设定中断等待标记90b。

图9示出执行中断处理的情况的电子设备90的动作的一个例子。

在如图9所示的动作中,进程91的中断处理线程91b向中断等待单元93执行中断获取请求(步骤S101),中断等待单元93设定中断等待标记90b(步骤S102),并使进程91睡眠(步骤S103)。同样地,进程92的中断处理线程92b向中断等待单元94执行中断获取请求(步骤S111),中断等待单元94设定中断等待标记90b(步骤S112),并使进程92睡眠(步骤S113)。

然后,中断处理器95在发生了任何中断的情况下,清除中断等待标记90b(步骤S121),设定所发生的中断的种类90c(步骤S122)。

因此,中断等待单元93通过确认中断等待标记90b已被清除(步骤S131),将进程91唤醒(步骤S132)。然后,进程91的中断处理线程91b如果判断出中断的种类90c不与进程91对应(步骤S133),则向中断等待单元93执行中断获取请求(步骤S134)。因此,中断等待单元93设定中断等待标记90b(步骤S135),并使进程91睡眠(步骤S136)。

同样地,中断等待单元94通过确认中断等待标记90b已被清除(步骤S141),将进程92唤醒(步骤S142)。然后,进程92的中断处理线程92b如果判断出中断的种类90c不与进程91对应(步骤S143),则向中断等待单元94执行中断获取请求(步骤S144)。因此,中断等待单元94设定中断等待标记90b(步骤S145),并使进程92睡眠(步骤S146)。

然而,在典型的电子设备中,存在有时多个进程中的任一个无法执行与中断对应的处理的问题。

以下,具体进行说明。

在图9所示的例子中,中断等待单元93确认中断等待标记90b已被清除的步骤S131的处理以及中断等待单元94确认中断等待标记90b已被清除的步骤S141的处理被同时执行,因此,进程91以及进程92中的任一个都能够执行与中断对应的处理。

在此,进程91以及进程92的动作定时与任务优先级、LinuxOS的调度有关,因此也不限于必定几乎同时。

因此,图10所示,当中断等待单元94确认中断等待标记90b已被清除的步骤S141的处理在向中断等待单元93设定中断等待标记90b的步骤S135的处理之后被执行时,中断等待单元94确认已设定有中断等待标记90b(步骤S141),因此,不将进程92wakeup。即,在图10所示的例子中,进程92无法执行与中断对应的处理。



技术实现要素:

因此,本发明的目的在于,提供一种多个进程中的每一个能够恰当地执行与中断对应的处理的电子设备以及中断处理方法。

本发明的电子设备包括:多个进程;分别与所述多个进程对应的多个中断等待单元;以及对所述多个进程的中断进行处理的中断处理器。所述多个中断等待单元设定用于等待所述中断的发生的中断等待标记,并等待与所述多个中断等待单元中的每一个对应的进程的中断。在发生了所述中断的情况下,所述中断处理器设定所发生的所述中断的种类,并且清除已被设定的所述中断等待标记。所述多个中断等待单元包括:第一中断等待单元和第二中断等待单元,所述第一中断等待单元与第一进程对应,所述第一进程与通过所述中断处理器设定的所述中断的种类对应,所述第二中断等待单元与第二进程对应,所述第二进程不与通过所述中断处理器设定的所述中断的种类对应。所述第一中断等待单元在所述中断等待标记被清除的情况下,使所述第一进程动作。所述第二中断等待单元在所述中断等待标记被清除的情况下,设定所述中断等待标记。所述中断等待标记是针对所述多个进程所包含每个所述进程设定的。

本发明的电子设备的中断处理方法,所述电子设备包括:多个进程、分别与所述多个进程对应的多个中断等待单元、以及中断处理器。所述方法包括:(i)通过所述中断处理器,对所述多个进程的中断进行处理,(ii)通过所述多个中断等待单元,设定用于等待所述中断的发生的中断等待标记,并等待与所述多个中断等待单元中的每一个对应的进程的中断,(iii)在发生了所述中断的情况下,通过所述中断处理器,设定所发生的所述中断的种类,并且清除已被设定的所述中断等待标记,(iv)通过第一中断等待单元,在所述中断等待标记被清除的情况下,使所述第一进程动作,其中,所述第一中断等待单元与第一进程对应,所述第一进程与通过所述中断处理器设定的所述中断的种类对应,(v)通过第二中断等待单元,在所述中断等待标记被清除的情况下,设定所述中断等待标记,其中,所述第二中断等待单元与第二进程对应,所述第二进程不与通过所述中断处理器设定的所述中断的种类对应。所述中断等待标记是针对所述多个进程所包含每个所述进程设定的。

在本发明的电子设备以及中断处理方法中,多个进程中的每一个能够恰当地执行与中断对应的处理。

附图说明

图1示出本发明的一个实施方式所涉及的MFP 10的构成;

图2示出两个进程都不等待中断的发生的状态下的图1所示的MFP 10的功能;

图3示出两个进程都等待中断的发生的状态下的图1所示的MFP 10的功能;

图4示出发生了中断的状态下的图1所示的MFP 10的功能;

图5示出在执行中断处理的情况下的图1所示的MFP 10的动作的一个例子;

图6是两个进程都不等待中断的发生的状态下的典型的电子设备的功能的框图;

图7示出两个进程中的至少一个等待中断的发生的状态下的图6所示的电子设备的功能;

图8示出发生了中断的状态下的图6所示的电子设备的功能;

图9示出在执行中断处理的情况下的图6所示的电子设备的动作的一个例子;

图10示出在执行中断处理的情况下的图6所示的电子设备的动作的一个例子。

具体实施方式

以下,利用附图对本发明的一个实施方式进行说明。

首先,说明作为本实施方式所涉及的电子设备的MFP(Multifunction Peripheral,多功能设备)的构成。

图1是本实施方式所涉及的MFP 10的框图。

图1所示,MFP 10包括:操作部11、显示部12、打印机14、传真通信部15、通信部16、存储部17、控制部20。操作部11是被输入各种操作的按钮等的输入设备。显示部12是显示各种信息的LCD(Liquid Crystal Display)等的显示设备。扫描仪13是从原稿读取图像的读取设备。打印机14是向纸张等记录介质执行印刷的印刷设备。传真通信部15是经由未图示的外部的传真装置和公共电话线路等通信线路进行传真通信的传真设备。通信部16是经由LAN(Local Area Network,局域网),因特网等的网络来与外部的装置进行通信的网络通信设备。存储部17是存储各种信息的半导体存储器,HDD(Hard Disk Drive)等非易失性的存储设备。控制部20对MFP 10整体进行控制。

存储部17存储有控制针对多个进程中的每一个的中断的中断处理程序17a。中断处理程序17a可以在MFP 10的制造阶段被安装到MFP 10,也可以从SD卡、USB(Universal Serial Bus)存储器等的外部存储介质补充安装到MFP 10,也可以从网络上补充安装到MFP 10。

控制部20包括例如CPU(Central Processing Unit,中央处理单元)21、存储有程序以及各种数据的ROM(Read Only Memory,只读存储器)22、作为CPU21的操作区域来使用的RAM(Random Access Memory,随机存取存储器)23。CPU21执行存储在存储部17或ROM22中的程序。

图2是进程31和进程32这两者都不等待中断的发生的状态下的MFP 10的功能的框图。

图2所示的MFP 10使用进行事件等待的Linux系统调用。

控制部20(参照图1。)通过执行被存储在存储部17(参照图1)中的中断处理程序17a(参照图1),可以作为进程31、进程32、中断等待单元33、中断等待单元34以及中断处理器35而发挥功能,其中,中断等待单元33作为等待中断的Linux的函数而等待进程31的中断,中断等待单元34作为等待中断的Linux的函数而等待进程32的中断,中断处理器35作为处理中断的任务。如上所述,按照每个进程设置中断等待单元33、34。

进程31包括:执行进程31的主要的处理的主处理线程31a、处理中断的中断处理线程31b。

进程32包括:执行进程32的主要的处理的主处理线程32a、处理中断的中断处理线程32b。

接下来,说明MFP 10的动作。

图3是进程31和进程32这两者都等待中断的发生的状态下的MFP 10的功能的框图。

在主处理线程31a等待中断的发生的情况下,进程31的中断处理线程31b向中断等待单元33执行中断获取请求。因此,如图3所示,中断等待单元33在MFP 10的RAM 23上的特定的地址上设定用于等待中断的发生的进程31用的中断等待标记23a,并且通过使进程31睡眠,从而使进程31成为等待状态。

同样地,在主处理线程32a等待中断的发生的情况下,进程32的中断处理线程32b向中断等待单元34执行中断获取请求。因此,因此,如图3所示,中断等待单元34在MFP 10的RAM 23上的特定的地址上设定进程32用的中断等待标记23b,并且通过使进程32睡眠,从而使进程32成为等待状态。

图4是发生了中断的状态下的MFP 10的功能的框图。

一旦发生电源按钮被按压、用于省电的省电键被按压、从网络接收到指示等任何中断,则中断处理器35清除RAM 23上的中断等待标记23a以及中断等待标记23b。即,中断处理器35清除中断等待标记23a以及中断等待标记23b。

然后,中断处理器35如图4所示的那样在RAM 23上的特定的地址上设定所发生的中断的种类23c。

中断等待单元33一旦检测到从如图3所示的那样设定有中断等待标记23a的状态向如图4所示的那样清除了中断等待标记23a的状态的变化,则将进程31 wakeup、即唤醒,由此解除进程31的等待状态。

同样地,中断等待单元34一旦检测到从如图3所示的那样设定有中断等待标记23b的状态向如图4所示的那样清除了中断等待标记23b的状态的变化,则将进程32 wakeup、即唤醒,由此解除进程32的等待状态。

一旦进程31的中断处理线程31b从等待状态被解除,则确认RAM 23上的中断的种类23c,判断中断的种类23c是否与进程31对应。然后,如果判断出中断的种类23c与进程31对应,则中断处理线程31b使处理线程31a动作。另一方面,如果判断出中断的种类23c不与进程31对应,则中断处理线程31b向中断等待单元33执行中断获取请求。因此,如图3所示,中断等待单元33在MFP 10的RAM 23上的特定的地址上设定用于等待中断的发生的进程31用的中断等待标记23a,并且通过使进程31睡眠,从而使进程31成为等待状态。

同样地,一旦进程32的中断处理线程32b从等待状态被解除,则确认RAM 23上的中断的种类23c,判断中断的种类23c是否与进程32对应。然后,如果判断出中断的种类23c与进程32对应,则中断处理线程32b使处理线程31a动作。另一方面,如果判断出中断的种类23c不与进程32对应,则中断处理线程32b向中断等待单元34执行中断获取请求。因此,如图3所示,中断等待单元34在MFP 10的RAM 23上的特定的地址上设定用于等待中断的发生的进程32用的中断等待标记23b,并且通过使进程31睡眠,从而使进程31成为等待状态。

图5是在执行中断处理的情况下的MFP 10的动作的一个例子的时序图。

在如图5所示的动作中,进程31的中断处理线程31b向中断等待单元33执行中断获取请求(步骤S41),中断等待单元33设定中断等待标记23a(步骤S42),并使进程31睡眠(步骤S43)。同样地,进程32的中断处理线程32b向中断等待单元34执行中断获取请求(步骤S51),中断等待单元34设定中断等待标记23b(步骤S52),并使进程32睡眠(步骤S53)。

然后,中断处理器35在发生了任何中断的情况下,清除中断等待标记23a以及中断等待标记23b(步骤S61),设定所发生的中断的种类23c(步骤S62)。

因此,中断等待单元33通过确认中断等待标记23a已被清除(步骤S71),将进程31唤醒(步骤S72)。然后,进程31的中断处理线程31b如果判断出中断的种类23c不与进程31对应(步骤S73),则向中断等待单元33执行中断获取请求(步骤S74)。因此,中断等待单元33设定中断等待标记23a(步骤S75),并使进程31睡眠(步骤S76)。

同样地,中断等待单元34通过确认中断等待标记23b已被清除(步骤S81),将进程32唤醒(步骤S82)。然后,进程32的中断处理线程32b如果判断出中断的种类23c不与进程32对应(步骤S83),则向中断等待单元34执行中断获取请求(步骤S84)。因此,中断等待单元34设定中断等待标记23b(步骤S85),并使进程32睡眠(步骤S86)。

如以上说明的那样,在MFP 10中,为了进程31用而设置有用于等待中断的发生的中断等待标记23a,并且为了进程32用而设置有用于等待中断的发生的中断等待标记23b。如上所述,由于针对每个进程设置有中断等待标记23a,23b,因此进程31以及进程32中的每一个都能够恰当地执行与中断对应的处理。

另外,中断等待处理单元也可以在结束主处理线程的动作时设定中断等待标记。在该情况下,例如,在主处理线程31a(或者,32a)的动作结束时,向中断等待单元33(或者,34)执行中断获取请求。中断等待单元33(或者,34)将用于等待中断的发生的进程31(或者,32)用的中断等待标记23a(或者,23b)设定在MFP 10的RAM 23上的特定的地址,并且使进程31(或者,32)sleep,由此使进程31(或者,32)成为等待状态。

由此,即使在进程31以及进程32的中断被重复的情况下,进程31以及进程32中的每一个都能够恰当地执行与中断对应的处理。

本发明的电子设备在本实施方式中为MFP,然而,也可以是复印专用机、打印专用机、传真专用机、扫描专用机等MFP以外的图像形成装置,也可以是PC(Personal Computer)等的图像形成装置以外的电子设备。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1