CN1172986A - 实时控制系统 - Google Patents
实时控制系统 Download PDFInfo
- Publication number
- CN1172986A CN1172986A CN97114098A CN97114098A CN1172986A CN 1172986 A CN1172986 A CN 1172986A CN 97114098 A CN97114098 A CN 97114098A CN 97114098 A CN97114098 A CN 97114098A CN 1172986 A CN1172986 A CN 1172986A
- Authority
- CN
- China
- Prior art keywords
- real
- handling procedure
- time control
- machine structure
- control machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25342—Real time controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25343—Real time multitasking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25347—Multitasking machine control
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Control By Computers (AREA)
Abstract
在不保证实时性的个人计算机用的操作系统中(PC-OS),通过在输入输出的设备驱动器的位置上提供实时处理,不改变PC-OS就可以实现实时应用程序和PC应用程序的共存。具有:PC-OS调出输入输出设备驱动器的机构;将获得的CPU使用权分配给各实时处理程序的第2调度工具;作为实时处理程序的安装工具和处理程序间通信机构。
Description
本发明涉及一种PC实时控制机构,该PC实时控制机构的目的在于使要求实时性的处理程序和在通用个人计算机上工作的处理程序共存。
近年来,伴随个人计算机(下称PC)的迅速普及,即使在过去所谓封闭的实时系统中,也要求使用PC上流行的软件资源。
为了使用PC上流行的软件资源,必须使在实时系统上工作的实时(RT)处理程序和在PC上工作的PC处理程序协调动作,已往,采取下面2种方法。
先有例1
作为第1种方法,例如有在“测量和控制第34卷第3号”(1995年3月发行)201页上记载的方法。
该方法如图15所示,分别安装运行PC-OS(110)和CPU1(1301)和运行实时OS(1304)的CPU2(1302),RT处理程序(102)在实时OS(1302)的控制下工作,PC处理程序(111)在PC-OS(110)的控制下工作。
RT处理程序和PC处理程序通过可以由CPU1和CPU2访问的公共存储器(1303)进行数据交换。
先有例2
作为第2种方法,例如有在“接口技术1996年6月号”(CQ出版)142页上记载的方法。
该方法如图16所示,以实时OS(1304)为核心,进而以仿真器的形式安装上PC-OS(1401)。
RT处理程序(102)直接利用实时OS(1304)提供的服务,PC处理程序(111)在PC-OS仿真器(1401)上工作。
因为先有的PC实时控制机构如上述那样构成,所以必须安装额外的硬件(如实时OS和RT处理程序工作时所用的CPU的公共存储器等)因而存在成本高和问题。
此外,当作为PC-OS仿真器构成时,虽然额外的硬件所带来的成本的增加能够得以抑制,但是由于需要跟踪PC-OS版本升级而导致的版本升级问题,所以有必要整个改变PC-OS仿真器,从而存在软件开发费增加的问题。
本发明是鉴于上述课题而提出的,其目的在于,提供一种PC实时控制机构,在实现RT处理程序和PC处理程序共存的系统中,既可以降低硬件成本,同时对PC-OS的版本升级也能应付自如。
与本发明第一方面有关的实时控制系统,在具有对应用处理程序进行CPU资源的分配和调度的第一调度工具以及用于安装对设备进行输入输出处理的设备驱动器的驱动器安装工具的操作系统中,上述操作系统将要求实时响应设备来的中断的处理作为设备驱动器进行存取,构成实时控制机构,实时控制机构包括:与对设备进行处理对应构成的实时处理程序;对实时处理程序进行上述CPU资源的分配和调度的第二调度工具。
有关本发明的第二方面,在本发明第一方面的实时控制系统中,实时控制机构具有在实时处理程序间进行数据收发的实时处理程序间通信工具。
有关本发明的第三方面,在本发明第一方面的实时控制系统中,实时控制机构具有在操作系统上工作的应用处理程序和实时处理程序之间进行数据收发的处理程序间通信工具。
有关本发明的第四方面,在本发明第一方面的实时控制系统中,实时控制机构具有把在操作系统上工作的应用处理程序作为实时处理程序登录的实时处理程序装入机构。
有关本发明的第五方面,在本发明第一方面的实时控制系统中,实时控制机构设有操作系统保护工具,使实时处理程序可以利用操作系统对设备驱动器提供服务。
有关本发明的第六方面,在本发明第一方面的实时控制系统中,实时控制机构具有使用权监视工具,第2调度工具测量并保持操作系统占有CPU资源的时间,根据该测量结果强制性地使CPU资源返回操作系统。
有关本发明的第七方面,在本发明第一至第六方面的实时控制系统中,当存在多个实时控制机构时,具有调整多个实时控制机构之间的主从关系或优先顺序关系的竞争控制工具。
图1是表示本发明第1实施形态的系统构成图。
图2是本发明第1实施形态中的表示PC-OS的中断处理的流程图。
图3是本发明第1实施形态中的表示PC-OS的设备驱动器输入输出请求处理的流程图。
图4是本发明第1实施形态中、当RT处理程序作为实时控制机构的程序已被安装时、表示第2调度工具的处理的流程图。
图5是本发明第1实施形态中、当RT处理程序具有独自的上下文时、表示第2调度工具的处理的流程图。
图6是本发明第1实施形态中、表示RT处理程序间通信工具的处理的流程图。
图7是本发明第1实施形态中、当PC处理程序接受数据时、表示PC处理程序间通信工具的处理的流程图。
图8是本发明第1实施形态中、当PC处理程序发送数据时、表示PC处理程序间通信工具的处理的流程图。
图9是表示本发明第2实施形态的系统构成图。
图10是在本发明第2实施形态中、表示使用权监视工具的处理流程图。
图11是在本发明第2实施形态中、表示第2调度工具的处理的流程图。
图12是在本发明第2实施形态中、表示使用权监视工具的另一处理例的流程图。
图13是本发明第3实施形态的系统构成图。
图14是在本发明第3实施形态中、表示竞争控制工具的处理的流程图。
图15表示先有的实时控制系统的系统构成图。
图16是表示先有的实时控制系统的另一个系统构成图。
实施形态1
根据图1至图8说明本发明的第1实施形态。
图1是表示第1实施形态的系统构成的图。
在图1中,101是第2调度工具,是对来自CPU之外设备的中断、在PC-OS调出之前登录的中断服务程序,它向RT处理程序102a和102b分配CPU使用权,同时管理RT处理程序的执行状态。
103是提供RT处理程序102a和102b之间的数据交换和同步处理的RT处理程序间通信工具,104是提供RT处理程序和PC处理程序之间数据交换和同步处理功能的PC处理程序间通信工具。
105是用于将制作和调试好的作为PC处理程序的程序作为RT处理程序来执行的RT安装工具。106是用于使本来是PC-OS对设备驱动器提供的PC-OS功能可以由RT处理程序来使用的PC-OS保护工具。
107表示PC实时控制机构,PC-OS将其视为1个设备驱动器,内部具有101-106的各个工具和多个RT处理程序。108是PC-OS内部具有的控制PC处理程序的执行顺序的第1调度工具,109是提供用于将设备驱动器编入PC-OS的框架的驱动器编入机构,110表示PC-OS。
111a~c是在PC-OS上工作的应用程度、即PC处理程序。
下面按照(1)PC实时控制机构、(2)伴随PC处理程序的输入输出要求的驱动器的动作、(3)将RT处理程序作为实时控制机构的1个程序进行控制时的第2调度工具、(4)具有独立上下文的RT处理程序安装时的第2调度工具、(5)RT处理程序间的通信处理、(6)PC处理程序间的通信处理、(7)RT安装工具、(8)PC-OS保护工具的顺序说明其动作。
(1)首先,说明PC实时控制机构是如何执行的。
从PC-OS(110)来看,PC实时控制机构107是1个设备驱动器,设备驱动器的执行是由CPU之外的设备的中断和PC处理程序的输入输出请求启动的。
图2示出从通常OS中的中断发生开始到对应的设备驱动器的处理结束为止的处理流程。
当发生中断时,CPU在OS初始化时启动对CPU登录由PC-OS(110)的程序。在已启动的OS程序中,首先在步骤201保存中断发生时的系统的状态。
接着,在步骤202检查是否事先登录了与已发生的中断对应的处理程序(以下称中断服务程序)。如果在步骤202没有登录中断服务程序则进到步骤203,作为预想之外的中断发生而停止系统,或者什么都不做而进到步骤205,恢复系统状态并结束处理。究竟进行上述哪一种处理因PC-OS的种类而异,因与本发明无直接关系,故在此省略其说明。
若在步骤202已登录了中断服务程序,则在步骤204调出上述中断服务程序,当中断服务程序处理完毕,进到步骤205,恢复在步骤201保存的系统的状态,结束中断服务处理。
在步骤204调出的中断服务程序中,与已发生了中断的设备进行数据交换(当是输入数据的中断时,从设备取出数据,当是数据输出结束的中断时,将输出数据向设备送出),结果,如果存在有等待输入输出请求的PC处理程序,就解除该PC处理程序的等待状态,调出第1调度工具108,进行PC处理程序的再调度。
再有,当在通常的OS下从中断服务程序直接调出调度工具时,系统处理出现矛盾,因此,具有当中断处理结束后能够调出第1调度工具的某种机构。
(2)下面,根据图3的流程图说明伴随PC处理程序111的输入输出请求的设备驱动器的执行处理。
当从PC处理程序发出输入输出请求时,调出作为PC-OS(110)的一部分的驱动器编入机构。在驱动器编入机构中,启动与PC处理程序来输入输出请求的种类对应的设备驱动器的请求接收程序(步骤301)。该请求接收程序是例如分为数据的读入、写出和设备的直接控制等由设备驱动器的初始化处理将其登录在驱动器编入机构中的程序。在设备驱动器的请求接收程序中,根据请求内容与设备进行数据交换,但是,因设备的速度与CPU相比非常低,所以,在驱动器编入机构中,使PC处理程序成为等待输入输出结束的状态(步骤302)。
接着,在步骤303中,因在步骤302中PC处理程序处于等待状态,故为了选择下面要执行的PC处理程序而调出第1调度工具,从而结束输入输出请求的处理。
处于等待输入输出结束状态的PC处理程序由图2所示的中断服务程序来解除等待状态。
如上所述,PC-OS具有的第1调度工具108不在设备驱动器处理中执行,结果,设备驱动器相对于PC处理程序111a~c、进而相对于第1调度工具108具有优先处理权。
(3)下面,根据图4说明控制RT处理程序执行的第2调度工具101的动作。
图4是表示当RT处理程序作为PC实时控制机构的1个程序已被安装时的第2调度工具101的处理的流程图。
当在图2的步骤204调出第2调度工具101时,首先执行步骤401,检查表示PC实时控制机构正在执行中的标志,若标志是ON,则什么都不做而结束处理,并返回图2的步骤205。
在步骤401中,若标志是OFF,则在步骤402使标志变成ON,再进到步骤403,检查是否有可执行的RT处理程序。作为检查方法,例如,将RT处理程序的起始地址(在本实施形态中是例行程序的起始地址)保存在表中,保存在表中的RT处理程序可以判定为全部处于可执行状态。此外,若设备来的中断是周期地发生的,只要在上述表中设置计数器,就可以以不同的周期时间启动每一个RT处理程序。
在步骤403中,若存在处于可执行状态的RT处理程序,则进到步骤404,调出登录在表上的例行程序。在调出的例行程序(RT处理程序)中,通过在进行RT处理程序特有的处理之后的返回指令,返回步骤404,其后进到步骤403。通过反复执行步骤403和步骤404对登录在表上的可执行的所有RT处理程序进行处理,然后进到步骤405,将标志置0并结束处理。
这时,RT处理程序如图所示通过从例行程序返回而结束处理。
(4)下面,根据图5的流程图说明当RT处理程序不是作为PC实时控制的1个例行程序、而是作为具有独立的上下文的程序安装时的第2调度工具101。
这是,如图5所示,RT处理程序成为反复处理处理程序本身的初始化处理和处理程序特有的处理状态。反复处理的结束通过利用等待调用自动放弃执行权来进行。
第2调度工具101一旦从图2的步骤204中调出,就首先执行步骤401和步骤402。以上步骤与图4的相应的步骤相同。
接着,在步骤403检查可执行状态下的RT处理程序,检查方法与说明图4的流程图的情况一样。在步骤403中,若存在处于可执行状态的处理程序,则进到步骤501,返回在步骤403所得到的处理程序的状态信息。RT处理程序通过该处理再度从步骤503所示的地方开始执行,这里,说明RT处理程序的处理。
当最初启动RT处理程序时,进行本身的初始化处理(步骤502),进到步骤503。RT处理程序的最初启动可以从设备驱动器的PC实时控制机构的初始化处理中调出,出可以从PC处理程序产生的设备启动请求中调出。
在步骤503中,在进行了RT处理程序的固有的处理之后,在步骤504中调用等待子程序。
等待调用是PC实时控制机构对RT处理程序提供的功能,是暂时中断RT处理程序的执行的功能。该功能在本发明中不是必须的功能,只是为了说明本实施形态的。将已调用的RT处理程序排除在可执行状态之外(步骤505),保存该处理程序的状态信息(步骤506),然后,再次调出第2调度工具101(步骤403)。
步骤501中RT处理程序的状态信息所返回的是在上述步骤506中已保存的状态信息。RT处理程序从步骤503再开始执行。
反复执行以上的步骤403、步骤501到步骤506,当通过等待调用使所有处于可执行状态的RT处理程序排除在可执行状态之外时,在步骤403判定没有可执行的处理程序,在步骤405,将标志变成OFF并返回到PC-OS的中断处理(图2流程图的步骤204)。
(5)下面,说明RT处理程序间通信工具的处理。
在图4和图5的流程图中,已就RT处理程序各个独立的处理进行了说明,但一般的处理程序则在进行相互间的同步处理和数据交换的同时进行处理。
下面,以在2个RT处理程序102a、102b中进行最简单的数据交换的情况为例说明处理的流程。
图6是在2个RT处理程序102a、102b中RT处理程序102a进行数据的接收、RT处理程序102b进行数据的发送的图。
首先,当RT处理程序102a在步骤601中进行数据的接收时,调出RT处理程序间通信工具的步骤602,并检查有无数据。若存在数据,则将数据复制到调出RT处理的数据接收时所指定的存储区(步骤603),数据接受处理结束,在RT处理程序的步骤504a调出等待,从可执行状态退出。
若在步骤602没有数据,则在步骤604将RT处理程序102a从可执行状态退出,在步骤605保持RT处理程序的状态信息,在步骤606调出第2调度工具101。这里,调出的第2调度工具与上述在等待处理中说明过的情况一样,是图5的步骤403。
第2调度工具101的处理结果是,当选择RT处理程序102b并返回状态信息时,RT处理程序102b紧接在等待之后重新执行,进到步骤607并调用数据发送。当调出数据发送时,执行RT处理程序间通信工具的步骤608,检查有无数据等待状态的处理。
若不存在数据等待状态下的RT处理程序,则在步骤609将数据复制到RT处理程序所具有的存储区,结束数据的发送,返回RT处理程序102b,并利用等待从可执行状态退出。在本说明中,因RT处理程序102a在步骤604处于数据等待状态,故在步骤608判定为有数据等待处理程序,从而进到步骤610。
在步骤610中,将数据复制到RT处理程序所指定的存储区,在步骤611中使RT处理程序成为可执行状态。由此结束数据发送处理,返回RT处理程序102b,并在步骤504b调出等待,RT处理程序102b从可执行状态退出。
此后,在图5的流程图的步骤403,选择RT处理程序102a作为可执行状态的处理程序,在步骤501恢复状态时,返回到步骤606。
因此,RT处理程序102a的数据接收处理宣告结束,若在步骤504a调用等待,则从可执行状态退出,根据第2调度工具101,因没有可执行状态下的RT处理程序,故返回PC-OS的中断处理。
(6)下面,根据图7、图8说明PC处理程序间通信工具的处理。
在PC-OS等通常的计算机系统中,在PC处理程序之间或RT处理程序之间可以相互进行同步处理或进行数据交换,但在PC处理程序和RT处理程序混合存在的情况下,也有必要在PC处理程序和RT处理程序之间进行数据的交换和同步处理。
下面,以在PC处理程序和RT处理程序中进行最简单的数据交换的情况为例分别示出处理的流程。图7是PC处理程序进行数据的接收、RT处理程序进行数据的发送的图。此外,图8是PC处理程序进行数据的发送、RT处理程序进行数据的接收的图。
实际上,在PC处理程序中,数据的发送与对相当于PC机实时控制机构的设备驱动器的数据输出请求对应,数据的接收与数据输入请求对应,可以以这种形式向PC处理程序提供功能,也可以向PC处理程序提供1个库,该库使数据输出请求与数据发送对应、数据输入请求与数据接收对应。
首先,参照图7说明PC处理程序进行数据的接收,RT处理程序进行数据的发送情况下的动作。当利用第1调度工具108执行PC处理程序并在步骤701要求数据接收时,使用驱动器编入机构调出PC实时控制机构的PC处理程序间通信工具作为数据输入要求。
PC处理程序间通信工具首先在步骤702检查有无数据。若存在数据则进到步骤703,与通常的设备驱动器一样,作为数据输入结束向驱动器编入机构返回控制,结果,作为数据通信结束,PC处理程序从步骤701接下来执行。
在步骤702中,若没有数据则进到步骤704,将PC处理程序作为设备来的数据输入等待状态通知给PC-OS。
接着,进到步骤705,作为数据输入要求结束,向驱动器编入机构109返回控制。在驱动器编入机构中,因PC处理程序变成设备输入等待状态,故调出PC-OS的第1调度工具108,成为不同于执行设备输入等待状态的PC处理程序的PC处理程序。
作为到PC-OS的设备中断调出第2调度工具,结果,当执行RT处理程序时,调出PC处理程序间通信工具的步骤706,并检查有无等待数据接收的处理程序。
在步骤706中,若没有等待数据接收的处理程序,则在步骤707保持数据并返回RT处理程序。本实施形态因为PC处理程序是等待数据接收,故进到步骤708,PC处理程序把数据复制到数据输入请求时指定的PC处理程序的存储区,在步骤709中把已解除PC处理程序的等待数据输入状态通知给PC-OS。
在PC-OS中,使PC处理程序从输入等待状态变成可执行状态,但如图2的流程图所说明的那样,因为PC-OS知道正在进行设备中断处理,故不调出第1调度工具108而在步骤709返回控制。由此结束PC处理程序间通信工具的数据发送处理,向RT处理程序返回控制。
如果所有可执行的RT处理程序均被处理的话,则从第2调度工具101返回到PC-OS的中断处理,PC-OS如图2的流程图所说明的那样,因为在中断处理内存在已解除了等待设备输入的PC处理程序,故调出第1调度工具108,(依情况而定)以数据接收结束的形式再次执行PC处理程序。
下面,根据图8说明PC处理程序进行数据的发送、RT处理程序进行数据的接收的情况。
从来自设备的中断调出第2调度工具101,结果就执行RT处理程序,如果调用数据接收,就调用PC处理程序间通信工具。
在PC处理程序间通信工具中,首先在步骤801检查有无数据,若有数据则将数据复制到RT处理程序指定的存储区(步骤802),结束数据接收并向RT处理程序返回控制。
在步骤801中,若没有数据,则在步骤803使RT处理程序作为数据接收等待状态从可执行状态退出,在保持了状态信息之后(步骤804),调出第2调度工具101(步骤805)。这时,调出的第2调度工具与说明了的等待的情况一样,是图5的步骤403。
当等待数据接收的RT处理程序之外的所有可执行状态的RT处理程序都被处理时,从第2调度工具101返回PC-OS的中断处理,结束设备中断处理。结果,调用PC-OS的第1调度工具108。
再有,根据操作系统,当设备中断处理结束时,(在设备驱动器处理中设备输入等待的处理程序连1个等待状态都没有被解除的情况)有时返回到中断发生的地方。虽然多数情况是不管正在进行哪个PC处理程序,伴随中断处理的结束都可以再次开始处理,但是,因为PC-OS对各个PC处理程序平等地分配CPU资源,所以无论那种情况都是由第1调度工具108来执行PC处理程序。
在PC处理程序中,当在步骤806请求数据发送时,由驱动器编入机构调出作为数据输出请求的PC实时控制机构的PC处理程序间通信工具。在PC处理程序间通信工具中,首先在步骤807检查有无数据等待状态的RT处理程序。若存在数据等待状态的RT处理程序,则在步骤808把数据复制到PC处理程序间通信工具所有的存储区。
接着,在步骤809向驱动器编入机构通知数据输出要求结束并结束处理。结果,作为数据通信结束再次执行PC处理程序。本实施形态因为RT处理程序处于数据等待状态,故从步骤807进到810,将数据复制到RT处理指定的存储区。
接着,在步骤811使RT处理程序成为可执行状态,进到步骤809,向驱动器编入机构通知数据输出请求结束并结束处理。在步骤811,处于可执行状态的RT处理程序根据下1个设备驱动器的中断、由第2调度工具101来执行,结束RT处理程序的数据接收处理。
再有,在步骤811,在RT处理程序成为可执行状态之后通知数据输出请求结束,但是,为了提高对RT处理程序的响应速度,也可以在通知数据输出要求结束之前调出第1调度工具101来执行RT处理程序、这时,在通知数据输出要求结束之后,必须由RT处理程序所调出的等待来结束处理。
(7)下面,说明RT安装工具105的处理。
在一般的计算机系统中,设备驱动器的开发比应用程序开发更要小心,更加困难。在本发明的PC实时控制机构中,把RT处理程序作为设备驱动器的内部程序来执行,所以,与先有的作为RT-OS的应用程序而开发的RT处理程序相比,要困难一些。
因此,RT安装工具105将作为PC处理程序111c开发调试的应用作为设备驱动器,即PC实时控制机构的RT处理程序102b编入。
RT安装工具105在很大程度上依赖于将RT处理程序作为PC处理程序制作并调试时的限制。例如,在要求通过RT安装工具把作为PC处理程序的1个程序作成的RT处理程序作为RT处理程序登录时,RT安装工具只将从指定的程序开始的地址开始的程序大小复制到设备驱动器、即PC实时控制机构内部的存储区内,并将程序的开始地址登录在已用图4的流程图说明过的表中。
在将作为PC处理程序而作成并调试好的PC处理程序整个作为RT处理程序登录时,RT安装工具例如可以把存储在外部存储器上的PC处理程序读入到PC实时控制机构内的存储区内,并将其开始地址登录在已用图4的流程图说明过的表中。
在以上的RT安装工具中,在利用把作为RT处理程序作成并调试好的程序或PC处理程序提供给PC-OS的功能(系统调用等)时,当然必须在PC实时控制机构内部提供相同的功能。此外,因为这些功能只是作为子程序PC处理程序中移植过来的,所以在PC实时控制机构内当然也有必要在安装或执行RT处理程序的同时解决这些地址。
作为该地址的解决方法,例如考虑在PC处理程序调试结束后,在地址未解决的状态下只对子程序再进行编译,在复制程序的同时,用RT安装工具将未解决的地址置换成PC实时控制机构内部的对应子程序。
此外尚有几个众所周知的方法,在本发明中可以采用任何一种方法。此外,作为在作成作为RT处理程序的PC处理程序时的使用限制,也可以禁止使用PC-OS提供的功能。
(8)下面,说明PC-OS保护工具106。
具有驱动器编入机构的PC-OS从设备驱动器提供可使用的PC-OS的功能。这些功能与PC-OS向PC处理程序提供的功能通常是不同的。此外,设备驱动器多数是作为PC-OS的一部分而工作,从RT处理程序随便使用向驱动器提供的功能可能会引起系统停机的重大问题。
PC-OS保护工具是一种转换程序,用于将PC-OS向驱动器提供的功能较安全地向RT处理程序提供,进行严密的出错检查和访问地址的检查,并对引起PC-OS操作出现矛盾的处理进行排除等。
实施形态2
下面,根据图9至12说明本发明的第2实施形态。
901是在PC实时控制机构中监视占有CPU的时间的使用权监视工具。因PC实时控制机构作为设备驱动器工作,故不成为第1调度工具的调度形象。因此,当多个RT处理程序工作时,控制并不转移到第1调度工具,从而发生PC处理程序不能长期工作的状态。
使用权监视工具监视占有CPU的时间,进行计数,在适当的条件下强制性地向CPU返回控制,因而可以在PC实时控制机构和PC-OS之间适当地分配CPU。
再有,图中101~111与图1所示的相同。
下面,说明其动作。
使用权监视工具作为从图2的步骤204调出的中断服务程序工作。
首先,在步骤1001判别PC实时控制机构是否正在工作。判别方法与图4的步骤401-样。
若正在工作,在步骤1002对PC实时控制机构工作的时间进行计数。计数方法可以只是计数,也可以是工作时间的累计。
接着,在步骤1003,判定在步骤1002已计数的信息是否满足预定的条件。所谓预定的条件例如可以是PC实时控制机构连续占有CPU的上限值,也可以是一定时间内CPU占有率的上限值。
在步骤1003,若判断满足条件、即处于强制性地将CPU的使用权从PC实时控制机构返回PC-OS的状态,则进到步骤1004,使强制结束标志置位并结束。
该强制结束标志由第2调度工具进行检查,图11示出追加了该检查处理的第2调度工具的处理流程。
图11与图4只有如下不同:添加了步骤404的下1个步骤1101的强制结束标志。
当在步骤1101强制结束标志置位时,例如即使存在可执行状态的RT处理程序,也停止向RT处理程序分配CPU,将控制返回PC-OS。
接着,在步骤1003,若不满足条件,就直接结束使用权监视工具的处理(因PC实时控制机构正在工作),RT处理程序从中断发生的地点继续执行。
在步骤1001中,若判定PC实时控制机构不是正在执行中,则进到步骤1005,与步骤1003一样,根据过去计数的信息检查是否满足条件。该步骤是当一定时间内的CPU占有率在上限值之上时才有效地处理。
在步骤1005,若判断满足条件,就结束使用权监视工具,返回PC-OS。
在步骤1005,当判断不满足条件、即PC实时控制机构可以工作时,则进到步骤1006,调出第2调度工具。当所有的可执行的RT处理程序的处理结束时,控制从第2调度工具转移到步骤1007,在进行了PC实时控制机构的工作时间的计数之后,向PC-OS返回控制。
下面,根据图12说明强制性地将CPU使用权返回PC-OS的另一个处理例。
图中,步骤1001~1007是与图10的流程相同的处理。
在步骤1003,当判断满足条件时,则进到步骤1201,将当前处于可执行状态的RT处理程序全部从可执行状态退出,结束使用权监视工具的处理。
此外,当在步骤1005判断不满足条件时,在步骤1203,将步骤1201保持的RT处理程序全部返回可执行状态后,在步骤1006调出第2调度工具。
实施形态3
下面,根据图13、图14说明本发明的第3实施形态。
在图13中,1301a、1301b是竞争控制工具,当RT处理程序跨过PC实时控制机构间进行数据交换和同步处理时,执行排他控制。
其它的构成要素和图1所示的相同。
下面,根据图14的流程图说明动作。
竞争控制工具在本实施形态中是用于向其他PC实时控制机构提供RT处理程序间的通信和同步等功能的访问指针。作为PC实时控制机构,提供处理程序间通信和同步等功能是自由的,因与本发明无直接关系,故在此省略其说明。
首先,在步骤1401,检查已交给竞争控制工具的访问指针的处理申请是从自己的PC实时控制机构向别的PC实时控制机构的处理申请,还是从别的PC实时控制机构来的处理申请。为了进行该检查,例如,可以在处理申请的数据中输入能够区别上述情况的代码,也可以对PC实时控制机构指定1个特征序号,并将该序号嵌入处理申请数据中的特定位置。
在步骤1401中,若不是来自别的PC实时控制机构的处理申请,则进到步骤1402,向别的PC实时控制机构的竞争控制工具(图13的1301a)送出处理申请数据。
在步骤1401,若是来自别的PC机实时控制机构的处理申请,则进到步骤1403,调出执行申请的处理。
如上所述,若按照本发明,以在1个CPU上工作的操作系统为基础,使应用处理程序和实时处理程序工作,所以,可以容易地跟踪版本的升级,可以实现硬件成本降低了的处理程序共存系统。
若按照本发明,在实时处理程序间或在实时处理程序和应用处理程序程序之间进行数据交换,所以,可以实现实时处理程序和应用处理程序程序的协调动作。
若按照本发明,将实时处理程序作为应用处理程序程序开发之后,再安装实时处理程序并执行,所以,可以容易地将应实现的功能作为实时处理程序进行编程。
若按照本发明,把操作系统本来提供给输入输出装置的设备驱动器用的服务也向实时处理程序提供,所以,即使有作为实时处理程序和应用处理程序程序开发的程序也能安全地工作。
若按照本发明,监视实时处理程序占有CPU资源的时间,不使其超过一定的时间,所以,对应用处理程序程序的使用者不损害响应性能,又可以执行实时处理程序。
若按照本发明,在多个实时控制机构间实现了存取竞争控制机构,所以,可以在1个操作系统下使具有多种特性的实时处理程序同时工作。
Claims (7)
1.一种实时控制系统,其特征在于,在具有对应用处理程序进行CPU资源的分配和调度的第1调度工具以及用于安装对设备进行输入输出处理的设备驱动器的驱动器安装工具的操作系统中,
所述操作系统将要求实时响应设备来的中断的处理作为设备驱动器进行存取,构成实时控制机构,
该实时控制机构包括:与对设备进行处理对应构成的实时处理程度知
对实时处理程序进行所述CPU资源的分配和调度的第2调度工具。
2.权利要求1记载的实时控制方式,其特征在于,所述实时控制机构具有在所述实时处理程序之间进行数据收发的实时处理程序间通信工具。
3.权利要求1记载的实时控制方式,其特征在于,所述实时控制机构具有在所述操作系统上工作的应用处理程序和所述实时处理程序之间进行数据收发的处理程序间通信工具。
4.权利要求1记载的实时控制方式,其特征在于,所述实时控制机构具有把在所述操作系统上工作的应用处理程序作为所述实时处理程序登录的实时处理程序装入机构。
5.权利要求1记载的实时控制方式,其特征在于,所述实时控制机构设有操作系统保护工具,使所述实时处理程序可以利用所述操作系统对设备驱动器提供服务。
6.权利要求1记载的实时控制方式,其特征在于,所述实时控制机构具有使用权监视工具,所述第2调度工具测量并保持操作系统占有CPU资源的时间,根据该测量结果强制性地使CPU资源返回操作系统。
7.权利要求1记载的实时控制方式,其特征在于,当存在多个所述实时控制机构时,具有调整该多个实时控制机构之间的主从关系或优先顺序关系的竞争控制工具。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP177898/96 | 1996-07-08 | ||
JP8177898A JPH1021094A (ja) | 1996-07-08 | 1996-07-08 | リアルタイム制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1172986A true CN1172986A (zh) | 1998-02-11 |
Family
ID=16038997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97114098A Pending CN1172986A (zh) | 1996-07-08 | 1997-07-07 | 实时控制系统 |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPH1021094A (zh) |
KR (1) | KR100265679B1 (zh) |
CN (1) | CN1172986A (zh) |
DE (1) | DE19728989A1 (zh) |
NL (1) | NL1006480A1 (zh) |
TW (1) | TW349205B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100377093C (zh) * | 2006-04-07 | 2008-03-26 | 浙江大学 | 嵌入式操作系统输入输出设备软件化方法 |
CN104903806A (zh) * | 2013-09-27 | 2015-09-09 | 费希尔-罗斯蒙特系统公司 | 过程控制体系中的改变管理系统 |
CN105834916A (zh) * | 2016-05-19 | 2016-08-10 | 无锡工艺职业技术学院 | 一种轴承磨床通用微电脑控制系统 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272398B1 (en) * | 1998-09-21 | 2001-08-07 | Siebolt Hettinga | Processor-based process control system with intuitive programming capabilities |
KR100401613B1 (ko) * | 2000-12-26 | 2003-10-11 | 현대자동차주식회사 | 범용 운영체제의 실시간 처리방법 |
JP2003067201A (ja) | 2001-08-30 | 2003-03-07 | Hitachi Ltd | コントローラとオペレーティングシステム |
KR100464910B1 (ko) * | 2001-12-26 | 2005-01-05 | 유티스타콤코리아 유한회사 | 분산프로세스 환경에서의 프로세스간 통신 장치 및 통신방법 |
DE10214539A1 (de) * | 2002-04-02 | 2003-10-23 | Siemens Ag | Produktionsmaschine mit einer in einem Webserver integrierten Steuerung |
JP2005196286A (ja) * | 2003-12-26 | 2005-07-21 | Okuma Corp | リアルタイムアプリケーションプログラムを動作可能なオペレーティングシステム及びその制御方法、共有ライブラリをロードする方法 |
FR2879318A1 (fr) * | 2004-12-15 | 2006-06-16 | St Microelectronics Sa | Partage de l'activite d'un processeur entre deux systemes d'exploitation |
KR100791296B1 (ko) | 2006-03-03 | 2008-01-04 | 삼성전자주식회사 | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 |
JP5577959B2 (ja) * | 2010-08-30 | 2014-08-27 | 横河電機株式会社 | リアルタイム制御システム |
CN103207577A (zh) * | 2012-01-15 | 2013-07-17 | 甘肃农业大学 | 种子包衣机自动控制装置 |
CN104199362B (zh) * | 2014-09-09 | 2017-12-12 | 绍兴安卡汽车配件有限公司 | 一种城市轨道列车的实时速度跟踪控制方法及系统 |
JP6079805B2 (ja) * | 2015-03-23 | 2017-02-15 | 日本電気株式会社 | 並列計算装置 |
-
1996
- 1996-07-08 JP JP8177898A patent/JPH1021094A/ja active Pending
-
1997
- 1997-07-04 NL NL1006480A patent/NL1006480A1/nl active Search and Examination
- 1997-07-05 TW TW086109488A patent/TW349205B/zh active
- 1997-07-05 KR KR1019970031230A patent/KR100265679B1/ko not_active IP Right Cessation
- 1997-07-07 DE DE19728989A patent/DE19728989A1/de not_active Withdrawn
- 1997-07-07 CN CN97114098A patent/CN1172986A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100377093C (zh) * | 2006-04-07 | 2008-03-26 | 浙江大学 | 嵌入式操作系统输入输出设备软件化方法 |
CN104903806A (zh) * | 2013-09-27 | 2015-09-09 | 费希尔-罗斯蒙特系统公司 | 过程控制体系中的改变管理系统 |
CN105834916A (zh) * | 2016-05-19 | 2016-08-10 | 无锡工艺职业技术学院 | 一种轴承磨床通用微电脑控制系统 |
Also Published As
Publication number | Publication date |
---|---|
JPH1021094A (ja) | 1998-01-23 |
KR100265679B1 (ko) | 2000-09-15 |
KR980010769A (ko) | 1998-04-30 |
NL1006480A1 (nl) | 1998-01-12 |
TW349205B (en) | 1999-01-01 |
DE19728989A1 (de) | 1998-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1172986A (zh) | 实时控制系统 | |
CN1143209C (zh) | 操作系统的重启动方法和计算机系统的控制方法 | |
CN1828563A (zh) | 处理器及信息处理方法 | |
CN1008484B (zh) | 处理机输入/输出和中断过滤器 | |
CN1271517C (zh) | 任务切换装置、方法和程序 | |
CN1908903A (zh) | 执行作业步的系统和方法以及计算机产品 | |
CN1292360C (zh) | 一种实现自动读写内部集成电路设备的装置和方法 | |
CN1202474C (zh) | 程序执行装置及便携式信息处理装置 | |
CN1614555A (zh) | 用于自主硬件辅助的线程栈跟踪的装置与方法 | |
CN1943160A (zh) | 用于在一装置中调用一特权函数的系统 | |
CN1811718A (zh) | 处理器及信息处理方法 | |
CN1904873A (zh) | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 | |
CN1781075A (zh) | 电子文件更新期间的设备存储器管理 | |
CN1906584A (zh) | 信息处理装置、处理控制方法和计算机程序 | |
CN1592886A (zh) | 通过虚拟线程执行计算机多任务的方法及装置 | |
CN1828541A (zh) | Java操作系统中定时任务的实现方法 | |
CN1629811A (zh) | 实施于计算机系统中的方法及使用该方法的计算机系统 | |
CN1737779A (zh) | 一种扩展外设的方法及系统 | |
CN1804799A (zh) | 单片机在线加载升级方法及系统 | |
CN1848111A (zh) | 用于内存数据库的一种数据操作接口的实现方法 | |
CN1940867A (zh) | 信息处理装置和方法、记录媒体和程序 | |
CN1637708A (zh) | 编译方法、编译装置及编译程序 | |
CN1295778C (zh) | 一种验证芯片硬件行为与软件模拟行为的一致性的方法 | |
CN1300395A (zh) | 处理器 | |
CN1444141A (zh) | 调试功能内置型微型计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |