JPH06301555A - マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム - Google Patents
マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステムInfo
- Publication number
- JPH06301555A JPH06301555A JP6022701A JP2270194A JPH06301555A JP H06301555 A JPH06301555 A JP H06301555A JP 6022701 A JP6022701 A JP 6022701A JP 2270194 A JP2270194 A JP 2270194A JP H06301555 A JPH06301555 A JP H06301555A
- Authority
- JP
- Japan
- Prior art keywords
- personality
- operating
- operating system
- application
- operating environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 ハードウェア・プラットフォーム上で複数の
オペレーティング・システム環境を並行に動作するため
のシステムおよび方法を提供すること。 【構成】 主パーソナリティ・サーバが基本システム構
成および資源を制御するために設けられる。副サーバ
が、他のオペレーティング・システムのアプリケーショ
ンをサポートするために設けられる。主および副オペレ
ーティング・システム・パーソナリティのそれぞれにつ
いて2進互換性がサポートされる。パーソナリティ中立
サービスが、各オペレーティング・システム環境から抽
出され、パーソナリティ中立サーバ中に合体される。プ
ロセス間通信は、定義済みのオブジェクト指向インタフ
ェースおよび手順インタフェースを使って実施される。
サーバ応答および競合解消は、主パーソナリティ中立サ
ーバによって処理される。
オペレーティング・システム環境を並行に動作するため
のシステムおよび方法を提供すること。 【構成】 主パーソナリティ・サーバが基本システム構
成および資源を制御するために設けられる。副サーバ
が、他のオペレーティング・システムのアプリケーショ
ンをサポートするために設けられる。主および副オペレ
ーティング・システム・パーソナリティのそれぞれにつ
いて2進互換性がサポートされる。パーソナリティ中立
サービスが、各オペレーティング・システム環境から抽
出され、パーソナリティ中立サーバ中に合体される。プ
ロセス間通信は、定義済みのオブジェクト指向インタフ
ェースおよび手順インタフェースを使って実施される。
サーバ応答および競合解消は、主パーソナリティ中立サ
ーバによって処理される。
Description
【0001】
【産業上の利用分野】本発明は、全般的に、情報処理シ
ステムに関し、詳しくは、オペレーティング・システム
に関する。さらに詳細には、本発明は、マイクロカーネ
ル・アーキテクチャを使用して複数の共存オペレーティ
ング・システム・パーソナリティをサポートする方法に
関する。
ステムに関し、詳しくは、オペレーティング・システム
に関する。さらに詳細には、本発明は、マイクロカーネ
ル・アーキテクチャを使用して複数の共存オペレーティ
ング・システム・パーソナリティをサポートする方法に
関する。
【0002】
【従来の技術】コンピュータ・オペレーティング・シス
テムは、コンピュータ・ハードウェア資源の動作を制御
して有用なタスクを実行する。歴史的に見ると、オペレ
ーティング・システムの開発は、ハードウェア製造業者
によって、自社の特定のハードウェア・ブランドを制御
するオペレーティング・システムを提供するために行わ
れてきた。「開放型」システムの出現によって、オペレ
ーティング・システム開発の焦点が変化した。「開放
型」システムは、アプリケーション・プログラム・コー
ドに僅かな変更を加えるだけで複数のハードウェア層、
すなわち、ハードウェア・プラットフォーム上で動作す
ることが期待される。
テムは、コンピュータ・ハードウェア資源の動作を制御
して有用なタスクを実行する。歴史的に見ると、オペレ
ーティング・システムの開発は、ハードウェア製造業者
によって、自社の特定のハードウェア・ブランドを制御
するオペレーティング・システムを提供するために行わ
れてきた。「開放型」システムの出現によって、オペレ
ーティング・システム開発の焦点が変化した。「開放
型」システムは、アプリケーション・プログラム・コー
ドに僅かな変更を加えるだけで複数のハードウェア層、
すなわち、ハードウェア・プラットフォーム上で動作す
ることが期待される。
【0003】コンピュータ・ハードウェアの変化する速
度がますます速くなっており、オペレーティング・シス
テム開発もその影響を受けている。ハードウェアが絶え
ず変化するので、既存のオペレーティング・システムを
新規のハードウェア・プラットフォームに適合させるの
に必要な作業およびコストが増大している。
度がますます速くなっており、オペレーティング・シス
テム開発もその影響を受けている。ハードウェアが絶え
ず変化するので、既存のオペレーティング・システムを
新規のハードウェア・プラットフォームに適合させるの
に必要な作業およびコストが増大している。
【0004】このような傾向のために、コンピュータ業
界はオペレーティング・システム開発の代替方法を模索
し始めた。カーネギー・メロン大学は、「マイクロカー
ネル」アーキテクチャを開発するプロジェクトに着手し
た。このプロジェクトで、Machマイクロカーネルが
開発され、多数のハードウェア・ベンダに提供され、こ
れらのベンダによって適合されている。マイクロカーネ
ル手法では、基本ハードウェア資源の制御をオペレーテ
ィング・システム環境に固有のインタフェースから分離
しようと試みている。ハードウェア制御プロセスは、機
能の最小(「マイクロ」)カーネルにグループ化され
る。このコードを新規のハードウェア・アーキテクチャ
に適合させるのは、ハードウェア依存性が全体に散在し
ている、より大規模なオペレーティング・システムを適
合させるよりもはるかに簡単である。さらに、マイクロ
カーネルへのインタフェースは不変のままなので、新規
のハードウェアに適合させるためにオペレーティング・
システムの高次層を変更しなくて済む。
界はオペレーティング・システム開発の代替方法を模索
し始めた。カーネギー・メロン大学は、「マイクロカー
ネル」アーキテクチャを開発するプロジェクトに着手し
た。このプロジェクトで、Machマイクロカーネルが
開発され、多数のハードウェア・ベンダに提供され、こ
れらのベンダによって適合されている。マイクロカーネ
ル手法では、基本ハードウェア資源の制御をオペレーテ
ィング・システム環境に固有のインタフェースから分離
しようと試みている。ハードウェア制御プロセスは、機
能の最小(「マイクロ」)カーネルにグループ化され
る。このコードを新規のハードウェア・アーキテクチャ
に適合させるのは、ハードウェア依存性が全体に散在し
ている、より大規模なオペレーティング・システムを適
合させるよりもはるかに簡単である。さらに、マイクロ
カーネルへのインタフェースは不変のままなので、新規
のハードウェアに適合させるためにオペレーティング・
システムの高次層を変更しなくて済む。
【0005】マイクロカーネル手法は、オペレーティン
グ・システムを新規のハードウェア・プラットフォーム
に迅速に適合させ、多数のオペレーティング・システム
を既存のプラットフォームに迅速に適合できるようにす
る方法として提案された。特定のハードウェア・アーキ
テクチャ用の各システム・プロダクトに単一または複数
のオペレーティング・システム・パーソナリティ(pers
onality)を与えることが提案されている。より詳しい
背景については、リチャード・ラシード(Richard Rash
id)著"A Catalyst for Open System"(Datamation、1
989年5月15日、pp.32−33)を参照された
い。パーソナリティとは、OSカーネル(たとえば、マ
イクロカーネル)上で動作するDOS、Window
s、AIX等のOSサービスのことである。
グ・システムを新規のハードウェア・プラットフォーム
に迅速に適合させ、多数のオペレーティング・システム
を既存のプラットフォームに迅速に適合できるようにす
る方法として提案された。特定のハードウェア・アーキ
テクチャ用の各システム・プロダクトに単一または複数
のオペレーティング・システム・パーソナリティ(pers
onality)を与えることが提案されている。より詳しい
背景については、リチャード・ラシード(Richard Rash
id)著"A Catalyst for Open System"(Datamation、1
989年5月15日、pp.32−33)を参照された
い。パーソナリティとは、OSカーネル(たとえば、マ
イクロカーネル)上で動作するDOS、Window
s、AIX等のOSサービスのことである。
【0006】カーネギー・メロン大学(CMU)のMa
chマイクロカーネルの開発者は、単一のマイクロカー
ネル上で走行する複数のオペレーティング・システム・
パーソナリティをサポートすることを提案している。こ
の手法は、"Generalized Emulation Services for Mach
3.0 - Overview, Experience and Current Status"(U
SENIX Association - Mach Symposium Proceedings、1
991年11月、pp.13−26)で論じられてい
る。
chマイクロカーネルの開発者は、単一のマイクロカー
ネル上で走行する複数のオペレーティング・システム・
パーソナリティをサポートすることを提案している。こ
の手法は、"Generalized Emulation Services for Mach
3.0 - Overview, Experience and Current Status"(U
SENIX Association - Mach Symposium Proceedings、1
991年11月、pp.13−26)で論じられてい
る。
【0007】前記の論文では、エミュレーションによっ
て複数の対象のオペレーティング・システムを提供する
ことが提案されている。この場合、エミュレーション・
ライブラリを、エミュレートされた各プロセスと関連付
けて、そのプロセスで必要なオペレーティング・システ
ム環境のエミュレーションが提供される。提案されたシ
ステムでは、専用オペレーティング・システム・エミュ
レーションを、ファイル管理、端末通信、プロセス管理
などの共通タスクを処理する汎用サーバと組み合わせて
いる。汎用サーバは、別個のプロセスとして実行され、
Machメッセージを介してエミュレーション・ライブ
ラリと通信する。
て複数の対象のオペレーティング・システムを提供する
ことが提案されている。この場合、エミュレーション・
ライブラリを、エミュレートされた各プロセスと関連付
けて、そのプロセスで必要なオペレーティング・システ
ム環境のエミュレーションが提供される。提案されたシ
ステムでは、専用オペレーティング・システム・エミュ
レーションを、ファイル管理、端末通信、プロセス管理
などの共通タスクを処理する汎用サーバと組み合わせて
いる。汎用サーバは、別個のプロセスとして実行され、
Machメッセージを介してエミュレーション・ライブ
ラリと通信する。
【0008】しかし、このCMUの手法は、性能を大幅
に低下させずに複数のオペレーティング・システムを同
時にサポートできるほど一般化されていない。CMUに
よって提案されたエミュレーション・ライブラリは、ア
プリケーション・プロセスのアドレス空間内で走行す
る。オペレーティング・システムの複雑さが多くはエミ
ュレーション・ライブラリに組み込まれるため、ライブ
ラリが大規模かつ複雑になる。エミュレートされたライ
ブラリを使用する各アプリケーションは、そのライブラ
リをそれ自体のアドレス空間にロードする必要がある。
したがって、メモリ・オーバヘッドとシステム資源消費
量が重大な問題となる。最後に、サポートされる各オペ
レーティング・システムがエミュレートされるので、オ
ペレーティング・システムはすべて、エミュレーション
環境によって性能が低下する。
に低下させずに複数のオペレーティング・システムを同
時にサポートできるほど一般化されていない。CMUに
よって提案されたエミュレーション・ライブラリは、ア
プリケーション・プロセスのアドレス空間内で走行す
る。オペレーティング・システムの複雑さが多くはエミ
ュレーション・ライブラリに組み込まれるため、ライブ
ラリが大規模かつ複雑になる。エミュレートされたライ
ブラリを使用する各アプリケーションは、そのライブラ
リをそれ自体のアドレス空間にロードする必要がある。
したがって、メモリ・オーバヘッドとシステム資源消費
量が重大な問題となる。最後に、サポートされる各オペ
レーティング・システムがエミュレートされるので、オ
ペレーティング・システムはすべて、エミュレーション
環境によって性能が低下する。
【0009】複数のオペレーティング・システム・パー
ソナリティをサポートできる操作環境を高い費用効果で
開発するには、オペレーティング・システム間の共通要
素を抽出して合体し、制限された数のプロセスにする必
要がある。また、システム・ユーザが全体的システム機
能を制御する単一の主パーソナリティすなわち、ドメイ
ン(domain)パーソナリティ、を選択できるようにする
と共に、必要に応じて他のオペレーティング・システム
を使用できることが好ましい。
ソナリティをサポートできる操作環境を高い費用効果で
開発するには、オペレーティング・システム間の共通要
素を抽出して合体し、制限された数のプロセスにする必
要がある。また、システム・ユーザが全体的システム機
能を制御する単一の主パーソナリティすなわち、ドメイ
ン(domain)パーソナリティ、を選択できるようにする
と共に、必要に応じて他のオペレーティング・システム
を使用できることが好ましい。
【0010】
【発明が解決しようとする課題】本発明が対象とする技
術的問題は、ハードウェア・システム上で複数の並行な
オペレーティング・システムを効率的にサポートするた
めのシステムおよび方法を開発することである。第2の
問題は、必然的に複数のシステムによって共用されるハ
ードウェア資源と通信するための効果的な手段を提供す
ることである。
術的問題は、ハードウェア・システム上で複数の並行な
オペレーティング・システムを効率的にサポートするた
めのシステムおよび方法を開発することである。第2の
問題は、必然的に複数のシステムによって共用されるハ
ードウェア資源と通信するための効果的な手段を提供す
ることである。
【0011】本発明は、複数の並行なオペレーティング
・システム・パーソナリティをサポートするためのシス
テムおよび方法を実施することによりこれらの問題を解
決することを対象とする。
・システム・パーソナリティをサポートするためのシス
テムおよび方法を実施することによりこれらの問題を解
決することを対象とする。
【0012】本発明は、オペレーティング・システム・
パーソナリティ間で資源を調整し、パーソナリティ間で
効果的に通信を行うための構成要素を有するシステムを
提供する。効果的な通信の方法も開示する。
パーソナリティ間で資源を調整し、パーソナリティ間で
効果的に通信を行うための構成要素を有するシステムを
提供する。効果的な通信の方法も開示する。
【0013】したがって、本発明の一目的は、アプリケ
ーション・プロセスに対して透過的な並行オペレーティ
ング・システム・サポートを提供することである。
ーション・プロセスに対して透過的な並行オペレーティ
ング・システム・サポートを提供することである。
【0014】本発明の他の目的は、主パーソナリティの
性能を低下させずに、複数の並行なオペレーティング・
システムのサポートを提供することである。
性能を低下させずに、複数の並行なオペレーティング・
システムのサポートを提供することである。
【0015】本発明の他の目的は、以前からのオペレー
ティング・システム・アプリケーションを保存するシス
テムを提供することである。
ティング・システム・アプリケーションを保存するシス
テムを提供することである。
【0016】
【課題を解決するための手段】本発明は、基本カーネル
・サービスを実行する手段と、第1のオペレーティング
・システム・プロトコルに従ってオペレーティング・シ
ステム・サービスを提供することによりシステム動作全
体を制御する主パーソナリティ手段と、アプリケーショ
ン・プログラムからオペレーティング・システム・サー
ビス要求を受け取るアプリケーション・インタフェース
手段と、第1のオペレーティング・システム・プロトコ
ルと異なる1つまたは複数のオペレーティング・システ
ム・プロトコルに従ってオペレーティング・システム・
サービスを提供する副パーソナリティ手段と、基本カー
ネル・サービスを実行する手段、主パーソナリティ手
段、アプリケーション・インタフェース手段、および副
パーソナリティ手段をリンクするインタフェース手段と
を有する、共存する複数のオペレーティング・システム
をサポートするシステムを対象とする。
・サービスを実行する手段と、第1のオペレーティング
・システム・プロトコルに従ってオペレーティング・シ
ステム・サービスを提供することによりシステム動作全
体を制御する主パーソナリティ手段と、アプリケーショ
ン・プログラムからオペレーティング・システム・サー
ビス要求を受け取るアプリケーション・インタフェース
手段と、第1のオペレーティング・システム・プロトコ
ルと異なる1つまたは複数のオペレーティング・システ
ム・プロトコルに従ってオペレーティング・システム・
サービスを提供する副パーソナリティ手段と、基本カー
ネル・サービスを実行する手段、主パーソナリティ手
段、アプリケーション・インタフェース手段、および副
パーソナリティ手段をリンクするインタフェース手段と
を有する、共存する複数のオペレーティング・システム
をサポートするシステムを対象とする。
【0017】図面では、同じ符号は、本発明の同じ部品
を表す。
を表す。
【0018】
【実施例】マイクロカーネルは、特定のハードウェア・
アーキテクチャのハードウェア制御プロセスを、容易に
修正できる単一のマイクロカーネルにカプセル化するよ
うに設計されている。この手法は、多数の異なるハード
ウェア・アーキテクチャでマイクロカーネル・インタフ
ェースを使用できるように設計されている。図1に、マ
イクロカーネル・ベースのオペレーティング・システム
が動作するハードウェア構成の例を示す。基本構成要素
には、1つまたは複数の処理装置またはCPU102、
ハード・ディスクまたはその他の永久的な記憶装置10
4、ランダム・アクセス・メモリ(RAM)106、ア
ダプタ108を介するネットワーク通信サポート、なら
びに入出力制御装置110を介する表示装置112、キ
ーボード114、およびポインティング装置116への
入出力サポートが含まれる。これらの構成要素は、シス
テム・バス103を介して通信する。
アーキテクチャのハードウェア制御プロセスを、容易に
修正できる単一のマイクロカーネルにカプセル化するよ
うに設計されている。この手法は、多数の異なるハード
ウェア・アーキテクチャでマイクロカーネル・インタフ
ェースを使用できるように設計されている。図1に、マ
イクロカーネル・ベースのオペレーティング・システム
が動作するハードウェア構成の例を示す。基本構成要素
には、1つまたは複数の処理装置またはCPU102、
ハード・ディスクまたはその他の永久的な記憶装置10
4、ランダム・アクセス・メモリ(RAM)106、ア
ダプタ108を介するネットワーク通信サポート、なら
びに入出力制御装置110を介する表示装置112、キ
ーボード114、およびポインティング装置116への
入出力サポートが含まれる。これらの構成要素は、シス
テム・バス103を介して通信する。
【0019】図1の汎用システムは、IBM PS/2
コンピュータやIBM RISCシステム/6000コ
ンピュータ(PS/2およびRISC/6000はIB
Mの商標)など多数の市販のシステムで実施される。本
発明の並行オペレーティング・システム・サポートは、
これらのまたはマイクロカーネルを実行するように適合
された新規のどんなハードウェア・アーキテクチャ上で
も機能するように設計されている。
コンピュータやIBM RISCシステム/6000コ
ンピュータ(PS/2およびRISC/6000はIB
Mの商標)など多数の市販のシステムで実施される。本
発明の並行オペレーティング・システム・サポートは、
これらのまたはマイクロカーネルを実行するように適合
された新規のどんなハードウェア・アーキテクチャ上で
も機能するように設計されている。
【0020】本発明のシステムを図2に概略的に示す。
基本マイクロカーネル層は202に示されている。マイ
クロカーネルは、ハードウェア層204への標準インタ
フェースと、オペレーティング・システム・パーソナリ
ティ206への標準インタフェースを提供する。並行オ
ペレーティング・システム・サポートを実施する本発明
の主な構成要素は、208、210、212、214に
示されている。これらの構成要素は、定義されたインタ
フェース209、211、213、215によってリン
クされる。
基本マイクロカーネル層は202に示されている。マイ
クロカーネルは、ハードウェア層204への標準インタ
フェースと、オペレーティング・システム・パーソナリ
ティ206への標準インタフェースを提供する。並行オ
ペレーティング・システム・サポートを実施する本発明
の主な構成要素は、208、210、212、214に
示されている。これらの構成要素は、定義されたインタ
フェース209、211、213、215によってリン
クされる。
【0021】好ましい実施例のシステムは、ハードウェ
ア・システムに対する全体的制御を提供する主パーソナ
リティ・サーバ210を有する。主パーソナリティ・サ
ーバ210は、ハードウェア・システムの初期ブート時
に制御を与えられ、基本オペレーティング・システム構
成要素を確立する。主パーソナリティ・サーバ210は
また、通信アダプタや表示装置などの共用システム資源
へのアクセスを調整する。主パーソナリティ・サーバ2
10は、インタフェース211を介して他のプロセスと
通信する。
ア・システムに対する全体的制御を提供する主パーソナ
リティ・サーバ210を有する。主パーソナリティ・サ
ーバ210は、ハードウェア・システムの初期ブート時
に制御を与えられ、基本オペレーティング・システム構
成要素を確立する。主パーソナリティ・サーバ210は
また、通信アダプタや表示装置などの共用システム資源
へのアクセスを調整する。主パーソナリティ・サーバ2
10は、インタフェース211を介して他のプロセスと
通信する。
【0022】インタフェース211は、オブジェクト指
向インタフェースならびに標準手順インタフェースを含
む。オブジェクト指向インタフェースは、主パーソナリ
ティから送られるオブジェクト・メッセージに応答し、
あるいは主パーソナリティに応答する。手順インタフェ
ースは、何らかのコマンドまたはルーチン呼出しと、パ
ラメータを受け入れる従来型のアプリケーション・プロ
グラミング・インタフェース(API)である。インタ
フェース211は、Machマイクロカーネル・メッセ
ージ・サービスを介して他のプロセスと通信する。
向インタフェースならびに標準手順インタフェースを含
む。オブジェクト指向インタフェースは、主パーソナリ
ティから送られるオブジェクト・メッセージに応答し、
あるいは主パーソナリティに応答する。手順インタフェ
ースは、何らかのコマンドまたはルーチン呼出しと、パ
ラメータを受け入れる従来型のアプリケーション・プロ
グラミング・インタフェース(API)である。インタ
フェース211は、Machマイクロカーネル・メッセ
ージ・サービスを介して他のプロセスと通信する。
【0023】パーソナリティ中立(neutral)サービス
212は、オペレーティング・システムの特色を有する
必要がない一般的なタスクをサポートするために提供さ
れる。このようなサービスの例として、ファイル・シス
テム、通信移送サービス、および分散システム・サービ
スがある。これらのパーソナリティ中立サービス212
は、どのオペレーティング・システム・パーソナリティ
からのプロセス要求でも受け入れ、必要なサービスを供
給する。これらのサービスの調整は、オブジェクト指向
インタフェースおよび手順インタフェース213を介し
て行われる。
212は、オペレーティング・システムの特色を有する
必要がない一般的なタスクをサポートするために提供さ
れる。このようなサービスの例として、ファイル・シス
テム、通信移送サービス、および分散システム・サービ
スがある。これらのパーソナリティ中立サービス212
は、どのオペレーティング・システム・パーソナリティ
からのプロセス要求でも受け入れ、必要なサービスを供
給する。これらのサービスの調整は、オブジェクト指向
インタフェースおよび手順インタフェース213を介し
て行われる。
【0024】その他のオペレーティング・システム・パ
ーソナリティは、副(sub-dominant)パーソナリティ・
サーバ214として実施される。これらのインタフェー
スはそれぞれ、インタフェース215を介してマイクロ
カーネルおよび他のサーバと相互接続される。その他の
パーソナリティは、主パーソナリティ環境と異なるパー
ソナリティ環境用のオペレーティング・システム環境を
提供する。また、パーソナリティ特有のサービス216
をさらに分離することもできる。
ーソナリティは、副(sub-dominant)パーソナリティ・
サーバ214として実施される。これらのインタフェー
スはそれぞれ、インタフェース215を介してマイクロ
カーネルおよび他のサーバと相互接続される。その他の
パーソナリティは、主パーソナリティ環境と異なるパー
ソナリティ環境用のオペレーティング・システム環境を
提供する。また、パーソナリティ特有のサービス216
をさらに分離することもできる。
【0025】システムまたはユーザが実行するアプリケ
ーションが208に示されている。アプリケーション
は、主パーソナリティやマイクロカーネルを知らずに実
行される。各アプリケーションはそれぞれ、その対象の
オペレーティング・システムがコンピュータ・ハードウ
ェアの完全な制御下にある場合と同様に実行される。
ーションが208に示されている。アプリケーション
は、主パーソナリティやマイクロカーネルを知らずに実
行される。各アプリケーションはそれぞれ、その対象の
オペレーティング・システムがコンピュータ・ハードウ
ェアの完全な制御下にある場合と同様に実行される。
【0026】アプリケーションの処理は、以下のように
行われる。アプリケーションが、アプリケーション・タ
スク領域で実行を開始する。アプリケーションがオペレ
ーティング・システム特有の要求を行うたびに、その要
求が、オブジェクト指向/手順フレームワーク209に
より、マイクロカーネル、副パーソナリティ・サーバ2
14、パーソナリティ中立サーバ、または主パーソナリ
ティ・サーバ210によるサービス要求に変換される。
これらの要求は、図2に矢印220、222、224で
示されている。アプリケーション要求が処理され、アプ
リケーションに応答が直接届く。必要に応じて、応答が
主パーソナリティ・サーバ210によって調整されるこ
ともある(矢印226、228)。これによって、たと
えば画面への書込みが制御できる。
行われる。アプリケーションが、アプリケーション・タ
スク領域で実行を開始する。アプリケーションがオペレ
ーティング・システム特有の要求を行うたびに、その要
求が、オブジェクト指向/手順フレームワーク209に
より、マイクロカーネル、副パーソナリティ・サーバ2
14、パーソナリティ中立サーバ、または主パーソナリ
ティ・サーバ210によるサービス要求に変換される。
これらの要求は、図2に矢印220、222、224で
示されている。アプリケーション要求が処理され、アプ
リケーションに応答が直接届く。必要に応じて、応答が
主パーソナリティ・サーバ210によって調整されるこ
ともある(矢印226、228)。これによって、たと
えば画面への書込みが制御できる。
【0027】プロセス間通信のさらに詳細な流れを図3
に示す。図3は、それぞれアプリケーション・タスク、
パーソナリティ中立サーバ、および主パーソナリティ・
サーバのアドレス空間を表す、3つのセクションに分割
されている。これら3つのセクションは、例として使用
したものにすぎない。同様な通信経路が他のサーバにも
使用される。
に示す。図3は、それぞれアプリケーション・タスク、
パーソナリティ中立サーバ、および主パーソナリティ・
サーバのアドレス空間を表す、3つのセクションに分割
されている。これら3つのセクションは、例として使用
したものにすぎない。同様な通信経路が他のサーバにも
使用される。
【0028】アプリケーション・アドレス空間310で
走行するアプリケーション・プログラムが、表示装置画
面上のウィンドウにデータを書き込もうとすることがあ
る。この場合、アプリケーションに知られているオペレ
ーティング・システム・プロトコルに従って要求が行わ
れる。書込み要求がインタフェースによってインタセプ
トされ、処理の決定が下される。インタフェースはま
ず、表示装置ページがアプリケーション・アドレス空間
メモリにあるかどうか、およびタスクがそのページにア
クセスできるかどうかを検査する。この2つの条件が整
っている場合、インタフェースは表示装置に直接書き込
むことができる。整っていない場合は、メモリ・ページ
不在が発生する。
走行するアプリケーション・プログラムが、表示装置画
面上のウィンドウにデータを書き込もうとすることがあ
る。この場合、アプリケーションに知られているオペレ
ーティング・システム・プロトコルに従って要求が行わ
れる。書込み要求がインタフェースによってインタセプ
トされ、処理の決定が下される。インタフェースはま
ず、表示装置ページがアプリケーション・アドレス空間
メモリにあるかどうか、およびタスクがそのページにア
クセスできるかどうかを検査する。この2つの条件が整
っている場合、インタフェースは表示装置に直接書き込
むことができる。整っていない場合は、メモリ・ページ
不在が発生する。
【0029】メモリ・ページ不在が発生すると、パーソ
ナリティ中立サービス・アドレス空間312の表示装置
ドライバにメッセージが送られる。装置ドライバは、必
要なページをアプリケーション・メモリに割り当てよう
と試みる。装置ドライバはまず、要求側プロセスにペー
ジへのアクセスを許可できるか、ページへの要求側プロ
セスのアクセスを拒絶すべきか、要求側プロセスはペー
ジを待つべきか、あるいは決定を主パーソナリティ・サ
ーバに委せるべきかを検査する。装置ドライバは、状況
を知ると、主サーバにメッセージを送らずに、ただちに
要求を許可、拒絶、または遅延することができる。装置
ドライバは、アプリケーション・プロセスに直接応答す
る。
ナリティ中立サービス・アドレス空間312の表示装置
ドライバにメッセージが送られる。装置ドライバは、必
要なページをアプリケーション・メモリに割り当てよう
と試みる。装置ドライバはまず、要求側プロセスにペー
ジへのアクセスを許可できるか、ページへの要求側プロ
セスのアクセスを拒絶すべきか、要求側プロセスはペー
ジを待つべきか、あるいは決定を主パーソナリティ・サ
ーバに委せるべきかを検査する。装置ドライバは、状況
を知ると、主サーバにメッセージを送らずに、ただちに
要求を許可、拒絶、または遅延することができる。装置
ドライバは、アプリケーション・プロセスに直接応答す
る。
【0030】決定が必要な場合、主パーソナリティ・サ
ーバ・アドレス空間314にメッセージが送られる。主
パーソナリティは、アクセスを許可または拒絶するため
の規則を適用し、装置ドライバに応答する。次に、装置
ドライバがアプリケーションに応答する。
ーバ・アドレス空間314にメッセージが送られる。主
パーソナリティは、アクセスを許可または拒絶するため
の規則を適用し、装置ドライバに応答する。次に、装置
ドライバがアプリケーションに応答する。
【0031】アプリケーションが主パーソナリティ以外
のオペレーティング・システム環境を使用しているとき
も類似のプロセスが使用される。その場合、インタフェ
ース論理で処理できないサービス要求は、処置のため
に、副パーソナリティ・サーバ・タスクに送られる。副
パーソナリティ・サーバ214は、システムの方針を適
用する必要があるときは必ず、主パーソナリティ・サー
バ210にメッセージを送らなければならない。主パー
ソナリティ・サーバ210は、すべての資源競合を解消
する。
のオペレーティング・システム環境を使用しているとき
も類似のプロセスが使用される。その場合、インタフェ
ース論理で処理できないサービス要求は、処置のため
に、副パーソナリティ・サーバ・タスクに送られる。副
パーソナリティ・サーバ214は、システムの方針を適
用する必要があるときは必ず、主パーソナリティ・サー
バ210にメッセージを送らなければならない。主パー
ソナリティ・サーバ210は、すべての資源競合を解消
する。
【0032】本発明のシステムは、動作に際して、並行
に動作するオペレーティング・システム環境をサポート
するための余計なオーバヘッドをほとんど必要としな
い。単一のオペレーティング・システムまたはMach
単一パーソナリティ実施態様では、通常、アプリケーシ
ョンからシステム・レベルまたはカーネルへのサービス
要求がある。Machは、メッセージを直接処理し、あ
るいはサーバに処理させるために経路指定することがで
きるが、Machアーキテクチャはこのトランザクショ
ンにオーバヘッドをほとんど増加させない。好ましい実
施例のメッセージ・ベースの実施態様は、最小メッセー
ジ・トラフィックのモデルに準拠する。主パーソナリテ
ィを使用するアプリケーションは、単一オペレーティン
グ・システム実施態様で得られるのと同じ応答を認識す
るようになる。大部分の副パーソナリティ要求は、同様
に迅速に処理される。資源競合例外だけが、主パーソナ
リティ・サーバ210の検査によってメッセージ・トラ
フィックが増加する。
に動作するオペレーティング・システム環境をサポート
するための余計なオーバヘッドをほとんど必要としな
い。単一のオペレーティング・システムまたはMach
単一パーソナリティ実施態様では、通常、アプリケーシ
ョンからシステム・レベルまたはカーネルへのサービス
要求がある。Machは、メッセージを直接処理し、あ
るいはサーバに処理させるために経路指定することがで
きるが、Machアーキテクチャはこのトランザクショ
ンにオーバヘッドをほとんど増加させない。好ましい実
施例のメッセージ・ベースの実施態様は、最小メッセー
ジ・トラフィックのモデルに準拠する。主パーソナリテ
ィを使用するアプリケーションは、単一オペレーティン
グ・システム実施態様で得られるのと同じ応答を認識す
るようになる。大部分の副パーソナリティ要求は、同様
に迅速に処理される。資源競合例外だけが、主パーソナ
リティ・サーバ210の検査によってメッセージ・トラ
フィックが増加する。
【0033】したがって、本発明は、複数のオペレーテ
ィング・システム用の調整のとれた処理を実行するとい
う目的を達成し、しかも最小のオーバヘッドでそれを達
成する。
ィング・システム用の調整のとれた処理を実行するとい
う目的を達成し、しかも最小のオーバヘッドでそれを達
成する。
【0034】主パーソナリティの選択は、システム管理
者またはシステム設置者が行う。利用可能な各オペレー
ティング・システムは、主形式および副形式で供給され
る。管理者は、どのオペレーティング・システムを主パ
ーソナリティとするかを選択し、他のオペレーティング
・システムはすべて副パーソナリティとして提供され
る。副パーソナリティは主サーバのスレーブではないこ
とに留意されたい。副パーソナリティは完全なオペレー
ティング・システム環境を表す。ただし、ある種の機能
は主パーソナリティに取っておかれる。
者またはシステム設置者が行う。利用可能な各オペレー
ティング・システムは、主形式および副形式で供給され
る。管理者は、どのオペレーティング・システムを主パ
ーソナリティとするかを選択し、他のオペレーティング
・システムはすべて副パーソナリティとして提供され
る。副パーソナリティは主サーバのスレーブではないこ
とに留意されたい。副パーソナリティは完全なオペレー
ティング・システム環境を表す。ただし、ある種の機能
は主パーソナリティに取っておかれる。
【0035】以下のとうり発明を開示する。
【0036】(1)基本カーネル・サービスを実行する
手段と、第1のオペレーティング・システム・プロトコ
ルに従ってオペレーティング・システム・サービスを提
供することによりシステム動作全体を制御する主パーソ
ナリティ手段と、アプリケーション・プログラムからオ
ペレーティング・システム・サービス要求を受け取るア
プリケーション・インタフェース手段と、前記第1のオ
ペレーティング・システム・プロトコルと異なる1つま
たは複数のオペレーティング・システム・プロトコルに
従ってオペレーティング・システム・サービスを提供す
る副パーソナリティ手段と、前記基本カーネル・サービ
スを実行する前記手段と、前記主パーソナリティ手段
と、前記アプリケーション・インタフェース手段と、前
記副パーソナリティ手段とをリンクするインタフェース
手段とを備える、複数の共存するオペレーティング・シ
ステムをサポートするためのシステム。
手段と、第1のオペレーティング・システム・プロトコ
ルに従ってオペレーティング・システム・サービスを提
供することによりシステム動作全体を制御する主パーソ
ナリティ手段と、アプリケーション・プログラムからオ
ペレーティング・システム・サービス要求を受け取るア
プリケーション・インタフェース手段と、前記第1のオ
ペレーティング・システム・プロトコルと異なる1つま
たは複数のオペレーティング・システム・プロトコルに
従ってオペレーティング・システム・サービスを提供す
る副パーソナリティ手段と、前記基本カーネル・サービ
スを実行する前記手段と、前記主パーソナリティ手段
と、前記アプリケーション・インタフェース手段と、前
記副パーソナリティ手段とをリンクするインタフェース
手段とを備える、複数の共存するオペレーティング・シ
ステムをサポートするためのシステム。
【0037】(2)前記基本カーネル・サービスを実行
する前記手段がMachベースのマイクロカーネルであ
ることを特徴とする、(1)に記載のシステム。
する前記手段がMachベースのマイクロカーネルであ
ることを特徴とする、(1)に記載のシステム。
【0038】(3)前記インタフェース手段が、オブジ
ェクト指向メッセージを評価し、それらに作用する手段
と、手順呼出しを評価し、それらに作用する手段とを含
むことを特徴とする、(1)に記載のシステム。
ェクト指向メッセージを評価し、それらに作用する手段
と、手順呼出しを評価し、それらに作用する手段とを含
むことを特徴とする、(1)に記載のシステム。
【0039】(4)前記主パーソナリティ手段がAIX
(米国IBM社の登録商標)動作環境であることを特徴
とする、(1)に記載のシステム。
(米国IBM社の登録商標)動作環境であることを特徴
とする、(1)に記載のシステム。
【0040】(5)前記主パーソナリティ手段がOS/
2(米国IBM社の登録商標)動作環境であることを特
徴とする、(1)に記載のシステム。
2(米国IBM社の登録商標)動作環境であることを特
徴とする、(1)に記載のシステム。
【0041】(6)前記副パーソナリティ手段が、OS
/2動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(4)に記載のシ
ステム。
/2動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(4)に記載のシ
ステム。
【0042】(7)前記副パーソナリティ手段が、AI
X動作環境、DOS動作環境、およびマッキントッシュ
動作環境を含むことを特徴とする、(5)に記載のシス
テム。
X動作環境、DOS動作環境、およびマッキントッシュ
動作環境を含むことを特徴とする、(5)に記載のシス
テム。
【0043】(8)それぞれ複数のアプリケーション・
タスクのどれにでもアクセスでき、コンピュータ・プロ
セッサとメモリとを有するプロセッサ・システムと相互
作用する、複数のオペレーティング・システム環境を並
行して操作する方法であって、第1のオペレーティング
・システムを主動作環境プロセスとしてブートするステ
ップと、複数の副オペレーティング・システム環境を別
々のプロセスとしてロードするステップと、前記主動作
環境および前記複数の副オペレーティング・システム環
境からのメッセージに応答して1つまたは複数のパーソ
ナリティ中立サーバをロードするステップと、アプリケ
ーションをアプリケーション・プロセスとして実行する
ステップと、カーネル・サービスを使用して、プロセス
間通信要求およびプロセッサ・システム特有の要求を処
理するステップとを備えることを特徴とする方法。
タスクのどれにでもアクセスでき、コンピュータ・プロ
セッサとメモリとを有するプロセッサ・システムと相互
作用する、複数のオペレーティング・システム環境を並
行して操作する方法であって、第1のオペレーティング
・システムを主動作環境プロセスとしてブートするステ
ップと、複数の副オペレーティング・システム環境を別
々のプロセスとしてロードするステップと、前記主動作
環境および前記複数の副オペレーティング・システム環
境からのメッセージに応答して1つまたは複数のパーソ
ナリティ中立サーバをロードするステップと、アプリケ
ーションをアプリケーション・プロセスとして実行する
ステップと、カーネル・サービスを使用して、プロセス
間通信要求およびプロセッサ・システム特有の要求を処
理するステップとを備えることを特徴とする方法。
【0044】(9)前記カーネル・サービスが米国カー
ネギー・メロン大学開発のMachマイクロカーネル・
サービスであることを特徴とする、(8)に記載の方
法。
ネギー・メロン大学開発のMachマイクロカーネル・
サービスであることを特徴とする、(8)に記載の方
法。
【0045】(10)複数のオペレーティング・システ
ムを並行に実行する、コンピュータ・プログラム論理が
その上に記録されたコンピュータ読取り可能媒体を有す
るコンピュータ・プログラム製品であって、基本カーネ
ル・サービスを実行する手段と、第1のオペレーティン
グ・システム・プロトコルに従ってオペレーティング・
システム・サービスを提供することによりシステム動作
全体を制御する主パーソナリティ手段と、アプリケーシ
ョン・プログラムからオペレーティング・システム・サ
ービス要求を受け取るアプリケーション・インタフェー
ス手段と、前記第1のオペレーティング・システム・プ
ロトコルと異なる1つまたは複数のオペレーティング・
システム・プロトコルに従ってオペレーティング・シス
テム・サービスを提供する副パーソナリティ手段と、基
本カーネル・サービスを実行する前記手段と、前記主パ
ーソナリティ手段と、前記アプリケーション・インタフ
ェース手段と、前記副パーソナリティ手段とをリンクす
るインタフェース手段とを備えることを特徴とする、コ
ンピュータ・プログラム。
ムを並行に実行する、コンピュータ・プログラム論理が
その上に記録されたコンピュータ読取り可能媒体を有す
るコンピュータ・プログラム製品であって、基本カーネ
ル・サービスを実行する手段と、第1のオペレーティン
グ・システム・プロトコルに従ってオペレーティング・
システム・サービスを提供することによりシステム動作
全体を制御する主パーソナリティ手段と、アプリケーシ
ョン・プログラムからオペレーティング・システム・サ
ービス要求を受け取るアプリケーション・インタフェー
ス手段と、前記第1のオペレーティング・システム・プ
ロトコルと異なる1つまたは複数のオペレーティング・
システム・プロトコルに従ってオペレーティング・シス
テム・サービスを提供する副パーソナリティ手段と、基
本カーネル・サービスを実行する前記手段と、前記主パ
ーソナリティ手段と、前記アプリケーション・インタフ
ェース手段と、前記副パーソナリティ手段とをリンクす
るインタフェース手段とを備えることを特徴とする、コ
ンピュータ・プログラム。
【0046】(11)前記基本カーネル・サービスを実
行する前記手段がMachベースのマイクロカーネルで
あることを特徴とする、(10)に記載のコンピュータ
・プログラム。
行する前記手段がMachベースのマイクロカーネルで
あることを特徴とする、(10)に記載のコンピュータ
・プログラム。
【0047】(12)前記インタフェース手段が、オブ
ジェクト指向メッセージを評価し、それらに作用する手
段と、手順呼出しを評価し、それらに作用する手段とを
含むことを特徴とする、(10)に記載のコンピュータ
・プログラム。
ジェクト指向メッセージを評価し、それらに作用する手
段と、手順呼出しを評価し、それらに作用する手段とを
含むことを特徴とする、(10)に記載のコンピュータ
・プログラム。
【0048】(13)前記主パーソナリティ手段がAI
X動作環境であることを特徴とする、(10)に記載の
コンピュータ・プログラム。
X動作環境であることを特徴とする、(10)に記載の
コンピュータ・プログラム。
【0049】(14)前記主パーソナリティ手段がOS
/2動作環境であることを特徴とする、(10)に記載
のコンピュータ・プログラム。
/2動作環境であることを特徴とする、(10)に記載
のコンピュータ・プログラム。
【0050】(15)前記副パーソナリティ手段が、O
S/2動作環境、DOS動作環境、およびマッキントッ
シュ動作環境を含むことを特徴とする、(13)に記載
のコンピュータ・プログラム。
S/2動作環境、DOS動作環境、およびマッキントッ
シュ動作環境を含むことを特徴とする、(13)に記載
のコンピュータ・プログラム。
【0051】(16)前記副パーソナリティ手段が、A
IX動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(14)に記載の
コンピュータ・プログラム。
IX動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(14)に記載の
コンピュータ・プログラム。
【0052】
【発明の効果】複数の並行オペレーティング・システム
・パーソナリティを提供することにより、システム・ユ
ーザが、DOS、Windows、OS/2、AIX、
またはその他のオペレーティング・システム用に書かれ
た以前からのアプリケーションを引き続き使用しなが
ら、新しいオペレーティング・システム・モデルに移行
することが可能になる。またこの構造により、開発者が
新規のオペレーティング・システムを開発し、新規のハ
ードウェアに適合させることがさらに容易になる。特
に、既存のオペレーティング・システム・サービスへの
投資が保護される。
・パーソナリティを提供することにより、システム・ユ
ーザが、DOS、Windows、OS/2、AIX、
またはその他のオペレーティング・システム用に書かれ
た以前からのアプリケーションを引き続き使用しなが
ら、新しいオペレーティング・システム・モデルに移行
することが可能になる。またこの構造により、開発者が
新規のオペレーティング・システムを開発し、新規のハ
ードウェアに適合させることがさらに容易になる。特
に、既存のオペレーティング・システム・サービスへの
投資が保護される。
【図1】本発明の好ましい実施例を実施することのでき
るコンピュータ・システムのブロック図である。
るコンピュータ・システムのブロック図である。
【図2】本発明の好ましい実施例によるシステムのブロ
ック図である。
ック図である。
【図3】本発明の好ましい実施例のアプリケーション使
用に含まれる工程ステップを示すフロー・チャートであ
る。
用に含まれる工程ステップを示すフロー・チャートであ
る。
102 CPU 103 システム・バス 104 記憶装置 106 ランダム・アクセス・メモリ(RAM) 108 アダプタ 110 入出力制御装置 112 表示装置 114 キーボード 116 ポインティング装置 202 基本マイクロカーネル層 204 ハードウェア層 206 オペレーティング・システム・パーソナリティ 209 インタフェース 210 主パーソナリティ・サーバ 211 インタフェース 212 パーソナリティ中立サービス 213 インタフェース 214 副パーソナリティ・サーバ 215 インタフェース 310 アプリケーション・アドレス空間 312 パーソナリティ中立サービス・アドレス空間 314 主パーソナリティ・アドレス空間
Claims (9)
- 【請求項1】基本カーネル・サービスを実行する手段
と、 第1のオペレーティング・システム・プロトコルに従っ
てオペレーティング・システム・サービスを提供するこ
とによりシステム動作全体を制御する主パーソナリティ
手段と、 アプリケーション・プログラムからオペレーティング・
システム・サービス要求を受け取るアプリケーション・
インタフェース手段と、 前記第1のオペレーティング・システム・プロトコルと
異なる1つまたは複数のオペレーティング・システム・
プロトコルに従ってオペレーティング・システム・サー
ビスを提供する副パーソナリティ手段と、 前記基本カーネル・サービスを実行する前記手段と、前
記主パーソナリティ手段と、前記アプリケーション・イ
ンタフェース手段と、前記副パーソナリティ手段とをリ
ンクするインタフェース手段とを備える、複数の共存す
るオペレーティング・システムをサポートするためのシ
ステム。 - 【請求項2】前記基本カーネル・サービスを実行する前
記手段がMachベースのマイクロカーネルであること
を特徴とする、請求項1に記載のシステム。 - 【請求項3】前記インタフェース手段が、 オブジェクト指向メッセージを評価し、それらに作用す
る手段と、 手順呼出しを評価し、それらに作用する手段とを含むこ
とを特徴とする、請求項1に記載のシステム。 - 【請求項4】前記主パーソナリティ手段がAIX(米国
IBM社の登録商標)動作環境であることを特徴とす
る、請求項1に記載のシステム。 - 【請求項5】前記主パーソナリティ手段がOS/2(米
国IBM社の登録商標)動作環境であることを特徴とす
る、請求項1に記載のシステム。 - 【請求項6】前記副パーソナリティ手段が、OS/2動
作環境、DOS動作環境、およびマッキントッシュ動作
環境を含むことを特徴とする、請求項4に記載のシステ
ム。 - 【請求項7】前記副パーソナリティ手段が、AIX動作
環境、DOS動作環境、およびマッキントッシュ動作環
境を含むことを特徴とする、請求項5に記載のシステ
ム。 - 【請求項8】それぞれ複数のアプリケーション・タスク
のどれにでもアクセスでき、コンピュータ・プロセッサ
とメモリとを有するプロセッサ・システムと相互作用す
る、複数のオペレーティング・システム環境を並行して
操作する方法であって、第1のオペレーティング・シス
テムを主動作環境プロセスとしてブートするステップ
と、 複数の副オペレーティング・システム環境を別々のプロ
セスとしてロードするステップと、 前記主動作環境および前記複数の副オペレーティング・
システム環境からのメッセージに応答して1つまたは複
数のパーソナリティ中立サーバをロードするステップ
と、 アプリケーションをアプリケーション・プロセスとして
実行するステップと、 カーネル・サービスを使用して、プロセス間通信要求お
よびプロセッサ・システム特有の要求を処理するステッ
プとを備えることを特徴とする方法。 - 【請求項9】前記カーネル・サービスが米国カーネギー
・メロン大学開発のMachマイクロカーネル・サービ
スであることを特徴とする、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US023666 | 1987-03-09 | ||
US2366693A | 1993-02-26 | 1993-02-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06301555A true JPH06301555A (ja) | 1994-10-28 |
Family
ID=21816512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6022701A Pending JPH06301555A (ja) | 1993-02-26 | 1994-02-21 | マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5764984A (ja) |
JP (1) | JPH06301555A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996031824A1 (en) * | 1995-04-07 | 1996-10-10 | Hitachi, Ltd. | Operating system |
US7720672B1 (en) | 1995-12-29 | 2010-05-18 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195710B1 (en) * | 1995-06-12 | 2001-02-27 | International Business Machines Corporation | Operating system having shared personality neutral resources |
US5873092A (en) * | 1995-12-14 | 1999-02-16 | International Business Machines Corporation | Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties |
US6336146B1 (en) * | 1995-12-22 | 2002-01-01 | Sun Microsystems, Inc. | Method and apparatus for docking, launching and running applications in a foreign environment |
US6687762B1 (en) * | 1996-10-10 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Network operating system adapted for simultaneous use by different operating systems |
US6460058B2 (en) * | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US6401099B1 (en) | 1996-12-06 | 2002-06-04 | Microsoft Corporation | Asynchronous binding of named objects |
US6029169A (en) * | 1997-05-01 | 2000-02-22 | Stratum Technologies Corporation | Universal software structure for representing model structures |
DE19856975A1 (de) * | 1998-12-10 | 2000-06-21 | Alcatel Sa | Verfahren, System, Rechner und Vermittlungsstelle zum Betreiben eines Rechners |
US6367074B1 (en) * | 1998-12-28 | 2002-04-02 | Intel Corporation | Operation of a system |
WO2001020456A1 (fr) * | 1999-09-10 | 2001-03-22 | Hitachi, Ltd. | Systeme de gestion et procede pour systeme d'exploitation |
US7140015B1 (en) | 1999-09-29 | 2006-11-21 | Network Appliance, Inc. | Microkernel for real time applications |
US6721949B1 (en) * | 2000-03-27 | 2004-04-13 | General Instrument Corporation | Kernel abstraction layer for digital television set-top box firmware |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US6742180B1 (en) * | 2000-10-30 | 2004-05-25 | Microsoft Corporation | System and method providing seamless transition of operating system environment |
US7631054B2 (en) * | 2000-12-07 | 2009-12-08 | International Business Machines Corporation | Method and system for generating list of operating systems for a target device |
JP2002251326A (ja) * | 2001-02-22 | 2002-09-06 | Hitachi Ltd | 耐タンパ計算機システム |
US20130024812A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Foreground/background assortment of hidden windows |
US8966379B2 (en) | 2010-10-01 | 2015-02-24 | Z124 | Dynamic cross-environment application configuration/orientation in an active user environment |
US9047102B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Instant remote rendering |
US8819705B2 (en) | 2010-10-01 | 2014-08-26 | Z124 | User interaction support across cross-environment applications |
US8933949B2 (en) * | 2010-10-01 | 2015-01-13 | Z124 | User interaction across cross-environment applications through an extended graphics context |
US9098437B2 (en) | 2010-10-01 | 2015-08-04 | Z124 | Cross-environment communication framework |
US8726294B2 (en) | 2010-10-01 | 2014-05-13 | Z124 | Cross-environment communication using application space API |
US20130024778A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Dynamic cross-environment application configuration/orientation |
US20030079205A1 (en) * | 2001-10-22 | 2003-04-24 | Takeshi Miyao | System and method for managing operating systems |
US7337150B2 (en) | 2002-01-22 | 2008-02-26 | International Business Machines Corporation | Per-unit method for pricing data processing services |
JP4224250B2 (ja) * | 2002-04-17 | 2009-02-12 | パイオニア株式会社 | 音声認識装置、音声認識方法および音声認識プログラム |
US7086048B1 (en) * | 2002-11-04 | 2006-08-01 | Savaje Technologies, Inc. | Method and apparatus for combining operating system resource data and application program resource data in a shared object |
US7082600B1 (en) | 2002-11-04 | 2006-07-25 | Savaje Technologies, Inc. | Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel |
US7975117B2 (en) | 2003-03-24 | 2011-07-05 | Microsoft Corporation | Enforcing isolation among plural operating systems |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7424601B2 (en) * | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7529921B2 (en) * | 2004-12-17 | 2009-05-05 | Cardiac Pacemakers, Inc. | Fast initialization of medical device system having multiple operating systems |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
GB0516426D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | A method of operating a computing device through the use of extensible thread states |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US8813021B1 (en) | 2006-02-16 | 2014-08-19 | Cypress Semiconductor Corporation | Global resource conflict management for an embedded application design |
US7797692B1 (en) * | 2006-05-12 | 2010-09-14 | Google Inc. | Estimating a dominant resource used by a computer program |
US8312449B2 (en) * | 2006-10-31 | 2012-11-13 | International Business Machines Corporation | Viral installation of operating systems in a network |
US9244863B2 (en) * | 2007-02-05 | 2016-01-26 | Intel Deutschland Gmbh | Computing device, with data protection |
US8286195B2 (en) * | 2007-10-31 | 2012-10-09 | Microsoft Corporation | Controlling hardware across two or more simultaneously running operating systems |
US8549093B2 (en) * | 2008-09-23 | 2013-10-01 | Strategic Technology Partners, LLC | Updating a user session in a mach-derived system environment |
US9296299B2 (en) * | 2011-11-16 | 2016-03-29 | Autoconnect Holdings Llc | Behavioral tracking and vehicle applications |
CN103282875B (zh) | 2010-10-01 | 2017-04-12 | Flex Electronics ID Co.,Ltd. | 多操作系统 |
US20120084736A1 (en) | 2010-10-01 | 2012-04-05 | Flextronics Id, Llc | Gesture controlled screen repositioning for one or more displays |
US8761831B2 (en) | 2010-10-15 | 2014-06-24 | Z124 | Mirrored remote peripheral interface |
US8842057B2 (en) | 2011-09-27 | 2014-09-23 | Z124 | Detail on triggers: transitional states |
EP3109788B1 (de) | 2015-06-22 | 2020-08-26 | Deutsche Telekom AG | Mikrokern-basierte nutzerumgebung, netzwerkarchitektur und sicheres backend zur verhinderung von informationsverlust |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5960652A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | デ−タ処理装置 |
US4722048A (en) * | 1985-04-03 | 1988-01-26 | Honeywell Bull Inc. | Microcomputer system with independent operating systems |
US5109515A (en) * | 1987-09-28 | 1992-04-28 | At&T Bell Laboratories | User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services |
US4961133A (en) * | 1987-11-06 | 1990-10-02 | Visystems, Inc. | Method for providing a virtual execution environment on a target computer using a virtual software machine |
US5179703A (en) * | 1987-11-17 | 1993-01-12 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
US5278973A (en) * | 1989-03-27 | 1994-01-11 | Unisys Corporation | Dual operating system computer |
US5369749A (en) * | 1989-05-17 | 1994-11-29 | Ibm Corporation | Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems |
AU651321B2 (en) * | 1989-09-08 | 1994-07-21 | Network Appliance, Inc. | Multiple facility operating system architecture |
US5363121A (en) * | 1990-06-29 | 1994-11-08 | International Business Machines Corporation | Multiple protocol communication interface for distributed transaction processing |
CA2087735A1 (en) * | 1990-07-20 | 1992-01-21 | Yuan Shi | System for high-level virtual computer with heterogeneous operating systems |
US5136711A (en) * | 1990-10-17 | 1992-08-04 | Ast Research | System for multiple access hard disk partitioning |
US5265252A (en) * | 1991-03-26 | 1993-11-23 | International Business Machines Corporation | Device driver system having generic operating system interface |
JPH05233570A (ja) * | 1991-12-26 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 異オペレーティング・システム間分散データ処理システム |
US5341499A (en) * | 1992-04-02 | 1994-08-23 | International Business Machines Corporation | Method and apparatus for processing multiple file system server requests in a data processing network |
US5361358A (en) * | 1992-08-07 | 1994-11-01 | International Business Machines Corporation | System and method for installing program code for operation from multiple bootable operating systems |
US5497463A (en) * | 1992-09-25 | 1996-03-05 | Bull Hn Information Systems Inc. | Ally mechanism for interconnecting non-distributed computing environment (DCE) and DCE systems to operate in a network system |
US5513328A (en) * | 1992-10-05 | 1996-04-30 | Christofferson; James F. | Apparatus for inter-process/device communication for multiple systems of asynchronous devices |
US5483647A (en) * | 1992-12-17 | 1996-01-09 | Bull Hn Information Systems Inc. | System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user |
US5537417A (en) * | 1993-01-29 | 1996-07-16 | International Business Machines Corporation | Kernel socket structure for concurrent multiple protocol access |
-
1994
- 1994-02-21 JP JP6022701A patent/JPH06301555A/ja active Pending
-
1996
- 1996-12-03 US US08/760,158 patent/US5764984A/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996031824A1 (en) * | 1995-04-07 | 1996-10-10 | Hitachi, Ltd. | Operating system |
US7720672B1 (en) | 1995-12-29 | 2010-05-18 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
US8079021B2 (en) | 1995-12-29 | 2011-12-13 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
US8904362B2 (en) | 1995-12-29 | 2014-12-02 | Wyse Technology L.L.C. | Method and apparatus for display of windowing application programs on a terminal |
Also Published As
Publication number | Publication date |
---|---|
US5764984A (en) | 1998-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06301555A (ja) | マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム | |
KR100361635B1 (ko) | 논리적 분할부 관리기 및 방법 | |
JP5106036B2 (ja) | コンピュータ・システム上のハイパーバイザ内にポリシ・ベースのオペレーティング・システム・サービスを提供する方法、コンピュータ・システム及びコンピュータ・プログラム | |
US9396013B2 (en) | Method for controlling a virtual machine and a virtual machine system | |
EP1467282B1 (en) | Operating systems | |
US8352938B2 (en) | System, method and program to migrate a virtual machine | |
US6763518B2 (en) | Automatic client/server translation and execution of non-native applications | |
US5799188A (en) | System and method for managing variable weight thread contexts in a multithreaded computer system | |
EP2296089B1 (en) | Operating systems | |
US5437006A (en) | Spreadsheet command/function capability from a dynamic-link library | |
JP4558661B2 (ja) | パーティション間で実行可能プログラムを転送するためのコンピュータシステム及び方法 | |
US8266618B2 (en) | Graphics hardware resource usage in a fully virtualized computing environment | |
US8713582B2 (en) | Providing policy-based operating system services in an operating system on a computing system | |
US7761578B2 (en) | Communicating in a virtual environment | |
JP4840945B2 (ja) | ユーザ・モード・ドライバへ割り込みを配送する方法 | |
JP4000327B2 (ja) | 非同期挙動変更をマネージドアプリケーションプロセスに誘導するためのシステムおよび方法 | |
US6108744A (en) | Software interrupt mechanism | |
US7721278B2 (en) | Modular server architecture for multi-environment HTTP request processing | |
JP2006164266A (ja) | オペレーティングシステムのパフォーマンスの改善 | |
US5909576A (en) | Method and apparatus for using device drivers of a first operating system, under the control of a second operating system | |
KR20010014861A (ko) | 컴퓨터 시스템의 하나의 논리적 분할부에서의 최대인터랙티브 작업을 나머지 분할부들에서의 최대인터랙티브 작업과 별도로 지정하는 장치 및 방법 | |
JPH0895757A (ja) | マイクロカーネル・データ処理システム用のマスタ・サーバ・プログラム・ロード方法および装置 | |
EP1557756B1 (en) | Deterministic rule-based dispatch of objects to code for processing objects | |
JP2006522971A (ja) | オペレーティングシステム | |
US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors |