KR100265679B1 - Real-time control system - Google Patents
Real-time control system Download PDFInfo
- Publication number
- KR100265679B1 KR100265679B1 KR1019970031230A KR19970031230A KR100265679B1 KR 100265679 B1 KR100265679 B1 KR 100265679B1 KR 1019970031230 A KR1019970031230 A KR 1019970031230A KR 19970031230 A KR19970031230 A KR 19970031230A KR 100265679 B1 KR100265679 B1 KR 100265679B1
- Authority
- KR
- South Korea
- Prior art keywords
- real
- time control
- data
- processing
- control mechanism
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06—COMPUTING OR CALCULATING; 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
- 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 OR CALCULATING; 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 어플리케이션의 공존을 실현한다.In an operating system for personal computers (PC-OS) that does not guarantee real-time performance, real-time processing is provided by positioning input / output device drivers, thereby real-time application and PC application changes are not accompanied by changes in PC-OS. We realize coexistence.
PC-OS가 입출력 디바이스 드라이버를 호출하는 기구, 획득한 CPU 사용권을 각 리얼 다임 프로세스에 분배하는 제2 스케줄링 수단, 리얼 타임 프로세스로서의 로딩 수단, 및 프로세스간 통신 기구를 구비한다.And a second scheduling means for distributing the obtained CPU usage right to each real dime process, a loading means as a real time process, and an inter-process communication mechanism.
Description
본 발명은, 리얼 타임성을 요구하는 프로세스와, 범용 퍼스널 컴퓨터상에서 동작하는 프로세스와의 공존을 목적으로 한, PC 리얼 타임 제어 기구에 관한 것이다.BACKGROUND OF THE
최근, 퍼스널 컴퓨터(이하, "PS"라 함)의 급속한 보급에 따라, 종래 폐쇄적이라고 했던 리얼 타임 시스템에서도, PC상에서 유통되고 있는 많은 소프트웨어 자산을 활용할 것이 요구되어 왔다.In recent years, with the rapid spread of personal computers (hereinafter, referred to as "PS"), it has been required to utilize many software assets distributed on a PC even in a real-time system that has been conventionally closed.
PC상의 소프트웨어 자산을 활용하기 위해서는, 리얼 타임 시스템상에서 동작하는 RT 프로세스와, PC 상에서 동작하는 PC 프로세스와의 협조 동작이 필요하며, 종래, 다음의 두 가지 방법이 취해지고 있었다.In order to utilize software assets on a PC, a cooperative operation between an RT process running on a real-time system and a PC process running on a PC is required. In the past, the following two methods have been taken.
[종래예 1][Prior Example 1]
제1 방법으로서는, 예를 들면 「계측과 제어 제34권 제3호」 (1995년 3월 발간) 201쪽에 기재된 것이 있다.As a 1st method, the thing described in "Measurement and Control Vol. 34, No. 3" (March, 1995) 201 is mentioned, for example.
이 방법은 도 15에 도시한 바와 같이, PC-OS(110)가 주행하는 CPU1(1301)과, 리얼 타임 OS(1304)가 주행하는 CPU2(1302)를 따로따로 탑재하고, RT 프로세스(102)는 리얼 타임 OS(1304) 제어하에서, PC 프로세스(111)는 PC-OS(110) 제어하에서 동작시키도록 한 것이다.As shown in FIG. 15, the CPU11301 on which the PC-
RT 프로세스와 PC 프로세스는 CPU1 및 CPU2로부터 액세스가능한 공유 메모리(1303)를 개재하여 데이터의 교환을 행하고 있다.The RT process and the PC process exchange data via the shared memory 1303 accessible from CPU1 and CPU2.
[종래예 2][Conventional Example 2]
제2 방법으로서는, 예를 들면 「인터페이스 1996년 6월호」 (CQ 출판) 142쪽에 기재된 것이 있다.As a 2nd method, the thing described in the "Interface June, 1996 issue" (CQ publication) page 142 is mentioned, for example.
이 방법은 도 16에 도시한 바와 같이, 리얼 타임 OS를 코아로서, 그 위에 에뮬레이터형으로 PC-OS를 탑재한다.As shown in Fig. 16, this method uses a real-time OS as a core and mounts the PC-OS in an emulator type thereon.
RT 프로세스(102)는 직접 리얼 타임 OS가 제공하는 서비스를 이용하고, PC 프로세스(111)는 PC-OS 에뮬레이터상에서 동작하도록 되어 있다.The
종래의 PC 리얼 타임 제어 기구는 이상과 같이 구성되어 있었기 때문에, 리얼 타임 OS 및 RT 프로세스가 동작하는 CPU나 공유 메모리 등의 여분의 하드 웨어를 탑재할 필요가 있고, 비용이 높아진다고 하는 문제점이 있었다.Since the conventional PC real-time control mechanism is configured as described above, there is a problem that it is necessary to mount extra hardware such as a CPU or a shared memory in which the real-time OS and the RT process operate, and the cost increases.
또한, PC-OS 에뮬레이터로서 구성하는 경우에는, 여분의 하드웨어에 의한 비용 증가는 억제될 수 있으나, PC-OS의 버전업때마다 PC-OS 에뮬레이터 전체를 변경할 필요가 있고, 소프트웨어 개발비의 증가를 초래한다고 하는 문제점이 있었다.In addition, in the case of configuring as a PC-OS emulator, the increase in cost due to extra hardware can be suppressed, but it is necessary to change the entire PC-OS emulator every time the version of the PC-OS is upgraded, resulting in an increase in software development cost. There was a problem to say.
본 발명은 이러한 문제점을 해결하기 위한 것으로서, RT 프로세스와 PC 프로세스가 공존하는 시스템을 실현하는데 있어서, 하드웨어 비용을 억제함과 동시에, PC-OS의 버전업에 대하여도 유연하게 대응할 수 있는 PC 리얼 타임 제어 기구를 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve such a problem, and in realizing a system in which an RT process and a PC process coexist, it is possible to reduce the hardware cost and to flexibly cope with the upgrade of the PC-OS. It is an object to provide a control mechanism.
본 발명에 관한 제1 리얼 타임 제어 시스템은, 어플리케이션 프로세스에 대하여 CPU 리소스의 할당 및 스케줄링을 행하는 제1 스케줄링 수단, 및 디바이스 장치에 대하여 입출력 처리를 행하는 디바이스 드라이버를 조립하는 드라이버 조립 기구를 구비한 오퍼레이팅 시스템에 있어서,An operating system comprising a first assembling means for allocating and scheduling CPU resources to an application process, and a driver assembling mechanism for assembling a device driver for input / output processing to a device device. In the system,
디바이스 장치로부터의 인터럽트에 대하여 리얼 타임 응답성이 요구되는 처리를 상기 오퍼레이팅 시스템으로부터 디바이스 드라이버로서 액세스되는 리얼 타임 제어 기구로서 구성하며, 상기 리얼 타임 제어 기구는 상기 디바이스 장치에 대한 처리 대응에 구성된 리얼 타임 프로세스, 및 상기 리얼 타임 프로세스에 대하여 상기 CPU 리소스의 할당 및 스케줄링을 행하는 제2 스케줄링 수단을 구비하도록 한 것이다.Processing for which real-time responsiveness is required for interrupts from the device apparatus is configured as a real-time control mechanism accessed from the operating system as a device driver, wherein the real-time control mechanism is a real-time configured for processing correspondence to the device apparatus. And second scheduling means for allocating and scheduling the CPU resource for the real-time process.
본 발명에 관한 제2 리얼 타임 제어 시스템은, 제1 리얼 타임 제어 시스템에서, 리얼 타임 제어 기구가 리얼 타임 프로세스간에서의 데이터의 송수신을 행하는 리얼 타앰 프로세스간 통신 수단을 구비하도록 한 것이다.The second real-time control system according to the present invention is such that, in the first real-time control system, the real-time control mechanism is provided with real-time inter-process communication means for transmitting and receiving data between real-time processes.
본 발명에 관한 제3 리얼 타임 제어 시스템은, 제1 리얼 타임 제어 시스템에서, 리얼 타임 제어 기구가 오퍼레이팅 시스템상에서 동작하는 어플리케이션 프로세스와 리얼 타임 프로세스간의 데이터 송수신을 행하는 프로세스간 통신 수단을 구비하도록 한 것이다.The third real-time control system according to the present invention is such that, in the first real-time control system, the real-time control mechanism includes interprocess communication means for transmitting and receiving data between an application process operating on an operating system and a real-time process. .
본 발명에 관한 제4 리얼 타임 제어 시스템은, 제1 리얼 타임 제어 시스템에서, 리얼 타임 제어 기구가 오퍼레이팅 시스템상에서 동작하는 어플리케이션 프로세스를 리얼 타임 프로세스로서 등록하는 리얼 타임 프로세스 로드 기구를 구비하도록 한 것이다.The fourth real-time control system according to the present invention is such that, in the first real-time control system, the real-time control mechanism includes a real-time process load mechanism for registering an application process operating on the operating system as a real-time process.
본 발명에 관한 제5 리얼 타임 제어 시스템은, 제1 리얼 타임 제어 시스템에서, 리얼 타임 제어 기구가 오퍼레이팅 시스템이 디바이스 드라이버에 대하여 제공하는 서비스 기능을 리얼 타임 프로세스로부터 이용가능하게 하는 오퍼레이팅 시스템 보호 수단을 설치하도록 한 것이다.A fifth real-time control system according to the present invention is characterized in that, in a first real-time control system, the real-time control mechanism provides operating system protection means for enabling a service function provided by the operating system to a device driver from a real-time process. It was installed.
본 발명에 관한 제6 리얼 타임 제어 시스템은, 제1 리얼 타임 제어 시스템에서, 리얼 타임 제어 기구는 상기 제2 스케줄링 수단이 CPU 리소스를 오퍼레이팅 시스템으로부터 점유하고 있는 시간을 계측·유지하고, 상기 계측 결과에 기초하여 CPU 리소스를 강제적으로 오퍼레이팅 시스템으로 되돌리는 사용권 감시 수단을 구비하도록 한 것이다In the sixth real time control system according to the present invention, in the first real time control system, the real time control mechanism measures and maintains the time that the second scheduling means occupies the CPU resource from the operating system, and the measurement result is obtained. License monitoring means for forcing CPU resources back to the operating system based on
본 발명에 관한 제7 리얼 타임 제어 시스템은, 제1 내지 제6 리얼 타임 제어 시스템에서, 상기 리얼 타임 제어 기구가 복수인 경우, 상기 복수의 리얼 타임 제어 기구간의 주종 관계 또는 우선 순위 관계를 조정하는 경합 제어 수단을 구비하도록 한 것이다.The seventh real time control system according to the present invention, in the first to sixth real time control systems, when there are a plurality of real time control mechanisms, adjusts master or master relationship or priority relationship between the plurality of real time control mechanisms. It is provided with a contention control means.
제 1도는 본 발명의 제1 실시예를 도시한 시스템 구성도.1 is a system configuration diagram showing a first embodiment of the present invention.
제 2도는 본 발명의 제1 실시예에서의 PC-OS의 인터럽트 처리를 도시한 흐름도.2 is a flowchart showing interrupt processing of the PC-OS in the first embodiment of the present invention.
제 3도는 본 발명의 제1 실시예에서의 PC-OS의 디바이스 드라이버 입출력 요구 처리를 도시한 흐름도.3 is a flowchart showing the device driver input / output request process of the PC-OS in the first embodiment of the present invention.
제 4도는 본 발명의 제1 실시예에서 RT 프로세스가 리얼 타임 제어 기구의 루틴으로서 실장된 경우에서의 제2 스케줄링 수단의 처리를 도시한 흐름도.4 is a flowchart showing the processing of the second scheduling means in the case where the RT process is implemented as a routine of the real time control mechanism in the first embodiment of the present invention.
제 5도는 본 발명의 제1 실시예에서 RT 프로세스가 독자적인 콘텍스트를 가진 경우의 제2 스케줄링 수단의 처리를 도시한 흐름도.5 is a flowchart showing the processing of the second scheduling means in the case where the RT process has its own context in the first embodiment of the present invention.
제 6도는 본 발명의 제1 실시예에서의 RT 프로세스간 통신 수단의 처리를 도시한 흐름도.6 is a flowchart showing the processing of the RT inter-process communication means in the first embodiment of the present invention.
제 7도는 본 발명의 제1 실시예에서 PC 프로세스가 데이터를 수신하는 경우의 PC 프로세스간 통신 수단의 처리를 도시한 흐름도.FIG. 7 is a flowchart showing the processing of the PC inter-process communication means when the PC process receives data in the first embodiment of the present invention.
제 8도는 본 발명의 제1 실시예에서 PC 프로세스가 데이터 송신하는 경우의 PC 프로세스간 통신 수단의 처리를 도시한 흐름도.8 is a flowchart showing the processing of the PC inter-process communication means when the PC process transmits data in the first embodiment of the present invention.
제 9도는 본 발명의 제2 실시예를 도시한 시스템 구성도.9 is a system block diagram showing a second embodiment of the present invention.
제 10도 본 발명의 제2 실시예에서의 사용권 감시 수단의 처리를 도시한 흐름도.10 is a flowchart showing the processing of the license monitoring means in the second embodiment of the present invention.
제 11도는 본 발명의 제2 실시예에서의 제2 스케줄링 수단의 처리를 도시한 플로 차트.11 is a flowchart showing the processing of the second scheduling means in the second embodiment of the present invention.
제 12도는 본 발명의 제2 실시예에서의 사용권 감시 수단의 다른 처리예를 도시한 흐름도.12 is a flowchart showing another example of the processing of the license monitoring means in the second embodiment of the present invention.
제 13도는 본 발명의 제3 실시예를 도시한 시스템 구성도.13 is a system block diagram showing a third embodiment of the present invention.
제 14도는 본 발명의 제3 실시예에서의 경합 제어 수단의 처리를 도시한 흐름도.14 is a flowchart showing the processing of the contention control means in the third embodiment of the present invention.
제 15도는 종래의 리얼 타임 제어 방식을 도시한 시스템 구성도.15 is a system configuration diagram showing a conventional real-time control method.
제 16도는 종래의 리얼 타임 제어 방식을 도시한 다른 시스템 구성도.16 is another system configuration diagram showing a conventional real time control scheme.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
101 : 제2 스케줄링 수단 102 : RT 프로세스101: second scheduling means 102: RT process
103 : RT 프로세스간 통신 수단 104 : PC 프로세스간 통신 수단103: RT interprocess communication means 104: PC interprocess communication means
105 : RT 로드 수단 106 : PC-OS 보호 수단105: RT loading means 106: PC-OS protection means
107 : PC 리얼 타임 제어 기구 108 : 제1 스케줄링 수단107: PC real time control mechanism 108: First scheduling means
109 : 드라이버 조립 기구 110 : PC-OS109: driver assembly mechanism 110: PC-OS
111 : PC 프로세스 901 : 사용권 감시 수단111: PC process 901: license monitoring means
1101 : 경합 제어 수단1101: contention control means
[실시예 1]Example 1
본 발명의 제1 실시예에 대하여, 도 1 내지 도 8에 기초하여 설명한다.A first embodiment of the present invention will be described based on FIGS. 1 to 8.
도 1은 제1 실시예에서의 시스템 구성을 도시한 도면이다.1 is a diagram showing a system configuration in the first embodiment.
도 1에서, 도면 부호(101)은 CPU 이외의 디바이스 장치로부터의 인터럽트에 대하여, PC-OS가 호출하기 전에 등록해 두었던 인터럽트 서비스 루틴에서, CPU 사용권을 RT 프로세스(102a, 102b)에 분배함과 동시에, RT 프로세스의 실행 상태를 관리하는 제2 스케줄링 수단이다.In Fig. 1,
도면 부호(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 프로세스이다.Reference numerals 111a to c denote PC processes that are application programs that operate on a PC-OS.
다음에, 동작에 대하여 (1) PC 리얼 타임 제어 기구, (2) PC 프로세스의 입출력 요구에 따른 드라이버의 동작, (3) RT 프로세스를 리얼 타임 제어 기구의 1개 의 루틴으로서 제어하는 경우의 제2 스케줄링 수단, (4) RT 프로세스가 독자적인 콘텍스트(context)를 갖고 실장되는 경우의 제2 스케줄링 수단, (5) RT 프로세스간 통신 처리, (6) PC 프로세스간 통신 처리, (7) RT 로드 수단, (8) PC-OS 보호 수단의 순서로 설명해 간다.Next, with respect to the operation, (1) PC real-time control mechanism, (2) driver operation according to the input / output request of the PC process, and (3) the case of controlling the RT process as one routine of the real-time control mechanism. 2 scheduling means, (4) a second scheduling means when the RT process is implemented with its own context, (5) inter-RT communication processing, (6) inter-PC communication processing, (7) RT loading means , And (8) PC-OS protection means.
(1) 우선, PC 리얼 타임 제어 기구(107)가 어떻게 실행되는지에 대하여 설명한다.(1) First, how the PC real
PC 리얼 타임 제어 기구(107)는 PC-OS(110)으로부터 보면 1개의 디바이스 드라이버이며, 디바이스 드라이버의 실행 계기는 CPU 외의 디바이스 장치로부터의 인터럽트와 PC 프로세스로부터의 입출력 요구의 2 종류가 있다.The PC real-
도 2는 통상의 OS에서의 인터럽트 발생으로부터 대응하는 디바이스 드라이버의 처리가 완료하기까지의 처리의 흐름을 도시하고 있다.Fig. 2 shows the flow of processing from the occurrence of interrupt in the normal OS to the completion of the processing of the corresponding device driver.
인터럽트가 발생하면, CPU는 PC-OS(110)가 OS의 초기화시에, CPU에 대하여 등록해 둔 루틴을 기동한다. 기동된 OS의 루틴에서는, 우선 단계(201)에서 인터럽트가 발생했을 때의 시스템의 상태를 보존한다.When an interrupt occurs, the CPU starts the routine registered by the PC-
다음으로, 단계(202)에서 발생한 인터럽트에 대응한 처리 루틴(이하, "인터럽트 서비스 루틴"이라 함)이 사전에 등록되어 있는지를 체크한다. 단계(202)에서 인터럽트 서비스 루틴이 등록되어 있지 않으면 단계(203)으로 진행하고, 예정외의 인터럽트 발생으로서 시스템을 정지하던지, 아무것도 하지 않고 단계(205)에 진행하여, 시스템 상태를 복귀하여 처리를 완료한다. 상기 어느 처리를 행하는지는 PC-OS의 종류에 따라 다르지만, 본 발명에는 직접 관여하고 있지 않으므로 여기서는 설명을 생략한다.Next, it is checked whether a processing routine (hereinafter referred to as an "interrupt service routine") corresponding to the interrupt generated in
단계(202)에서 인터럽트 서비스 루틴이 등록되어 있었으면, 단계(204)에서 상기 인터럽트 서비스 루틴을 호출한다. 인터럽트 서비스 루틴의 처리가 완료되면, 단계(205)에 진행하며, 단계(201)에서 보존한 시스템의 상태를 복귀하고, 인터럽트 처리를 완료한다.If an interrupt service routine has been registered in
단계(204)에서 호출된 인터럽트 서비스 루틴에서는, 인터럽트를 발생한 디바이스 장치와 데이터를 교환(데이터 입력의 인터럽트인 경우는 디바이스 장치로부터 데이터를 꺼내고, 데이터 출력 완료의 인터럽트인 경우는 출력 데이터를 디바이스 장치에 송출한다)하고, 그 결과 입출력 요구 대기의 PC 프로세스가 존재했다면, 그 PC 프로세스의 대기 상태를 해제하고, 제1 스케줄링 수단(108)을 호출하며, PC 프로세스의 재 스케줄링을 행한다.In the interrupt service routine called in step 204, data is exchanged with the device device that generated the interrupt (data is taken out of the device device in case of an interrupt of data input, and output data is sent to the device device in case of an interrupt of data output completion. If there is a PC process waiting for an input / output request, the waiting state of the PC process is released, the first scheduling means 108 is called, and the PC process is rescheduled.
또한, 통상의 OS에서는 인터럽트 서비스 루틴으로부터 직접 스케줄링 수단을 호출하면 시스템 처리에 모순을 일으키므로, 인터럽트 처리 완료후에 제1 스케줄링 수단(108)을 호출할 수 있는 기구를 갖고 있다.In addition, in a typical OS, calling the scheduling means directly from the interrupt service routine causes a contradiction in system processing, and therefore has a mechanism capable of calling the first scheduling means 108 after completion of the interrupt process.
(2) 다음에, PC 프로세스(111)의 입출력 요구에 따른 디바이스 드라이버의 실행 처리에 대하여, 도 3의 흐름도에 기초하여 설명한다.(2) Next, the execution process of the device driver according to the input / output request of the
PC 프로세스로부터 입출력 요구가 이루어지면, PC-OS(110)의 일부인 드라이버 조립 기구가 호출된다. 드라이버 조립 기구로는 PC 프로세스로부터의 입출력 요구의 종류에 대응한 디바이스 드라이버의 요구 접수 루틴을 기동한다[단계(301)]. 이 요구 접수 루틴은 예를 들면 데이터의 판독, 기입, 디바이스 장치의 직접 제여 등으로 나누어지며, 디바이스 드라이버의 초기화 처리에서 드라이버 조립 기구에 등록되는 것이다. 디바이스 드라이버의 요구 접수 루틴에서는, 요구 내용에 따라 디바이스 장치와의 데이터 교환을 하지만, CPU의 속도에 비하여 디바이스 장치는 대단히 저속이므로, 드라이버 조립 기구에서는 PC 프로세스를 입출력 완료 대기 상태로 한다[단계(302)].When an input / output request is made from a PC process, a driver assembly mechanism that is part of the PC-
다음으로, 단계(303)에서는 단계(302)에서 PC 프로세스가 대기 상태가 되었기 때문에, 다음에 실행할 PC 프로세스를 선택하기 위하여, 제1 스케줄링 수단(108)을 호출하고, 입출력 요구의 처리를 완료한다.Next, in step 303, since the PC process is in the waiting state in
입출력 완료 대기 상태가 된 PC 프로세스는 도 2에 도시한 인터럽트 서비스 루틴에 의하여 대기 상태를 해제하게 된다.The PC process which has entered the I / O completion wait state is released from the wait state by the interrupt service routine shown in FIG.
이상 설명한 바와 같이, PC-OS가 갖는 제1 스케줄링 수단(108)은 디바이스 드라이버의 처리중에는 실행되지 않으며, 그 결과 디바이스 드라이버는 PC 프로세스(111a∼c) 또는 제1 스케줄링 수단(108)에 대하여 우선적으로 처리되게 된다.As described above, the first scheduling means 108 of the PC-OS is not executed during the processing of the device driver, and as a result, the device driver has priority over the PC processes 111a to c or the first scheduling means 108. Will be processed.
(3) 다음에, RT 프로세스의 실행을 제어하는 제2 스케줄링 수단(101)의 동작을 도 4에 기초하여 설명한다.(3) Next, the operation of the second scheduling means 101 for controlling the execution of the RT process will be described based on FIG.
도 4는 RT 프로세스가 PC 리얼 타임 제어 기구의 1개의 루틴으로서 실장되는 경우의 제2 스케줄링 수단(101)의 처리를 나타낸 흐름도이다.4 is a flowchart showing processing of the second scheduling means 101 when the RT process is implemented as one routine of the PC real time control mechanism.
제2 스케줄링 수단(101)은 도 2의 단계(204)로부터 호출되면, 우선 단계(401)가 실행되며, PC 리얼 타임 제어 기구 실행중을 나타내는 플래그를 체크하고, 만일 플래그가 "ON"이면 아무것도 하지 않고 처리를 종료하고, 도 2의 단계(205)로 되돌아간다.When the second scheduling means 101 is called from step 204 of Fig. 2, firstly step 401 is executed, checks a flag indicating that the PC real-time control mechanism is running, and if the flag is "ON", nothing Processing ends without returning to step 205 of FIG.
단계(401)에서, 만일 플래그가 "OFF"이면 단계(402)에서 플래그를 "ON"으로 하여 단계(403)으로 진행하고, 실행 가능한 RT 프로세스의 유무를 체크한다. 체크 방법으로서는, 예를 들면 RT 프로세스의 선두 어드레스(본 실시예의 경우 루틴의 선두 어드레스)를 테이블에 유지하고, 테이블에 유지되어 있는 RT 프로세스는 모두 실행 가능 상태라로 판단하면 된다. 또한, 디바이스 장치로부터의 인터럽트가 주기적으로 발생하는 것이면, 상기 테이블에 카운터를 설치하면, RT 프로세스마다 다른 주기 시간에서의 기동도 가능해진다.In
단계(403)에서, 만일 실행 가능 상태의 RT 프로세스가 존재하면 단계(404)에 진행하며, 테이블에 등록되어 있는 루틴을 호출한다. 호출된 루틴(RT 프로세스)에서는, RT 프로세스 특유의 처리를 행한 후 리턴함으로써, 단계(404)로 되돌아가고, 그 후 단계(403)으로 진행한다. 단계(403) 및 단계(404)를 반복하여 실행함으로써 테이블에 등록된 실행 가능한 모든 RT 프로세스가 처리되면 단계(405)로 진행하고, 플래그를 0으로 세트하여 처리를 종료한다.In
이 경우, RT 프로세스는 도면에 도시한 바와 같이, 루틴으로부터의 리턴으로 처리를 종료한다.In this case, the RT process ends the processing with a return from the routine, as shown in the figure.
(4) 다음에, RT 프로세스가 PC 리얼 타임 제어 기구의 1개의 루틴이 아니며, 독자적인 콘텍스트를 갖고 실장되는 경우의 제2 스케줄링 수단(101)의 처리에 대하여, 도 5의 흐름도에 기초하여 설명한다.(4) Next, the processing of the second scheduling means 101 when the RT process is not one routine of the PC real time control mechanism and is implemented with its own context will be described based on the flowchart of FIG. 5. .
이 경우, RT 프로세스는 도 5에 도시한 바와 같이, 프로세스 자체의 초기화 처리부와, 프로세스 특유의 처리를 반복하여 처리하는 형태가 된다. 반복 처리의 종료는 Wait 콜에 의하여 스스로 실행권을 방기함으로써 행한다.In this case, as shown in Fig. 5, the RT process is a form in which the initialization processing unit of the process itself and the process specific to the process are repeatedly processed. The iterative processing is terminated by abandoning the execution right by the Wait call.
제2 스케줄링 수단(101)은 도 2의 단계(204)로부터 호출되면, 우선 단계(401) 및 단계(402)를 실행한다. 이상의 단계는 도 4의 해당 단계와 동일하다.When the second scheduling means 101 is called from step 204 of Fig. 2, firstly, steps 401 and 402 are executed. The above steps are the same as the corresponding steps in FIG.
다음으로, 단계(403)에서 실행 가능 상태의 RT 프로세스를 체크한다. 체크 방법은 도 4의 흐름도를 설명한 경우와 동일하다. 단계(403)에서, 만일 실행 가능 상태의 프로세스가 존재했다면, 단계(501)에 진행하고 단계(403)에서 얻어진 프로세스의 상태 정보를 복귀한다. 이 처리에 의하여 RT 프로세스는 단계(503)에 도시한 개소로부터 다시 실행되지만, RT 프로세스의 처리를 여기서 설명한다.Next, in
RT 프로세스는 최초로 기동되면, 자기 자신의 초기화 처리를 행하고[단계(502)], 단계(503)으로 진행한다. RT 프로세스의 최초의 기동은, 디바이스 드라이버인 PC 리얼 타임 제어 기구의 초기화 처리에서 호출되게 하면 되고, 또한 PC 프로세스로부터의 디바이스 개시 의뢰 중에서 호출하여도 좋다.When the RT process is started for the first time, it performs its own initialization process (step 502) and proceeds to step 503. The initial startup of the RT process may be called by the initialization process of the PC real-time control mechanism which is a device driver, and may be called during the device start request from the PC process.
단계(503)에서는 RT 프로세스에 고유의 처리를 행한 후, 단계(504)에서 Wait를 콜한다.In
Wait 콜은 PC 리얼 타임 제어 기구가 RT 프로세스에 대하여 제공하는 기능으로서, RT 프로세스의 실행을 일시 중단하는 것이다. 이 기능은 본 발명에서는 필수의 기능이 아니지만, 본 실시예의 설명을 용이하게 하기 위한 것으로서, 호출된 RT 프로세스를 실행 가능 상태로부터 제외하고[단계(505)], 상기 프로세스의 상태 정보를 유지[단계(506)]한 후, 다시 제2 스케줄링 수단(101)을 호출한다[단계(403)].The wait call is a function provided by the PC real-time control mechanism to the RT process, and suspends execution of the RT process. This function is not an essential function in the present invention, but is for the purpose of facilitating the description of the present embodiment, excluding the called RT process from the executable state (step 505), and maintaining the state information of the process [step] (506)], and then call the second scheduling means 101 again (step 403).
단계(501)에서의 RT 프로세스의 상태 정보의 복귀는 상기 단계(506)에서 유지된 상태 정보의 복귀이며, RT 프로세스는 스텝(503)으로부터 실행을 재개한다.The return of the status information of the RT process in step 501 is the return of the status information maintained in
이상의 단계(403), 단계(501)로부터 스텝(506)이 반복되며, 모든 실행 가능 상태의 RT 프로세스가 Wait의 콜에 의하여 실행 가능 상태에서 벗어나면, 단계(403)에서는 실행 가능 상태의 프로세스가 없는 상태로 판정되고, 단계(405)에서 플래그를 "OFF"로 하여 PC-OS의 인터럽트 처리[도 2의 흐름도의 단계(204)]로 되돌아간다.Step 506 is repeated from
(5) 다음에, RT 프로세스간 통신 수단의 처리에 대하여 설명한다.(5) Next, processing of the RT inter-process communication means will be described.
도 4 및 도 5의 흐름도에서는, RT 프로세스는 각각 독립된 처리로서 설명하였으나, 일반적인 프로세스는 서로 처리의 동기를 취하거나, 데이터의 교환을 행하면서 처리를 수행해간다.In the flowcharts of Figs. 4 and 5, the RT processes are described as independent processes, but the general processes perform the processes while synchronizing the processing with each other or exchanging data.
이하에서는, 2개의 RT 프로세스(102a, 102b)에서 가장 간단한 데이터 교환을 행하는 경우를 예를 들어 처리의 흐름을 설명한다.In the following, the flow of processing will be described taking the case where the simplest data exchange is performed in the two
도 6은 2개의 RT 프로세스(102a, 102b)에서, RT 프로세스(102a)가 데이터의 수신을 또한 RT 프로세스(102b)가 데이터의 송신을 하고 있는 도면이다.FIG. 6 is a diagram in which the
우선, RT 프로세스(102a)가 단계(601)에서 데이터의 수신을 행하면, RT 프로세스간 통신 수단의 단계(602)가 호출되며, 데이터의 유무를 체크한다. 데이터가 존재하면 그 데이터를 RT 프로세스의 데이터 수신의 호출시에 지정한 메모리 영역에 카피하고[단계(603)], 데이터 수신 처리를 종료하며, RT 프로세스의 단계(504a)에서 Wait를 호출하고, 실행 가능 상태로부터 벗어난다.First, when the
단계(602)에서 데이터가 없으면 단계(604)에서 RT 프로세스(102a)를 실행 가능 상태로부터 벗어나게 하고, 단계(605)에서 RT 프로세스의 상태 정보를 유지하여, 단계(606)에서 제2 스케줄링 수단(101)을 호출한다. 여기서 호출되는 제2 스케줄링 수단은, 상기 Wait의 처리에서 설명한 경우와 동일하며, 도 5의 스텝(403)이다.If there is no data in step 602, the
제2 스케줄링 수단(101)의 처리 결과, RT 프로세스(102b)가 선택되며 상태정보가 복귀되면, RT 프로세스(102b)는 Wait의 직후로부터 실행이 재개되며, 단계(607)에 진행하며 데이터 송신을 호출한다. 데이터 송신이 호출되면, RT 프로세스간 통신 수단의 단계(608)가 실행되며, 데이터 대기 상태의 프로세스의 유무를 체크한다.As a result of the processing of the second scheduling means 101, when the RT process 102b is selected and the status information is returned, the RT process 102b resumes execution immediately after Wait, and proceeds to step 607 to proceed with data transmission. Call When the data transmission is called,
만일 데이터 대기 상태의 RT 프로세스가 존재하지 않으면, 단계(609)에서 데이터를 RT 프로세스간 통신 수단이 갖는 메모리 영역에 카피하고, 데이터의 송신을 완료하며, RT 프로세스(102b)에 되돌아가 Wait에 의해 실행 가능 상태로부터 벗어난다. 본 설명에서는 RT 프로세스(102a)가 단계(604)에서 데이터 대기 상태가 되고 있으므로, 단계(608)에서는 데이터 대기 프로세스라고 판정되며, 단계(610)으로 진행한다.If there is no RT process in the data waiting state, in
단계(610)에서는 데이터를 RT 프로세스의 지정된 메모리 영역에 카피하고, 단계(611)에서 RT 프로세스를 실행 가능 상태로 한다. 이로써 데이터 송신 처리는 완료하고, RT 프로세스(102b)에 되돌아가 단계(504b)에서 Wait을 호출하며, RT 프로세스(102b)는 실행 가능 상태로부터 제외된다.In
그 후, 도 5의 흐름도의 단계(403)에서는 실행 가능 상태의 프로세스로서 RT 프로세스(102a)가 선택되며, 단계(501)에서 상태가 복귀되면 단계(606)에 되돌아 온다.Thereafter, in
이로써, RT 프로세스(102a)의 데이터 수신 처리는 완료되고, 단계(504a)에서 Wait가 불려지면, 실행 가능 상태로부터 벗어나고, 제2 스케줄링 수단(101)에 의해, 실행 가능 상태의 프로세스가 없기 때문에 PC-OS의 인터럽트 처리로 되돌아간다.Thus, the data receiving process of the
(6) 다음에 PC 프로세스간 통신 수단의 처리에 대하여 도 7 및 도 8에 기초하여 설명한다.(6) Next, the processing of the PC inter-process communication means will be described based on FIG. 7 and FIG. 8.
PC-OS등 통상의 계산기 시스템에서는 PC 프로세스끼리, 또는 RT 프로세스끼리 서로 처리의 동기를 취하거나, 데이터의 교환을 행하면 되지만, PC 프로세스와 RT 프로세스가 혼재할 경우는 PC 프로세스와 RT 프로세스간에서도 데이터의 교환 동기가 필요해진다.In a typical calculator system such as PC-OS, the PC processes or RT processes may synchronize processing with each other or exchange data. However, when the PC process and the RT process are mixed, the data may also be used between the PC process and the RT process. Exchange motivation is needed.
이하에서는, PC 프로세스와 RT 프로세스에서 가장 간단한 데이터 교환을 행하는 경우를 예로 들어, 각각에 대하여 처리의 흐름을 설명한다. 도 7은 PC 프로세스가 데이터의 수신을, RT 프로세스가 데이터 송신을 행하는 경우의 도면이다. 또한, 도 8은 PC 프로세스가 데이터의 송신을, RT 프로세스가 데이터의 수신을 행하는 경우의 도면이다.In the following, the flow of processing will be described for each, taking the case of the simplest data exchange in the PC process and the RT process as an example. 7 is a diagram when the PC process receives data and the RT process performs data transmission. 8 is a diagram when the PC process transmits data and the RT process receives data.
실제로는 PC 프로세스에서는 데이터의 송신은 PC 리얼 타임 제어 기구에 해당하는 디바이스 드라이버에 대한 데이터 출력 요구, 데이터 수신은 데이터 입력 요구에 대응하고 있고, PC 프로세스에 대하여는 그 형식에서 기능을 제공해도 좋으며, PC 프로세스에 대하여 데이터 출력 요구를 데이터 송신에, 데이터 입력 요구를 데이터 수신에 대응시키는 라이브러리를 제공하여도 좋다.In practice, in the PC process, data transmission corresponds to a data output request to a device driver corresponding to the PC real-time control mechanism, and data reception corresponds to a data input request. The PC process may provide a function in the form. A library may be provided for a process that associates a data output request with data transmission and a data input request with data reception.
우선, PC 프로세스가 데이터의 수신을 RT 프로세스가 데이터의 송신을 행하는 경우의 동작을 도 7에 대하여 설명한다.First, an operation when the PC process receives data while the RT process transmits data will be described with reference to FIG. 7.
제1 스케줄링 수단(108)에 의하여 PC 프로세스가 실행되며 단계(701)에서 데이터 수신을 요구하면, 드라이버 조립 기구에 의하여 데이터 입력 요구로서 PC 리얼 타임 제어 기구의 PC 프로세스간 통신 수단이 호출된다.If the PC process is executed by the first scheduling means 108 and data reception is requested in step 701, the PC process communication means of the PC real time control mechanism is called by the driver assembly mechanism as a data input request.
PC 프로세스간 통신 수단에서는, 우선 단계(702)에서 데이터의 유무를 조사 한다. 만일 데이터가 존재하면 단계(703)으로 진행하고, 통상의 디바이스 드라이버와 마찬가지로 데이터 입력 요구 완료로서 드라이버 조립 기구에 제어를 되돌리고, 그 결과, 데이터 수신 완료로서 PC 프로세스가 단계(701)에 이어서 실행된다.In the PC interprocess communication means, first, in
단계(702)에서, 만일 데이터가 없으면 단계(704)에 진행하고, PC 프로세스를 디바이스로부터의 데이터 입력 대기 상태로서, PC-OS에 통지한다.In
다음에, 단계(705)로 진행하며 데이터 입력 요구 완료로서 드라이버 조립 기구(109)로 제어를 되돌린다. 드라이버 조립 기구에서는 PC 프로세스는 디바이스 입력 대기 상태가 되고 있으므로, PC-OS의 제1 스케줄링 수단(108)을 호출하고, 디바이스 입력 대기 상태의 PC 프로세스 이외의 PC 프로세스를 실행하게 된다.Next, control proceeds to step 705 where control is returned to the
PC-OS로의 디바이스 인터럽트로서 제2 스케줄링 수단(101)이 호출되며, 그 결과 RT 프로세스가 실행되면, PC 프로세스간 통신 수단의 단계(706)가 호출되고 데이터 수신 대기 프로세스의 유무를 체크한다.The second scheduling means 101 is called as a device interrupt to the PC-OS, and as a result, when the RT process is executed, step 706 of the inter-PC communication means is called and checks for the presence or absence of the data reception waiting process.
단계(706)에서 만일 데이터 수신 대기의 프로세스가 없으면, 단계(707)에서 데이터를 유지하고 RT 프로세스로 되돌아간다. 본 실시예의 경우는 PC 프로세스가 데이터 수신 대기이므로 단계(708)로 진행하며, PC 프로세스가 데이터 입력 요구시에 지정한 PC 프로세스의 메모리 영역에 데이터를 카피하고, 단계(709)에서 PC 프로세스의 데이터 입력 대기 상태가 해제된 것을 PC-OS에 통지한다.If there is no process waiting to receive data at
PC-OS에서는 PC 프로세스를 입력 대기로부터 실행 가능 상태로 하지만, 도 2 의 흐름도의 설명에서 상술한 바와 같이, PC-OS로부터는 디바이스 인터럽트 처리중으로 인식되고 있으므로, 제1 스케줄링 수단(108)은 호출되지 않고, 단계(709)에 제어를 되돌린다. 이로써 PC 프로세스간 통신 수단의 데이터 송신 처리는 종료하고, RT 프로세스에 제어를 되돌리다.In the PC-OS, the PC process is made executable from waiting for input, but as described above in the description of the flowchart of FIG. 2, since the PC-OS is recognized as being in the device interrupt process, the first scheduling means 108 is called. The control returns to step 709. As a result, the data transmission process of the PC inter-process communication means is terminated, and control is returned to the RT process.
실행 가능한 모든 RT 프로세스가 처리되면 제2 스케줄링 수단(101)으로부터 PC-OS의 인터럽트 처리로 되돌아가고, PC-OS는 도 2의 흐름도의 설명에서 상술한 바와 같이, 인터럽트 처리내에서 디바이스 입력 대기가 해제된 PC 프로세스가 존재하므로, 제1 스케줄링 수단(108)이 호출되며, (경우에 따라) PC 프로세스가 데이터 수신 완료의 형으로 실행이 재개된다.Once all executable RT processes have been processed, the process returns to the interrupt processing of the PC-OS from the second scheduling means 101, and the PC-OS waits for device input in the interrupt processing as described above in the description of the flowchart of FIG. Since there is a released PC process, the first scheduling means 108 is called and the PC process resumes execution in the form of data reception completion (if any).
다음에, PC 프로세스가 데이터의 송신을 RT 프로세스가 데이터 수신을 행하는 경우에 대하여 도 8에 기초하여 설명한다.Next, the case where the PC process transmits data and the RT process performs data reception will be described based on FIG. 8.
디바이스로부터의 인터럽트로부터 제2 스케줄링 수단(101)이 호출되며, 그 결과 RT 프로세스가 실행되며, 데이터 수신이 호출되면 PC 프로세스간 통신 수단이 호출된다.The second scheduling means 101 is called from the interrupt from the device, so that the RT process is executed, and the PC interprocess communication means is called when data reception is called.
PC 프로세스간 통신 수단에서는, 우선 단계(801)에서 데이터의 유무를 체크하여, 만일 데이터가 있으면 RT 프로세스의 지정된 메모리 영역에 데이터를 카피하고[단계(802)], 데이터 수신을 종료하며, RT 프로세스에 제어를 되돌린다.In the PC inter-process communication means, first, the presence or absence of data is checked in
단계(801)에서, 만일 데이터가 없으면 단계(803)에서 RT 프로세스를 데이터 수신 대기로서 실행 가능 상태로부터 벗어나게 하고, 상태 정보를 유지한[단계(804)] 후, 제2 스케줄링 수단(101)을 호출한다[단계(805)]. 이때 호출되는 제2 스케줄링 수단은 Wait의 설명을 한 경우와 동일하게, 도 5의 단계(403)이다.In
데이터 수신 대기가 된 RT 프로세스 이외의 실행 가능 상태의 RT 프로세스가 모두 실행되면, 제2 스케줄링 수단(101)에 의해 PC-OS의 인터럽트 처리로 되돌아가고, 디바이스로부터의 인터럽트 처리가 완료된다. 그 결과 PC-OS의 제1 스케줄링 수단(108)이 호출된다.When all the RT processes in the executable state other than the RT process that have waited to receive data are executed, the second scheduling means 101 returns to the interrupt processing of the PC-OS, and the interrupt processing from the device is completed. As a result, the first scheduling means 108 of the PC-OS is called.
또한, 오퍼레이팅 시스템에 의해서는, 디바이스로부터의 인터럽트 처리가 완료하면,(디바이스 드라이버 처리에서 디바이스 입력 대기의 프로세수가 1개도 대기 상태가 해제되지 않은 경우에는) 인터럽트가 발생한 지점에 되돌아가는 것이 있다. 많은 경우에는 어느 하나의 PC 프로세스가 실행중이며, 인터럽트 처리 완료에 따라 처리가 재개되지만, PC-OS는 각 PC 프로세스에 CPU를 평등하게 할당하도록 하기 위하여, 어느 것은 제1 스케줄링 수단(108)에 의해 PC 프로세스가 실행되게 된다.In addition, the operating system may return to the point where the interrupt occurred when the interrupt processing from the device is completed (when the number of processes waiting for device input in the device driver process does not cancel the waiting state). In many cases, any one PC process is running and processing resumes upon completion of the interrupt process, but the PC-OS is allocated by the first scheduling means 108 to allow the PC to equally allocate the CPU to each PC process. The PC process will run.
PC 프로세스에서는, 단계(806)에서 데이터 송신을 요구하면, 드라이버 조립 기구에 의해 데이터 출력 요구로서 PC 리얼 타임 제어 기구의 PC 프로세스간 통신 수단이 호출된다. PC 프로세스간 통신 수단에서는, 우선 단계(807)에서 데이터 대기 상태의 RT 프로세스의 유무를 체크한다. 만일 데이터 대기 상태의 RT 프로세스가 존재하지 않으면, 단계(808)에서 데이터를 PC 프로세스간 통신 수단이 가진 메모리 영역에 카피한다.In the PC process, when data transmission is requested in
다음에, 단계(809)에서 데이터 출력 요구 완료를 드라이버 조립 기구에 통지하고 처리를 종료한다. 그 결과, PC 프로세스에는 데이터 송신 완료로서 실행이 재개된다. 본 실시예에서는 RT 프로세스가 데이터 대기 상태이므로, 단계(807)로 부터는 단계(810)으로 진행하고, 데이터를 RT 프로세스가 지정한 메모리 영역에 카피한다.Next, in step 809, the driver assembling mechanism is notified of the completion of the data output request, and the processing ends. As a result, execution is resumed to the PC process as data transmission completion. In the present embodiment, since the RT process is in a data waiting state, the process proceeds from step 807 to step 810, and copies the data into a memory area designated by the RT process.
다음에, 단계(811)에서 RT 프로세스를 실행 가능 상태로 하고, 단계(809)에 진행하며 데이터 출력 요구 완료를 드라이버 조립 기구에 통지하여 처리를 완료한다. 단계(811)에서 실행 가능 상태가 된 RT 프로세스는, 다음의 디바이스 드라이버로부터의 인터럽트에 의해 제2 스케줄링 수단(101)에 의해 실행되며, RT 프로세스의 데이터 수신 처리가 완료한다.Next, in
또한, 단계(811)에서 RT 프로세스를 실행 가능 상태로 한 후, 데이터 출력 요구 완료를 통지하고 있지만, RT 프로세스로의 응답성을 높이기 위하여, 제2 스케줄링 수단(101)을 호출하고, 데이터 출력 요구 완료의 통지 전에 RT 프로세스를 실행하도록 하여도 좋다. 이 경우, RT 프로세스가 호출하는 Wait에서 데이터 출력 요구 완료를 통지하고나서 처리를 종료하지 않으면 안된다.Further, after the RT process is made executable in
(7) 다음에, RT 로드 수단(105)의 처리에 대하여 설명한다.(7) Next, the processing of the RT loading means 105 will be described.
일반적인 계산기 시스템에서는 디바이스 드라이버의 개발은, 어플리케이션의 개발에 비하여 주의 깊게 행할 필요가 있고, 어려움이 있다. 본 발명의 PC 리얼타임 제어 기구에서는, RT 프로세스를 디바이스 드라이버의 내부의 루틴으로서 실행하기 위하여, 종래는 RT-OS의 어플리케이션으로서 개발되고 있던 RT 프로세스에 비하여, 개발에 어려움을 수반한다.In a general calculator system, device driver development needs to be done more carefully than application development, and there are difficulties. In the PC real-time control mechanism of the present invention, in order to execute the RT process as an internal routine of the device driver, it is difficult to develop compared to the RT process which has been developed as an application of the RT-OS.
그 때문에, RT 로드 수단(105)은 RC 프로세스(111c)로서 개발·디버그한 어플리케이션을 디바이스 드라이버인 PC 리얼 타임 제어 기구의 RT 프로세스(102b)로서 조립하는 기구이다.Therefore, the RT load means 105 is a mechanism which assembles the application developed and debugged as the RC process 111c as the RT process 102b of the PC real-time control mechanism which is a device driver.
RT 로드 수단(105)은 RT 프로세스를 PC 프로세스로서 작성·디버그하는 경우의 제한에 강하게 의존한다. 예를 들면 PC 프로세스의 1개의 루틴으로서 작성된 RT 프로세스를 RT 로드 수단에 의해 RT 프로세스로서 등록 요구하는 경우에는, RT 로드 수단은 지정된 루틴의 개시 어드레스로부터 루틴의 사이즈 만큼, 디바이스 드라이버인 PC 리얼 타임 제어 기구 내부의 메모리 영역에 카피하고, 도 4의 흐름도의 설명에서 상술한 테이블에 루틴의 개시 어드레스를 등록하면 된다.The RT loading means 105 strongly depends on the limitation in the case of creating and debugging an RT process as a PC process. For example, when a RT process created as one routine of a PC process is requested to be registered as an RT process by the RT load means, the RT load means controls the PC real time as a device driver by the size of the routine from the start address of the designated routine. It is sufficient to copy to the memory area inside the mechanism and register the start address of the routine in the table described above in the description of the flowchart of FIG. 4.
PC 프로세스로서 작성·디버그가 완료한 PC 프로세스 전체를 RT 프로세스로서 등록하는 경우에는, RT 로드 수단은 예를 들면 외부 기억 장치상에 격납된 PC 프로세스를 PC 리얼 타임 제어 기구내의 메모리 영역에 읽어들이고, 그 선두 어드레스를 도 4의 흐름도의 설명에서 상술한 테이블에 등록하면 된다.When the entire PC process created and debugged as a PC process is registered as an RT process, the RT loading means reads, for example, a PC process stored on an external storage device into a memory area within the PC real-time control mechanism. The head address may be registered in the table described above in the description of the flowchart of FIG. 4.
이상의 RT 로드 수단에서는, RT 프로세스로서 작성·디버그된 루틴 또는 PC 프로세스가 PC-OS가 제공하는 기능(시스템 콜 등)을 이용하는 경우에는, PC 리얼 타임 제어 기구내에서 동일한 기능을 제공하지 않으면 안되는 것은 당연하다. 또한, 이들 기능은 PC 프로세스로부터는 단순한 서브 루틴으로서 프로그램되므로, PC 리얼 타임 제어 기구내에서는 그들 어드레스를 RT 프로세스로서 로드 또는 실행하면서 해결할 필요가 있는 것도 당연하다.In the above RT loading means, when a routine created or debugged as an RT process or a PC process uses a function provided by the PC-OS (such as a system call), the same function must be provided in the PC real-time control mechanism. Of course. In addition, since these functions are programmed as simple subroutines from the PC process, it is natural that the PC real-time control mechanism needs to solve them while loading or executing these addresses as an RT process.
이 어드레스 해결 방법으로서는, 예를 들면 PC 프로세스를 디버그 종료 후, 서브 루틴만 어드레스 미해결 상태로 재 컴파일하고, 그것을 RT 로드 수단으로 프로그램을 카피하면서 미해결 어드레스를 PC 리얼 타임 제어 기구 내부의 대응하는 서브 루틴에 치환해 가는 방법이 고려된다.As this address resolution method, for example, after debugging of a PC process, only a subroutine is recompiled into the address unresolved state, and the corresponding subroutine in the PC real-time control mechanism is converted into an unresolved address while copying the program to the RT loading means. The method of substituting for is considered.
이외에도 공지의 방법이 몇 가지 있으나, 본 발명에서는 어떠한 방법을 사용해도 좋다. 또한, RT 프로세스로서 PC 프로세스를 작성하는 경우의 사용 제한으로서 PC-OS가 제공하는 기능은 사용 금지로 하여도 좋다.There are several known methods, but any method may be used in the present invention. In addition, as a usage restriction in the case of creating a PC process as an RT process, the functions provided by the PC-OS may be disabled.
(8) 다음에 PC-OS 보호 수단(106)에 대하여 설명한다.(8) Next, the PC-OS protection means 106 will be described.
드라이버 조립 기구를 갖는 PC-OS는 디바이스 드라이버로부터 이용 가능한 PC-OS의 기능을 제공하고 있다. 이들 기능은 PC-OS가 PC 프로세스에 제공되고 있는 기능과는 통상은 상이한 것이다. 또한, 디바이스 드라이버는 PC-OS의 일부로서 동작하는 경우가 많고, RT 프로세스로부터 안이하게 드라이버로의 제공 기능을 사용하는 것은 시스템의 정지에 이어지는 중대한 문제를 초래하는 경우가 있다.PC-OS with a driver assembly mechanism provides the functions of the PC-OS available from the device driver. These functions are usually different from those provided by the PC-OS to the PC process. In addition, the device driver often operates as part of the PC-OS, and the use of the driver-supplied function from the RT process easily causes a serious problem that leads to a system stoppage.
PC-OS 보호 수단은 PC-OS가 드라이버에 제공하는 기능을 보다 안전하게 RT 프로세스에 제공하기 위한 변환 루틴이며, 엄밀한 에러 체크나 액세스할 어드레스의 체크, PC-OS의 동작에 모순을 일으키는 처리의 배제 등을 행한다.PC-OS protection means are conversion routines that provide the RT-processes with the functionality that PC-OS provides to drivers more safely, eliminating rigorous error checking, address checking, and processing that contradicts PC-OS operation. And the like.
[실시예 2]Example 2
다음에, 본 발명의 제2 실시예를 도 9 내지 도 12에 기초하여 설명한다.Next, a second embodiment of the present invention will be described with reference to Figs.
도면 부호(901)는 PC 리얼 타임 제어 기구에서 CPU를 점유하고 있는 시간을 감시하는 사용권 감시 수단이다. PC 리얼 타임 제어 기구는 디바이스 드라이버로서 동작하므로, 제1 스케줄링 수단의 스케줄링 대상으로는 되지 않는다. 그 때문에, 다수의 RT 프로세스가 동작하면 제1 스케줄링 수단에 제어가 전달되지 않으며, PC 프로세스가 장시간 동작할 수 없는 상태가 발생한다.Reference numeral 901 denotes a license monitoring means for monitoring the time occupied by the CPU in the PC real time control mechanism. Since the PC real-time control mechanism operates as a device driver, it does not become a scheduling target of the first scheduling means. Therefore, when a large number of RT processes operate, control is not transferred to the first scheduling means, and a state occurs in which the PC process cannot operate for a long time.
사용권 감시 수단은 PC 리얼 타임 제어 기구가 CPU를 점유하고 있는 시간을 감시, 계상(計上)하고, 적절한 조건하에 PC-OS에 제어를 강제적으로 되돌리고, PC 리얼 타임 제어 기구와 PC-OS로 CPU를 적절히 분배할 수 있도록 하는 것이다.The license monitoring means monitors and counts the time the PC real-time control mechanism occupies the CPU, forcibly returns control to the PC-OS under appropriate conditions, and uses the PC real-time control mechanism and the PC-OS to control the CPU. To ensure proper distribution.
또한, 도면에서 도면 부호(101∼111)는 도 1에 도시한 바와 동일하다.In the drawings,
다음에, 동작에 대하여 설명한다.Next, the operation will be described.
사용권 감시 수단은, 도 2의 단계(204)로부터 호출되는 인터럽트 서비스 루틴으로서 동작한다.The usage right monitoring means operates as an interrupt service routine called from step 204 of FIG.
우선, 단계(1001)에서 PC 리얼 타임 제어 기구가 동작 중인지 여부를 판별한다. 판별 방법은 도 4의 단계(401)과 동일한 방법이 바람직하다.First, in
만일 동작중이면, 단계(1002)에서 PC 리얼 타임 제어 기구가 동작하고 있는 시간을 계상한다. 계상 방법은 간단한 카운터이어도 좋고, 동작 시간의 누계이어도 좋다.If it is in operation, in
다음으로, 단계(1003)에서, 미리 정해진 조건을 단계(1002)에서 계산한 정보가 만족하고 있는지 여부를 판정한다. 미리 정해진 조건이라는 것은, 예를 들면 PC 리얼 타임 제어 기구가 연속적으로 CPU를 점유하고 있는 상한치이어도 좋고, 일정 시간내에서의 CPU의 점유율의 상한치이어도 좋다.Next, in
단계(1003)에서, 조건을 만족하고 있는, 즉 CPU의 사용권을 PC 리얼 타임 제어 기구로부터 PC-OS에 강제적으로 되돌리는 상태라고 판단되면, 단계(1004)로 진행하며, 강제 종료 플래그를 세트하여 종료한다.In
이 강제 종료 플래그는 제2 스케줄링 수단에서 체크되지만, 이 체크 처리가 추가된 제2 스케줄링 수단의 처리 흐름은 도 11에 도시한다.This forced stop flag is checked by the second scheduling means, but the processing flow of the second scheduling means to which this check processing is added is shown in FIG.
도 11은 도 4와는 단계(404)의 다음에 단계(1101)의 강제 종료 플래그가 추가되어 있는 점 만이 다르다.FIG. 11 differs from FIG. 4 only in that the forced termination flag of step 1101 is added after step 404.
단계(1101)에서 강제 종료 플래그가 세트되어 있는 경우는, 예를 들어 실행 가능 상태의 RT 프로세스가 존재하고 있어도, RT 프로세스로의 CPU 분배를 중지하고, PC-OS에 제어를 되돌리게 된다.When the forced termination flag is set in step 1101, even if there is an RT process in an executable state, for example, the CPU distribution to the RT process is stopped, and control is returned to the PC-OS.
다음에, 단계(1003)에서, 조건을 만족하고 있지 않은 경우는, 그 대로 사용권 감시 수단의 처리를 중지하고(PC 리얼 타임 제어 기구가 동작중이므로), RT 프로세스의 처리가 인터럽트가 발생한 지점으로부터 계속된다.Next, in
단계(1001)에서, 만일 PC 리얼 타임 제어 기구가 실행중이 아니라고 판정되면 단계(1005)로 진행하고, 단계(1003)과 동일하게 과거에 계상된 정보에 의해 조건을 만족하는지 여부를 체크한다. 이 단계는 일정 시간내에서의 CPU 점유율의 상한치 이상의 경우에 유효해지는 처리이다.In
단계(1005)에서, 조건을 만족하고 있다고 판정된 경우는 사용권 감시 수단을 종료하고 PC-OS로 되돌아간다.If it is determined in step 1005 that the condition is satisfied, the license monitoring means ends and returns to the PC-OS.
단계(1005)에서, 조건을 만족하지 않는, 즉 PC 리얼 타임 제어 기구는 동작 가능하다고 판정된 경우에는, 단계(1006)으로 진행하고, 제2 스케줄링 수단을 호출한다. 모든 실행 가능한 RT 프로세스의 처리가 종료하면, 제2 스케줄링 수단으로 부터 제어가 단계(1007)로 전달되고, PC 리얼 타임 제어 기구의 동작 시간의 계상을 행한 후, PC-OS에 제어를 되돌린다.In step 1005, if it is determined that the condition is not satisfied, that is, the PC real-time control mechanism is operable, the process proceeds to step 1006 and calls the second scheduling means. When the processing of all the executable RT processes is finished, control is transferred from the second scheduling means to step 1007, and the control is returned to the PC-OS after counting the operating time of the PC real time control mechanism.
다음에, PC-OS에 CPU 사용권을 강제적으로 반환하는 다른 처리예에 대하여, 도 12에 따라 설명한다.Next, another example of the process of forcibly returning the CPU usage right to the PC-OS will be described with reference to FIG.
도면에서, 단계(1001∼1007)은, 도 10의 흐름과 동일한 처리이다.In the figure,
단계(1003)에서, 조건을 만족하고 있다고 판단되면 단계(1201)로 진행하고, 현재 실행 가능 상태에 있는 RT 프로세스를 모두 실행 가능 상태로부터 벗어나게 하여, 사용권 감시 수단의 처리를 종료한다.In
또한, 단계(1005)에서 조건을 만족하지 않는다고 판단된 경우에는, 단계(1203)에서 단계(1201)에서 유지한 RT 프로세스를 모두 실행 가능 상태로 되돌린 후, 단계(1006)에서 제2 스케줄링 수단을 호출하도록 한다.In addition, when it is determined in step 1005 that the condition is not satisfied, after returning all the RT processes retained in step 1201 to an executable state in
[실시예 3]Example 3
다음에 본 발명의 제3 실시예에 대하여, 도 13 및 도 14에 기초하여 설명한다.Next, a third embodiment of the present invention will be described with reference to FIGS. 13 and 14.
도 13에서, 도면 번호(1301a, 1301b)는 PC 리얼 타임 제어 기구간에 걸쳐 RT 프로세스가 데이터 교환·동기 처리를 행하는 경우의 배타 제어를 실행하는 경합 제어 수단이다.In Fig. 13,
그 외의 구성 요소는 도 1에 도시한 바와 동일하다.Other components are the same as shown in FIG.
다음에 동작에 대하여 도 14의 흐름도에 따라 설명한다.Next, the operation will be described with reference to the flowchart of FIG.
경합 제어 수단은, 본 실시예에서는 RT 프로세스간 통신, 동기 등의 기능을 다른 PC 리얼 타임 제어 기구에 제공하기 위한 액세스 포인트이다. 프로세스간 통신, 동기 등 어떠한 기능을 PC 리얼 타임 제어 기구로서 제공할지는 자유이며, 본 발명과는 직접적인 관계가 없기 때문에, 여기서는 설명을 생략한다.The contention control means is an access point for providing functions, such as RT interprocess communication and synchronization, to another PC real time control mechanism in this embodiment. It is free to provide any functions such as interprocess communication and synchronization as a PC real-time control mechanism, and description thereof is omitted here because it is not directly related to the present invention.
우선, 단계(1401)에서는 경합 제어 수단의 액세스 포인트에 도달된 처리 의뢰가, 자신의 PC 리얼 타임 제어 기구로부터 다른 PC 리얼 타임 제어 기구로의 처리 의뢰인지, 다른 PC 리얼 타임 제어 기구로부터의 처리 의뢰인지를 체크한다.First, in step 1401, the processing request that has reached the access point of the contention control means is a processing request from its own PC real-time control mechanism to another PC real-time control mechanism or a processing request from another PC real-time control mechanism. Check for acknowledgment.
이 체크는 예를 들면, 처리 의뢰의 데이터 중에 이들을 구별 가능한 코드를 넣거나, PC 리얼 타임 제어 기구에 특정 번호를 붙이고, 이 번호를 처리 의뢰 데이터 중의 특정 위치에 매립하도록 하여도 좋다.This check may, for example, insert a code that can distinguish them from the process request data, or attach a specific number to the PC real-time control mechanism, and embed this number at a specific position in the process request data.
단계(1401)에서, 만일 다른 PC 리얼 타임 제어 기구에 처리를 의뢰하는 것이없으면, 단계(1402)로 진행하고, 다른 PC 리얼 타임 제어 기구의 경합 제어 수단[도 13에서의 도면 부호(1301a)]의 액세스 포인트에 처리 의뢰 데이터를 송출한다.In step 1401, if there is no request for processing from another PC real time control mechanism, the process proceeds to step 1402, where the contention control means of another PC real time control mechanism (
단계(1401)에서, 만일 다른 PC 리얼 타임 제어 기구로부터의 처리 의뢰인 경우에는 단계(1403)로 진행하고, 의뢰된 처리를 실행하는 루틴을 호출한다.In step 1401, if there is a process request from another PC real-time control mechanism, the process proceeds to step 1403, and a routine for executing the requested process is called.
이상과 같이 본 발명에 의하면, 1개의 CPU상에서 동작하는 오퍼레이팅 시스템을 베이스로 하여, 어플리케이션 프로세스와 리얼 타임 프로세스를 동작시키도록 하였기 때문에, 버전업에도 용이하게 따를 수 있고, 하드웨어 비용을 억제한 프로세스 공존 시스템을 실현할 수 있다.As described above, according to the present invention, since the application process and the real-time process are operated on the basis of an operating system operating on one CPU, the process coexists with ease in versioning and reduces hardware costs. The system can be realized.
또한, 본 발명에 의하면, 리얼 타임 프로세스간 또는 리얼 타임 프로세스와 어플리케이션 프로세스간에서의 데이터 교환을 행하도록 하였기 때문에, 리얼 타임프로세스와 어플리케이션 프로세스에서의 협조 동작을 실현할 수 있다.Further, according to the present invention, since data is exchanged between the real time process or between the real time process and the application process, the cooperative operation in the real time process and the application process can be realized.
또한, 본 발명에 의하면, 리얼 타임 프로세스를 어플리케이션 프로세스로 하여 개발한 후, 리얼 타임 프로세스로서 로딩하여 실행하도록 하였기 때문에, 실현해야 할 기능을 리얼 타임 프로세스로서 용이하게 프로그래밍할 수 있다.In addition, according to the present invention, since the real-time process is developed as an application process and then loaded and executed as a real-time process, the functions to be realized can be easily programmed as the real-time process.
또한, 본 발명에 의하면, 오퍼레이팅 시스템이 본래 입출력 장치의 디바이스 드라이버용으로 제공되어 있는 서비스를 리얼 타임 프로세스에 대해서도 제공하도록 하였기 때문에, 리얼 타임 프로세스가 어플리케이션 프로세스로서 개발된 것이었어도 안전하게 동작시킬 수 있다.In addition, according to the present invention, since the operating system originally provided a service provided for the device driver of the input / output device to the real-time process, even if the real-time process was developed as an application process, it can be operated safely. .
또한, 본 발명에 의하면, 리얼 타임 프로세스가 CPU 리소스를 점유하는 시간을 감시하고, 일정 시간 이상 점유하지 않도록 하였기 때문에, 어플리케이션 프로세스의 이용자에 대한 응답 성능을 손상하는 일 없이, 리얼 타임 프로세스를 실행할 수 있다.In addition, according to the present invention, since the real-time process monitors the time occupying the CPU resource and is not occupied for a predetermined time or more, the real-time process can be executed without compromising the response performance to the user of the application process. have.
또한, 본 발명에 의하면, 복수의 리얼 타임 제어 기구간에서의 액세스 경합 제어 기구를 실현하였기 때문에, 1개의 오퍼레이팅 시스템 아래에 복수의 특성을 가진 리얼 타임 프로세스를 동시에 동작시킬 수 있다.Further, according to the present invention, since the access contention control mechanism between the plurality of real time control mechanisms is realized, a real time process having a plurality of characteristics can be simultaneously operated under one operating system.
Claims (3)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8177898A JPH1021094A (en) | 1996-07-08 | 1996-07-08 | Real-time control method |
JP96-177898 | 1996-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980010769A KR980010769A (en) | 1998-04-30 |
KR100265679B1 true KR100265679B1 (en) | 2000-09-15 |
Family
ID=16038997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970031230A Expired - Fee Related KR100265679B1 (en) | 1996-07-08 | 1997-07-05 | Real-time control system |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPH1021094A (en) |
KR (1) | KR100265679B1 (en) |
CN (1) | CN1172986A (en) |
DE (1) | DE19728989A1 (en) |
NL (1) | NL1006480A1 (en) |
TW (1) | TW349205B (en) |
Families Citing this family (15)
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 (en) * | 2000-12-26 | 2003-10-11 | 현대자동차주식회사 | Method for real-time processing of general purpose operating system |
JP2003067201A (en) * | 2001-08-30 | 2003-03-07 | Hitachi Ltd | Controller and operating system |
KR100464910B1 (en) * | 2001-12-26 | 2005-01-05 | 유티스타콤코리아 유한회사 | A telecommunication apparatus among the data process in a dispersive process circumstances and a telecommunicational method thereof |
DE10214539A1 (en) * | 2002-04-02 | 2003-10-23 | Siemens Ag | Production machine with a control integrated in a web server |
JP2005196286A (en) * | 2003-12-26 | 2005-07-21 | Okuma Corp | Operating system capable of operating real-time application program, control method thereof, and method of loading shared library |
FR2879318A1 (en) * | 2004-12-15 | 2006-06-16 | St Microelectronics Sa | CPU activity sharing method for computing unit, involves dedicating high and low priority lines to interruptions for undertaking operations according to kernel operating system and open operating system, respectively |
KR100791296B1 (en) | 2006-03-03 | 2008-01-04 | 삼성전자주식회사 | Apparatus and method for providing cooperative scheduling in multi-core systems |
CN100377093C (en) * | 2006-04-07 | 2008-03-26 | 浙江大学 | Embedded operating system input and output device software method |
JP5577959B2 (en) * | 2010-08-30 | 2014-08-27 | 横河電機株式会社 | Real-time control system |
CN103207577A (en) * | 2012-01-15 | 2013-07-17 | 甘肃农业大学 | Automatic control device of seed coater |
US20150095335A1 (en) * | 2013-09-27 | 2015-04-02 | Fisher-Rosemount Systems, Inc. | Change management system in a process control architecture |
CN104199362B (en) * | 2014-09-09 | 2017-12-12 | 绍兴安卡汽车配件有限公司 | The real-time speed tracking and controlling method and system of a kind of city railway train |
JP6079805B2 (en) | 2015-03-23 | 2017-02-15 | 日本電気株式会社 | Parallel computing device |
CN105834916A (en) * | 2016-05-19 | 2016-08-10 | 无锡工艺职业技术学院 | Microcomputer control system for bearing grinding machine |
-
1996
- 1996-07-08 JP JP8177898A patent/JPH1021094A/en active Pending
-
1997
- 1997-07-04 NL NL1006480A patent/NL1006480A1/en active Search and Examination
- 1997-07-05 TW TW086109488A patent/TW349205B/en active
- 1997-07-05 KR KR1019970031230A patent/KR100265679B1/en not_active Expired - Fee Related
- 1997-07-07 CN CN97114098A patent/CN1172986A/en active Pending
- 1997-07-07 DE DE19728989A patent/DE19728989A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN1172986A (en) | 1998-02-11 |
DE19728989A1 (en) | 1998-01-15 |
KR980010769A (en) | 1998-04-30 |
JPH1021094A (en) | 1998-01-23 |
NL1006480A1 (en) | 1998-01-12 |
TW349205B (en) | 1999-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100265679B1 (en) | Real-time control system | |
US6711605B2 (en) | Multi OS configuration method and computer system | |
US6513057B1 (en) | Heterogeneous symmetric multi-processing system | |
US5448732A (en) | Multiprocessor system and process synchronization method therefor | |
EP1054322B1 (en) | Computer system with multiple operating system operation | |
US5369770A (en) | Standardized protected-mode interrupt manager | |
CN100392598C (en) | operating system | |
US6763518B2 (en) | Automatic client/server translation and execution of non-native applications | |
US6081846A (en) | Method and computer program product for reducing intra-system data copying during network packet processing | |
US9329911B2 (en) | Driver initialization for a process in user mode | |
US20050251806A1 (en) | Enhancement of real-time operating system functionality using a hypervisor | |
US5911065A (en) | System and method for providing cooperative interrupts in a preemptive task scheduling environment | |
EP1162536A1 (en) | Multiple operating system control method | |
US10241829B2 (en) | Information processing device, information processing method, recording medium, calculation processing device, calculation processing method | |
US6148325A (en) | Method and system for protecting shared code and data in a multitasking operating system | |
US7552434B2 (en) | Method of performing kernel task upon initial execution of process at user level | |
US11385927B2 (en) | Interrupt servicing in userspace | |
Zuberi et al. | EMERALDS-OSEK: a small real-time operating system for automotive control and monitoring | |
US7043565B1 (en) | System and method for transferring data over an external transmission medium | |
Itoh et al. | Concurrent object-oriented device driver programming in apertos operating system | |
KR100506254B1 (en) | Apparatus and method for handling interrupt in non-privileged of embedded system | |
KR102575773B1 (en) | Processor capable of processing external service requests using a symmetrical interface | |
KR20010038205A (en) | An apparatus and method for remote debugging of embedded real - time software | |
WO2000074368A2 (en) | Device driver platform layer | |
CN120216124A (en) | A method for implementing a user interruption event callback mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20050614 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20060617 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20060617 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |