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
Application number
JP6022701A
Other languages
English (en)
Inventor
Keith Roux Larry
ラリー・キース・ラウクス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06301555A publication Critical patent/JPH06301555A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision 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進互換性がサポートされる。パーソナリティ中立
サービスが、各オペレーティング・システム環境から抽
出され、パーソナリティ中立サーバ中に合体される。プ
ロセス間通信は、定義済みのオブジェクト指向インタフ
ェースおよび手順インタフェースを使って実施される。
サーバ応答および競合解消は、主パーソナリティ中立サ
ーバによって処理される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的に、情報処理シ
ステムに関し、詳しくは、オペレーティング・システム
に関する。さらに詳細には、本発明は、マイクロカーネ
ル・アーキテクチャを使用して複数の共存オペレーティ
ング・システム・パーソナリティをサポートする方法に
関する。
【0002】
【従来の技術】コンピュータ・オペレーティング・シス
テムは、コンピュータ・ハードウェア資源の動作を制御
して有用なタスクを実行する。歴史的に見ると、オペレ
ーティング・システムの開発は、ハードウェア製造業者
によって、自社の特定のハードウェア・ブランドを制御
するオペレーティング・システムを提供するために行わ
れてきた。「開放型」システムの出現によって、オペレ
ーティング・システム開発の焦点が変化した。「開放
型」システムは、アプリケーション・プログラム・コー
ドに僅かな変更を加えるだけで複数のハードウェア層、
すなわち、ハードウェア・プラットフォーム上で動作す
ることが期待される。
【0003】コンピュータ・ハードウェアの変化する速
度がますます速くなっており、オペレーティング・シス
テム開発もその影響を受けている。ハードウェアが絶え
ず変化するので、既存のオペレーティング・システムを
新規のハードウェア・プラットフォームに適合させるの
に必要な作業およびコストが増大している。
【0004】このような傾向のために、コンピュータ業
界はオペレーティング・システム開発の代替方法を模索
し始めた。カーネギー・メロン大学は、「マイクロカー
ネル」アーキテクチャを開発するプロジェクトに着手し
た。このプロジェクトで、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サービスのことである。
【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)で論じられてい
る。
【0007】前記の論文では、エミュレーションによっ
て複数の対象のオペレーティング・システムを提供する
ことが提案されている。この場合、エミュレーション・
ライブラリを、エミュレートされた各プロセスと関連付
けて、そのプロセスで必要なオペレーティング・システ
ム環境のエミュレーションが提供される。提案されたシ
ステムでは、専用オペレーティング・システム・エミュ
レーションを、ファイル管理、端末通信、プロセス管理
などの共通タスクを処理する汎用サーバと組み合わせて
いる。汎用サーバは、別個のプロセスとして実行され、
Machメッセージを介してエミュレーション・ライブ
ラリと通信する。
【0008】しかし、このCMUの手法は、性能を大幅
に低下させずに複数のオペレーティング・システムを同
時にサポートできるほど一般化されていない。CMUに
よって提案されたエミュレーション・ライブラリは、ア
プリケーション・プロセスのアドレス空間内で走行す
る。オペレーティング・システムの複雑さが多くはエミ
ュレーション・ライブラリに組み込まれるため、ライブ
ラリが大規模かつ複雑になる。エミュレートされたライ
ブラリを使用する各アプリケーションは、そのライブラ
リをそれ自体のアドレス空間にロードする必要がある。
したがって、メモリ・オーバヘッドとシステム資源消費
量が重大な問題となる。最後に、サポートされる各オペ
レーティング・システムがエミュレートされるので、オ
ペレーティング・システムはすべて、エミュレーション
環境によって性能が低下する。
【0009】複数のオペレーティング・システム・パー
ソナリティをサポートできる操作環境を高い費用効果で
開発するには、オペレーティング・システム間の共通要
素を抽出して合体し、制限された数のプロセスにする必
要がある。また、システム・ユーザが全体的システム機
能を制御する単一の主パーソナリティすなわち、ドメイ
ン(domain)パーソナリティ、を選択できるようにする
と共に、必要に応じて他のオペレーティング・システム
を使用できることが好ましい。
【0010】
【発明が解決しようとする課題】本発明が対象とする技
術的問題は、ハードウェア・システム上で複数の並行な
オペレーティング・システムを効率的にサポートするた
めのシステムおよび方法を開発することである。第2の
問題は、必然的に複数のシステムによって共用されるハ
ードウェア資源と通信するための効果的な手段を提供す
ることである。
【0011】本発明は、複数の並行なオペレーティング
・システム・パーソナリティをサポートするためのシス
テムおよび方法を実施することによりこれらの問題を解
決することを対象とする。
【0012】本発明は、オペレーティング・システム・
パーソナリティ間で資源を調整し、パーソナリティ間で
効果的に通信を行うための構成要素を有するシステムを
提供する。効果的な通信の方法も開示する。
【0013】したがって、本発明の一目的は、アプリケ
ーション・プロセスに対して透過的な並行オペレーティ
ング・システム・サポートを提供することである。
【0014】本発明の他の目的は、主パーソナリティの
性能を低下させずに、複数の並行なオペレーティング・
システムのサポートを提供することである。
【0015】本発明の他の目的は、以前からのオペレー
ティング・システム・アプリケーションを保存するシス
テムを提供することである。
【0016】
【課題を解決するための手段】本発明は、基本カーネル
・サービスを実行する手段と、第1のオペレーティング
・システム・プロトコルに従ってオペレーティング・シ
ステム・サービスを提供することによりシステム動作全
体を制御する主パーソナリティ手段と、アプリケーショ
ン・プログラムからオペレーティング・システム・サー
ビス要求を受け取るアプリケーション・インタフェース
手段と、第1のオペレーティング・システム・プロトコ
ルと異なる1つまたは複数のオペレーティング・システ
ム・プロトコルに従ってオペレーティング・システム・
サービスを提供する副パーソナリティ手段と、基本カー
ネル・サービスを実行する手段、主パーソナリティ手
段、アプリケーション・インタフェース手段、および副
パーソナリティ手段をリンクするインタフェース手段と
を有する、共存する複数のオペレーティング・システム
をサポートするシステムを対象とする。
【0017】図面では、同じ符号は、本発明の同じ部品
を表す。
【0018】
【実施例】マイクロカーネルは、特定のハードウェア・
アーキテクチャのハードウェア制御プロセスを、容易に
修正できる単一のマイクロカーネルにカプセル化するよ
うに設計されている。この手法は、多数の異なるハード
ウェア・アーキテクチャでマイクロカーネル・インタフ
ェースを使用できるように設計されている。図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の商標)など多数の市販のシステムで実施される。本
発明の並行オペレーティング・システム・サポートは、
これらのまたはマイクロカーネルを実行するように適合
された新規のどんなハードウェア・アーキテクチャ上で
も機能するように設計されている。
【0020】本発明のシステムを図2に概略的に示す。
基本マイクロカーネル層は202に示されている。マイ
クロカーネルは、ハードウェア層204への標準インタ
フェースと、オペレーティング・システム・パーソナリ
ティ206への標準インタフェースを提供する。並行オ
ペレーティング・システム・サポートを実施する本発明
の主な構成要素は、208、210、212、214に
示されている。これらの構成要素は、定義されたインタ
フェース209、211、213、215によってリン
クされる。
【0021】好ましい実施例のシステムは、ハードウェ
ア・システムに対する全体的制御を提供する主パーソナ
リティ・サーバ210を有する。主パーソナリティ・サ
ーバ210は、ハードウェア・システムの初期ブート時
に制御を与えられ、基本オペレーティング・システム構
成要素を確立する。主パーソナリティ・サーバ210は
また、通信アダプタや表示装置などの共用システム資源
へのアクセスを調整する。主パーソナリティ・サーバ2
10は、インタフェース211を介して他のプロセスと
通信する。
【0022】インタフェース211は、オブジェクト指
向インタフェースならびに標準手順インタフェースを含
む。オブジェクト指向インタフェースは、主パーソナリ
ティから送られるオブジェクト・メッセージに応答し、
あるいは主パーソナリティに応答する。手順インタフェ
ースは、何らかのコマンドまたはルーチン呼出しと、パ
ラメータを受け入れる従来型のアプリケーション・プロ
グラミング・インタフェース(API)である。インタ
フェース211は、Machマイクロカーネル・メッセ
ージ・サービスを介して他のプロセスと通信する。
【0023】パーソナリティ中立(neutral)サービス
212は、オペレーティング・システムの特色を有する
必要がない一般的なタスクをサポートするために提供さ
れる。このようなサービスの例として、ファイル・シス
テム、通信移送サービス、および分散システム・サービ
スがある。これらのパーソナリティ中立サービス212
は、どのオペレーティング・システム・パーソナリティ
からのプロセス要求でも受け入れ、必要なサービスを供
給する。これらのサービスの調整は、オブジェクト指向
インタフェースおよび手順インタフェース213を介し
て行われる。
【0024】その他のオペレーティング・システム・パ
ーソナリティは、副(sub-dominant)パーソナリティ・
サーバ214として実施される。これらのインタフェー
スはそれぞれ、インタフェース215を介してマイクロ
カーネルおよび他のサーバと相互接続される。その他の
パーソナリティは、主パーソナリティ環境と異なるパー
ソナリティ環境用のオペレーティング・システム環境を
提供する。また、パーソナリティ特有のサービス216
をさらに分離することもできる。
【0025】システムまたはユーザが実行するアプリケ
ーションが208に示されている。アプリケーション
は、主パーソナリティやマイクロカーネルを知らずに実
行される。各アプリケーションはそれぞれ、その対象の
オペレーティング・システムがコンピュータ・ハードウ
ェアの完全な制御下にある場合と同様に実行される。
【0026】アプリケーションの処理は、以下のように
行われる。アプリケーションが、アプリケーション・タ
スク領域で実行を開始する。アプリケーションがオペレ
ーティング・システム特有の要求を行うたびに、その要
求が、オブジェクト指向/手順フレームワーク209に
より、マイクロカーネル、副パーソナリティ・サーバ2
14、パーソナリティ中立サーバ、または主パーソナリ
ティ・サーバ210によるサービス要求に変換される。
これらの要求は、図2に矢印220、222、224で
示されている。アプリケーション要求が処理され、アプ
リケーションに応答が直接届く。必要に応じて、応答が
主パーソナリティ・サーバ210によって調整されるこ
ともある(矢印226、228)。これによって、たと
えば画面への書込みが制御できる。
【0027】プロセス間通信のさらに詳細な流れを図3
に示す。図3は、それぞれアプリケーション・タスク、
パーソナリティ中立サーバ、および主パーソナリティ・
サーバのアドレス空間を表す、3つのセクションに分割
されている。これら3つのセクションは、例として使用
したものにすぎない。同様な通信経路が他のサーバにも
使用される。
【0028】アプリケーション・アドレス空間310で
走行するアプリケーション・プログラムが、表示装置画
面上のウィンドウにデータを書き込もうとすることがあ
る。この場合、アプリケーションに知られているオペレ
ーティング・システム・プロトコルに従って要求が行わ
れる。書込み要求がインタフェースによってインタセプ
トされ、処理の決定が下される。インタフェースはま
ず、表示装置ページがアプリケーション・アドレス空間
メモリにあるかどうか、およびタスクがそのページにア
クセスできるかどうかを検査する。この2つの条件が整
っている場合、インタフェースは表示装置に直接書き込
むことができる。整っていない場合は、メモリ・ページ
不在が発生する。
【0029】メモリ・ページ不在が発生すると、パーソ
ナリティ中立サービス・アドレス空間312の表示装置
ドライバにメッセージが送られる。装置ドライバは、必
要なページをアプリケーション・メモリに割り当てよう
と試みる。装置ドライバはまず、要求側プロセスにペー
ジへのアクセスを許可できるか、ページへの要求側プロ
セスのアクセスを拒絶すべきか、要求側プロセスはペー
ジを待つべきか、あるいは決定を主パーソナリティ・サ
ーバに委せるべきかを検査する。装置ドライバは、状況
を知ると、主サーバにメッセージを送らずに、ただちに
要求を許可、拒絶、または遅延することができる。装置
ドライバは、アプリケーション・プロセスに直接応答す
る。
【0030】決定が必要な場合、主パーソナリティ・サ
ーバ・アドレス空間314にメッセージが送られる。主
パーソナリティは、アクセスを許可または拒絶するため
の規則を適用し、装置ドライバに応答する。次に、装置
ドライバがアプリケーションに応答する。
【0031】アプリケーションが主パーソナリティ以外
のオペレーティング・システム環境を使用しているとき
も類似のプロセスが使用される。その場合、インタフェ
ース論理で処理できないサービス要求は、処置のため
に、副パーソナリティ・サーバ・タスクに送られる。副
パーソナリティ・サーバ214は、システムの方針を適
用する必要があるときは必ず、主パーソナリティ・サー
バ210にメッセージを送らなければならない。主パー
ソナリティ・サーバ210は、すべての資源競合を解消
する。
【0032】本発明のシステムは、動作に際して、並行
に動作するオペレーティング・システム環境をサポート
するための余計なオーバヘッドをほとんど必要としな
い。単一のオペレーティング・システムまたはMach
単一パーソナリティ実施態様では、通常、アプリケーシ
ョンからシステム・レベルまたはカーネルへのサービス
要求がある。Machは、メッセージを直接処理し、あ
るいはサーバに処理させるために経路指定することがで
きるが、Machアーキテクチャはこのトランザクショ
ンにオーバヘッドをほとんど増加させない。好ましい実
施例のメッセージ・ベースの実施態様は、最小メッセー
ジ・トラフィックのモデルに準拠する。主パーソナリテ
ィを使用するアプリケーションは、単一オペレーティン
グ・システム実施態様で得られるのと同じ応答を認識す
るようになる。大部分の副パーソナリティ要求は、同様
に迅速に処理される。資源競合例外だけが、主パーソナ
リティ・サーバ210の検査によってメッセージ・トラ
フィックが増加する。
【0033】したがって、本発明は、複数のオペレーテ
ィング・システム用の調整のとれた処理を実行するとい
う目的を達成し、しかも最小のオーバヘッドでそれを達
成する。
【0034】主パーソナリティの選択は、システム管理
者またはシステム設置者が行う。利用可能な各オペレー
ティング・システムは、主形式および副形式で供給され
る。管理者は、どのオペレーティング・システムを主パ
ーソナリティとするかを選択し、他のオペレーティング
・システムはすべて副パーソナリティとして提供され
る。副パーソナリティは主サーバのスレーブではないこ
とに留意されたい。副パーソナリティは完全なオペレー
ティング・システム環境を表す。ただし、ある種の機能
は主パーソナリティに取っておかれる。
【0035】以下のとうり発明を開示する。
【0036】(1)基本カーネル・サービスを実行する
手段と、第1のオペレーティング・システム・プロトコ
ルに従ってオペレーティング・システム・サービスを提
供することによりシステム動作全体を制御する主パーソ
ナリティ手段と、アプリケーション・プログラムからオ
ペレーティング・システム・サービス要求を受け取るア
プリケーション・インタフェース手段と、前記第1のオ
ペレーティング・システム・プロトコルと異なる1つま
たは複数のオペレーティング・システム・プロトコルに
従ってオペレーティング・システム・サービスを提供す
る副パーソナリティ手段と、前記基本カーネル・サービ
スを実行する前記手段と、前記主パーソナリティ手段
と、前記アプリケーション・インタフェース手段と、前
記副パーソナリティ手段とをリンクするインタフェース
手段とを備える、複数の共存するオペレーティング・シ
ステムをサポートするためのシステム。
【0037】(2)前記基本カーネル・サービスを実行
する前記手段がMachベースのマイクロカーネルであ
ることを特徴とする、(1)に記載のシステム。
【0038】(3)前記インタフェース手段が、オブジ
ェクト指向メッセージを評価し、それらに作用する手段
と、手順呼出しを評価し、それらに作用する手段とを含
むことを特徴とする、(1)に記載のシステム。
【0039】(4)前記主パーソナリティ手段がAIX
(米国IBM社の登録商標)動作環境であることを特徴
とする、(1)に記載のシステム。
【0040】(5)前記主パーソナリティ手段がOS/
2(米国IBM社の登録商標)動作環境であることを特
徴とする、(1)に記載のシステム。
【0041】(6)前記副パーソナリティ手段が、OS
/2動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(4)に記載のシ
ステム。
【0042】(7)前記副パーソナリティ手段が、AI
X動作環境、DOS動作環境、およびマッキントッシュ
動作環境を含むことを特徴とする、(5)に記載のシス
テム。
【0043】(8)それぞれ複数のアプリケーション・
タスクのどれにでもアクセスでき、コンピュータ・プロ
セッサとメモリとを有するプロセッサ・システムと相互
作用する、複数のオペレーティング・システム環境を並
行して操作する方法であって、第1のオペレーティング
・システムを主動作環境プロセスとしてブートするステ
ップと、複数の副オペレーティング・システム環境を別
々のプロセスとしてロードするステップと、前記主動作
環境および前記複数の副オペレーティング・システム環
境からのメッセージに応答して1つまたは複数のパーソ
ナリティ中立サーバをロードするステップと、アプリケ
ーションをアプリケーション・プロセスとして実行する
ステップと、カーネル・サービスを使用して、プロセス
間通信要求およびプロセッサ・システム特有の要求を処
理するステップとを備えることを特徴とする方法。
【0044】(9)前記カーネル・サービスが米国カー
ネギー・メロン大学開発のMachマイクロカーネル・
サービスであることを特徴とする、(8)に記載の方
法。
【0045】(10)複数のオペレーティング・システ
ムを並行に実行する、コンピュータ・プログラム論理が
その上に記録されたコンピュータ読取り可能媒体を有す
るコンピュータ・プログラム製品であって、基本カーネ
ル・サービスを実行する手段と、第1のオペレーティン
グ・システム・プロトコルに従ってオペレーティング・
システム・サービスを提供することによりシステム動作
全体を制御する主パーソナリティ手段と、アプリケーシ
ョン・プログラムからオペレーティング・システム・サ
ービス要求を受け取るアプリケーション・インタフェー
ス手段と、前記第1のオペレーティング・システム・プ
ロトコルと異なる1つまたは複数のオペレーティング・
システム・プロトコルに従ってオペレーティング・シス
テム・サービスを提供する副パーソナリティ手段と、基
本カーネル・サービスを実行する前記手段と、前記主パ
ーソナリティ手段と、前記アプリケーション・インタフ
ェース手段と、前記副パーソナリティ手段とをリンクす
るインタフェース手段とを備えることを特徴とする、コ
ンピュータ・プログラム。
【0046】(11)前記基本カーネル・サービスを実
行する前記手段がMachベースのマイクロカーネルで
あることを特徴とする、(10)に記載のコンピュータ
・プログラム。
【0047】(12)前記インタフェース手段が、オブ
ジェクト指向メッセージを評価し、それらに作用する手
段と、手順呼出しを評価し、それらに作用する手段とを
含むことを特徴とする、(10)に記載のコンピュータ
・プログラム。
【0048】(13)前記主パーソナリティ手段がAI
X動作環境であることを特徴とする、(10)に記載の
コンピュータ・プログラム。
【0049】(14)前記主パーソナリティ手段がOS
/2動作環境であることを特徴とする、(10)に記載
のコンピュータ・プログラム。
【0050】(15)前記副パーソナリティ手段が、O
S/2動作環境、DOS動作環境、およびマッキントッ
シュ動作環境を含むことを特徴とする、(13)に記載
のコンピュータ・プログラム。
【0051】(16)前記副パーソナリティ手段が、A
IX動作環境、DOS動作環境、およびマッキントッシ
ュ動作環境を含むことを特徴とする、(14)に記載の
コンピュータ・プログラム。
【0052】
【発明の効果】複数の並行オペレーティング・システム
・パーソナリティを提供することにより、システム・ユ
ーザが、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のオペレーティング・システム・プロトコルと
    異なる1つまたは複数のオペレーティング・システム・
    プロトコルに従ってオペレーティング・システム・サー
    ビスを提供する副パーソナリティ手段と、 前記基本カーネル・サービスを実行する前記手段と、前
    記主パーソナリティ手段と、前記アプリケーション・イ
    ンタフェース手段と、前記副パーソナリティ手段とをリ
    ンクするインタフェース手段とを備える、複数の共存す
    るオペレーティング・システムをサポートするためのシ
    ステム。
  2. 【請求項2】前記基本カーネル・サービスを実行する前
    記手段がMachベースのマイクロカーネルであること
    を特徴とする、請求項1に記載のシステム。
  3. 【請求項3】前記インタフェース手段が、 オブジェクト指向メッセージを評価し、それらに作用す
    る手段と、 手順呼出しを評価し、それらに作用する手段とを含むこ
    とを特徴とする、請求項1に記載のシステム。
  4. 【請求項4】前記主パーソナリティ手段がAIX(米国
    IBM社の登録商標)動作環境であることを特徴とす
    る、請求項1に記載のシステム。
  5. 【請求項5】前記主パーソナリティ手段がOS/2(米
    国IBM社の登録商標)動作環境であることを特徴とす
    る、請求項1に記載のシステム。
  6. 【請求項6】前記副パーソナリティ手段が、OS/2動
    作環境、DOS動作環境、およびマッキントッシュ動作
    環境を含むことを特徴とする、請求項4に記載のシステ
    ム。
  7. 【請求項7】前記副パーソナリティ手段が、AIX動作
    環境、DOS動作環境、およびマッキントッシュ動作環
    境を含むことを特徴とする、請求項5に記載のシステ
    ム。
  8. 【請求項8】それぞれ複数のアプリケーション・タスク
    のどれにでもアクセスでき、コンピュータ・プロセッサ
    とメモリとを有するプロセッサ・システムと相互作用す
    る、複数のオペレーティング・システム環境を並行して
    操作する方法であって、第1のオペレーティング・シス
    テムを主動作環境プロセスとしてブートするステップ
    と、 複数の副オペレーティング・システム環境を別々のプロ
    セスとしてロードするステップと、 前記主動作環境および前記複数の副オペレーティング・
    システム環境からのメッセージに応答して1つまたは複
    数のパーソナリティ中立サーバをロードするステップ
    と、 アプリケーションをアプリケーション・プロセスとして
    実行するステップと、 カーネル・サービスを使用して、プロセス間通信要求お
    よびプロセッサ・システム特有の要求を処理するステッ
    プとを備えることを特徴とする方法。
  9. 【請求項9】前記カーネル・サービスが米国カーネギー
    ・メロン大学開発のMachマイクロカーネル・サービ
    スであることを特徴とする、請求項8に記載の方法。
JP6022701A 1993-02-26 1994-02-21 マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム Pending JPH06301555A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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