JP2000076087A - Multioperating system control method - Google Patents

Multioperating system control method

Info

Publication number
JP2000076087A
JP2000076087A JP10242833A JP24283398A JP2000076087A JP 2000076087 A JP2000076087 A JP 2000076087A JP 10242833 A JP10242833 A JP 10242833A JP 24283398 A JP24283398 A JP 24283398A JP 2000076087 A JP2000076087 A JP 2000076087A
Authority
JP
Japan
Prior art keywords
interrupt
operating system
operating
inter
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10242833A
Other languages
Japanese (ja)
Inventor
Hiroshi Ono
大野  洋
Tomoaki Nakamura
智明 中村
Shigenori Kaneko
茂則 金子
Ryokichi Yoshizawa
亮吉 吉沢
Sunao Kato
加藤  直
Manabu Yamauchi
学 山内
Toshiaki Arai
利明 新井
Tomonori Sekiguchi
知紀 関口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10242833A priority Critical patent/JP2000076087A/en
Publication of JP2000076087A publication Critical patent/JP2000076087A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To localize the influence of abnormality and to improve the reliability when more than one OS is run by mounting inter-OS control software which switches an OS in operation so that OSs operate alternately on the same CPU. SOLUTION: The software of a controller 1 consists of inter-OS control software 23, a control and monitor program 24 and a development environment program 25 which run on an operating system OS-A21 and a control program 26 which runs on an operating system OS-B22 in addition to the A(OS-A)21 and B(OS-B)22 which perform hardware resource management and the execution management of programs running above. Exclusively managed hardware is assigned to those OS-A21 and OS-B22 and the execution right of the OSs is switched alternately; and the OSs operate independently after the switching. The inter-OS control software 23 switches the operations of both the OSs and provides a communication function between both OSs.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はプラント計装制御ま
たは各種機械制御を行うディジタル演算プロセッサを使
用した制御装置の制御方法に関し、特に単一のプロセッ
サ上で複数のオペレーティングシステムを実行するマル
チオペレーティングシステム制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control method for a control device using a digital arithmetic processor for performing plant instrumentation control or various machine controls, and more particularly to a multi-operating system for executing a plurality of operating systems on a single processor. It relates to a control method.

【0002】[0002]

【従来の技術】従来、プラント計装制御および各種機械
制御に用いられてきた、プログラマブル・ロジック・コ
ントローラ(PLC)または数値制御装置(CNC)等の制
御装置では、制御論理の処理を専ら実行している。これ
らの制御装置に対して制御論理を入力する機能(開発環
境)および、制御結果の監視・表示あるいは対話型でデ
ータを入力する機能(ヒューマン・マシン・インタフェ
ース)などの、制御論理処理を除く機能については、制
御装置の外部にパーソナルコンピュータ(PC)などの
別な装置を接続して実現することが多い(以下、これを
「ユーザインタフェース装置」と呼ぶ)。またこれらの
機能が同一装置内に具備されている場合でも、内部で異
なる演算プロセッサを使用して機能分散して実現してい
る。この種の装置として関連するものには例えば特開平
9−62324号公報に記載の技術が挙げられる。
2. Description of the Related Art Conventionally, a control device such as a programmable logic controller (PLC) or a numerical controller (CNC) which has been used for plant instrumentation control and various machine controls exclusively executes control logic processing. ing. Functions excluding control logic processing, such as a function to input control logic to these control devices (development environment) and a function to monitor and display control results or input data interactively (human-machine interface) Is often realized by connecting another device such as a personal computer (PC) outside the control device (hereinafter, this is referred to as a “user interface device”). Even when these functions are provided in the same device, the functions are distributed and realized using different arithmetic processors internally. Related devices of this type include, for example,
The technology described in JP-A-9-62324 is exemplified.

【0003】一方、ユーザインタフェース装置として使
用されてきたPCの性能が向上し、ある程度の規模まで
ならば、制御論理処理から開発環境,制御監視の機能ま
でをすべて1台のPCで実行することが可能な演算能力
が提供されるようになってきた。しかしPCを基本とし
たハードウェアにすべての機能を含んだ制御装置の場
合、PCで広く用いられているオペレーティングシステ
ム(OS)を用いた場合、制御プログラム以外のプログ
ラムまたはデバイスドライバの動作が、制御プログラム
の動作に影響を与える可能性がある。
On the other hand, if the performance of a PC used as a user interface device has been improved and up to a certain scale, all functions from control logic processing to development environment and control monitoring can be executed by one PC. The available computing power has been provided. However, in the case of a control device including all functions in hardware based on a PC, when an operating system (OS) widely used in a PC is used, the operation of a program or device driver other than the control program is controlled. It may affect the operation of the program.

【0004】そこで、同一CPU上で複数のOSを同時
に起動し、計算機資源の共有を図る一方で個々のOSが
持つ機能を利用する技術がある。このような例として
は、特開平5−73340号公報および特開平5−27954号公
報,特開平5−151003 号公報等に記載の技術がある。
Therefore, there is a technique that simultaneously activates a plurality of OSs on the same CPU to share computer resources while using the functions of the individual OSs. Examples of such an example include the techniques described in JP-A-5-73340, JP-A-5-27954, and JP-A-5-151003.

【0005】[0005]

【発明が解決しようとする課題】通常OSでは特権命令
を実行する。その為、あるOS自体に障害が発生する
と、他のOSの実行に影響を与えてしまう。しかし、上
記の1台の計算機上で複数のOSを同時に起動する技術
においては、この点に対する考慮がされておらず、前述
の特開平5−151003 号のように、一方のOSを他方のO
S上でエミュレートすることにより、一方のOSにおけ
る障害の影響を切離しても、エミュレートする側のOS
に障害が発生した場合には、両方のOSの動作に影響を
与えることになる。
Normally, an OS executes a privileged instruction. Therefore, when a failure occurs in a certain OS itself, the execution of another OS is affected. However, in the technology for simultaneously starting a plurality of OSs on one computer, no consideration is given to this point, and one OS is replaced by the other OS as described in Japanese Patent Laid-Open No. 5-151003.
By emulating on S, even if the influence of the failure on one OS is separated, the OS on the emulating side
In this case, the operation of both OSs will be affected.

【0006】[0006]

【課題を解決するための手段】本発明では上記課題を解
決するために、同一CPU上で、複数のOSが交互に動
作するように動作中のOSを切替えるOS間制御ソフト
ウェアを搭載する。そして、制御プログラムを信頼性の
高いOSで、ユーザインタフェースを機能の豊富なOS
でというように、特性の異なるOSを同一のCPU上で
実行させる。このOS間制御ソフトウェアは、割込みの
発生、あるいはOSまたはその上で動くソフトウェアか
らの要求を契機として、動作中のコンテキスト情報(C
PUのレジスタ値等)を保存し、メモリ空間の切替えを
行い、以前に保存されていた別なコンテキストで実行を
再開する。即ち、動作中のOSの動作を中断し、別なO
Sの動作を再開させる。更に、OS間制御ソフトウェア
は、動作している各OSの起動,停止を監視し、かつ各
OSを単独で起動,停止する機能を持つ。このため、制
御装置内のハードウェア,ソフトウェアの部分的な初期
化が可能であり、障害部位の自動復旧等の高信頼化が可
能となる。
According to the present invention, in order to solve the above-mentioned problem, inter-OS control software for switching an operating OS so that a plurality of OSs operate alternately on the same CPU is mounted. The control program is a highly reliable OS, and the user interface is a rich OS.
Thus, OSs having different characteristics are executed on the same CPU. This inter-OS control software is triggered by the occurrence of an interrupt or a request from the OS or software running on the OS.
(PU register value, etc.), switch memory space, and resume execution in another previously saved context. That is, the operation of the operating OS is interrupted, and another O
The operation of S is restarted. Further, the inter-OS control software has a function of monitoring the start and stop of each operating OS and starting and stopping each OS independently. For this reason, hardware and software in the control device can be partially initialized, and high reliability such as automatic recovery of a failed part can be achieved.

【0007】また、物理メモリには、各OSで占有して
使用する空間と、複数のOSから共通してアクセスでき
る空間とを設定する。これによりカーネルおよびプログ
ラムの個別のメモリ空間については異なるOS間でのデ
ータ破壊等の干渉を防止する一方で、必要なデータを異
なるOS上で動作するプログラム間で共有する。更に、
あるOS上で動作するプログラムが、他のOSあるいは
その上で動くソフトウェアでのイベント発生通知を待機
し、これをOS間制御ソフトウェアが通知する機能を持
つ。これにより異なるOS上で動作するプログラム間の
通信機能が実現される。
In the physical memory, a space occupied and used by each OS and a space commonly accessible by a plurality of OSs are set. This prevents interference such as data destruction between different OSs in the individual memory spaces of the kernel and the program, while sharing necessary data between programs operating on different OSs. Furthermore,
A program operating on a certain OS waits for an event occurrence notification from another OS or software running on the OS, and has a function of notifying the notification by the inter-OS control software. As a result, a communication function between programs operating on different OSs is realized.

【0008】[0008]

【発明の実施の形態】図1に本発明の実施例の一つであ
る制御装置の構成図を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a configuration diagram of a control device according to one embodiment of the present invention.

【0009】制御装置1のハードウェアは中央演算処理
ユニット(CPU)11,物理メモリ13,タイマ14,
ユーザ入出力装置16,ネットワーク装置18,割込み
コントローラ19から構成される。これらは一般的なパ
ーソナルコンピュータ(PC)と同一の構成である。制御
装置1はネットワーク装置18を持ち、これをネットワ
ーク3に接続して、他の制御装置との連携および上位管
理計算機に対する制御結果報告に使用する。また制御装
置1は入出力装置12を持ち、これを制御対象装置2と
接続して信号を入出力し、制御対象装置2からの情報を
取得したり、制御対象装置2に動作を指示したりする。
制御装置1の割込みコントローラ19は、制御装置1が
持つ各構成要素からの割込み信号を一旦受付けてCPU
11に伝達したり、あるいは割込み信号をマスクしたり
する。
The hardware of the control device 1 includes a central processing unit (CPU) 11, a physical memory 13, a timer 14,
It comprises a user input / output device 16, a network device 18, and an interrupt controller 19. These have the same configuration as a general personal computer (PC). The control device 1 has a network device 18, which is connected to the network 3 and used for cooperation with other control devices and for reporting control results to a higher-level management computer. Further, the control device 1 has an input / output device 12, which is connected to the control target device 2 to input and output signals, acquire information from the control target device 2, and instruct the control target device 2 to operate. I do.
The interrupt controller 19 of the control device 1 receives an interrupt signal from each component of the control device 1 once, and
11 or mask the interrupt signal.

【0010】制御装置1のソフトウェアは、ハードウェ
ア資源管理および上位で動作するプログラムの実行管理
を行うオペレーティングシステムA(OS−A)21,
オペレーティングシステムB(OS−B)22、これら
のOS−AとOS−Bの動作切替え等を行うOS間制御
ソフトウェア23,OS−A上で動作する制御監視プロ
グラム24および開発環境プログラム25,OS−B上
で動作する制御プログラム26から構成される。OS−
A,OS−B,OS間制御ソフトウェア23は、全て単
一のCPU11上で特権モードで動作し、CPU11自
体の制御等を行う特権命令まで含めた全命令を実行でき
る。一方、各OS上で動作するプログラムはCPUの非
特権モードで動作し、特権命令は実行できない。なお、
OS−AおよびOS−Bには、OSのカーネルの他に、
特権モードで動作するデバイスドライバが存在するが、
以下ではこれらをカーネルと一括して、「OS」として
説明する。
The software of the control device 1 includes an operating system A (OS-A) 21 for managing hardware resources and executing programs executed at a higher level.
Operating system B (OS-B) 22, inter-OS control software 23 for switching the operation between OS-A and OS-B, control monitoring program 24 and development environment program 25 running on OS-A, OS-B The control program 26 operates on B. OS-
A, OS-B, and inter-OS control software 23 all operate in a privileged mode on a single CPU 11, and can execute all instructions including privileged instructions for controlling the CPU 11 itself. On the other hand, a program operating on each OS operates in the non-privileged mode of the CPU and cannot execute a privileged instruction. In addition,
In OS-A and OS-B, in addition to the OS kernel,
There is a device driver that operates in privileged mode,
Hereinafter, these are collectively described as the “OS” together with the kernel.

【0011】入出力装置12はOS−Bで独占的に管理
・使用する。一方、OS−A上で動作するプログラムが
使用するユーザ入出力装置16,ネットワーク接続装置
18は、OS−Aで独占的に管理・使用する。ただし、
非常停止ボタン・警報出力などの緊急性を要するユーザ
入出力装置または、他制御装置との連携等で実時間性を
必要とするネットワーク接続装置をOS−Bで管理・使
用し、OS−B上のプログラムからアクセスする構成も
ありうる。物理メモリ13は原則としてOS−A用13
1と、OS−B用132とに領域を分けて使用する。O
S間制御ソフトウェア23が直接アクセスするハードウ
ェアはタイマ14と割込みコントローラ19に限定され
る。
The input / output device 12 is managed and used exclusively by the OS-B. On the other hand, the user input / output device 16 and the network connection device 18 used by the program operating on the OS-A are exclusively managed and used by the OS-A. However,
OS-B manages and uses user input / output devices that require urgency, such as an emergency stop button and alarm output, or network connection devices that require real-time operation in cooperation with other control devices. There may be a configuration in which access is made from a program. Physical memory 13 is in principle for OS-A 13
1 and the OS-B 132 132 are used separately. O
The hardware directly accessed by the inter-S control software 23 is limited to the timer 14 and the interrupt controller 19.

【0012】最初に、ソフトウェアの動作の概要と、ハ
ードウェアとの関係を説明する。本実施例では、OS−
AとしてPCで普及している汎用OSを使用する。OS
−Aでは、制御監視プログラム24および開発環境プロ
グラム25に適した高機能なユーザインタフェースを提
供する。OS−A及びOS−A上で動作するプログラム
は、OS−Bが存在しないときと同様に動作する。その
動作中にOS間制御ソフトウェア23が割込み、OS−
Aを中断してOS−Bに切替えることがあるが、OS−
Bの動作終了後、OS間制御ソフトウェア23がOS−
Aの中断状態を復旧し動作を再開させるため、OS−A
側ではOS−Bの存在を意識する必要はない。
First, the outline of the operation of software and the relationship with hardware will be described. In this embodiment, the OS-
A uses a general-purpose OS that is widely used in PCs. OS
In -A, a high-performance user interface suitable for the control monitoring program 24 and the development environment program 25 is provided. The OS-A and the program operating on the OS-A operate in the same manner as when the OS-B does not exist. During the operation, the inter-OS control software 23 interrupts, and the OS-
A may be interrupted and switched to OS-B.
After the operation of B, the inter-OS control software 23
OS-A to recover the suspended state of A and resume the operation
The side does not need to be aware of the existence of OS-B.

【0013】一方、OS−Bは実時間性等に優れ、制御
プログラム用に適したOSであるものとする。OS−B
は、OS−B上でのプログラムが処理する内容が無くな
った状態(以下、これを「アイドル状態」と呼ぶ)にな
ると、実行権を放棄しOS−Aに実行権を譲る。
On the other hand, it is assumed that the OS-B is excellent in real-time performance and the like and is suitable for a control program. OS-B
When there is no more content to be processed by the program on the OS-B (hereinafter referred to as “idle state”), the execution right is relinquished and the execution right is transferred to the OS-A.

【0014】OS間制御ソフトウェア23は、OS−A
とOS−Bの実行権の切替えと、両OS上のプログラム
間の通信機能を提供する。OS−AからOS−Bへの実
行権の切替えは、i)OS−Bの管理するハードウェア
からの割込みがあった場合、ii)予め指定した時間が経
過した場合、及び、iii)OS−AからOS−Bに対して
の通信があった場合、に行う。一方、OS−BからOS
−Aへの実行権の切替えは、前述のようにOS−Bがア
イドル状態になった場合にのみ行う。この切替え動作に
よりOS−BはOS−Aよりも常に優先して実行権が与
えられる。OS間制御ソフトウェア23は、切替え動作
時およびOS間の通信要求時にのみに動作し、それ以外
は、各OSが単独で動作する。CPU11に対する特権
命令も各OSが発行し、OS間制御ソフトウェア23が
エミュレーションすることはない。なお、OS間制御ソ
フトウェア23は、いずれのOSの実行時にも、特権モ
ード命令を実行できる各OSの一部として動作すること
が必要で、特に汎用OSであるOS−Aの動作中は、O
S−Aのデバイスドライバとして動作するように組み込
む。
The inter-OS control software 23 is an OS-A
And the switching function of the execution rights of the OS-B and the communication function between the programs on both OSs. The switching of the execution right from OS-A to OS-B includes: i) when there is an interrupt from hardware managed by OS-B, ii) when a predetermined time has elapsed, and iii) OS-B. This is performed when there is communication from A to OS-B. On the other hand, from OS-B to OS
The switching of the execution right to -A is performed only when the OS-B is in the idle state as described above. By this switching operation, the execution right is always given to the OS-B in preference to the OS-A. The inter-OS control software 23 operates only at the time of the switching operation and at the time of a communication request between the OSs, and otherwise, each OS operates alone. Each OS also issues a privileged instruction to the CPU 11, and the inter-OS control software 23 does not emulate. The inter-OS control software 23 needs to operate as a part of each OS capable of executing the privileged mode instruction when executing any of the OSs.
It is incorporated to operate as an SA device driver.

【0015】以上述べたように、OS−AとOS−Bに
は、各々独占管理するハードウェアが割当てられ、OS
の実行権は交互に切替えられて、切替え後は各OSは独
立して動作する。OS間制御ソフトウェア23は、両O
Sの動作の切替えを行い、また両OS間の通信機能を提
供する。
As described above, the OS-A and the OS-B are each assigned hardware that is exclusively managed, and
Are alternately switched, and after the switching, each OS operates independently. The inter-OS control software 23 uses both O
The operation of S is switched, and a communication function between both OSs is provided.

【0016】次に、OS間の独立性を実現する方法につ
いて説明する。第1に、各OSが独占的に制御し管理す
るハードウェアが、他方のOS側からの干渉を受けない
ようにする方法を述べる。各ハードウェアとソフトウェ
アとのやりとりは、各ハードウェア毎に決められたI/
Oアドレスに対する入出力処理と、各ハードウェア毎に
決められた割込み番号の割込みに対するソフトウェアの
応答処理からなる。従って、一方のOSで独占的に制御
し管理するハードウェアに割当てられたI/Oアドレス
への入出力及び同ハードウェアに割当てられた割込み番
号に対する応答を、他方のOS側で実行しないように保
証することで、ハードウェア制御に関するOS間の独立
性を達成する。
Next, a method for realizing independence between OSs will be described. First, a method for preventing hardware controlled and managed exclusively by each OS from receiving interference from the other OS will be described. The exchange between each hardware and software is based on the I / O defined for each hardware.
It consists of input / output processing for the O-address and software response processing for the interrupt of the interrupt number determined for each hardware. Therefore, input / output to an I / O address assigned to hardware exclusively controlled and managed by one OS and a response to an interrupt number assigned to the hardware are not executed on the other OS. Assurance achieves independence between OSs regarding hardware control.

【0017】このために、各ハードウェア毎に、どちら
のOSで管理・使用するのかを、そのハードウェアに割
当てられたI/Oアドレス及び割込み番号と合わせて、
OS間制御ソフトウェア23の内部にある割込みテーブ
ルに記憶する。OS間制御ソフトウェア23は、OS−
Aのデバイスドライバとして制御装置1の起動時に初期
化処理を実行する。その初期化処理の中でOS−B用ハ
ードウェアのI/Oアドレス及び割込み番号を予約し、
先の割込みテーブルに登録する。これにより、OS−A
のカーネルおよびOS−Aの他のデバイスドライバから
は、該当I/Oアドレス及び割込み番号が使用中と認識
されることになり、OS−Aからこれらハードウェアへ
の処理は行われなくなる。一方、OS−Bでは、OS−
A側で使用するハードウェアのI/Oアドレスと割込み
番号を、OS間制御ソフトウェア23から直接取得し
て、同様に先の割込みテーブルに登録することにより、
これらハードウェアへの処理を禁止する。以上の処理に
より、ハードウェア制御に関するOS間の独立性を達成
できる。
For this purpose, for each hardware, which OS is to be managed and used, together with the I / O address and the interrupt number assigned to the hardware,
It is stored in an interrupt table inside the inter-OS control software 23. The inter-OS control software 23 is an OS-
The initialization process is executed when the control device 1 is started as the device driver A. In the initialization process, the I / O address and interrupt number of the OS-B hardware are reserved,
Register in the previous interrupt table. Thereby, OS-A
The I / O address and the interrupt number are recognized as being in use from the kernel of the OS and the other device drivers of the OS-A, and the OS-A does not perform the processing for the hardware. On the other hand, in OS-B,
By directly obtaining the I / O address and interrupt number of the hardware used on the A side from the inter-OS control software 23, and similarly registering them in the interrupt table,
Processing to these hardware is prohibited. Through the above processing, independence between OSs regarding hardware control can be achieved.

【0018】なおハードウェアに対する入出力処理自体
はOS−A,OS−Bが各々直接実行し、OS間制御ソ
フトウェア23がエミュレートすることはない。これに
より、入出力処理のエミュレーションにより余分なオー
バヘッドが発生するのを防ぐと同時に、ハードウェアへ
の直接アクセスを前提として作られたOSのカーネルお
よびデバイスドライバに対する変更を行わずに済む。
The OS-A and OS-B directly execute the input / output processing to and from the hardware, and the inter-OS control software 23 does not emulate. As a result, unnecessary overhead due to emulation of input / output processing is prevented, and at the same time, it is not necessary to make changes to the kernel and device driver of the OS that are created on the premise of direct access to hardware.

【0019】第2に、各OSが使用する物理メモリ空間
の独立性を実現する方法について述べる。物理メモリ1
3については、OS−A,OS−Bで使用する領域を予
め分けて使用することで、独立性を達成する。また、両
OS間のデータ共有等のため、OS−AおよびOS−B
で共用するメモリ領域も設定する。
Second, a method for realizing the independence of the physical memory space used by each OS will be described. Physical memory 1
Regarding 3, the independence is achieved by separately using the areas used in OS-A and OS-B in advance. OS-A and OS-B are used for data sharing between the two OSs.
Set the memory area shared by.

【0020】OS−A,OS−Bからの物理メモリ空間
の使用領域を分けるために、制御装置1起動時に、まず
OS−Aを起動し、OS−Aの起動オプション指定によ
って一定のアドレスより下位の物理メモリのみを使用す
るように設定する。OS−Aの起動後、OS−Aが使用
しない前記一定アドレスより上位の物理メモリ領域にO
S−Bをロードして起動する。OS−Bのカーネルは、
OS間制御ソフトウェア23上のテーブルに記録された
前記一定アドレスを取得し、以後のメモリ管理でOS−
Aが使用しない領域のみを使用する。
In order to divide the use area of the physical memory space from the OS-A and OS-B, when the control device 1 is started, first, the OS-A is started, and a lower address than a certain address is specified by specifying the start option of the OS-A. To use only the physical memory of After the OS-A is started, an OS is stored in a physical memory area higher than the certain address not used by the OS-A.
Load SB and start. The OS-B kernel is
The fixed address recorded in the table on the inter-OS control software 23 is acquired, and the OS-
Only the area not used by A is used.

【0021】一方、OS間で共用するメモリ領域には二
つの場合がある。一つには前記OS−A用のメモリ領域
をOS−B用のアドレス空間にマッピングすることによ
り実現する。この場合、OS間制御ソフトウェア23
が、OS−Bカーネルのメモリ管理機構に依頼して、O
S−B用の物理メモリ−論理アドレス変換テーブル(以
下、これを「ページテーブル」と呼ぶ)に、共用する物
理メモリのアドレスを追加し、物理メモリと論理アドレ
スの対応付け(以下、これを「メモリマッピング」または
単に「マッピング」と呼ぶ)を行うことにより実現す
る。もう一つには、前記OS−B用のメモリ領域をOS
−A用のアドレス空間にマッピングすることにより実現
する。この場合は、OS間制御ソフトウェア23が、O
S−Aのデバイスドライバとして、共用する物理メモリ
のアドレスを予約する。これはOS−Aが、メモリマッ
ピング型の物理デバイスのデバイスドライバを実現する
ために備えている機能を使用する。これにより、OS−
AのカーネルがOS−A用のページテーブルに、共用す
る物理メモリのマッピングを行い、該当領域の共用が実
現できる。
On the other hand, there are two memory areas shared between OSs. One of them is realized by mapping the memory area for OS-A into the address space for OS-B. In this case, the inter-OS control software 23
Requests the memory management mechanism of the OS-B kernel to
The address of the shared physical memory is added to a physical memory-logical address conversion table for SB (hereinafter, referred to as a “page table”), and the correspondence between the physical memory and the logical address (hereinafter, this is referred to as “page table”). This is realized by performing “memory mapping” or simply “mapping”). Another is that the memory area for OS-B is
A is realized by mapping to the address space for A. In this case, the inter-OS control software 23
The address of the shared physical memory is reserved as the SA device driver. This uses a function provided by the OS-A to implement a device driver for a memory-mapped physical device. With this, OS-
The kernel of A maps the shared physical memory to the OS-A page table, so that the corresponding area can be shared.

【0022】第3に、各OSの論理アドレス空間の独立
性を実現する方法について述べる。OS並びにOSの上
で動作するプログラムは、論理アドレスによってメモリ
にアクセスし、その論理アドレスから物理アドレスへの
変換は、CPUがページテーブルを参照して自動的に行
う。OS−A,OS−Bの各々に存在するメモリ管理機
能がこのページテーブルを操作し、マッピングを行う。
この際、両OSが使用するページテーブルを分離し、O
Sの実行権に応じて切替えて使用することにより、各O
Sごとにマッピング操作を独立に行うことができる。
Third, a method for realizing the independence of the logical address space of each OS will be described. The OS and a program operating on the OS access the memory by a logical address, and the conversion from the logical address to the physical address is automatically performed by the CPU with reference to the page table. A memory management function existing in each of OS-A and OS-B operates this page table and performs mapping.
At this time, the page tables used by both OSs are separated, and
By switching and using according to the execution right of S, each O
The mapping operation can be performed independently for each S.

【0023】ページテーブルは、物理メモリ上に存在す
るテーブルだが、CPUにはそのテーブルの先頭物理メ
モリ位置を指示するレジスタが存在する。CPUはこの
レジスタからページテーブルの位置を求め、その内容に
従ってアドレス変換を自動実行する。従って、OS−A
用とOS−B用のページテーブル領域を物理メモリ上別
個に用意し、OS間制御ソフトウェア23がOSを切替
える処理の中で、前記ページテーブル位置を示すレジス
タの内容を切替えて、切替え先OSのページテーブルを
指すように書換える。これにより両OSは各々のページ
テーブルでマッピングが実行でき、論理アドレス空間の
独立性を確保できる。
The page table is a table existing on the physical memory, and the CPU has a register for indicating the head physical memory position of the table. The CPU obtains the position of the page table from this register, and automatically executes address conversion according to the contents. Therefore, OS-A
And the OS-B page table areas are separately prepared in the physical memory, and in the process of switching the OS by the inter-OS control software 23, the contents of the register indicating the page table position are switched, and the switching destination OS is switched. Rewrite to point to the page table. As a result, both OSs can execute mapping in each page table, and the independence of the logical address space can be secured.

【0024】ここで説明した物理メモリ空間および論理
アドレス空間の使用方法を図2に示す。物理メモリ空間
51をいくつかの領域に区切り、これをOS−Aカーネ
ル用52,OS−Aプログラム用54,OS−Bカーネ
ル用56,OS−Bプログラム用57に分けて、OS−
A,OS−Bの各々割当て先からアクセスできるように
する。OS−A,OS−Bから認識されるメモリの論理
アドレス空間61,62は、各々のOSが持つページテ
ーブルにより、独立した論理アドレス空間となってい
る。OS−A動作時は、OS−B専用の物理メモリ空間
56,57が論理アドレス空間61にマッピングされな
い。これにより、OS−Aの動作中にOS−B用の領域
は一切アクセスされず、データ誤破壊等を防ぐことがで
きる。OS−Bの動作中は逆にOS−A専用の物理メモ
リ空間52,54を論理アドレス空間62にマッピング
しない。OS間制御ソフトウェア23はどちらのOSの
動作中も動作しなければならないので、そのメモリ領域
53はいずれのOSでもマッピングされる。また、OS
−A・OS−B共通用領域55は、いずれのOSでもマ
ッピングされ、各OS上のプログラムからアクセスする
ことが可能で、両OS上プログラム間のデータ交換に使
用できる。ここで、OS−A・OS−B共通用領域は非
特権モードのプログラム用に限定することで、各OSの
カーネルおよびデバイスドライバに対して、もう一方の
OSおよびプログラムから影響を与えることがなく、両
OSの独立性・信頼性を維持できる。なお、各領域は物
理メモリ空間51上で、CPU11のアドレス変換機構
の管理単位で断片化し分散して配置されていてもよい。
FIG. 2 shows how to use the physical memory space and the logical address space described here. The physical memory space 51 is divided into several areas, which are divided into an OS-A kernel 52, an OS-A program 54, an OS-B kernel 56, and an OS-B program 57, and
A and OS-B can be accessed from their assigned destinations. The logical address spaces 61 and 62 of the memories recognized by the OS-A and OS-B are independent logical address spaces according to a page table of each OS. During the OS-A operation, the physical memory spaces 56 and 57 dedicated to the OS-B are not mapped to the logical address space 61. Thus, the area for OS-B is not accessed at all during the operation of OS-A, and erroneous destruction of data can be prevented. On the contrary, during the operation of the OS-B, the physical memory spaces 52 and 54 dedicated to the OS-A are not mapped to the logical address space 62. Since the inter-OS control software 23 must operate during operation of either OS, the memory area 53 is mapped by any OS. OS
The -A / OS-B common area 55 is mapped by any OS, can be accessed from programs on each OS, and can be used for data exchange between programs on both OSs. Here, the OS-A / OS-B common area is limited to the non-privileged mode program so that the other OS and the program do not affect the kernel and device driver of each OS. And the independence and reliability of both OSs can be maintained. Note that each area may be fragmented and distributed in the physical memory space 51 in units of management of the address translation mechanism of the CPU 11.

【0025】以上述べた方法により、OS間の独立性が
確保される。
With the above-described method, independence between OSs is ensured.

【0026】次に、OS間制御ソフトウェア23の動作
を詳細に説明する。OS間制御ソフトウェア23は、各
OSまたはプログラムから明示的に呼出された場合、お
よびCPUに割込みが入力された場合に動作が開始され
る。OS−Aあるいはその上で動作するプログラムから
の呼出しは、OS間制御ソフトウェア23がOS−Aの
デバイスドライバとして組み込まれているため、該当デ
バイスドライバに対する動作指示(IOCTL命令な
ど)として実現する。また、OS−Bあるいはその上で
動作するプログラムからの呼出しは、OS−BがOS間
制御ソフトウェア23の存在を認識しているため、OS
−Bのカーネル内の処理から関数呼出しにより呼出す。
一方、割込み発生時は、CPU11が物理メモリ13上
に存在する割込みテーブルを参照して割込みハンドラを
呼出すことから、前記割込みテーブルを変更して全ての
割込みのハンドラをOS間制御ソフトウェア23内のル
ーチンとする。これにより、全ての割込み発生時にOS
間制御ソフトウェア23が動作し、適切な処理を行う。
Next, the operation of the inter-OS control software 23 will be described in detail. The inter-OS control software 23 starts its operation when explicitly called from each OS or program and when an interrupt is input to the CPU. A call from the OS-A or a program operating on the OS-A is realized as an operation instruction (IOCTL instruction or the like) to the device driver because the inter-OS control software 23 is incorporated as a device driver of the OS-A. In addition, since the OS-B recognizes the existence of the inter-OS control software 23, a call from the OS-B or a program operating on the OS-B is issued.
-Call by function call from the process in the kernel of -B.
On the other hand, when an interrupt occurs, the CPU 11 refers to the interrupt table existing in the physical memory 13 and calls the interrupt handler. And As a result, the OS
The control software 23 operates to perform appropriate processing.

【0027】起動されたOS間制御ソフトウェア23
は、起動した要因に応じて、OSの動作の切替え、両O
S間の通信に必要な処理等を行う。以下、詳細な処理ス
テップを記す。
The activated inter-OS control software 23
Switches the operation of the OS according to the activated factor,
It performs processing necessary for communication between S and the like. Hereinafter, detailed processing steps will be described.

【0028】図3は、実行が非優先のOSであるOS−
Aの動作中に割込みが入力された場合の処理を示す。割
込み入力の結果、OS間制御ソフトウェア23の割込み
処理ルーチンが呼出され、図示された処理を実行する。
まず、割込み時点でのレジスタ内容をスタック上に保存
してスタックフレームを作成する(S01)。ついで、
割込み番号(ベクタ)により、この割込みがソフトウェ
ア割込みなのか、ハードウェア割込みなのかを判定する
(S02)。ソフトウェア割込みの場合は、その時点で
動作中のOS−A側の処理で明示的に割込み命令を発行
したか、またはプログラムの動作により例外が発生した
場合であり、いずれにしてもOS−Aの本来の割込みハ
ンドラにジャンプする。一方、ハードウェア割込みの場
合、どのハードウェアから発生した割込みか割込み元を
判定する(S03)。OS−A側が管理するハードウェ
アから発生した割込みである場合には、ソフトウェア割
込みと同じく、OS−Aの本来の割込みハンドラにジャ
ンプする。しかし、OS−B側が管理するハードウェア
から発生した割込みであった場合には、まず動作環境を
OS−Bに切替え(S04)、OS−Bの本来の割込み
ハンドラへとジャンプする。又、割込みがタイマ割込み
の場合、割込み発生時刻を判定し(S05)、OS−Aま
たはOS−Bのタイマがタイムアップすべき時刻だった
場合、各OSの本来のタイマハンドラにジャンプする。
ただしどちらもタイムアップの時刻だった場合は、OS
−Aのタイムアップは保留し、優先されるOS−Bのハ
ンドラ呼出しのみを行う。
FIG. 3 shows an example of the OS-
The processing when an interrupt is input during the operation of A is shown. As a result of the interrupt input, the interrupt processing routine of the inter-OS control software 23 is called, and the illustrated processing is executed.
First, the register contents at the time of the interruption are stored on the stack to create a stack frame (S01). Then
Based on the interrupt number (vector), it is determined whether the interrupt is a software interrupt or a hardware interrupt (S02). In the case of a software interrupt, either an interrupt instruction is explicitly issued in the process of the OS-A currently operating or an exception occurs due to the operation of the program. Jump to the original interrupt handler. On the other hand, in the case of a hardware interrupt, the source of the interrupt is determined from which hardware has occurred (S03). If the interrupt is generated from hardware managed by the OS-A, the process jumps to the original interrupt handler of the OS-A, similarly to the software interrupt. However, if the interrupt is generated from hardware managed by the OS-B, the operating environment is first switched to the OS-B (S04), and the operation jumps to the original interrupt handler of the OS-B. If the interrupt is a timer interrupt, the time of occurrence of the interrupt is determined (S05). If the time of the OS-A or OS-B timer is to expire, the process jumps to the original timer handler of each OS.
However, if both times are up, the OS
-The time-up of -A is suspended, and only the priority OS-B handler call is performed.

【0029】図4は、実行が優先されるOSであるOS
−Bの動作中に割込みが入力された場合の処理を示す。
この場合もOS−Aの動作中に割込みが入力された場合
の処理と同様に、割込み入力の結果、OS間制御ソフト
ウェア23の割込み処理ルーチンが呼出され、図示され
た処理を実行する。まず、割込み時点でのレジスタ内容
をスタック上に保存する(S11)。ついで、割込み番号
(ベクタ)により、割込みがソフトウェア割込みなのか、
ハードウェア割込みなのかを判定する(S12)。ソフト
ウェア割込みの場合、動作中のOS−Bの割込みハンド
ラにジャンプする。ハードウェア割込みの場合、どのハ
ードウェアから発生した割込みか判定する(S13)。
OS間制御ソフトウェア23は、OS−Bの動作に切替
える際に割込みコントローラ19を操作して、OS−A
が管理するハードウェアからの割込みをマスクする。こ
のため、OS−Bの動作中はOS−Aが管理するハード
ウェアからの割込みは発生しない。OS−B側が管理す
るハードウェアから割込みが発生した場合は、ソフトウ
ェア割込みと同じく、OS−Bの本来の割込みハンドラ
にジャンプする。しかし、割込みがタイマ割込みの場
合、割込み発生時刻を判定し(S14)、OS−Bのタ
イマがタイムアップすべき時刻だった場合、OS−Bの
本来のタイマハンドラにジャンプする。OS−Aのタイ
マがタイムアップだった場合は、そのタイムアップ発生
を記録し(S15)、この時点ではOS−Bの動作に復
帰する。なお、割込みコントローラ19の操作が不可能
なハードウェア構成のため、割込元判定(S13)の際
にOS−A管理機器と判定された時にはその割込み発生
を記録し、後でOS−Aに動作を切替える際にOS−A
の本来の割込みハンドラを呼出せばよい。
FIG. 4 shows an OS whose execution is prioritized.
This shows the processing when an interrupt is input during the operation of -B.
In this case, as in the case where an interrupt is input during the operation of the OS-A, as a result of the interrupt input, the interrupt processing routine of the inter-OS control software 23 is called and the illustrated processing is executed. First, the register contents at the time of the interruption are stored on the stack (S11). Then, the interrupt number
(Vector) indicates whether the interrupt is a software interrupt
It is determined whether it is a hardware interrupt (S12). In the case of a software interrupt, the process jumps to the interrupt handler of the operating OS-B. In the case of a hardware interrupt, it is determined from which hardware the interrupt has occurred (S13).
The inter-OS control software 23 operates the interrupt controller 19 when switching to the operation of the OS-B, and
Masks interrupts from hardware that it manages. Therefore, during the operation of the OS-B, no interrupt is generated from the hardware managed by the OS-A. When an interrupt is generated from hardware managed by the OS-B, the process jumps to the original interrupt handler of the OS-B, similarly to the software interrupt. However, if the interrupt is a timer interrupt, the time of occurrence of the interrupt is determined (S14). If the time of the OS-B timer is to expire, the process jumps to the original timer handler of the OS-B. If the timer of the OS-A has timed out, the occurrence of the time-up is recorded (S15), and at this point, the operation returns to the operation of the OS-B. Since the hardware configuration does not allow the operation of the interrupt controller 19, when the interrupt source is determined to be the OS-A management device at the time of the interrupt source determination (S13), the occurrence of the interrupt is recorded, and the OS-A is later recorded in the OS-A. OS-A when switching operation
Call the original interrupt handler.

【0030】以上の説明は、OS−Bを完全に優先させ
る場合の動作である。しかしこの処理では、OS−Bか
らOS−Aへの動作切替えが行われるのは、OS−Bが
アイドル状態となって、OS−BからOS間制御ソフト
ウェア23に対してアイドル状態を通知する呼出しが行
われた時のみとなってしまう。そこで、OS−B側で無
限ループに陥った場合のデッドロック回避などを考慮
し、一定の割合でOS−Aの動作を行わせる。そのた
め、タイマ割込みをOS−A,OS−Bへのタイムアッ
プ時刻以外にも発生させて、OS間制御ソフトウェア2
3の割込み処理中でOSの切替えを行う。OS間制御ソ
フトウェア23では、OS切替え処理を行う時点で、予
め各OSの実行時間を計算しておく。そして、OS−B
動作中にタイマ割込みが発生した場合には、計算してお
いたOS−Bの実行時間を調べ、OS−Aに切替えるべ
き時間が経過したか判断し(S16)、OS−Aへの切
替え時間が経過していたならばOS−Aの動作環境に切
替えた後(S17)、OS−Aの中断点にジャンプす
る。又OS−Aへの切替え時間が経過していなければ、
そのままOS−Bの割込み発生時の中断点に復帰する。
逆にOS−A動作中にタイマ割込みが発生した場合、図
3に示す処理において、OS−Bがアイドル状態か否か
を判定し(S06)、OS−Bがアイドル状態でない場
合には更に、OS−Bに動作を戻すべき時間が経過した
か判断する(S07)。OS−Bへの動作切替え時間が
経過していれば、OS−Bの動作環境に切替えて(S0
8)、OS−Bの中断点にジャンプする。しかし、OS
−Bがアイドル状態であるか又はOS−Bへの動作切替
え時間が経過していなければ、そのままOS−Aの割込
み発生時の中断点に復帰する。
The above is the operation in the case where OS-B is completely prioritized. However, in this processing, the operation switching from the OS-B to the OS-A is performed because the OS-B enters the idle state and the OS-B notifies the inter-OS control software 23 of the idle state. Only when it is done. Therefore, the OS-A operation is performed at a fixed rate in consideration of avoiding deadlock when the OS-B enters an infinite loop. Therefore, a timer interrupt is generated at times other than the time-up time to OS-A and OS-B, and the OS control software 2
OS switching is performed during the interrupt processing of No. 3. The inter-OS control software 23 calculates the execution time of each OS in advance at the time of performing the OS switching process. And OS-B
If a timer interrupt occurs during the operation, the calculated execution time of OS-B is checked, and it is determined whether or not the time to switch to OS-A has elapsed (S16), and the switching time to OS-A is determined. If has elapsed, the operating environment is switched to the operating environment of the OS-A (S17), and then the operation jumps to the interruption point of the OS-A. If the switching time to OS-A has not elapsed,
It returns to the interruption point when the OS-B interrupt occurred.
Conversely, if a timer interrupt occurs during the OS-A operation, it is determined in the processing shown in FIG. 3 whether or not OS-B is in an idle state (S06). It is determined whether the time to return the operation to the OS-B has elapsed (S07). If the operation switching time to the OS-B has elapsed, the operating environment is switched to the operating environment of the OS-B (S0
8) Jump to the interruption point of OS-B. But OS
If -B is in the idle state or the operation switching time to OS-B has not elapsed, the operation returns to the interruption point when the interrupt of OS-A occurs.

【0031】図5に、OS間制御ソフトウェア23にお
ける、各OSへの切替え処理の詳細を示す。OSの切替
え処理は、前記の割込み処理の過程で切替えが必要と判
断された場合、又はOS−Bがアイドル状態となった場
合、あるいは後述するイベント発生通知でOS−B側の
待機プログラムの待機解除が必要になった場合に行われ
る。まず割込み発生時点またはOS間制御ソフトウェア
23を呼出した時点(以下、これを「中断点」と呼ぶ)
のコンテキストを保存する(S31)。即ち、中断点に
おけるCPU11のレジスタ内容を保存したスタックフ
レーム位置および、命令カウンタ,スタックポインタ等
の値を記録する。次に割込みコントローラ19の設定を
変更し、OS−B側動作中にOS−A側割込みが発生し
ないようにマスクする、又は逆にOS−A側割込みに対
するマスクを解除する操作を行う(S32)。
FIG. 5 shows the details of the switching process to each OS in the inter-OS control software 23. The OS switching processing is performed when it is determined that switching is necessary in the course of the interrupt processing, when the OS-B is in an idle state, or when the OS-B side standby program waits for an event occurrence notification described later. This is done when it becomes necessary to cancel. First, when an interrupt occurs or when the inter-OS control software 23 is called (hereinafter, this is referred to as an "interruption point")
Is saved (S31). That is, the stack frame position where the register contents of the CPU 11 are stored at the interruption point, and the values of the instruction counter, the stack pointer, and the like are recorded. Next, the setting of the interrupt controller 19 is changed, and an operation of masking the OS-A side interrupt so as not to occur during the operation of the OS-B side, or canceling the mask for the OS-A side interrupt is performed (S32). .

【0032】次いでページテーブルの先頭メモリ位置を
示すレジスタを変更してメモリ空間を切替える(S3
3)。この操作は既に述べた通りである。次にOS間の
イベント発生通知の処理を行う(S34)が、この詳細は
後述する。OS−BからOS−Aに切替える時には、図
4に示す処理のS15で発生が記録されている割込みに
対応する割込みルーチンを呼出して、保留している割込
み処理を行わせる(S35)。この後、記録している割込
みを全て処理したならば(S36)、中断時にS31で保
存されたコンテキストを回復し(S38)、切替えるO
Sの中断点に復旧する。ただし、OS−Bがアイドル状
態でOS−Aの切替え要求を行う際に、レジスタ内容を
放棄してもいいように必要なデータをすべてメモリ上に
保存する構成とし、OS−Bの割込みハンドラにジャン
プする場合は、コンテキストは回復しない(S37)。
Next, the memory space is switched by changing the register indicating the head memory position of the page table (S3).
3). This operation is as described above. Next, an event occurrence notification process between the OSs is performed (S34), the details of which will be described later. When switching from OS-B to OS-A, an interrupt routine corresponding to the interrupt whose occurrence has been recorded in S15 of the process shown in FIG. 4 is called, and the suspended interrupt process is performed (S35). Thereafter, if all the recorded interrupts have been processed (S36), the context saved in S31 is restored at the time of interruption (S38), and the switch O is performed.
It recovers to the interruption point of S. However, when the OS-B issues an OS-A switching request in an idle state, all necessary data is stored in the memory so that the contents of the register may be discarded. When jumping, the context is not recovered (S37).

【0033】なお割込みコントローラ19は、割込み番
号毎に割込みのマスクができるが、OS−Aが単独で動
作する場合、OS−Aの割込み処理中にはより優先度の
低い割込みがマスクされる。このマスクされた割込みに
OS−B用の割込みが含まれる場合、マスクが解除され
るまで該当割込みの処理に遅延が生じる。これを防止す
るために、OS−Aカーネルの割込みコントローラ処理
のうち、OS−B用の割込み番号に対しては、操作を行
わないように修正する必要がある。一方、OS−Aのタ
イマ割込みは、一定周期でタイマ14から割込み信号を
受け、その処理を行うだけであり、初期化時以外、OS
−Aの動作時はタイマ14を操作しない。従って、タイ
マ14からの割込み信号は一旦OS間制御ソフトウェア
23で受け、図3に示したS03以降の処理により、O
S−Aの割込みハンドラ呼出しをするだけでよい。
The interrupt controller 19 can mask an interrupt for each interrupt number. However, when the OS-A operates alone, an interrupt with a lower priority is masked during the OS-A interrupt processing. When the masked interrupt includes an interrupt for OS-B, the processing of the interrupt is delayed until the mask is released. In order to prevent this, it is necessary to modify the interrupt number for OS-B in the interrupt controller processing of the OS-A kernel so that the operation is not performed. On the other hand, the OS-A timer interrupt simply receives an interrupt signal from the timer 14 at a fixed period and performs its processing.
During the operation of -A, the timer 14 is not operated. Accordingly, the interrupt signal from the timer 14 is temporarily received by the inter-OS control software 23, and the interrupt signal is generated by the processing after S03 shown in FIG.
It is only necessary to call the SA interrupt handler.

【0034】また、OS間制御ソフトウェア23は、2
つのOS間の通信機能のために、いずれかのOSから明
示的に呼出される場合がある。2つのOS間通信のため
の基本機能である、OS間でのイベント発生通知機能を
図6に示す。
The inter-OS control software 23 has two
For the communication function between two OSs, it may be explicitly called from any OS. FIG. 6 shows an event occurrence notification function between OSs, which is a basic function for communication between two OSs.

【0035】OS間制御ソフトウェア23の管理するメ
モリ上に、OS−Aイベント処理テーブル71が存在す
る。処理可能なイベントにはi1,i2,…iNのイベ
ント番号が付けられ、対応したN個のエントリが存在す
る。初期状態でイベント処理テーブルは空である。OS
−A側のプログラム(プログラム−A)がイベント番号
(i2)を指定して、イベントの発生を通知して待機要
求をOS間制御ソフトウェア23に出す(S41)と、
OS間制御ソフトウェア23はテーブル71の該当イベ
ントのエントリi2に、このプログラム(プログラム−
A)が待機中であることを記録する。待機要求を出した
プログラムはOS−Aのプログラム中断機能により実行
を停止する。次にOS−B側のプログラム(プログラム
−D)からイベント番号(iN)を指定してイベント発
生通知(S42)があると、OS間制御ソフトウェア2
3はテーブル71の該当エントリiNを見て、OS−A
側で待機しているプログラムの有無を判定する。待機し
ているプログラムが有る場合には、OS−Aにそのプロ
グラム(プログラム−B)の待機解除要求を行う(S4
3)。これにより、待機していたOS−A側のプログラ
ムは実行を再開し、待機していたイベントが発生したこ
とを知る。また、イベントの発生通知は、OS−Aで動
作するプログラム(プログラム−C)からでも同様に可
能(S44)である。このようにすることで、同一OS上
で発生するイベントと異なるOS上で発生するイベント
を同時に待機することが可能となる。同じ様に、OS−
B用のイベント処理テーブル72が用意されており、前
記説明と対称的にOS−B側のプログラムでイベント待
機をすることが可能である。
An OS-A event processing table 71 exists on a memory managed by the inter-OS control software 23. The event numbers that can be processed are i1, i2,... IN, and there are N corresponding entries. The event processing table is empty in the initial state. OS
When the program on the -A side (program-A) specifies the event number (i2), notifies the occurrence of the event, and issues a standby request to the inter-OS control software 23 (S41).
The inter-OS control software 23 stores the program (program-program) in the entry i2 of the corresponding event in the table 71.
Record that A) is waiting. The program that has issued the standby request stops execution by the program interrupt function of the OS-A. Next, when the event number (iN) is designated by the program (program-D) on the OS-B side and the event occurrence notification (S42) is received, the inter-OS control software 2
3 looks at the corresponding entry iN in the table 71 and checks the OS-A
Side determines whether there is a program waiting. If there is a program waiting, a request to cancel the standby of the program (program-B) is made to the OS-A (S4).
3). Thus, the waiting OS-A-side program resumes execution, and knows that the waiting event has occurred. Further, the notification of the occurrence of the event can be similarly made from the program (program-C) operating on the OS-A (S44). This makes it possible to simultaneously wait for an event occurring on the same OS and an event occurring on a different OS. Similarly, OS-
An event processing table 72 for B is prepared, and the program on the OS-B side can wait for an event symmetrically with the above description.

【0036】前記イベント通知で使用するプログラムの
中断と再開機能は、OS−A側では、デバイスドライバ
として動作しているOS間制御ソフトウェア23が、デ
バイスに対する入出力を開始および終了したことを報告
する機能を使い実現できる。OS−B側では、OS間制
御ソフトウェア23が、直接プログラムの中断・再開を
行うOS−Bのルーチンを呼出すことで実現する。前記
イベント通知の説明では待機する単位はプログラムと記
述したが、マルチスレッド環境を提供するOSでは、動
作単位であるスレッドの中断と再開が行われる。またイ
ベント処理テーブルにはプログラムの番号を格納すると
記述したが、代わりに待機しているものを判別するため
の、OS内構造体やそのポインタを格納してもよい。さ
らに、OS間制御ソフトウェア23の管理するメモリ上
に別途バッファを設けて、イベント通知側から発生通知
と同時にデータを受け取りバッファに記録し、待機解除
時にデータを渡すように構成すれば、到着待機機能を持
つメッセージ通信機能が実現できる。
The function of suspending and resuming the program used for the event notification is that the OS-A side reports that the inter-OS control software 23 operating as a device driver has started and ended input / output to the device. It can be realized using functions. On the OS-B side, this is realized by the inter-OS control software 23 calling an OS-B routine for directly suspending and resuming the program. In the description of the event notification, the unit of waiting is described as a program. However, in an OS that provides a multi-thread environment, a thread, which is an operation unit, is suspended and resumed. Although the event processing table is described to store the number of the program, a structure in the OS and a pointer for determining a standby one may be stored instead. Furthermore, if a buffer is separately provided on a memory managed by the inter-OS control software 23, data is received and recorded in the buffer at the same time as the occurrence notification from the event notification side, and the data is passed when the standby is released, the arrival standby function is realized. A message communication function having

【0037】さらに、OS間制御ソフトウェア23は、
OS−AあるいはOS−BのいずれかのOSを動作させ
たまま、もう一方のOSを停止,再起動する機能を提供
する。
Further, the inter-OS control software 23 includes:
A function is provided for stopping and restarting one of the OS-A or OS-B while operating the other OS.

【0038】第1に、OS−Aを動作させたまま、OS
−Bを停止,再起動する処理について説明する。OS−
Bがシャットダウンする場合、または例外が発生し強制
停止する場合、OS間制御ソフトウェア23のルーチン
を呼出し、これを通知する。OS間制御ソフトウェア2
3では、以後OS−Bに動作切替えを行わないようにす
るので、OS−Aのみ継続動作する。また、OS−Bは
OS間制御ソフトウェア23から所定の初期化ルーチン
が呼出されることにより起動するので、再起動は通常起
動と全く同様にできる。
First, while operating the OS-A, the OS
A process of stopping and restarting -B will be described. OS-
When B shuts down, or when an exception occurs and it is forcibly stopped, a routine of the inter-OS control software 23 is called and this is notified. OS control software 2
In No. 3, since the operation is not switched to the OS-B thereafter, only the OS-A continues to operate. Further, since the OS-B is started by calling a predetermined initialization routine from the inter-OS control software 23, the restart can be performed in exactly the same manner as the normal start.

【0039】第2に、OS−Bを動作させたまま、OS
−Aを停止,再起動する処理について説明する。OS−
Aのシャットダウン時は、OS−A上のプログラムでシ
ャットダウンの実行を検出してOS間制御ソフトウェア
23に通知する。又OS−Aの例外発生時は、OS間制
御ソフトウェア23の割込みハンドラで判定する。これ
により、OS−Aのシャットダウン時または例外発生時
には、OS間制御ソフトウェア23ではOS−Aへの動
作切替えを行わないようにするので、OS−Bのみが継
続動作することになる。ところが、停止したOS−Aを
通常の起動の場合と同様に再起動すると、バスなど、O
S−Bも使用している共通ハードウェアの初期化も行っ
てしまい、OS−Bの継続動作を妨げる場合がおこる。
そこで、OS−Aの停止後再起動は図7に示した手順で
行う。電源投入時、OS−Aは共通ハードウェアの初期
化(S51)を行う。その後、デバイスドライバとして
動作しているOS間制御ソフトウェア23は、OS−A
が管理するハードウェアの初期化処理のタイミングを与
えられるが、ここでコンテキストの保存(S52)を行
う。このコンテキストの保存では、レジスタの内容の
他、OS−Aが管理する全メモリ領域の内容を、OS間
制御ソフトウェア23の管理するメモリ領域にコピーす
る。その後、OS−Aが管理するハードウェアの初期化
(S53)が、OS−A側の各デバイスドライバによっ
て行われる。この初期化処理後、OS−Aは通常運用の
状態になるが、OS−Aの通常運用中、シャットダウン
または例外発生によってOS−Aが動作停止した場合、
OS間制御ソフトウェア23は前述の通りOS−Aのみ
の停止を行う(S54)。その後、OS間制御ソフトウ
ェア23が自動で、あるいはOS−B側のプログラムか
らの要求で、OS−A側の保存しておいたコンテキスト
の復旧を行う(S55)。すなわちOS−Aが管理する
ハードウェアの初期化処理の際(S52)に保存したコ
ンテキストにより、初期化時点のメモリ内容を再現し、
又レジスタ内容を復旧し、この時点でOS−Aへの動作
切替えを再開する。これによりOS−Aは共通ハードウ
ェアの設定が終了した直後から実行を再開し、OS−A
が管理するハードウェアの初期化のみを行った後、再び
通常運用に戻ることになるため、OS−Bも使用してい
る共通ハードウェアの初期化を再度行うことが無い。
Second, while operating the OS-B, the OS
A process of stopping and restarting -A will be described. OS-
At the time of the shutdown of A, the execution of the shutdown is detected by the program on the OS-A and the inter-OS control software 23 is notified. When an exception occurs in the OS-A, it is determined by an interrupt handler of the inter-OS control software 23. Accordingly, when the OS-A is shut down or an exception occurs, the inter-OS control software 23 does not switch the operation to the OS-A, so that only the OS-B continues to operate. However, when the stopped OS-A is restarted in the same manner as in the normal startup, the OS such as a bus
The common hardware that also uses the SB is also initialized, which may hinder the continuous operation of the OS-B.
Thus, the restart of the OS-A after the stop is performed according to the procedure shown in FIG. When the power is turned on, the OS-A initializes the common hardware (S51). After that, the inter-OS control software 23 operating as a device driver becomes the OS-A
Is given the timing of the initialization processing of the hardware managed by the user, but the context is saved (S52) here. In saving the context, the contents of the entire memory area managed by the OS-A in addition to the contents of the register are copied to the memory area managed by the inter-OS control software 23. Thereafter, initialization of the hardware managed by the OS-A (S53) is performed by each device driver on the OS-A side. After this initialization process, the OS-A enters a normal operation state. However, during normal operation of the OS-A, if the OS-A stops operating due to a shutdown or occurrence of an exception,
The inter-OS control software 23 stops only the OS-A as described above (S54). Thereafter, the inter-OS control software 23 restores the context saved on the OS-A side automatically or in response to a request from the program on the OS-B side (S55). That is, the contents of the memory at the time of initialization are reproduced by the context saved in the initialization processing of the hardware managed by the OS-A (S52),
Further, the contents of the register are restored, and at this point, the operation switching to the OS-A is restarted. As a result, the OS-A resumes execution immediately after the setting of the common hardware is completed, and the OS-A
Since only the hardware managed by the OS-B is returned to the normal operation again, the initialization of the common hardware used by the OS-B is not performed again.

【0040】本実施例では、汎用OSであるOS−Aに
関して、割込みコントローラ19に対する処理を修正す
るだけで、それ以外に変更は加えていない。これは、汎
用OSのOS−Aに対して、OS−BおよびOS間制御
ソフトウェア23の追加を非常に容易にしている。
In the present embodiment, only the processing for the interrupt controller 19 is modified for the OS-A, which is a general-purpose OS, and no other changes are made. This makes it very easy to add the OS-B and the inter-OS control software 23 to the general-purpose OS-A.

【0041】[0041]

【発明の効果】以上のように、本発明によれば、制御装
置内の単一のCPU上で複数のOSを動作させる際に、
OSおよび他プログラムの異常の影響を局所化し、また
OS単位での部分的な再起動により制御装置全体の動作
を停止せずに正常動作に復旧させることが可能となり、
信頼性が向上する。また、通常のOSおよびプログラム
動作空間から独立した空間で、OSの動作を監視するこ
とが可能となり、信頼性が向上する。
As described above, according to the present invention, when a plurality of OSs are operated on a single CPU in a control device,
It is possible to localize the influence of the abnormalities of the OS and other programs, and to restore the normal operation without stopping the operation of the entire control device by partially restarting the OS unit.
Reliability is improved. Further, the operation of the OS can be monitored in a space independent of the normal OS and program operation space, and the reliability is improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を用いた実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment using the present invention.

【図2】制御装置内でのメモリの使用状況を説明した図
である。
FIG. 2 is a diagram illustrating a state of use of a memory in a control device.

【図3】OS−A動作中の割込み処理手順を説明したフ
ローチャートである。
FIG. 3 is a flowchart illustrating an interrupt processing procedure during an OS-A operation.

【図4】OS−B動作中の割込み処理手順を説明したフ
ローチャートである。
FIG. 4 is a flowchart illustrating an interrupt processing procedure during an OS-B operation.

【図5】OS切替え処理の手順を説明したフローチャー
トである。
FIG. 5 is a flowchart illustrating a procedure of an OS switching process.

【図6】イベント発生通知機能を説明する図である。FIG. 6 is a diagram illustrating an event occurrence notification function.

【図7】OS−Aのみを再起動するための処理手順を説
明したフローチャートである。
FIG. 7 is a flowchart illustrating a processing procedure for restarting only the OS-A.

【符号の説明】[Explanation of symbols]

1…制御装置、2…制御対象装置、3…ネットワーク、
11…中央演算処理ユニット(CPU)、12…入出力
装置、13…メモリ、14…タイマ、19…割込みコン
トローラ、21…オペレーティングシステムA(OS−
A)、22…オペレーティングシステムB(OS−
B)、23…OS間制御ソフトウェア、24…制御監視
プログラム、25…開発環境プログラム、26…制御プ
ログラム。
1 ... Control device, 2 ... Control target device, 3 ... Network,
11 central processing unit (CPU), 12 input / output device, 13 memory, 14 timer, 19 interrupt controller, 21 operating system A (OS-
A), 22 ... Operating system B (OS-
B), 23: inter-OS control software, 24: control monitoring program, 25: development environment program, 26: control program

───────────────────────────────────────────────────── フロントページの続き (72)発明者 金子 茂則 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 吉沢 亮吉 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 加藤 直 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 山内 学 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 新井 利明 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 関口 知紀 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B098 BA06 BB03 BB06 EE02 GA02 GA07 GB01 GC03 GC05 GC16 GD03 GD20  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Shigenori Kaneko 5-2-1, Omika-cho, Hitachi City, Ibaraki Prefecture Inside the Omika Plant of Hitachi, Ltd. (72) Ryoyoshi Yoshizawa 5-chome, Omika-cho, Hitachi City, Ibaraki Prefecture No. 1 Inside the Hitachi, Ltd. Omika Plant (72) Inventor Nao Kato 5-2-1 Omika-cho, Hitachi City, Ibaraki Prefecture Inside the Hitachi, Ltd. Omika Plant (72) Inventor Manabu Yamauchi Omika, Hitachi City, Ibaraki Prefecture 5-2-1, Machi, Omika Plant, Hitachi, Ltd. (72) Inventor Toshiaki Arai 1099, Ozenji, Aso-ku, Kawasaki, Kanagawa Prefecture, Japan System Development Laboratory, Hitachi, Ltd. (72) Inventor Tomoki Sekiguchi, Kawasaki, Kanagawa Prefecture 1099 Ozenji, Aso-ku, Yokohama F-term in Hitachi, Ltd. System Development Laboratory 5B098 BA0 6 BB03 BB06 EE02 GA02 GA07 GB01 GC03 GC05 GC16 GD03 GD20

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】ディジタル演算プロセッサにて動作する複
数のオペレーティングシステムを塔載し、当該複数のオ
ペレーティングシステムの内、第1のオペレーティング
システムと第2のオペレーティングシステムとが前記デ
ィジタル演算プロセッサにて交互に動作を切替えるマル
チオペレーティングシステム制御方法において、 前記第1のオペレーティングシステムの起動時に、前記
第2のオペレーティングシステムが使用する割込み番号
あるいは入出力アドレスを前記第1のオペレーティング
システム対して予約する処理を備えたことを特徴とする
マルチオペレーティングシステム制御方法。
A plurality of operating systems operating on a digital processor are provided, and among the plurality of operating systems, a first operating system and a second operating system are alternately executed by the digital processor. A multi-operating system control method for switching operations, comprising a step of reserving, for the first operating system, an interrupt number or an input / output address used by the second operating system when the first operating system is started. A method for controlling a multi-operating system, the method comprising:
【請求項2】請求項1に記載のマルチオペレーティング
システム制御方法において、前記ディジタル演算プロセ
ッサが仮想メモリアドレスから物理アドレスに変換する
ために使用する変換テーブルが、前記各オペレーティン
グシステム毎に存在し、 割込み発生時に割込み処理ルーチンとして呼出され又は
前記第1及び第2の各オペレーティングシステムから呼
出され、前記各オペレーティングシステムのうちいずれ
か一つを選択して切替える切替え処理の際に、オペレー
ティングシステムを選択して切替える時点で、切替え後
に動作させるオペレーティングシステムの前記変換テー
ブルを使用するように前記ディジタル演算プロセッサに
対して指示する処理を行うことを特徴とするマルチオペ
レーティングシステム制御方法。
2. The multi-operating system control method according to claim 1, wherein a conversion table used by the digital arithmetic processor to convert a virtual memory address to a physical address exists for each of the operating systems, and Called as an interrupt processing routine at the time of occurrence or called from the first and second operating systems, and in the switching process for selecting and switching any one of the operating systems, the operating system is selected. A multi-operating system control method, wherein at the time of switching, a process of instructing the digital arithmetic processor to use the conversion table of the operating system operated after the switching is performed.
【請求項3】請求項1に記載のマルチオペレーティング
システム制御方法において、 動作している前記各オペレーティングシステムに優先順
位を付け、 優先順位の高いオペレーティングシステム上で動作する
プログラムの処理がある間は、より優先順位の低いオペ
レーティングシステムへの動作切替えを行わないか、ま
たは一定の時間割合のみ動作を切替えその後高優先順位
のオペレーティングシステムへ動作を戻すことにより、
前記優先順位の高いオペレーティングシステム上で動作
するプログラムを優先して実行することを特徴とするマ
ルチオペレーティングシステム制御方法。
3. The multi-operating system control method according to claim 1, wherein priorities are assigned to the respective operating systems operating, and while there is processing of a program operating on the operating system with a higher priority, By not switching the operation to the lower priority operating system, or by switching the operation only for a certain percentage of time and then returning to the higher priority operating system,
A multi-operating system control method, wherein a program operating on an operating system with a higher priority is preferentially executed.
JP10242833A 1998-08-28 1998-08-28 Multioperating system control method Pending JP2000076087A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10242833A JP2000076087A (en) 1998-08-28 1998-08-28 Multioperating system control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10242833A JP2000076087A (en) 1998-08-28 1998-08-28 Multioperating system control method

Publications (1)

Publication Number Publication Date
JP2000076087A true JP2000076087A (en) 2000-03-14

Family

ID=17094977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10242833A Pending JP2000076087A (en) 1998-08-28 1998-08-28 Multioperating system control method

Country Status (1)

Country Link
JP (1) JP2000076087A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002306804A (en) * 2001-04-09 2002-10-22 Sankyo Kk Game machine
JP2004526229A (en) * 2000-12-27 2004-08-26 インテル・コーポレーション A method for resolving address space conflicts between a virtual machine monitor and a guest operating system
JP2004537786A (en) * 2001-06-08 2004-12-16 ヒューレット・パッカード・カンパニー A secure machine platform that interfaces with the operating system and customized control programs
JP2004362564A (en) * 2003-05-30 2004-12-24 Sharp Corp Virtual processor method and device by unified event notification and consumer-producer memory calculation
JP2005011336A (en) * 2003-05-29 2005-01-13 Matsushita Electric Ind Co Ltd Information processor capable of switching operation systems
US6996828B1 (en) 1997-09-12 2006-02-07 Hitachi, Ltd. Multi-OS configuration method
US7069519B1 (en) 1999-09-24 2006-06-27 Hitachi, Ltd. Method, apparatus and navigation apparatus for sharing display by plural operating systems
EP1703385A2 (en) 2005-03-18 2006-09-20 Fujitsu Limited Operating system switchover method
CN100432944C (en) * 2005-09-30 2008-11-12 中国科学院研究生院 Computer system
US7487367B2 (en) 2002-11-18 2009-02-03 Arm Limited Apparatus and method for managing access to a memory
JP2010104845A (en) * 2010-02-17 2010-05-13 Sankyo Co Ltd Game machine
US7849310B2 (en) 2002-11-18 2010-12-07 Arm Limited Switching between secure and non-secure processing modes
US7849296B2 (en) 2002-11-18 2010-12-07 Arm Limited Monitoring control for monitoring at least two domains of multi-domain processors
KR101015456B1 (en) * 2002-11-18 2011-02-22 에이알엠 리미티드 Control of access to a memory by a device
JP2012003510A (en) * 2010-06-17 2012-01-05 Mitsubishi Electric Corp Computer and transfer program
US8713371B2 (en) 2011-01-28 2014-04-29 Arm Limited Controlling generation of debug exceptions
US8718629B2 (en) 2006-07-18 2014-05-06 Nec Corporation Information communication processing device, information communication terminal, information communication system, function switching method and function switching program
JP2014219947A (en) * 2013-05-11 2014-11-20 レノボ・シンガポール・プライベート・リミテッド Method for constructing secure operating environment for computer, computer program, and computer
US20180314236A1 (en) 2017-04-27 2018-11-01 Fanuc Corporation Numerical controller
JP2019003271A (en) * 2017-06-12 2019-01-10 ファナック株式会社 Machine learning device, control device, and machine learning program

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996828B1 (en) 1997-09-12 2006-02-07 Hitachi, Ltd. Multi-OS configuration method
US7069519B1 (en) 1999-09-24 2006-06-27 Hitachi, Ltd. Method, apparatus and navigation apparatus for sharing display by plural operating systems
JP2004526229A (en) * 2000-12-27 2004-08-26 インテル・コーポレーション A method for resolving address space conflicts between a virtual machine monitor and a guest operating system
JP2002306804A (en) * 2001-04-09 2002-10-22 Sankyo Kk Game machine
JP2004537786A (en) * 2001-06-08 2004-12-16 ヒューレット・パッカード・カンパニー A secure machine platform that interfaces with the operating system and customized control programs
US7487367B2 (en) 2002-11-18 2009-02-03 Arm Limited Apparatus and method for managing access to a memory
KR101015456B1 (en) * 2002-11-18 2011-02-22 에이알엠 리미티드 Control of access to a memory by a device
US7849296B2 (en) 2002-11-18 2010-12-07 Arm Limited Monitoring control for monitoring at least two domains of multi-domain processors
US7849310B2 (en) 2002-11-18 2010-12-07 Arm Limited Switching between secure and non-secure processing modes
JP2005011336A (en) * 2003-05-29 2005-01-13 Matsushita Electric Ind Co Ltd Information processor capable of switching operation systems
JP2004362564A (en) * 2003-05-30 2004-12-24 Sharp Corp Virtual processor method and device by unified event notification and consumer-producer memory calculation
US8087034B2 (en) 2003-05-30 2011-12-27 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-produced memory operations
US8271997B2 (en) 2003-05-30 2012-09-18 Steven J. Frank General purpose embedded processor
US8621487B2 (en) 2003-05-30 2013-12-31 Steven J. Frank Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations
EP1703385A2 (en) 2005-03-18 2006-09-20 Fujitsu Limited Operating system switchover method
EP1703385A3 (en) * 2005-03-18 2009-01-21 Fujitsu Limited Operating system switchover method
CN100432944C (en) * 2005-09-30 2008-11-12 中国科学院研究生院 Computer system
JP5621191B2 (en) * 2006-07-18 2014-11-05 日本電気株式会社 Information communication processing device, information communication terminal, information communication system, function switching method, and function switching program
US8718629B2 (en) 2006-07-18 2014-05-06 Nec Corporation Information communication processing device, information communication terminal, information communication system, function switching method and function switching program
JP2010104845A (en) * 2010-02-17 2010-05-13 Sankyo Co Ltd Game machine
JP2012003510A (en) * 2010-06-17 2012-01-05 Mitsubishi Electric Corp Computer and transfer program
US8713371B2 (en) 2011-01-28 2014-04-29 Arm Limited Controlling generation of debug exceptions
JP2014219947A (en) * 2013-05-11 2014-11-20 レノボ・シンガポール・プライベート・リミテッド Method for constructing secure operating environment for computer, computer program, and computer
US20180314236A1 (en) 2017-04-27 2018-11-01 Fanuc Corporation Numerical controller
JP2018185734A (en) * 2017-04-27 2018-11-22 ファナック株式会社 Numerical control device
US10551823B2 (en) 2017-04-27 2020-02-04 Fanuc Corporation Numerical controller
JP2019003271A (en) * 2017-06-12 2019-01-10 ファナック株式会社 Machine learning device, control device, and machine learning program
US10705506B2 (en) 2017-06-12 2020-07-07 Fanuc Corporation Reinforcement learning to allocate processes to a machine tool controller

Similar Documents

Publication Publication Date Title
US6715016B1 (en) Multiple operating system control method
JP2000076087A (en) Multioperating system control method
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
EP1162536A1 (en) Multiple operating system control method
JP3546678B2 (en) Multi-OS configuration method
US8201170B2 (en) Operating systems are executed on common program and interrupt service routine of low priority OS is modified to response to interrupts from common program only
US5706514A (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US5003466A (en) Multiprocessing method and arrangement
US20100332722A1 (en) Virtual machine system and control method thereof
US20050251806A1 (en) Enhancement of real-time operating system functionality using a hypervisor
EP2239662A2 (en) System management mode inter-processor interrupt redirection
EP2182438A1 (en) Virtual machine control method and virtual machine system
JP2000330806A (en) Computer system
JPH02208740A (en) Virtual computer control system
EP0354899A1 (en) Multiprocessing method and arrangement.
US20230333935A1 (en) Quick start method
JP2002259155A (en) Multiprocessor system
EP3846028A1 (en) Method and device for resuming execution of application, and computer
US6963970B2 (en) System and method for executing a fast reset of a computer system
JP4026667B2 (en) Multi-OS configuration method
JPS63310051A (en) Method and apparatus for executing input/output process containing program input/output instruction
JP2001282558A (en) Multi-operating computer system
WO2023241307A1 (en) Method and apparatus for managing threads
JP2001216172A (en) Multi-os constituting method
JP3690666B2 (en) Multi-computer system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060407

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116