NL1006480A1 - Real-time operating system. - Google Patents

Real-time operating system. Download PDF

Info

Publication number
NL1006480A1
NL1006480A1 NL1006480A NL1006480A NL1006480A1 NL 1006480 A1 NL1006480 A1 NL 1006480A1 NL 1006480 A NL1006480 A NL 1006480A NL 1006480 A NL1006480 A NL 1006480A NL 1006480 A1 NL1006480 A1 NL 1006480A1
Authority
NL
Netherlands
Prior art keywords
real
time
time control
processes
data
Prior art date
Application number
NL1006480A
Other languages
Dutch (nl)
Inventor
Hisayoshi Kurosawa
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of NL1006480A1 publication Critical patent/NL1006480A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25342Real time controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25343Real time multitasking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25347Multitasking machine control

Description

ACHTERGROND VAN DE UITVINDINGBACKGROUND OF THE INVENTION

1. Gebied van de uitvinding1. Field of the invention

De uitvinding heeft betrekking op een real-time besturingsmechanisme voor een personal computer, bedoeld voor het naast elkaar bestaan van een proces dat een realtime eigenschap vereist en een proces dat werkt op een universele personal computer.The invention relates to a real-time control mechanism for a personal computer, intended for the co-existence of a process requiring a real-time property and a process operating on a universal personal computer.

2. Beschrijving van de stand der techniek2. Description of the prior art

Recentelijk is bij het snelle wijd verspreide gebruik van personal computers (PC's) ook grote behoefte ontstaan aan een goed gebruik van uiteenlopende software systeemelementen die verdeeld zijn op PC's in een real-time stelsel dat vroeger gesloten moest zijn.Recently, the rapid widespread use of personal computers (PCs) has also created a great need for the proper use of various software system elements distributed on PCs in a real-time system that previously had to be closed.

Om een goed gebruik te maken van software systeemelementen op PC's, moeten een RT proces dat werkt op een real-time stelsel en een PC proces dat werkt op een PC met elkaar samenwerken. Tot nu toe zijn de volgende twee methoden gebruikt:To make good use of software system elements on PCs, an RT process operating on a real-time system and a PC process operating on a PC must work together. So far, the following two methods have been used:

Conventioneel voorbeeld 1:Conventional example 1:

Als eerste methode is bijvoorbeeld een methode beschikbaar die wordt beschreven op blz. 201 van "keisoku to seigyo" vol. 34, nr. 3 (uitgegeven in maart 1995).As a first method, for example, a method is available which is described on page 201 of "keisoku to seigyo" vol. 34, No. 3 (issued March 1995).

In deze methode worden een centrale verwerkings-eenheid CPU 1 (1301) voor het laten werken van een PC-OS (besturingssysteem) (110) en een centrale verwerkings-eenheid CPU 2 (1302) voor het laten werken van een realtime OS (besturingssysteem) (1304) afzonderlijk geïnstalleerd voor het laten werken van RT processen (102) onder besturing van de real-time OS (1304) en PC processen (Ill) onder besturing van de PC-OS (110), zoals getoond in fig. 15.In this method, a central processing unit CPU 1 (1301) for operating a PC OS (operating system) (110) and a central processing unit CPU 2 (1302) for operating a real-time OS (operating system) ) (1304) installed separately for running RT processes (102) under control of the real-time OS (1304) and PC processes (Ill) under control of the PC OS (110), as shown in Fig. 15 .

De RT en PC processen wisselen data met elkaar uit via een gedeeld geheugen (1303) waartoe toegang kan worden verkregen vanuit de CPU 1 en CPU 2.The RT and PC processes exchange data via a shared memory (1303) which can be accessed from CPU 1 and CPU 2.

Conventioneel voorbeeld 2:Conventional example 2:

Als tweede methode is bijvoorbeeld een methode beschikbaar die wordt beschreven op blz. 142 van "Interface For June 1996" (CQ shuppan).As a second method, for example, a method is available which is described on page 142 of "Interface For June 1996" (CQ shuppan).

In deze methode wordt een real-time OS (1304) gebruikt als kern en wordt een PC-OS (1401) daarop geïnstalleerd in de vorm van een emulator, zoals getoond in fig. 16.In this method, a real-time OS (1304) is used as the core and a PC OS (1401) is installed thereon in the form of an emulator, as shown in Fig. 16.

RT processen (102) maken direct gebruik van diensten die worden verschaft door de real-time OS (1304) en PC processen (111) werken op de PC-OS emulator (1401).RT processes (102) directly use services provided by the real-time OS (1304) and PC processes (111) operate on the PC-OS emulator (1401).

Daar het conventionele PC real-time besturings-mechanisme op deze wijze is uitgevoerd, moet extra hardware zoals de CPU's en het gedeelde geheugen voor het laten werken van de real-time OS en RT processen worden geïnstalleerd, hetgeen de kosten doet toenemen.Since the conventional PC real-time control mechanism is implemented in this way, additional hardware such as the CPUs and shared memory must be installed to run the real-time OS and RT processes, which increases costs.

Indien de PC-OS emulator wordt gebruikt voor de configuratie, kan een toename in kosten wanneer extra hardware wordt geïnstalleerd achterwege blijven, maar moet de gehele PC-OS emulator worden veranderd telkens wanneer de PC-OS wordt aangepast aan een hogere versie vanwege de noodzaak om de meest recente PC-OS versie te volgen, hetgeen resulteert in een toename in software ontwikkelingskosten.If the PC-OS emulator is used for configuration, an increase in costs may be omitted when additional hardware is installed, but the entire PC-OS emulator must be changed each time the PC-OS is upgraded due to the need to follow the most recent PC-OS version, resulting in an increase in software development costs.

SAMENVATTING VAN DE UITVINDINGSUMMARY OF THE INVENTION

Het is derhalve een doel van de uitvinding om te voorzien in een PC real-time besturingsmechanisme dat de kosten van hardware laag kan houden en flexibel kan omgaan bij het aanpassen van een PC-OS aan een hogere versie om te voorzien in een stelsel waarin RT en PC processen naast elkaar bestaan.It is therefore an object of the invention to provide a PC real-time control mechanism which can keep hardware costs low and be flexible in adapting a PC OS to a higher version to provide a system in which RT and PC processes coexist.

Voor dit doel is volgens een eerste aspect van de uitvinding voorzien in een besturingssysteem dat een eerste tijdsplanningorgaan bevat om de CPU systeemelementen toe te wijzen aan applicatieprocessen en het plannen van de applicatieprocessen en een in een stuurprogramma ingebouwd mechanisme om een inrichtingsstuurprogramma te bevatten voor het uitvoeren van invoer-/uitvoerverwerking voor de inrichtingen, een real-time besturingsstelsel dat een verwerking vormt die een real-time respons vereist op een onderbreking uit een inrichting zoals een real-time besturingsmechanisme waartoe toegang is verkregen als een inrichtingsstuurprogramma vanuit het besturingssysteem, met het kenmerk, dat het real-time besturingsmechanisme realtime processen omvat die worden gevormd in een verwerkings-correspondentie met de inrichtingen, en tweede tijds-planningorganen voor het toewijzen van de CPU systeemelementen aan de real-time processen en het plannen van de real-time processen.For this purpose, according to a first aspect of the invention, there is provided an operating system that includes a first scheduler for allocating the CPU system elements to application processes and scheduling the application processes and a driver-built mechanism to contain a device driver for executing of input / output processing for the devices, a real-time operating system that forms a processing that requires a real-time response to an interruption from a device such as a real-time operating mechanism accessed as a device driver from the operating system, with the characterized in that the real-time control mechanism comprises real-time processes formed in a processing correspondence with the devices, and second scheduling means for allocating the CPU system elements to the real-time processes and scheduling the real-time processes .

In een tweede aspect van de uitvinding omvat in het real-time besturingsstelsel volgens het eerste aspect van de uitvinding het real-time besturingsmechanisme voorts inter-real time procescommunicatieorganen voor het overbrengen van data tussen de real-time processen.In a second aspect of the invention, in the real-time control system according to the first aspect of the invention, the real-time control mechanism further comprises inter-real-time process communication means for transferring data between the real-time processes.

Een derde aspect van de uitvinding bij het real-time besturingsstelsel volgens het eerste aspect van de uitvinding omvat het real-time besturingsmechanisme voorts inter-procescommunicatieorganen voor het overbrengen van data tussen het applicatieproces dat werkt op het besturingssysteem en het real-time proces.A third aspect of the invention in the real-time control system according to the first aspect of the invention, the real-time control mechanism further comprises inter-process communication means for transferring data between the application process operating on the operating system and the real-time process.

In een vierde aspect van de uitvinding omvat bij het real-time besturingsstelsel volgens het eerste aspect van de uitvinding het real-time besturingsmechanisme voorts een real-time procesladingsmechanisme voor het optekenen van het applicatieproces dat werkt op het besturingssysteem als real-time proces.In a fourth aspect of the invention, in the real-time control system according to the first aspect of the invention, the real-time control mechanism further comprises a real-time process loading mechanism for recording the application process operating on the operating system as a real-time process.

In een vijfde aspect volgens de uitvinding omvat bij het real-time besturingsstelsel volgens het eerste aspect van de uitvinding het real-time besturingsmechanisme voorts besturingssysteem-beschermingsorganen om het mogelijk te maken dat een dienstfunctie die wordt verschaft door het besturingssysteem voor het inrichtingsstuurprogramma wordt gebruikt uit de real-time processen.In a fifth aspect of the invention, in the real-time operating system according to the first aspect of the invention, the real-time operating mechanism further includes operating system protectors to enable a service function provided by the device driver operating system to be used from the real-time processes.

In een zesde aspect van de uitvinding omvat bij het real-time besturingsstelsel volgens het eerste aspect van de uitvinding het real-time besturingsmechanisme voorts gebruiksrecht-monitororganen voor het meten en vasthouden van de tijd van het tweede tijdsplanningorgaan dat de CPU systeemeiementen uit het besturingssysteem in beslag neemt en om de CPU systeemelementen gedwongen te laten terugkeren naar het besturingssysteem, gebaseerd op het meetresultaat.In a sixth aspect of the invention, in the real-time control system according to the first aspect of the invention, the real-time control mechanism further includes entitlement monitor means for measuring and holding the time of the second scheduler that the CPU system elements from the operating system and to force the CPU system elements to return to the operating system based on the measurement result.

In een zevende aspect van de uitvinding omvat het real-time besturingsstelsel in de eerste tot zesde aspecten van de uitvinding voorts prioriteitsbesturingsorganen, indien een aantal real-time besturingsmechanismen bestaan, voor het instellen van de meester en slaaf- of prioriteits-betrekking tussen de real-time besturingsmechanismen.In a seventh aspect of the invention, the real-time control system in the first to sixth aspects of the invention further includes priority controllers, if a number of real-time control mechanisms exist, for setting the master and slave or priority relationship between the real -time control mechanisms.

De bovenstaande en andere doeleinden en kenmerken van de onderhavige uitvinding zullen nu duidelijker worden uit de volgende beschrijving samen met de begeleidende tekeningen.The above and other objects and features of the present invention will now become more apparent from the following description together with the accompanying drawings.

KORTE BESCHRIJVING VAN DE TEKENINGENBRIEF DESCRIPTION OF THE DRAWINGS

In de begeleidende tekeningen.: is fig. 1 een blokschema van het stelsel en toont een eerste uitvoeringsvorm van de uitvinding; is fig. 2 een stroomschema en toont de onder-brekingsservice van een PC-OS in de eerste uitvoeringsvorm van de uitvinding; is fig. 3 een stroomschema en toont een invoer-/uitvoerverzoekproces van de PC-OS voor een inrichtingsstuurprogramma in de eerste uitvoeringsvorm van de uitvinding; is fig. 4 een stroomschema en toont de verwerking van het tweede tijdsplanningorgaan wanneer een RT proces wordt geïnstalleerd als routine van een real-time besturingsmechanisme in de eerste uitvoeringsvorm van de uitvinding; is fig. 5 een stroomschema en toont de verwerking van het tweede tijdsplanningorgaan wanneer een RT proces een eenduidige context heeft in de eerste uitvoeringsvorm van de uitvinding; is fig. 6 een stroomschema en toont de verwerking van inter-RT procescommunicatieorganen in de eerste uitvoeringsvorm van de uitvinding; is fig. 7 een stroomschema en toont de verwerking van een inter-PC procescommunicatieorgaan voor een PC proces om data te ontvangen in de eerste uitvoeringsvorm van de uitvinding; is fig. 8 een stroomschema en toont de verwerking van inter-PC procescommunicatieorganen voor een PC proces om data over te dragen in de eerste uitvoeringsvorm van de uitvinding; is fig. 9 een blokschema van het stelsel en toont een tweede uitvoeringsvorm van de uitvinding; is fig. 10 een stroomschema en toont de verwerking van gebruiksrecht-monitororganen in een tweede uitvoeringsvorm van de uitvinding; is fig. 11 een stroomschema en toont de verwerking van de tweede tijdsplanningorganen in de tweede uitvoeringsvorm van de uitvinding; is fig. 12 een stroomschema en toont een ander verwerkingsvoorbeeld van de gebruiksrecht-monitororganen in een tweede uitvoeringsvorm van de uitvinding; is fig. 13 een blokschema van een stelsel en toont een derde uitvoeringsvorm van de uitvinding; is fig. 14 een stroomschema en toont de verwerking van de prioriteitsbesturingsorganen in de derde uitvoeringsvorm van de uitvinding; is fig. 15 een blokschema van een stelsel en toont een gebruikelijk real-time besturingsstelsel; en is fig. 16 een blokschema van een stelsel en toont een ander gebruikelijk real-time besturingsstelsel.In the accompanying drawings: Fig. 1 is a block diagram of the system and shows a first embodiment of the invention; Fig. 2 is a flow chart showing the interrupt service of a PC OS in the first embodiment of the invention; Fig. 3 is a flow chart showing an input / output request process of the PC-OS for a device driver in the first embodiment of the invention; Fig. 4 is a flow chart showing the processing of the second scheduler when an RT process is installed as a routine of a real-time control mechanism in the first embodiment of the invention; Fig. 5 is a flow chart showing the processing of the second scheduler when an RT process has an unambiguous context in the first embodiment of the invention; Fig. 6 is a flow chart showing the processing of inter-RT process communication devices in the first embodiment of the invention; Fig. 7 is a flow chart showing the processing of an inter-PC process communicator for a PC process to receive data in the first embodiment of the invention; FIG. 8 is a flow chart showing the processing of inter-PC process communication means for a PC process to transfer data in the first embodiment of the invention; Fig. 9 is a block diagram of the system showing a second embodiment of the invention; Fig. 10 is a flow chart showing the processing of entitlement monitor members in a second embodiment of the invention; Fig. 11 is a flow chart showing the processing of the second schedulers in the second embodiment of the invention; Fig. 12 is a flow chart showing another processing example of the entitlement monitor means in a second embodiment of the invention; Fig. 13 is a block diagram of a system showing a third embodiment of the invention; Fig. 14 is a flow chart showing the processing of the priority controllers in the third embodiment of the invention; Fig. 15 is a block diagram of a system showing a conventional real-time control system; and FIG. 16 is a block diagram of a system showing another conventional real-time control system.

GEDETAILLEERDE BESCHRIJVING VAN DE VOORKEURSUITVOERINGSVORMENDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hierna zal een beschrijving in meer detail worden gegeven van uitvoeringsvormen van de uitvinding onder verwijzing naar de begeleidende tekeningen.In the following, a more detailed description will be given of embodiments of the invention with reference to the accompanying drawings.

Uitvoeringsvorm 1:Embodiment 1:

Een eerste uitvoeringsvorm van de uitvinding zal worden besproken onder verwijzing naar fig. 1 tot 8.A first embodiment of the invention will be discussed with reference to Figures 1 to 8.

Fig. 1 is een blokschema en toont een stelsel-configuratie in de eerste uitvoeringsvorm.Fig. 1 is a block diagram showing a system configuration in the first embodiment.

In fig. 1 geeft het verwijzingscijfer 101 het tweede tijdsplanningorgaan aan om het CPU gebruiksrecht te verdelen voor de RT processen 102a en 102b en het beheren van de RT procesuitvoeringstoestand als een in het voorafgaande opgetekende onderbrekingsroutine opgeroepen door een PC-OS in responsie op een onderbreking uit een andere inrichting dan een CPU.In Fig. 1, reference numeral 101 designates the second scheduler to distribute the CPU entitlement for the RT processes 102a and 102b and manage the RT process execution state as a previously interrupted routine invoked by a PC OS in response to an interrupt. from a device other than a CPU.

Het verwijzingscijfer 103 geeft een inter-RT procescommunicatieorgaan aan om data-uitwisseling en synchronisatieverwerking mogelijk te maken tussen de RT processen 102a en 102b, en het verwijzingscijfer 104 geeft een inter-PC procescommunicatieorgaan aan om uitwisseling en synchronisatieverwerking tussen de RT en PC processen mogelijk te maken.Reference numeral 103 designates an inter-RT process communication device to enable data exchange and synchronization processing between the RT processes 102a and 102b, and reference numeral 104 designates an inter-PC process communication device to enable exchange and synchronization processing between the RT and PC processes. to make.

Het verwijzingscijfer 105 geeft een ladingsorgaan aan voor het uitvoeren van een proces als RT proces, welk proces is voorbereid en gezuiverd als een PC proces. Het verwijzingscijfer 106 is een PC-OS beschermingsorgaan om een PC-OS functie mogelijk te maken, die in wezen wordt verschaft aan een inrichtingsstuurprogramma door de PC-OS om te worden gebruikt vanuit een RT proces.Reference numeral 105 designates a charge means for executing a process as an RT process, which process has been prepared and purified as a PC process. Reference numeral 106 is a PC-OS protector to enable a PC-OS function, which is essentially provided to a device driver by the PC-OS to be used from an RT process.

Het verwijzingscijfer 107 geeft een PC real-time besturingsmechanisme aan, dat wordt gezien als één inrichtingsstuurprogramma vanuit de PC-OS en de organen en RT processen 101-106 bevat. Het verwijzingscijfer 108 geeft het eerste tijdsplanningorgaan aan dat is bevat in de PC-OS voor het besturen van de PC procesuitvoeringsvolgorde, het verwijzingscijfer 109 geeft een in het stuurprogramma ingebouwd mechanisme aan om te voorzien in een structuur voor het inbouwen van een inrichtingsstuurprogramma in de PC-OS en het verwijzingscijfer 110 geeft de PC-OS aan.Reference numeral 107 denotes a PC real-time control mechanism, which is viewed as one device driver from the PC OS and includes the organs and RT processes 101-106. Reference numeral 108 denotes the first scheduler contained in the PC-OS for controlling the PC process execution sequence, reference numeral 109 denotes a driver-built mechanism for providing a structure for installing a device driver into the PC -OS and the reference numeral 110 denotes the PC-OS.

De verwijzingscijfers llla-lllc zijn PC processen van applicatieprogramma1s die werken op de PC-OS.Reference numerals 11a-lllc are PC processes of application programs running on the PC OS.

Vervolgens zal de werking worden besproken in de volgorde van (1) PC real-time besturingsmechanisme, (2) werking van het stuurprogramma dat is verbonden met het invoer-/uitvoerverzoek dat wordt gedaan door het PC proces, (3) het tweede tijdsplanningorgaan voor het besturen van het RT proces als één routine van real-time besturingsmechanisme, (4) het tweede tijdsplanningorgaan wanneer het RT proces wordt geïnstalleerd met een unieke context, (5) de inter-RT procescommunicatieverwerking, (6) de inter-PC procescommunicatieverwerking, (7) het RT ladingsorgaan, en (8) het PC-OS beschermingsorgaan.Next, the operation will be discussed in the order of (1) PC real-time control mechanism, (2) operation of the driver associated with the input / output request made by the PC process, (3) the second scheduler for controlling the RT process as one routine of real-time control mechanism, (4) the second scheduler when the RT process is installed with a unique context, (5) the inter-RT process communication processing, (6) the inter-PC process communication processing, (7) the RT loading device, and (8) the PC-OS protecting device.

(1) Eerst zal worden besproken hoe het PC real-time besturingsmechanisme 107 wordt uitgevoerd.(1) First, it will be discussed how the PC real-time control mechanism 107 is implemented.

Het PC real-time besturingsmechanisme 107 is één inrichtingsstuurprogramma zoals gezien vanuit de PC-OS 110. Het inrichtingsstuurprogramma wordt uitgevoerd hetzij wanneer een onderbreking optreedt vanuit een andere inrichting dan de CPU hetzij wanneer een invoer-/uitvoer-verzoek wordt ontvangen uit een PC proces.The PC real-time control mechanism 107 is one device driver as seen from the PC-OS 110. The device driver is executed either when an interrupt occurs from a device other than the CPU or when an input / output request is received from a PC process .

Fig. 2 toont een processchema vanuit het optreden van een onderbreking in een normale OS tot voltooiing van de corresponderende verwerking van het inrichtingsstuur-programma.Fig. 2 shows a process diagram from the occurrence of an interruption in a normal OS to completion of the corresponding processing of the device driver.

Wanneer een onderbreking optreedt, start de CPU een routine die wordt opgetekend door de PC-OS 110 voor de CPU ten tijde van de OS initialisatie. De gestarte OS routine slaat eerst de toestand van het stelsel op die werd toegepast toen de onderbreking optrad bij stap S201.When an interruption occurs, the CPU starts a routine that is being written by PC-OS 110 to the CPU at the time of the OS initialization. The started OS routine first stores the state of the system that was applied when the interrupt occurred at step S201.

Vervolgens wordt bij stap 202 onderzocht of al dan niet een serviceroutine die correspondeert met de onderbreking (onderbrekingsserviceroutine) in het voorafgaande werd opgetekend. Indien de onderbrekingsserviceroutine niet wordt opgetekend bij stap 202, gaat een besturing naar stap 203, waarbij het stelsel wordt gestopt als het onverwachte optreden van een onderbreking, of de besturing gaat naar stap 205, waarbij de toestand van het stelsel teruggezet wordt en het proces wordt voltooid. Naar welke stap de besturing gaat varieert afhankelijk van het type PC-OS; dit onderwerp maakt niet direct onderdeel uit van de uitvinding en zal derhalve niet worden besproken.Next, at step 202, it is examined whether or not a service routine corresponding to the interrupt (interrupt service routine) was previously recorded. If the interrupt service routine is not recorded at step 202, control goes to step 203, stopping the system as the unexpected occurrence of an interrupt, or control goes to step 205, resetting the system state and process completed. Which step the control goes to varies depending on the type of PC-OS; this subject is not directly part of the invention and therefore will not be discussed.

Indien de onderbrekingsserviceroutine wordt opgetekend in stap 202 wordt dit opgeroepen bij stap 204. Bij voltooiing van de uitvoering van de onderbrekingsserviceroutine, gaat de besturing naar stap 205 waarbij de stelseltoestand die opgeslagen is bij stap 201 wordt teruggezet en de onderbrekingsservice wordt voltooid.If the interrupt service routine is recorded in step 202, it is recalled at step 204. Upon completion of the interrupt service routine execution, control proceeds to step 205, resetting the system state stored at step 201 and interrupt service is completed.

De onderbrekingsserviceroutine die is opgeroepen bij stap 204 wisselt data uit met de inrichting die de onderbreking laat optreden (indien de onderbreking een data-invoeronderbreking is, worden data uit de inrichting gekoppeld; indien de onderbreking een data-uitvoer-voltooiingsonderbreking is, worden uitvoerdata naar de inrichting gezonden). Als gevolg komt, indien een PC proces dat wacht voor een invoer-/uitvoerverzoek bestaat, de PC proceswachttoestand vrij en wordt het eerste tijds-planningorgaan 108 opgeroepen om wederom het PC proces te plannen.The interrupt service routine invoked at step 204 exchanges data with the interrupt-causing device (if the interrupt is a data input interrupt, data is coupled from the device; if the interrupt is a data output completion interrupt, output data to sent to the institution). As a result, if a PC process waiting for an input / output request exists, the PC process wait state is released and the first scheduler 108 is called to reschedule the PC process.

Indien het tijdsplanningorgaan direct wordt opgeroepen vanuit een onderbrekingsserviceroutine in een normale OS, treedt een tegenspraak op in de systeem-verwerking. Derhalve is voorzien in een mechanisme voor het oproepen van het eerste tijdsplanningorgaan 108 na de voltooiing van de onderbrekingsservice.If the scheduler is called directly from an interrupt service routine in a normal OS, a contradiction occurs in the system processing. Therefore, a mechanism for calling the first scheduler 108 after the completion of the interrupt service is provided.

(2) Vervolgens zal een inrichtingsstuurprogramma-uitvoeringsproces dat verbonden is met een invoer-/uitvoerverzoek gedaan door een PC proces 111 worden besproken, gebaseerd op het stroomschema van fig. 3.(2) Next, a device driver execution process associated with an input / output request made by a PC process 111 will be discussed based on the flow chart of Fig. 3.

Wanneer een invoer-/uitvoerverzoek wordt gedaan vanuit een PC proces, wordt het in het stuurprogramma ingebouwde mechanisme, een deel van de PC-OS 110, opgeroepen. Het in het stuurprogramma ingebouwde mechanisme start een inrichtingsstuurprogramma-verzoekacceptatie-routine die correspondeert met het type invoer-/uitvoerverzoek uit het PC proces bij stap 301. Bijvoorbeeld worden de verzoekacceptatieroutines geclassificeerd in routines voor leesdata, schrijfdata, directe inrichtingsbesturing, enz. en worden opgetekend in het in het stuurprogramma ingebouwde mechanisme in de inrichtingsstuurprogramma-initialisatieverwerking. De inrichtingsstuurprogramma-verzoekacceptatieroutine wisselt data uit met een gegeven inrichting in responsie op de inhoud van het verzoek. Daar de inrichting zeer langzaam is in vergelijking met de snelheid van de CPU, plaatst het in het stuurprogramma ingebouwde mechanisme het PC proces in een invoer-/uitvoer-voltooiingswachttoestand bij stap 302.When an input / output request is made from a PC process, the driver built-in mechanism, part of the PC-OS 110, is invoked. The mechanism built into the driver initiates a device driver request acceptance routine corresponding to the type of input / output request from the PC process at step 301. For example, the request acceptance routines are classified into routines for read data, write data, direct device control, etc. and are recorded in the mechanism built into the driver in the device driver initialization processing. The device driver request acceptance routine exchanges data with a given device in response to the content of the request. Since the device is very slow compared to the speed of the CPU, the mechanism built into the driver puts the PC process into an input / output completion wait state at step 302.

Daar het PC proces de wachttoestand binnentreedt bij stap 302, wordt het eerste tijdsplanningorgaan opgeroepen bij stap 303 voor het kiezen van het volgende uit te voeren PC proces, en wordt het invoer-/uitvoerverzoekproces voltooid.Since the PC process enters the waiting state at step 302, the first scheduler is called at step 303 to select the next PC process to be executed, and the input / output request process is completed.

Het PC proces dat is geplaatst in de invoer-/uitvoervoltooiingswachttoestand wordt vrijgemaakt uit de wachttoestand door de onderbrekingsserviceroutine getoond in fig. 2.The PC process placed in the input / output completion wait state is released from the wait state by the interrupt service routine shown in Fig. 2.

Zoals is besproken, wordt het eerste tijdsplanningorgaan 108 dat is bevat in de PC-OS niet uitgevoerd gedurende de inrichtingsstuurprogrammaverwerking. Als gevolg wordt het inrichtingsstuurprogramma verwerkt bij voorrang boven de PC processen lila-111c en het eerste tijdsplanningorgaan 108.As discussed, the first scheduler 108 contained in the PC OS is not executed during the device driver processing. As a result, the device driver is processed in priority over the PC processes lila-111c and the first scheduler 108.

(3) Vervolgens zal de werking van het tweede tijdsplanningorgaan 101 voor het besturen van de uitvoering van het RT proces worden besproken onder verwijzing naar fig. 4.(3) Next, the operation of the second scheduler 101 for controlling the execution of the RT process will be discussed with reference to Fig. 4.

Fig. 4 is een stroomschema en toont de verwerking van het tweede tijdsplanningorgaan 101 wanneer een RT proces wordt geïnstalleerd als één routine van het PC real-time besturingsmechanisme.Fig. 4 is a flow chart showing the processing of the second scheduler 101 when an RT process is installed as one routine of the PC real-time controller.

Wanneer het tweede tijdsplanningorgaan 101 wordt opgeroepen vanuit de stap 204 in fig. 2, voert het eerst stap 401 uit. Het tweede tijdsplanningorgaan 101 controleert een vlag die aanduidt dat het PC real-time mechanisme wordt uitgevoerd. Indien de vlag "OP" is, werkt het tweede tijdsplanningorgaan 101 niet, beëindigt het proces en keert terug naar stap 205 in fig. 2.When the second scheduler 101 is called from step 204 in FIG. 2, it first performs step 401. The second scheduler 101 checks a flag indicating that the PC real-time mechanism is running. If the flag is "OP", the second scheduler 101 does not operate, the process ends and returns to step 205 in FIG. 2.

Indien de vlag "NEER" is bij stap 401, stelt het tweede tijdsplanningorgaan 101 de vlag in op "OP" bij stap 402 en gaat naar stap 403 en controleert of er al dan niet een uitvoerbaar RT proces bestaat. Om dit te doen worden topadressen van RT processen (in deze uitvoeringsvorm de topadressen van routines) in een tabel gehouden en kan er worden bepaald of alle RT processen die in de tabel worden gehouden, in een uitvoerbare toestand zijn. Indien een onderbreking vanuit een inrichting periodiek optreedt, wordt de tabel voorzien van een teller, waardoor de werking ook kan worden gestart op verschillende periodieke tijden voor elk RT proces.If the flag is "DOWN" at step 401, the second scheduler 101 sets the flag to "OP" at step 402 and goes to step 403 and checks whether or not an executable RT process exists. To do this, top addresses of RT processes (in this embodiment the top addresses of routines) are kept in a table and it can be determined whether all RT processes kept in the table are in an executable state. If an interruption from a device occurs periodically, the table is provided with a counter, so that the operation can also be started at different periodic times for each RT process.

Indien een uitvoerbaar RT proces bestaat bij stap 403, gaat het tweede tijdsplanningorgaan 101 naar stap 404 en roept de routine die in de tabel is opgetekend, op. De opgeroepen routine (RT proces) voert de verwerking uit die eigen is aan het RT proces, en vervolgens keert de besturing terug naar stap 404, en vervolgens gaat de besturing naar stap 403. De stappen 403 en 404 worden bij herhaling uitgevoerd, waardoor alle uitvoerbare RT processen die zijn opgetekend in de tabel worden uit-gevoerd. Vervolgens gaat het tweede tijdsplanningorgaan 101 naar stap 405, stelt de vlag op 0 (NEER) en beëindigt het proces.If an executable RT process exists at step 403, the second scheduler 101 goes to step 404 and invokes the routine recorded in the table. The invoked routine (RT process) performs the processing proper to the RT process, and then control returns to step 404, then control goes to step 403. Steps 403 and 404 are repeated, causing all executable RT processes listed in the table are performed. Then, the second scheduler 101 goes to step 405, sets the flag to 0 (DOWN) and ends the process.

In dit geval wordt het RT proces beëindigd bij terugkeer vanuit de routine zoals getoond in fig. 4.In this case, the RT process is terminated upon return from the routine as shown in Fig. 4.

(4) Vervolgens zal de werking van het tweede tijds-planningorgaan 101, wanneer een RT proces wordt geïnstalleerd met een eenduidige context in plaats van één routine van het PC real-time besturingsmechanisme worden besproken, gebaseerd op het stroomschema in fig. 5.(4) Next, the operation of the second time scheduler 101, when an RT process is installed with an unambiguous context instead of one routine of the PC real-time control mechanism, will be discussed based on the flow chart in Fig. 5.

In dit geval bestaat het RT proces uit de initialisatieverwerking van het RT proces zelf en de herhalingsverwerking die eigen is aan het proces, zoals getoond in fig. 5. De herhalingsverwerking wordt beëindigd door "Wacht" op te roepen om afstand te doen van het recht tot uitvoering.In this case, the RT process consists of the initialization processing of the RT process itself and the repeat processing inherent to the process, as shown in Fig. 5. The repeat processing is terminated by calling "Wait" to waive the right to execution.

Wanneer het tweede tijdsplanningorgaan 101 wordt opgeroepen vanuit stap 204 in fig. 2 voert dit eerst de stappen 401, 402 uit in fig. 5, zoals die in fig. 4.When the second scheduler 101 is called from step 204 in FIG. 2, it first performs steps 401, 402 in FIG. 5, such as that in FIG. 4.

Vervolgens controleert bij stap 403 het tweede tijdsplanningorgaan 101 of er al dan niet een uitvoerbaar RT proces bestaat op dezelfde wijze als beschreven onder verwijzing naar het stroomschema in fig. 4. Indien een uitvoerbaar RT proces bestaat bij stap 403, gaat het tweede tijdsplanningorgaan 101 naar stap 501 en zet de toestands-informatie van het RT proces dat wordt gevonden bij stap 403 terug. Wanneer de toestandsinformatie van het RT proces wordt teruggezet, wordt het RT proces wederom uitgevoerd te beginnen bij stap 503. De verwerking van het RT proces zal hier nu worden beschreven.Next, at step 403, the second scheduler 101 checks whether or not an executable RT process exists in the same manner as described with reference to the flow chart in Fig. 4. If an executable RT process exists at step 403, the second scheduler 101 goes to step 501 and reset the state information of the RT process found at step 403. When the state information of the RT process is reset, the RT process is performed again starting at step 503. The processing of the RT process will now be described here.

Wanneer het RT proces eerst wordt opgeroepen, voert dit zijn eigen initialisatiebewerking uit bij stap 502 en gaat naar stap 503. Om eerst het RT proces te starten, kan dit worden opgeroepen bij de initialisatieverwerking van het PC real-time besturingsmechanisme van het inrichtings-stuurprogramma of kan worden opgeroepen in een inrichtings-startverzoek dat wordt afgegeven uit een PC proces.When the RT process is first called, it performs its own initialization operation at step 502 and goes to step 503. To start the RT process first, it can be called at the initialization processing of the device driver PC real-time controller. or can be invoked in a device startup request issued from a PC process.

Bij stap 503 wordt een verwerking die eigen is aan het RT proces uitgevoerd en vervolgens wordt "Wacht" opgeroepen bij stap 504.At step 503, a processing proper to the RT process is performed and then "Wait" is called at step 504.

De "Wacht" oproep is een functie die wordt verschaft door het PC real-time besturingsmechanisme voor het RT proces en wordt gebruikt om tijdelijke uitvoering van het RT proces te stoppen. Deze functie is niet onontbeerlijk bij de uitvinding, maar vergemakkelijkt de beschrijving van de uitvoeringsvorm volgens de uitvinding. Het opgeroepen RT proces wordt buiten de uitvoerbare toestand geplaatst bij stap 505 en de toestandsinformatie van het RT proces wordt vastgehouden bij stap 506 en vervolgens wordt het tweede tijdsplanningorgaan 101 wederom opgeroepen bij stap 403 .The "Wait" call is a function provided by the PC real-time controller for the RT process and used to stop temporary execution of the RT process. This function is not indispensable in the invention, but facilitates the description of the embodiment according to the invention. The called RT process is placed out of the executable state at step 505, and the state information of the RT process is held at step 506, and then the second scheduler 101 is called again at step 403.

Om toestandsinformatie van het RT proces terug te zetten bij stap 501, wordt de toestandsinformatie die wordt vastgehouden bij stap 506 teruggezet en het RT proces begint wederom met de uitvoering bij stap 503.To reset state information of the RT process at step 501, the state information held at step 506 is reset and the RT process again begins execution at step 503.

Wanneer de stappen 403 en 501 tot 506 worden herhaald en alle uitvoerbare RT processen buiten de uitvoerbare toestand worden geplaatst door "Wacht" op te roepen, wordt bepaald bij stap 403 dat geen uitvoerbare RT processen bestaan. Bij stap 405 wordt de vlag ingesteld op "NEER" en keert de besturing terug naar de PC-OS onder-brekingsservice (stap 204 in het stroomschema in fig. 2).When steps 403 and 501 to 506 are repeated and all executable RT processes are placed outside the executable state by calling "Wait", it is determined at step 403 that no executable RT processes exist. At step 405, the flag is set to "DOWN" and control returns to the PC-OS interrupt service (step 204 in the flow chart in FIG. 2).

(5) Vervolgens zal de verwerking van het inter-RT procescommunicatieorgaan worden besproken.(5) Next, the processing of the inter-RT process communication device will be discussed.

De RT processen worden beschreven als onafhankelijke verwerking onder verwij zing naar de stroomschema's in fig. 4 en 5, maar algemene processen voeren een verwerking uit waarbij verwerking wordt gesynchroniseerd en data met elkaar worden uitgewisseld.The RT processes are described as independent processing with reference to the flow charts in Figures 4 and 5, but general processes perform processing in which processing is synchronized and data is exchanged with each other.

Een processchema zal nu worden besproken waarbij de eenvoudigste data-uitwisseling tussen twee RT processen 102a en 102b als voorbeeld wordt genomen.A process diagram will now be discussed taking the simplest data exchange between two RT processes 102a and 102b as an example.

Fig. 6 is een stroomschema en duidt de data-ontvangst aan van het RT proces 102a en de data-overdracht van het RT proces 102b.Fig. 6 is a flow chart indicating data reception of the RT process 102a and data transfer of the RT process 102b.

Eerst wordt, wanneer het RT proces 102a data ontvangt bij stap 601, het inter-RT procescommunicatieorgaan opgeroepen bij stap 602 en controleert of er al dan niet data bestaan. Indien er data bestaan, kopieert het inter-RT procescommunicatieorgaan de data naar een geheugengebied dat wordt gespecificeerd, wanneer RT procesdata-ontvangst wordt opgeroepen bij stap 603, beëindigt het data-ontvangstproces, roept "Wacht" op bij stap 504a van het RT proces en verlaat de uitvoerbare toestand.First, when the RT process 102a receives data at step 601, the inter-RT process communicator is called at step 602 and checks whether or not data exists. If data exists, the inter-RT process communicator copies the data to a memory area specified when RT process data reception is recalled at step 603, the data reception process terminates, calls "Wait" at step 504a of the RT process, and exit the executable state.

Indien er geen data bestaan bij stap 602 plaatst het inter-RT procescommunicatieorgaan het RT proces 102a buiten de uitvoerbare toestand bij stap 604, houdt de RT toestandsinformatie vast bij stap 605 en roept het tweede tijdsplanningorgaan 101 op bij stap 606. Het opgeroepen tweede tijdsplanningorgaan 101 is hetzelfde als beschreven bij de "Wacht" verwerking (stap 403 in fig. 5).If no data exists at step 602, the inter-RT process communicator places the RT process 102a outside the executable state at step 604, the RT holds state information at step 605, and calls the second scheduler 101 at step 606. The called second scheduler 101 is the same as described in the "Wait" processing (step 403 in Fig. 5).

Indien het RT proces 102b wordt gekozen en de toestandsinformatie wordt teruggezet als gevolg van de verwerking van het tweede tijdsplanningorgaan 101, wordt de uitvoering van het RT proces 102b wederom gestart na "Wacht". Het RT proces 102b gaat naar stap 607 en roept de data-overdracht op. Wanneer de data-overdracht wordt opgeroepen, wordt het inter-RT procescommunicatieorgaan uitgevoerd bij stap 608 en controleert of er al dan niet een proces bestaat in een datawachttoestand.If the RT process 102b is selected and the state information is reset as a result of the processing of the second scheduler 101, the execution of the RT process 102b is restarted after "Wait". The RT process 102b goes to step 607 and calls the data transfer. When the data transfer is called, the inter-RT process communicator is executed at step 608 and checks whether or not a process exists in a data waiting state.

Indien een RT proces in een datawachttoestand niet bestaat, kopieert het inter-RT procescommunicatieorgaan de data naar een geheugengebied dat is bevat in het inter-RT procescommunicatieorgaan bij stap 609, voltooit de dataoverdracht, keert terug naar het RT proces 102b, en verlaat de uitvoerbare toestand door "Wacht" op te roepen. In de beschrijving treedt het RT proces 102a de datawachttoestand binnen bij stap 604, en derhalve wordt bepaald bij stap 608 dat er een proces dat wacht voor data bestaat, en gaat het inter-RT procescommunicatieorgaan naar stap 610.If an RT process in a data wait state does not exist, the inter-RT process communicator copies the data to a memory area contained in the inter-RT process communicator at step 609, completes the data transfer, returns to the RT process 102b, and exits the executable state by calling "Wait". In the description, the RT process 102a enters the data wait state at step 604, and therefore, at step 608, it is determined that a process waiting for data exists, and the inter-RT process communicator goes to step 610.

Bij stap 610 kopieert het inter-RT procescommunicatieorgaan de data naar het geheugengebied dat is gespecificeerd door het RT proces en plaatst bij stap 611 het RT proces in de uitvoerbare toestand, waardoor de data-overdrachtsverwerking volledig is, de besturing terugkeert naar het RT proces 102b, "Wacht" opgeroepen wordt bij stap 504b, en het RT proces 102b de uitvoerbare toestand verlaat.At step 610, the inter-RT process communicator copies the data to the memory area specified by the RT process and at step 611 places the RT process in the executable state, thereby completing the data transfer processing, returning control to the RT process 102b , "Wait" is called at step 504b, and the RT process 102b exits the executable state.

Wanneer vervolgens het RT proces 102a wordt gekozen als proces in de uitvoerbare toestand bij stap 403 in het stroomschema in fig. 5 en de toestand teruggezet wordt bij stap 501, keert de besturing terug naar stap 606.Then, when the RT process 102a is selected as the process in the executable state at step 403 in the flow chart in Fig. 5, and the state is reset at step 501, control returns to step 606.

Derhalve is de data-ontvangstverwerking van het RT proces 102a volledig. Wanneer "Wacht" wordt opgeroepen bij stap 504a, verlaat het RT proces 102a de uitvoerbare toestand en laat het tweede tijdsplanningorgaan 101 de besturing terugkeren naar de PC-OS onderbrekingsservice, omdat een proces in de uitvoerbare toestand niet bestaat.Therefore, the data reception processing of the RT process 102a is complete. When "Wait" is called at step 504a, the RT process 102a exits the executable state and the second scheduler 101 returns control to the PC-OS interrupt service because a process in the executable state does not exist.

(6) Vervolgens zal de verwerking van het inter-PC(6) Then, the processing of the inter-PC

procescommunicatieorgaan worden besproken onder verwijzing naar fig. 7 en 8.process communicator are discussed with reference to Figures 7 and 8.

In een normaal computerbesturingssysteem zoals PC-OS, kunnen PC processen of RT processen de verwerking met elkaar synchroniseren of data met elkaar uitwisselen. Indien echter PC en RT processen worden gemengd, wordt data-uitwisselingssynchronisatie noodzakelijk tussen de PC en RT processen.In a normal computer operating system such as PC-OS, PC processes or RT processes can synchronize processing or exchange data with each other. However, if PC and RT processes are mixed, data exchange synchronization between the PC and RT processes becomes necessary.

Processtromen zullen nu worden besproken door de eenvoudigste data-uitwisseling tussen PC en RT processen als voorbeeld te nemen. Fig. 7 is een stroomschema voor het PC proces om data te ontvangen en voor het RT proces om data over te dragen. Fig. 8 is een stroomschema voor het PC proces om data te over te dragen en voor het RT proces om data te ontvangen.Process flows will now be discussed by taking the simplest data exchange between PC and RT processes as an example. Fig. 7 is a flow chart for the PC process to receive data and for the RT process to transfer data. Fig. 8 is a flow chart for the PC process to transfer data and for the RT process to receive data.

In feite correspondeert in het PC proces dataoverdracht met een data-uitvoerverzoek, dat wordt afgegeven aan het inrichtingsstuurprogramma equivalent aan het PC real-time besturingsmechanisme en data-ontvangst correspondeert met een data-invoerverzoek dat daaraan wordt afgegeven. De functie kan in deze vorm worden verschaft voor het PC proces of een bibliotheek voor het relateren van een data-uitvoerverzoek aan data-overdracht en een data-invoerverzoek aan data-ontvangst kan worden verschaft voor het PC proces.In fact, in the PC process, data transfer corresponds to a data output request issued to the device driver equivalent to the PC real-time control mechanism and data reception corresponds to a data input request issued to it. The function may be provided in this form for the PC process or a library for relating a data output request to data transfer and a data input request to data reception may be provided for the PC process.

Eerst zal de verwerking voor het PC proces om data te ontvangen en voor het RT proces om data over te dragen worden besproken onder verwijzing naar fig. 7.First, the processing for the PC process to receive data and for the RT process to transfer data will be discussed with reference to Fig. 7.

Wanneer het eerste tijdsplanningorgaan 108 het PC proces uitvoert en een data-ontvangst bij stap 701 verzoekt, roept het in het stuurprogramma ingebouwde mechanisme het inter-PC procescommunicatieorgaan op van het PC real-time besturingsmechanisme als data-invoerverzoek.When the first scheduler 108 executes the PC process and requests a data reception at step 701, the driver built-in mechanism calls the inter-PC process communicator of the PC real-time controller as a data input request.

Het inter-PC procescommunicatieorgaan controleert eerst of al dan niet data bestaan bij stap 702. Indien er data bestaan, gaat het inter-PC procescommunicatieorgaan naar stap 703 en laat de besturing terugkeren naar het in het stuurprogramma ingebouwde mechanisme als data-invoerverzoekvoltooiing zoals het normale inrichtings-stuurprogamma. Vervolgens wordt het PC proces uitgevoerd met voortgang van stap 701 als de data-ontvangstvoltooiing.The inter-PC process communicator first checks whether or not data exists at step 702. If data exists, the inter-PC process communicator goes to step 703 and returns the control to the mechanism built into the driver as data entry request completion as normal device driver. Then, the PC process is performed with progress of step 701 as the data reception completion.

Indien er geen data bestaan bij stap 702 gaat het inter-PC procescommunicatieorgaan naar stap 704 en plaatst het PC proces in een data-invoerwachttoestand vanuit een inrichting, en maakt dit vervolgens bekend aan de PC-OS.If no data exists at step 702, the inter-PC process communicator goes to step 704 and places the PC process in a data entry waiting state from a device, and then notifies the PC-OS.

Vervolgens gaat het inter-PC procescommunicatieorgaan naar stap 705 en laat de besturing terugkeren naar het in het stuurprogramma ingebouwde mechanisme 109 als voltooiing van het data-invoerverzoek. Daar het PC proces is geplaatst in de invoerwachttoestand van de inrichting, roept het in het stuurprogramma ingebouwde mechanisme 1 het eerste tijdsplanningorgaan 108 op van de PC-OS voor het uitvoeren van een ander PC proces dan het PC proces in de invoerwachttoestand van de inrichting.Then, the inter-PC process communicator goes to step 705 and returns the control to the mechanism 109 built into the driver to complete the data entry request. Since the PC process is placed in the input wait state of the device, the mechanism 1 built into the driver calls the first scheduler 108 of the PC-OS to execute a PC process other than the PC process in the input wait state of the device.

Wanneer het tweede tweede tijdsplanningorgaan 101 wordt opgeroepen als inrichtingsonderbreking voor de PC-OS en vervolgens het RT proces wordt uitgevoerd, wordt het inter-PC procescommunicatieorgaan opgeroepen bij stap 706 en controleert of er al dan niet een proces wacht voor data-ontvangst.When the second second scheduler 101 is called as a device interrupt for the PC-OS, and then the RT process is performed, the inter-PC process communicator is called at step 706 and checks whether or not a process is waiting for data reception.

1717

Indien een proces dat wacht voor data-ontvangst niet bestaat bij stap 706, houdt het inter-PC proces-communicatieorgaan de data vast en keert terug naar het RT proces. In dit voorbeeld wacht het PC proces voor data-ontvangst en derhalve gaat het inter-PC procescommunicatie-orgaan naar stap 708 en kopieert data naar het PC proces-geheugengebied dat is gespecificeerd wanneer het PC proces het data-invoerverzoek doet. Vervolgens gaat dit naar stap 709 en maakt de PC-OS bekend dat de data-invoerwacht-toestand van het PC proces vrijgegeven is.If a process waiting for data reception does not exist at step 706, the inter-PC process communicator holds the data and returns to the RT process. In this example, the PC process is waiting for data reception, and therefore the inter-PC process communication means goes to step 708 and copies data to the PC process memory area specified when the PC process makes the data input request. This then proceeds to step 709 and the PC-OS announces that the data entry waiting state of the PC process has been released.

De PC-OS verandert de toestand van het PC proces van de invoerwachttoestand naar een uitvoerbare toestand. Zoals echter in het voorafgaande beschreven onder verwijzing naar het stroomschema in fig. 2, wordt ingezien, dat een inrichtingsonderbrekingsservice wordt uitgevoerd vanuit de PC-OS en derhalve wordt het eerste tijdsplanningorgaan 108 niet opgeroepen en keert de besturing terug naar stap 709, waardoor de data-overdrachtsverwerking van het inter-PC procescommunicatieorgaan eindigt en de besturing terugkeert naar het RT proces.The PC-OS changes the state of the PC process from the input wait state to an executable state. However, as previously described with reference to the flow chart in Fig. 2, it is recognized that a device interrupt service is performed from the PC-OS and therefore the first scheduler 108 is not called and control returns to step 709, causing the data transfer processing of the inter-PC process communication device ends and control returns to the RT process.

Wanneer alle uitvoerbare RT processen zijn verwerkt, keert de besturing terug van het tweede tijdsplanningorgaan 101 naar de onderbrekingsservice van de PC-OS. Zoals in het voorafgaande beschreven onder verwijzing naar het stroomschema in fig. 2 bestaat in de onderbrekingsservice het PC proces waarvan de invoerwachttoestand van de inrichting wordt vrijgegeven, en derhalve wordt het eerste tijdsplanningorgaan 108 van de PC-OS opgeroepen en kan de uitvoering van het PC proces beginnen in de vorm van het 1 voltooien van de data-ontvangst in enkele gevallen.When all executable RT processes have been processed, control returns from the second scheduler 101 to the interrupt service of the PC-OS. As previously described with reference to the flow chart in Fig. 2, in the interrupt service, the PC process consists of which the input waiting state of the device is released, and therefore the first scheduler 108 of the PC-OS is called and the execution of the PC process in the form of 1 completing data reception in some cases.

Vervolgens zal de werking voor het PC proces om data over te dragen en voor het RT proces om data te ontvangen worden besproken onder verwijzing naar fig. 8.Next, the operation for the PC process of transferring data and for the RT process of receiving data will be discussed with reference to Fig. 8.

Wanneer het tweede tijdsplanningorgaan 101 wordt > opgeroepen vanuit een inrichtingsonderbreking en vervolgens het RT proces wordt uitgevoerd en data-ontvangst wordt opgeroepen, wordt inter-PC procescommunicatieorgaan opgeroepen.When the second scheduler 101 is called from a device interrupt and then the RT process is performed and data reception is called, inter-PC process communication is called.

Het inter-PC procescommunicatieorgaan controleert eerst of er al dan niet data bestaan bij stap 801. Indien er data bestaan, kopieert het inter-PC procescommunicatieorgaan de data naar het geheugengebied dat wordt gespecificeerd door het RT proces bij stap 802 en beëindigt de data-ontvangst en vervolgens keert de besturing terug naar het RT proces.The inter-PC process communicator first checks whether or not data exists at step 801. If data exists, the inter-PC process communicator copies the data to the memory area specified by the RT process at step 802 and ends the data reception and then control returns to the RT process.

Indien er geen data bestaan bij stap 801, plaatst het inter-PC procescommunicatieorgaan het RT proces buiten een uitvoerbare toestand en het proces in een data-ontvangstwachttoestand bij stap 803 en houdt de toestands-informatie vast bij stap 804, en roept vervolgens het tweede tijdsplanningorgaan 101 op bij stap 805. Dit opgeroepen tweede tijdsplanningorgaan is stap 403 in fig. 5 evenals bij de beschrijving van "Wacht".If no data exists at step 801, the inter-PC process communicator places the RT process outside of an executable state and the process in a data reception waiting state at step 803 and holds the state information at step 804, and then calls the second scheduler 101 at step 805. This invoked second scheduler is step 403 in Fig. 5 as well as in the description of "Wait".

Wanneer alle andere uitvoerbare RT processen dan het RT proces dat in de data-ontvangstwachttoestand is geplaatst, zijn uitgevoerd, laat het tweede tijdsplanningorgaan 101 de besturing terugkeren naar de onderbrekingsservice van de PC-OS en is de onderbrekings-service van de inrichting volledig. Vervolgens wordt het eerste tijdsplanningorgaan 108 van de PC-OS opgeroepen.When all executable RT processes other than the RT process placed in the data reception waiting state have been executed, the second scheduler 101 returns control to the interrupt service of the PC-OS and the interrupt service of the device is complete. Then, the first scheduler 108 of the PC-OS is called.

Bij voltooiing van de inrichtingsonderbrekings-service (indien geen van de processen in de invoerwacht-toestand van de inrichting worden vrijgegeven uit de wachttoestand in de inrichtingsstuurprogrammaverwerking, keren enkele besturingssystemen terug naar het punt waarop onderbeking optreedt. In vele gevallen wordt elk PC proces uitgevoerd en wordt de verwerking opnieuw gestart bij het voltooiing van de onderbrekingsservice. Daar de PC-OS de CPU gelijkelijk aan de PC processen toedeelt, zullen de PC processen eerder of later worden uitgevoerd door het eerste tijdsplanningorgaan 108.Upon completion of the device interrupt service (if none of the processes in the device input wait state are released from the wait state in the device driver processing, some operating systems return to the point where interrupt occurs. In many cases, each PC process is executed and processing is restarted upon completion of the interrupt service Since the PC-OS allocates the CPU equally to the PC processes, the PC processes will be executed earlier or later by the first scheduler 108.

-L y-L y

Wanneer het PC proces een data-overdrachtsverzoek doet bij stap 806, roept het in het stuurprogramma ingebouwde mechanisme het inter-PC procescommunicatieorgaan op van het PC real-time besturingsmechanisme en wordt : opgeroepen als data-uitvoerverzoek. Het inter-PC proces communicatieorgaan controleert eerst of er al dan niet een RT proces in een datawachttoestand bestaat bij stap 807. Indien een RT proces in een datawachttoestand niet bestaat, kopieert het inter-PC procescommunicatieorgaan data naar i het geheugengebied van het inter-PC procescommunicatieorgaan bij stap 808.When the PC process makes a data transfer request at step 806, the driver built-in mechanism calls the inter-PC process communicator of the PC real-time controller and is called as a data output request. The inter-PC process communicator first checks whether or not an RT process in a data wait state exists at step 807. If an RT process in a data wait state does not exist, the inter-PC process communicator copies data to the memory area of the inter-PC process communicator at step 808.

Vervolgens maakt bij stap 809 het inter-PC procescommunicatieorgaan aan het in het stuurprogramma ingebouwde mechanisme de voltooiing van het data-uitvoerverzoek bekend i en beëindigt de verwerken. Vervolgens wordt de uitvoering van het PC proces opnieuw gestart als het voltooien van data-overdracht. In dit voorbeeld wordt het RT proces geplaatst in de datawachttoestand, gaat het inter-PC procescommunicatieorgaan naar stap 810 vanuit stap 807 en i kopieert de data naar het geheugengebied dat wordt gespecificeerd door het RT proces.Then, at step 809, the inter-PC process communication device notifies the mechanism built into the driver of the completion of the data output request and terminates the processing. Then, the execution of the PC process is restarted as the completion of data transfer. In this example, the RT process is placed in the data waiting state, the inter-PC process communicator goes to step 810 from step 807, and i copies the data to the memory area specified by the RT process.

Vervolgens plaatst bij stap 811 het inter-PC procescommunicatieorgaan het RT proces in een uitvoerbare toestand. Vervolgens gaat deze naar stap 809 en maakt het > in het stuurprogramma ingebouwde mechanisme bekend met het voltooien van het data-uitvoerverzoek en voltooit de verwerking. Het RT proces dat is geplaatst in de uitvoerbare toestand bij stap 811 wordt uitgevoerd door het tweede tijdsplanningorgaan 101, wanneer een andere inrichtings-) stuurprogramma-onderbreking optreedt, en de data-ontvangst-verwerking van het RT proces is volledig.Then, at step 811, the inter-PC process communicator places the RT process in an executable state. It then goes to step 809 and announces the> driver built-in mechanism to complete the data output request and completes the processing. The RT process placed in the executable state at step 811 is performed by the second scheduler 101 when another device driver interrupt occurs, and the data reception processing of the RT process is complete.

Nadat het RT proces is geplaatst in de uitvoerbare toestand bij stap 811, wordt het in het stuurprogramma ingebouwde mechanisme bekend gemaakt met het voltooien van 5 het data-uitvoerverzoek. Om echter de respons op het RT proces te verhogen kan het tweede tijdsplanningorgaan 101 worden opgeroepen om het RT proces uit te voeren alvorens het in het stuurprogramma ingebouwde mechanisme bekend wordt gemaakt met het voltooien van het data-uitvoer-verzoek. In dit geval moet het in het stuurprogramma ingebouwde mechanisme op de hoogte worden gebracht van het voltooien van het data-uitvoerverzoek in "Wacht" dat wordt opgeroepen door het RT proces alvorens het proces wordt beëindigd.After the RT process is placed in the executable state at step 811, the mechanism built into the driver is announced to complete the data output request. However, to increase the response to the RT process, the second scheduler 101 may be called to execute the RT process before the mechanism built into the driver is disclosed to complete the data output request. In this case, the mechanism built into the driver must be notified of the completion of the data output request in "Wait" called by the RT process before the process is terminated.

(7) Vervolgens zal nu de verwerking van het RT ladingsorgaan 105 worden besproken.(7) Next, the processing of the RT loading device 105 will now be discussed.

In gebruikelijke computerstelsels moeten inrichtingsstuurprogramma’s zorgvuldig worden ontwikkeld in vergelijking met ontwikkeling van applicaties en zijn moeilijk te ontwikkelen. Daar het PC real-time besturings-mechanisme van de uitvinding RT processen uitvoert als interne routines van het inrichtingsstuurprogramma, brengt ontwikkeling moeilijkheden met zich mee in vergelijking met vroeger ontwikkelde RT processen zoals RT-OS applicaties.In common computer systems, device drivers need to be carefully developed compared to application development and are difficult to develop. Since the PC real-time control mechanism of the invention executes RT processes as internal routines of the device driver, development poses difficulties compared to previously developed RT processes such as RT-OS applications.

Derhalve is het RT ladingsorgaan 105 een mechanisme voor het inbouwen van een applicatie die ontwikkeld is en gezuiverd is als PC proces 111c als een RT proces 102b van het PC real-time besturingsmechanisme van het inrichtingsstuurprogramma.Therefore, the RT loader 105 is an application build mechanism developed and purified as PC process 111c as an RT process 102b of the PC real-time driver of the device driver.

Het RT ladingsorgaan 105 hangt sterk af van beperkingen die aanwezig zijn wanneer een RT proces wordt geprepareerd en gezuiverd als PC proces. Wanneer bijvoorbeeld het RT ladingsorgaan een optekenverzoek doet van een RT proces dat wordt geprepareerd als routine van een PC proces als een RT proces, kan dit het proces (routine) evenzo groot kopiëren als de routinegrootte die begint bij het gespecificeerde routinestartadres naar een geheugen-gebied in het PC real-time besturingsmechanisme van het inrichtingsstuurprogramma en het routinestartadres optekenen in de tabel, zoals in het voorafgaande beschreven onder verwijzing naar het stroomschema in fig. 4.The RT loading device 105 is highly dependent on limitations that are present when an RT process is prepared and purified as a PC process. For example, when the RT loading device makes a record request from an RT process that is prepared as routine from a PC process as an RT process, it can copy the process (routine) as large as the routine size starting at the specified routine start address to a memory area in the PC real-time device driver mechanism and write the routine start address in the table, as previously described with reference to the flow chart in FIG. 4.

Om het gehele PC proces dat is geprepareerd en gezuiverd als een PC proces te registreren kan bijvoorbeeld het RT ladingsorgaan een PC proces lezen dat is opgeslagen op een uitwendige opslageenheid naar een geheugengebied in het PC real-time besturingsmechanisme en het topadres optekenen in de tabel zoals in het voorafgaande beschreven onder verwijzing naar het stroomschema in fig. 4.For example, to record the entire PC process prepared and purified as a PC process, the RT loading device can read a PC process stored on an external storage unit to a memory area in the PC real-time controller and record the top address in the table as previously described with reference to the flow chart in Fig. 4.

Indien het routine of PC proces dat is geprepareerd en gezuiverd als een RT proces gebruik maakt van functies die worden verschaft door PC-OS, zoals een systeemoproep, moet het RT ladingsorgaan voorzien in dezelfde functies in het PC real-time besturingsmechanisme, zoals niet nader uiteengezet behoeft te worden. Daar de functies zijn geprogrammeerd als enkele subroutines uit het PC proces, moeten de adressen van de subroutines worden opgelost terwijl de subroutines worden geladen of uitgevoerd als RT processen in het PC real-time besturingsmechanisme.If the routine or PC process prepared and purified as an RT process uses functions provided by PC-OS, such as a system call, the RT loading device must provide the same functions in the PC real-time controller, as not further specified. needs to be explained. Since the functions are programmed as some subroutines from the PC process, the addresses of the subroutines must be resolved while the subroutines are loaded or run as RT processes in the PC real-time controller.

Als adresoplossingsmethode kunnen bijvoorbeeld na de beëindiging van het zuiveren van het PC proces slechts de subroutines opnieuw worden gecompileerd in een niet-opgeloste adrestoestand en bij het kopiëren van het programma kan het RT ladingsorgaan niet-opgeloste adressen vervangen door de corresponderende subroutines in het PC real-time besturingsmechanisme.As an address resolution method, for example, after the completion of the PC process purification, only the subroutines can be recompiled in an unresolved address state and when copying the program, the RT loading device can replace unresolved addresses with the corresponding subroutines in the PC real -time control mechanism.

Bovendien is een aantal bekende methoden beschikbaar, en elke methode kan bij de uitvinding worden gebruikt. De functies die worden verschaft door de PC-OS kunnen worden verbroken als een gebruiksbeperking wordt geplaatst om PC processen als RT processen te prepareren.In addition, a number of known methods are available, and any method can be used in the invention. The functions provided by the PC-OS can be broken if a usage restriction is placed to prepare PC processes as RT processes.

(8) Vervolgens zal het PC-OS beschermingsorgaan 106 worden besproken.(8) Next, the PC-OS protector 106 will be discussed.

De PC-OS met het in het stuurprogramma ingebouwde mechanisme voorziet in PC-OS functies die kunnen worden gebruikt vanuit het inrichtingsstuurprogramma. Deze functies verschillen normaliter van de functies die worden verschaft door de PC-OS voor PC processen. Het inrichtings-stuurprogramma werkt dikwijls als deel van de PC-OS en het zorgeloze gebruik van de functie die wordt verschaft voor het inrichtingsstuurprogramma vanuit een RT proces kan een ernstig probleem veroorzaken en kan leiden tot het stoppen van het systeem.The PC-OS with the driver built-in mechanism provides PC-OS functions that can be used from the device driver. These functions normally differ from the functions provided by the PC-OS for PC processes. The device driver often works as part of the PC-OS and the careless use of the function provided for the device driver from an RT process can cause a serious problem and lead to system shutdown.

Het PC-OS beschermingsorgaan is een conversieroutine voor het veiliger maken van de RT processen met de functies die worden verschaft door de PC-OS voor het inrichtingsstuurprogramma en maakt een strikte foutencontrole, toegangsadrescode en sluit een verwerking uit die een tegenspraak voor de PC-OS werking veroorzaakt, enz.The PC-OS protector is a conversion routine for making the RT processes more secure with the functions provided by the PC-OS for the device driver and makes a strict error check, access address code and excludes processing that contradicts the PC-OS operation, etc.

Uitvoeringsvorm 2:Embodiment 2:

Een tweede uitvoeringsvorm van de uitvinding zal nu worden besproken onder verwijzing naar fig. 9 tot 12.A second embodiment of the invention will now be discussed with reference to Figures 9 to 12.

In fig. 9 geeft het verwijzingscijfer 901 gebruiksrecht-monitororganen weer voor het registreren van de bezettingstijd van een CPU in een PC real-time besturingsmechanisme.In Fig. 9, reference numeral 901 denotes usage right monitor means for recording CPU utilization time in a PC real-time control mechanism.

Het PC real-time besturingsmechanisme, dat werkt als een inrichtingsstuurprogramma, wordt niet in tijd gepland door eerste tijdplanningsorganen. Indien derhalve een groot aantal RT processen werken, wordt de besturing niet overgedragen naar het eerste tijdsplanningsorgaan en treedt een toestand op, waarin een PC proces niet gedurende lange tijd kan werken.The PC real-time control mechanism, which functions as a device driver, is not planned in time by first schedulers. Therefore, if a large number of RT processes are operating, control is not transferred to the first scheduler and a state occurs in which a PC process cannot operate for a long time.

De gebruiksrecht-monitororganen registreren en tellen de tijd dat het PC real-time besturingsmechanisme de CPU in beslag neemt en laten de besturing gedwongen terugkeren naar de PC-OS onder een juiste conditie, zodat de CPU op de juiste wijze kan worden verdeeld tussen het PC real-time besturingsmechanisme en de CPU.The entitlement monitor members record and count the time that the PC real-time control mechanism takes up the CPU and force the control to return to the PC-OS under a proper condition, so that the CPU can be properly distributed between the PC real-time control mechanism and the CPU.

De verwijzingscijfers 101-111 in fig. 9 zijn dezelfde als die werden gebruikt in fig. 1.Reference numerals 101-111 in Fig. 9 are the same as those used in Fig. 1.

Nu zal de werking worden besproken.The operation will now be discussed.

De gebruiksrecht-monitororganen werken als onderbrekingsserviceroutine, opgeroepen vanuit stap 204 in fig. 2.The entitlement monitor means operates as an interrupt service routine, recalled from step 204 in Fig. 2.

Eerst bepalen bij stap 1001 de gebruiksrecht-monitororganen of het PC real-time besturingsmechanisme al dan niet werkt. De bepalingsmethode kan gelijk zijn aan de methode bij stap 401 in fig. 4.First, at step 1001, the entitlement monitor means determines whether or not the PC real-time control mechanism is working. The determination method may be the same as the method at step 401 in Fig. 4.

Indien het PC real-time besturingsmechanisme werkt, telt het gebruiksrecht-monitororgaan de werkingstijd van het PC real-time besturingsmechanisme. De telmethode kan gebruik maken van een enkele teller of kan de werkingstijd accumuleren.If the PC real-time control mechanism is operating, the entitlement monitor counts the operating time of the PC real-time control mechanism. The counting method may use a single counter or may accumulate the operating time.

Vervolgens bepaalt bij stap 1003 het gebruiksrecht-monitororgaan of de telinformatie die verschaft is bij stap 1002 al dan niet voldoet aan een voorafbepaalde voorwaarde. De voorafbepaalde voorwaarde kan de bovenste grenswaarde zijn van de continue CPU bezettingstijd van het PC realtime besturingsmechanisme of kan de bovenste grenswaarde zijn van het CPU bezettingspercentage binnen een gegeven tijd bijvoorbeeld.Then, at step 1003, the entitlement monitor determines whether or not the counting information provided at step 1002 satisfies a predetermined condition. The predetermined condition may be the upper limit value of the continuous CPU utilization time of the PC real-time controller, or may be the upper limit value of the CPU occupancy rate within a given time, for example.

Indien bij stap 1003 wordt bepaald dat aan de conditie is voldaan, namelijk dat de toestand een toestand is waarin de CPU gedwongen terugkeert vanuit het PC realtime besturingsmechanisme naar de PC-OS, gaat het gebruiksrecht-monitororgaan naar stap 1004, stelt een gedwongen beëindigingsvlag in, en beëindigt de verwerking.If it is determined at step 1003 that the condition is satisfied, namely that the state is a state in which the CPU is forced to return from the PC real-time control mechanism to the PC-OS, the entitlement monitor goes to step 1004, sets a forced termination flag , and ends the processing.

Deze gedwongen beëindigingsvlag wordt gecontroleerd door tweede tijdsplanningorganen. Fig. 11 toont een stroomschema van het tweede tijdsplanningorgaan, waaraan het controleproces wordt toegevoegd.This forced termination flag is controlled by second schedulers. Fig. 11 shows a flow chart of the second scheduler to which the checking process is added.

Fig. 11 verschilt van fig. 4 slechts doordat stap 404 in fig. 4 wordt gevolgd door een extra stap 1101 om te controleren of de gedwongen beëindigingsvlag al dan niet wordt ingesteld.Fig. 11 differs from FIG. 4 only in that step 404 in FIG. 4 is followed by an additional step 1101 to check whether or not the forced termination flag is set.

Indien de gedwongen beëindigingsvlag wordt ingesteld bij stap 1101, wordt, zelfs indien een RT proces in een uitvoerbare toestand bestaat, de CPU verdeling voor het RT proces gestopt en keert de besturing terug naar de PC-OS.If the forced termination flag is set at step 1101, even if an RT process exists in an executable state, the CPU division for the RT process is stopped and control returns to the PC-OS.

Indien vervolgens aan de conditie niet is voldaan bij stap 1003, wordt de verwerking van het gebruiksrecht-monitororgaan gestopt omdat het PC real-time besturings-mechanisme werkt, en begint de RT procesverwerking weer bij het punt waarop de onderbreking optreedt.Then, if the condition is not satisfied at step 1003, the processing of the entitlement monitor is stopped because the PC real-time control mechanism operates, and the RT process processing starts again at the point at which the interrupt occurs.

Indien bij stap 1001 wordt bepaald dat het PC realtime besturingsmechanisme niet wordt uitgevoerd, gaat de besturing naar stap 1005, waarbij wordt gecontroleerd of al dan niet aan de voorwaarde is voldaan volgens de telinformatie uit het verleden zoals bij stap 1003. Stap 1005 wordt effectief wanneer de bovenste grenswaarde van het werkingspercentage van de CPU binnen een gegeven tijd wordt overschreden.If it is determined at step 1001 that the PC real-time control mechanism is not executed, control goes to step 1005, checking whether or not the condition is met according to the past count information as in step 1003. Step 1005 becomes effective when the upper limit of the operating percentage of the CPU within a given time is exceeded.

Indien bij stap 1005 wordt bepaald dat aan de conditie is voldaan, wordt het gebruiksrecht-monitororgaan beëindigd en keert de besturing terug naar de PC-OS.If it is determined at step 1005 that the condition has been satisfied, the entitlement monitor is terminated and control returns to the PC-OS.

Indien bij stap 1005 wordt bepaald dat aan de conditie niet is voldaan, namelijk dat het PC real-time besturingsmechanisme werkt, gaat de besturing naar stap 1006 en wordt het tweede tijdsplanningorgaan opgeroepen.If it is determined at step 1005 that the condition is not satisfied, namely that the PC real-time control mechanism is operating, control goes to step 1006 and the second scheduler is called.

Bij het beëindigen van de verwerking van alle uitvoerbare RT processen, draagt het tweede tijdsplanningorgaan de besturing over naar stap 1007 waarbij het gebruiksrecht-monitororgaan de werkingstijd telt van het PC real-time besturingsmechanisme, en vervolgens keert de besturing terug naar de PC-OS.Upon completion of processing of all executable RT processes, the second scheduler transfers control to step 1007 where the entitlement monitor counts the operating time of the PC real-time control mechanism, and then control returns to the PC OS.

Vervolgens zal een ander werkvoorbeeld van het gedwongen terugkeren van de CPU naar de PC-OS worden besproken aan de hand van fig. 12.Next, another working example of forcibly returning the CPU to the PC-OS will be discussed with reference to Fig. 12.

In de figuur zijn de stappen 1001-1007 hetzelfde als die in het stroomschema in fig. 10.In the figure, steps 1001-1007 are the same as those in the flow chart in Fig. 10.

Indien er bij stap 1003 wordt bepaald dat aan de conditie is voldaan, gaat het gebruiksrecht-monitororgaan naar stap 1201 en plaatst alle actuele RT processen in een . uitvoerbare toestand buiten de uitvoerbare toestand, en beëindigt vervolgens de verwerking.If it is determined at step 1003 that the condition is satisfied, the entitlement monitor goes to step 1201 and places all current RT processes in one. executable state outside the executable state, and then terminates processing.

Indien bij stap 1005 wordt bepaald dat aan de condities is voldaan, brengt het gebruiksrecht-monitor-orgaan alle RT processen die worden vastgehouden bij stap 1201 terug naar de uitvoerbare toestand bij stap 1203, en roept vervolgens het tweede tijdsplanningorgaan op bij stap 1006.If it is determined at step 1005 that the conditions are met, the entitlement monitor returns all RT processes held at step 1201 to the executable state at step 1203, and then calls the second scheduler at step 1006.

Uitvoeringsvorm 3:Embodiment 3:

Vervolgens zal een derde uitvoeringsvorm van de uitvinding worden besproken onder verwijzing naar fig. 13 en 14.Next, a third embodiment of the invention will be discussed with reference to Figures 13 and 14.

In fig. 13 zijn de verwijzingscijfers 1301a en 1301b prioriteitsbesturingsorganen voor het uitvoeren van een exclusieve besturing wanneer RT processen data-uitwisseling en synchronisatieverwerking uitvoeren over de PC real-time besturingsmechanismen.In Fig. 13, reference numerals 1301a and 1301b are priority controllers for performing exclusive control when RT processes perform data exchange and synchronization processing over the PC real-time controllers.

Andere componenten zijn hetzelfde als die welke getoond zijn in fig. 1.Other components are the same as those shown in Fig. 1.

Vervolgens zal de werking worden besproken aan de hand van een stroomschema in fig. 14.Next, the operation will be discussed with reference to a flow chart in Fig. 14.

De prioriteitsbesturingsorganen in deze uitvoeringsvorm verschaffen een toegangspunt om te voorzien in functies van inter-RT procescommunicatie, -synchronisatie, enz. voor een verschillend PC real-time besturings-mechanisme. Functies zoals inter-procescommunicatie en synchronisatie worden verschaft afhankelijk van het PC real-time besturingsmechanisme en zijn niet direct verbonden met de uitvinding en zullen derhalve hier niet worden besproken.The priority controllers in this embodiment provide an access point to provide functions of inter-RT process communication, synchronization, etc. for a different PC real-time control mechanism. Functions such as inter-process communication and synchronization are provided depending on the PC real-time control mechanism and are not directly related to the invention and therefore will not be discussed here.

In de eerste plaats controleert bij stap 1401 het prioriteitsbesturingsorgaan of een verwerkingsverzoek dat is aangekomen bij het toegangspunt van het prioriteitsbesturingsorgaan, een verzoek is dat uitgegaan is van het PC real-time besturingsmechanisme waartoe het prioriteits- besturingsorgaan behoort naar een verschillend PC real-time besturingsmechanisme of een verzoek dat is uitgegaan van een verschillend PC real-time besturingsmechanisme. Om deze controle uit te voeren kan een code, die in staat is tot het aanduiden welk PC real-time besturingsmechanisme het verwerkingsverzoekprogramma is, worden ingevoerd in de verwerkingsverzoekdata of kan een eenduidig getal worden toegewezen aan elk PC real-time besturingsmechanisme en kan worden ingebed in een specifieke positie in de verwerkingsverzoekdata bijvoorbeeld.First, at step 1401, the priority controller checks whether a processing request that has arrived at the access point of the priority controller is a request originating from the PC real-time controller to which the priority controller belongs to a different PC real-time controller. or a request based on a different PC real-time control mechanism. To perform this check, a code capable of identifying which PC real-time control mechanism is the processing request program can be entered into the processing request data or an unambiguous number can be assigned to each PC real-time control mechanism and can be embedded for example, in a specific position in the processing request data.

Indien het verwerkingsverzoek niet is uitgegaan van een verschillend PC real-time besturingsmechanisme bij stap 1401 gaat het prioriteitsbesturingsorgaan naar stap 1402 en zendt de verwerkingsverzoekdata naar het toegangspunt van het prioriteitsbesturingsorgaan van het verschillende PC real-time besturingsmechanisme (1301a in fig. 13).If the processing request is not based on a different PC real-time controller at step 1401, the priority controller goes to step 1402 and sends the processing request data to the access point of the priority controller of the different PC real-time controller (1301a in Fig. 13).

Indien het verwerkingsverzoek is uitgegaan van een verschillend PC real-time besturingsmechanisme bij stap 1401, gaat het prioriteitsbesturingsorgaan naar stap 1403 en roept een routine op voor het uitvoeren van de gevraagde verwerking.If the processing request assumes a different PC real-time control mechanism at step 1401, the priority controller goes to step 1403 and calls a routine to perform the requested processing.

Zoals is besproken, werken volgens de uitvinding applicatie- en real-time processen, gebaseerd op een besturingssysteem dat werkt op één CPU, hetgeen op deze wijze de PC-OS aanpast aan een hogere versie en kan worden voorzien in een coëxistentiesyteem voor het verlagen van hardware kosten.As discussed, according to the invention, application and real-time processes operate based on an operating system operating on one CPU, thus adapting the PC OS to a higher version and providing a coexistence system for lowering hardware costs.

Volgens de uitvinding worden data uitgewisseld tussen real-time processen of real-time en applicatie-processen, zodat real-time en applicatieprocessen in samenwerking met elkaar kunnen werken.According to the invention, data is exchanged between real-time processes or real-time and application processes, so that real-time and application processes can work together.

Volgens de uitvinding is een real-time proces ontwikkeld als applicatieproces en wordt vervolgens geladen als real-time proces voor het uitvoeren ervan. Derhalve kan de functie waarin moet worden voorzien gemakkelijk worden geprogrammeerd als real-time proces.According to the invention, a real-time process has been developed as an application process and is then loaded as a real-time process for executing it. Therefore, the function to be provided can easily be programmed as a real-time process.

Volgens de uitvinding wordt de service die wordt verschaft door het besturingssysteem in wezen voor het inrichtingsstuurprogramma van de invoer-/uitvoer-inrichtingen ook verschaft voor real-time processen. Derhalve kunnen real-time processen, die zijn ontwikkeld als applicatieprocessen, veilig werken.According to the invention, the service provided by the operating system essentially for the device driver of the input / output devices is also provided for real-time processes. Therefore, real-time processes developed as application processes can operate safely.

Volgens de uitvinding wordt de tijd die nodig is voor real-time processen om de CPU systeemelementen in beslag te nemen, gecontroleerd, zodat de real-time processen niet langer dan een bepaalde tijd de CPU systeemelementen in beslag nemen. Derhalve kunnen de realtime processen worden uitgevoerd zonder de respons op de applicatieprocesgebruiker tegen te werken.According to the invention, the time required for real-time processes to occupy the CPU system elements is controlled, so that the real-time processes take no longer than a certain time to occupy the CPU system elements. Therefore, the real-time processes can be executed without interfering with the response to the application process user.

Volgens de uitvinding is voorzien in toegangs-prioriteitsmechanismen tussen de real-time besturings-mechanismen, zodat RT processen met verschillende karakteristieken kunnen werken gelijktijdig onder één besturingssysteem.According to the invention, access priority mechanisms are provided between the real-time control mechanisms, so that RT processes with different characteristics can operate simultaneously under one control system.

De voorgaande beschrijving van een voorkeursuitvoeringsvorm van de uitvinding is gegeven terwille van illustratie en beschrijving, en het is niet de bedoeling dat deze uitputtend is of de uitvinding beperkt tot de weergegeven uitvoeringsvorm, en uiteraard zijn modificaties en variaties mogelijk in het licht van het bovenstaande of kunnen worden verkregen uit de praktijk van de uitvinding. Het voorbeeld werd gekozen en beschreven om de principes van de uitvinding uiteen te zetten en eveneens de praktische toepassing ervan voor een deskundige om de uitvinding te gebruiken in verschillende uitvoeringsvormen en met talloze modificaties die geschikt zijn voor het bijzondere overwogen gebruik. De beschermingsomvang van de uitvinding wordt slechts beperkt door de conclusies en de equivalenten ervan.The foregoing description of a preferred embodiment of the invention has been given for the purpose of illustration and description, and is not intended to be exhaustive or to limit the invention to the illustrated embodiment, and, of course, modifications and variations are possible in light of the above or can be obtained from the practice of the invention. The example was chosen and described to set forth the principles of the invention and also its practical application for one skilled in the art to use the invention in various embodiments and with numerous modifications suitable for the particular contemplated use. The scope of the invention is limited only by the claims and their equivalents.

Claims (7)

1. Real-time besturingsstelsel dat een verwerking vormt die een real-time respons vereist op een onderbreking uit een inrichting als real-time besturingsmechanisme waartoe toegang wordt verkregen als inrichtingsstuurprogramma vanuit het besturingssysteem in een besturingssysteem, dat eerste tijdsplanningorganen omvat voor het toewijzen van de CPU systeemelementen aan applicatieprocessen en het plannen van de applicatieprocessen en een in het stuurprogramma ingebouwd mechanisme om een inrichtingsstuurprogramma invoer-/uitvoerverwerking voor inrichtingen te laten uitvoeren, waarbij het real-time besturingsmechanisme omvat: real-time processen, die worden gevormd in een verwerkingscorrespondentie met de inrichtingen; en tweede tijdsplanningorganen voor het toewijzen van de CPU systeemelementen aan de real-time processen en het plannen van de real-time processen.A real-time operating system constituting a processing that requires a real-time response to an interruption from a real-time operating mechanism device accessed as a device driver from the operating system in an operating system, which includes first scheduling means for allocating the CPU system elements to application processes and scheduling the application processes and a driver built-in mechanism to cause a device driver to perform input / output processing for devices, the real-time control mechanism comprising: real-time processes, which are formed in a processing correspondence with the establishments; and second schedulers for allocating the CPU system elements to the real-time processes and scheduling the real-time processes. 2. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat het real-time besturingsmechanisme voorts omvat inter-real time procescommunicatieorganen voor het overdragen van data tussen de real-time processen.Real-time control system according to claim 1, characterized in that the real-time control mechanism further comprises inter-real-time process communication means for transferring data between the real-time processes. 3. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat het real-time besturingsmechanisme voorts omvat inter-procescommunicatieorganen voor het overdragen van data tussen het applicatieproces dat werkt op het besturingssysteem en het real-time proces.Real-time control system according to claim 1, characterized in that the real-time control mechanism further comprises inter-process communication means for transferring data between the application process operating on the operating system and the real-time process. 4. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat het real-time besturingsmechanisme voorts omvat een real-time proces-ladingsmechanisme voor het optekenen van het applicatieproces dat werkt op het besturingssysteem als het real-time proces.Real-time control system according to claim 1, characterized in that the real-time control mechanism further comprises a real-time process loading mechanism for recording the application process operating on the operating system as the real-time process. 5. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat het real-time besturingsmechanisme voorts omvat besturingssysteem-beschermingsorganen om een service- functie die wordt verschaft door het besturingssysteem voor het inrichtingsstuurprogramma te laten uitvoeren vanuit de real-time processen.Real-time control system according to claim 1, characterized in that the real-time control mechanism further comprises operating system protection means for executing a service function provided by the device driver operating system from the real-time processes. 6. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat het real-time besturingsmechanisme voorts omvat gebruiksrecht-monitororganen voor het meten en vasthouden van de tijd die in beslag wordt genomen door het tweede tijdsplanningorgaan bij de CPU systeemelementen vanuit het besturingssysteem en het gedwongen terugkeren van de CPU systeemelementen naar het besturingssysteem, gebaseerd op het meetresultaat.Real-time control system according to claim 1, characterized in that the real-time control mechanism further comprises right-of-use monitor means for measuring and holding the time occupied by the second scheduler at the CPU system elements from the operating system and the forced return of the CPU system elements to the operating system, based on the measurement result. 7. Real-time besturingsstelsel volgens conclusie 1, met het kenmerk, dat voorts prioriteitsbesturingsorganen aanwezig zijn, indien een aantal real-time besturings-mechanismen bestaan, voor het instellen van een meester en slaaf- of prioriteitsbetrekking tussen de real-time besturingsmechanismen.Real-time control system according to claim 1, characterized in that priority controllers are further provided, if a number of real-time control mechanisms exist, for setting a master and slave or priority relationship between the real-time control mechanisms.
NL1006480A 1996-07-08 1997-07-04 Real-time operating system. NL1006480A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP17789896 1996-07-08
JP8177898A JPH1021094A (en) 1996-07-08 1996-07-08 Real-time control system

Publications (1)

Publication Number Publication Date
NL1006480A1 true NL1006480A1 (en) 1998-01-12

Family

ID=16038997

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1006480A NL1006480A1 (en) 1996-07-08 1997-07-04 Real-time operating 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)

* Cited by examiner, † Cited by third party
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 allowing operation of real-time application program, control method therefor, and method for 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 on multi-core system
CN100377093C (en) * 2006-04-07 2008-03-26 浙江大学 Software method for embedded type operating system input/output apparatus
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
WO2015048107A1 (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

Also Published As

Publication number Publication date
DE19728989A1 (en) 1998-01-15
JPH1021094A (en) 1998-01-23
CN1172986A (en) 1998-02-11
KR980010769A (en) 1998-04-30
KR100265679B1 (en) 2000-09-15
TW349205B (en) 1999-01-01

Similar Documents

Publication Publication Date Title
US6513057B1 (en) Heterogeneous symmetric multi-processing system
US7765395B2 (en) Operating system rebooting method and apparatus for continuing to execute a non-stop module even during rebooting
NL1006480A1 (en) Real-time operating system.
US6763518B2 (en) Automatic client/server translation and execution of non-native applications
US6711605B2 (en) Multi OS configuration method and computer system
CN100426238C (en) VEX - virtual extension framework
EP1467282A2 (en) Operating systems
EP0783734B1 (en) System and method for providing cooperative interrupts in a preemptive task scheduling environment
US20070113291A1 (en) Method for administrating the function access
US20130305259A1 (en) Hardware control method and apparatus
JPH02500059A (en) Communication interface protocol
EP1410170B1 (en) Logical substitution of processor control in an emulated computing environment
WO2004017196A2 (en) Timing ring mechanism
JPH0226250B2 (en)
EP1616257B1 (en) Operating systems
US6263421B1 (en) Virtual memory system that is portable between different CPU types
US8151028B2 (en) Information processing apparatus and control method thereof
US20030126520A1 (en) System and method for separating exception vectors in a multiprocessor data processing system
EP0851352B1 (en) Input/output control device and method applied to fault-resilient computer system
US20060053413A1 (en) Debug system for debugging multi-task system
JPH1069393A (en) Virtual computer emulator, virtual computer emulating method, and recording medium where virtual computer emultating program is recorded
Radovici et al. The Tock System Architecture
CA1273114A (en) Multiprocess computer and method for operating same
JP3209560B2 (en) Interrupt management method for microprocessor system
Hansen The Solo operating system: processes, monitors and classes

Legal Events

Date Code Title Description
AD1A A request for search or an international type search has been filed