JP2003241984A - 複数osローディング方法および複数osローディングプログラム - Google Patents

複数osローディング方法および複数osローディングプログラム

Info

Publication number
JP2003241984A
JP2003241984A JP2002038727A JP2002038727A JP2003241984A JP 2003241984 A JP2003241984 A JP 2003241984A JP 2002038727 A JP2002038727 A JP 2002038727A JP 2002038727 A JP2002038727 A JP 2002038727A JP 2003241984 A JP2003241984 A JP 2003241984A
Authority
JP
Japan
Prior art keywords
host
guest
loading
area
main memory
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.)
Withdrawn
Application number
JP2002038727A
Other languages
English (en)
Inventor
Joji Kato
丈治 加藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002038727A priority Critical patent/JP2003241984A/ja
Publication of JP2003241984A publication Critical patent/JP2003241984A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 本発明は、複数のOSを同一空間にローディ
ングする複数OSローディング方法および複数OSロー
ディングプログラムに関し、電源投入時などにローダが
ゲストOSをローディングすると共に、アドレス情報に
従いホストOSを所定位置に配置した後、ホストOSが
ゲストOSをタスクとして生成し、簡易なローディング
を実現して両OSの各種機能の使用を実現することを目
的とする。 【解決手段】 ゲストOSを主記憶上の第1の所定領域
にローディングして初期化するステップと、ホストOS
を主記憶上の同一空間の第2の所定領域にローディング
して初期化するステップと、初期化したホストOSを起
動し、当該ホストOSがゲストOSをタスクとして生成
するステップとを有し、タスクを起動し所定の機能を実
行させるように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のOSを同一
空間にローディングする複数OSローディング方法およ
び複数OSローディングプログラムに関するものであ
る。
【0002】
【従来の技術】近年、情報機器の小型化、高機能化に伴
い、1つの装置上で複数のOS(オペレーティングシス
テム)を動作させ、高機能OSの各種機能を使用して業
務処理を行なうようにしている。例えば組み込み用のリ
アルタイムOS上で、UNIX(登録商標)などの高機
能OSをゲストOSとして動作させて使用し、当該高機
能OS上で動作する豊富な資産(ソフトウェアプログラ
ムなど)を組み込んで高機能を持つシステムを実現して
いる。
【0003】
【発明が解決しようとする課題】しかし、従来の1つの
OS上で他のOSを動作させるシステムは、専用のブー
トローダを作成し、2つのOSを順次主記憶上にローデ
ィングして動作状態にして運用開始していたため、2つ
のOSを熟知した熟練者がブートローダを多くの時間を
費やして作成する手間が必要になってしまうと共に、サ
イズや機能がBIOSに依存して制約を受けてしまった
りし、OSの格納先変更などに素早く対応し難いなどの
問題があった。
【0004】本発明は、これらの問題を解決するため、
電源投入時などにローダがゲストOSをローディングす
ると共に、アドレス情報に従いホストOSを所定位置に
配置した後、ホストOSがゲストOSをタスクとして生
成し、簡易なローディングを実現して両OSの各種機能
の使用を実現することを目的としている。
【0005】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。
【0006】図1において、S2は、ゲストOSを主記
憶にローディングする。S4は、ゲストOSがホストO
Sのアドレス情報を主記憶に格納する。
【0007】S5は、ホストOSをアドレス情報に従い
主記憶にローディングする。S7は、ホストOSがゲス
トOSをタスクとして生成する。
【0008】次に、動作を説明する。S2でゲストOS
を主記憶上の第1の所定領域にローディングし、初期化
し、S5でホストOSを主記憶上の同一空間の第2の所
定領域にローディングして初期化し、S7で初期化した
ホストOSを起動し、当該ホストOSがゲストOSをタ
スクとして生成し、タスクを起動し所定の機能を実行さ
せるようにしている。
【0009】この際、S4でゲストOSのファイル管理
機構を用いてホストOSのアドレス情報を主記憶上に格
納し、当該アドレス情報に従いホストOSを主記憶上の
同一空間の第2の所定領域にローディングするようにし
ている。
【0010】従って、電源投入時などにローダがゲスト
OSをローディングすると共に、アドレス情報に従いホ
ストOSを所定位置に配置した後、ホストOSがゲスト
OSをタスクとして生成することにより、簡易なローデ
ィングを実現して両OSの各種機能を使用することが可
能となる。
【0011】
【発明の実施の形態】次に、図1から図5を用いて本発
明の実施の形態および動作を順次詳細に説明する。
【0012】図1は、本発明の動作説明図を示す。図1
において、S1は、BIOSが起動し、ブートローダを
読み込む。これは、後述する図2の(a)のハードウェ
ア構成を持つ計算機システムに電源を投入し、ROMに
格納されているBIOSが起動し、2次記憶装置4から
図示外のブートローダを主記憶1に読み込み、起動して
制御を渡す。
【0013】S2は、ブートローダがゲストOSを読み
込む。これは、S1で主記憶1にローディングされて起
動されたブートローダが2次記憶装置4からゲストOS
(プログラム)を読み出し、主記憶1の所定領域(例え
ば主記憶のアドレスの最大の領域)にローディングす
る。
【0014】S3は、ゲストOSの初期化を行なう。こ
れは、S2で主記憶1にローディングしたゲストOSの
初期化を行なう。初期化は、例えば ・ブートローダの領域の削除 ・ユーザタスク領域の作成 ・ホストOS用の領域を獲得 S4は、ゲストOSが2次記憶装置4上のファイルシス
テムからアドレス情報ファイルを読み込む。
【0015】以上のS1からS4により、後述する図3
の(a)に示すように、 ・ユーザタスク用領域 ・ホストOS用領域 ・ゲストOS用領域 ・ゲストOSの開始アドレス(固定値) ・プログラム領域 ・データ領域 ・アドレス情報(ホストOSの各種アドレス情報) ・その他 の領域が生成、情報が格納、およびゲストOSの開始ア
ドレスが設定されたこととなる。
【0016】S5は、ホストOSを主記憶に配置する。
これは、S4で主記憶に格納されたアドレス情報(図5
参照)に従い、ホストOSを主記憶上に、後述する図3
の(b)に示すようにローディングして下記を配置す
る。
【0017】・ホストOS用領域 ・プログラム領域 ・データ領域 ・BSS領域 ・ホストOSのエントリ(開始)アドレス ・その他 S6は、ホストOSにエントリする。これは、図3の
(b)のホストOSのエントリ(開始)アドレスを指定
して起動する。これにより、下記の処理を実行する。
【0018】・初期化 ・ホストOSの記憶域の初期化 ・ホストOS用の各種デバイスの初期化 ・その他 S7は、ゲストOSをタスクとして生成する。これは、
リターンアドレスをもとに、ゲストOSをタスクとして
生成する。また、ゲストOSのエントリポイントを指定
して起動する。これにより、後述する図4の(c)に示
すように、 ・ゲストOSのエントリポイント ・その他 が設定される。
【0019】S8は、ホストOS用のタスクを起動す
る。S9は、ホストOSのディスパッチャがゲストOS
にディスパッチする。これにより、タスクとして生成さ
れたゲストOSが起動されたこととなる。
【0020】S10は、ゲストOSがゲストOS用のタ
スクを起動する。これにより、ゲストOSのディスパッ
チャがゲストOS用のタスクを起動し、処理を実行させ
る。
【0021】以上のように、電源投入時などにローダが
ゲストOSをローディングすると共に、アドレス情報に
従いホストOSを所定位置に配置した後、ホストOSが
ゲストOSをタスクとして生成し、タスクを起動するこ
とにより、簡易なローディングを実現して両OSのタス
クを起動して各種機能を使用することが可能となる。以
下順次詳細に説明する。
【0022】図2は、本発明の説明図を示す。図2の
(a)は、ハードウェア構成図を示す。
【0023】図2の(a)において、主記憶1は、OS
をローディングして各種処理を実行するものである。
【0024】CPU2は、主記憶1にローディングされ
たプログラムを読み込んで各種処理を実行するものであ
る。
【0025】BIOS3は、電源投入時などにROM
(不揮発性の読み出し専用メモリ)からBIOSを読み
出してCPU2に各種入出力処理、ここでは、2次記憶
装置4あるいはROM3からブートローダプログラムを
読み出して主記憶1にローディングしてブートローダを
起動するためのものである。ブートローダは、2次記憶
装置4からOSなどを読み出して主記憶1にローディン
グする。
【0026】2次記憶装置4は、各種データを保存する
不揮発性の大容量記憶装置であって、ここでは、ゲスト
OS,ホストOS,ホストOSのアドレス情報などを保
存したものである。
【0027】図2の(b)は、主記憶1にローディング
されたホストOS,ゲストOS,タスクの関係を模式的
に示したものである。
【0028】図2の(b)において、ホストOSは。例
えばリアルタイムOSであって、ゲストOS12のタス
ク14を起動して当該タスク14が実行する機能を使用
するものである。
【0029】ゲストOS12は、ホストOS11が使用
しようとする機能(タスク14)を実行させるためのO
Sであって、例えばUNIX(登録商標),LINAX
(登録商標)なとのOSである。
【0030】ホストOS用タスク13は、ホストOS1
1のもとで実行するタスク(機能)である。
【0031】ゲストOS用タスク14は、ゲストOS1
2のもとで実行するタスク(機能)である。
【0032】次に、図3および図4を用いて図1のフロ
ーチャートに従い図2の(b)に示すように、1つの空
間内にローディングするときの主記憶1上の様子を順番
に説明する。
【0033】図3の(a)は、図1のS4で主記憶1に
ローディングなどされた様子を示す。ここでは、図示の
下記の領域を獲得、およびアドレス情報(ホストOSの
各種アドレス情報(図5))を格納した様子を示す。
【0034】・ユーザタスク用領域 ・ホストOS用領域 ・ゲストOS用領域 ・ゲストOSの開始アドレス(固定値) ・プログラム領域 ・データ領域 ・アドレス情報(ホストOSの各種アドレス情報) ・その他 ここで、ユーザタスク用領域は、タスクを格納して当該
タスクを起動し、各種機能を実行させるための領域であ
る(実行可能形式のプログラムを格納し、起動して各種
機能を実行させるための領域である)。ホストOS用領
域は、ホストOSをローディングして起動して機能させ
るための領域である。ゲストOS用領域は、ゲストOS
をローディングして起動して機能させるための領域であ
って、ここでは、実行可能形式のプログラムを格納する
プログラム領域、データを格納するデータ領域などがあ
る。ゲストOSの開始アドレスは、主記憶1にローディ
ングしたゲストOSを起動させる固定の開始アドレスで
ある。データ領域には,ここでは、ホストOSの各種ア
ドレス(図5)を2次記憶装置4から当該ゲストOSの
ファイルシステムを使用して読み込み格納するようにし
ている。
【0035】図3の(b)は、図1のS5で主記憶1に
ローディングなどされた様子を示す。ここでは、図示の
下記の領域を獲得などした様子を示す。
【0036】・ユーザタスク用領域 ・ホストOS用領域 *ホストOSのエントリ(開始)アドレス *プログラム領域 *データ領域 *BSS領域 ・ゲストOS用領域 ・ゲストOSの開始アドレス(固定値) ・プログラム領域 ・データ領域 ・アドレス情報(ホストOSの各種アドレス情報) ・その他 ここで、*をローディング、設定する。ホストOSのエ
ントリ(開始)アドレスは、ホストOSを実行開始させ
るアドレスである。プログラム領域は、ホストOSをロ
ーディングした領域である。データ領域は、ホストOS
がデータを格納などして使用する領域である。BSS領
域は、ホストOSが各種業務処理(リアルタイム処理な
ど)するときに使用する領域である。
【0037】図4の(c)は、図1のS7で主記憶1に
ローディングなどされた様子を示す。ここでは、図示の
下記の情報を設定などした様子を示す。
【0038】・ユーザタスク用領域 ・ホストOS用領域 ・ホストOSのエントリ(開始)アドレス ・プログラム領域 ・データ領域 ・BSS領域 ・ゲストOS用領域 ・ゲストOSの開始アドレス(固定値) *ゲストOSのエントリポイント ・プログラム領域 ・データ領域 ・アドレス情報(ホストOSの各種アドレス情報) ・その他 ここで、*を設定する。ゲストOSのエントリポイント
は、図1のS7でホストOSがゲストOSをタスクとし
て生成し、当該ゲストOSをタスクとして起動するとき
のアドレスである。
【0039】図5は、本発明のアドレス情報ファイルの
例を示す。図示のアドレス情報ファイルは、図3の
(a)でゲストOSが当該ゲストOSのファイリングシ
ステムを使用して2次記憶装置4から読み出して主記憶
1のゲストOSのデータ領域に図示のように格納すると
きの情報の例であって、図示の下記の情報である。
【0040】#ホストOSのコード領域の開始アドレ
ス: #ホストOSのコード領域のサイズ: #ホストOSのデータ領域の開始アドレス: #ホストOSのデータ領域の終了アドレス: #ホストOSのBSS領域の開始アドレス: #ホストOSのBSS領域の終了アドレス: #ホストOSのエントリアドレス ・・・ 以上のホストOSに関する領域の開始アドレス、サイ
ズ、開始/終了アドレス、エントリアドレス(任意の固
定値)などを格納したアドレス情報ファイルを予め作成
して図1の2次記憶装置4に格納しておき、ゲストOS
を主記憶1にローディングした際に、当該ゲストOSの
ファイリングシステムを使用して2次記憶装置4から主
記憶1のゲストOSのデータ領域に取り込んでおくこと
で、ホストOS(例えばリアルタイムOS)が高度な機
能を持つファイルシステムをサポートしていなくても高
度の機能をもつゲストOSが予めホストOSの領域など
に関するアドレス情報(図5)を主記憶1に取り込んで
おくことで、ホストOSを簡単なローダで主記憶1にロ
ーディングするときにこれらアドレス情報に従いホスト
OSを簡易にローディングすることが可能となる。
【0041】(付記1)複数のOSを同一空間にローデ
ィングする複数OSローディング方法において、ゲスト
OSを主記憶上の第1の所定領域にローディングして初
期化するステップと、ホストOSを主記憶上の同一空間
の第2の所定領域にローディングして初期化するステッ
プと、上記初期化したホストOSを起動し、当該ホスト
OSが上記ゲストOSをタスクとして生成するステップ
とを有し、タスクを起動し所定の機能を実行させること
を特徴とする複数OSローディング方法。
【0042】(付記2)上記ホストOSを所定領域にロ
ーディングする際に、ゲストOSのファイル管理機構を
用いてアドレス情報を主記憶上に格納し、当該アドレス
情報に従いホストOSを主記憶上の同一空間の第2の所
定領域にローディングすることを特徴とする付記1記載
の複数OSローディング方法。
【0043】(付記3)複数のOSを同一空間にローデ
ィングする複数OSローディングプログラムにおいて、
ゲストOSを主記憶上の第1の所定領域にローディング
して初期化するステップと、ホストOSを主記憶上の同
一空間の第2の所定領域にローディングして初期化する
ステップと、上記初期化したホストOSを起動し、当該
ホストOSが上記ゲストOSをタスクとして生成するス
テップとを有し、タスクを起動し所定の機能をコンピュ
ータに実行させるための複数OSローディングプログラ
ム。
【0044】(付記4)ゲストOSを主記憶上の第1の
所定領域にローディングして初期化するステップと、ホ
ストOSを主記憶上の同一空間の第2の所定領域にロー
ディングして初期化するステップと、上記初期化したホ
ストOSを起動し、当該ホストOSが上記ゲストOSを
タスクとして生成するステップとを有し、タスクを起動
し所定の機能を実行させるプログラムを記録したコンピ
ュータ読取可能な記録媒体。
【0045】(付記5)複数のOSを同一空間にローデ
ィングする複数OSローディング装置において、ゲスト
OSを主記憶上の第1の所定領域にローディングして初
期化する手段と、ホストOSを主記憶上の同一空間の第
2の所定領域にローディングして初期化する手段と、上
記初期化したホストOSを起動し、当該ホストOSが上
記ゲストOSをタスクとして生成する手段とを有し、タ
スクを起動し所定の機能を実行させることを特徴とする
複数OSローディング装置。
【0046】
【発明の効果】以上説明したように、本発明によれば、
電源投入時などにローダがゲストOSをローディングす
ると共に、アドレス情報に従いホストOSを所定位置に
配置した後、ホストOSがゲストOSをタスクとして生
成する構成を採用しているため、複数OSを簡易にロー
ディングして両OSの各種機能を使用することが可能と
なる。これらにより (1) ゲストOS上の高度なファイル管理機能などを
用いてホストOSのアドレス情報などを外部記憶装置か
ら主記憶上にローディングし、簡易なローダでホストO
Sのローディングを行なうことが可能となる。
【0047】(2) 本発明のようなハイブリッドOS
を用いる場合、ゲストOSはホストOSより豊富な機能
を持つことが多く、ブート元デバイスの選択肢が広げる
ことができ、システム運用方式の柔軟性を高めることが
可能となる。
【0048】(3) ファイル管理などの複雑な機能を
1つのOSに集約でき、システムが単純となり、開発効
率や開発工数を削減できる。
【0049】(4) リンク済みの、本願ではホストO
Sをローディングするため、デバッガなどのツールを用
いてホストOSのデバッグができ、ホストOS上で動作
するアプリケーションプログラムの開発効率が向上す
る。
【0050】(5) 更に、本発明では、OS間でカー
ネル空間を共有するので(同一空間にゲストOS,ホス
トOSをローディングしたため)、両方のOSで特権命
令を発行することができ、処理効率が非常に良い。
【図面の簡単な説明】
【図1】本発明の動作説明図である。
【図2】本発明のシステム構成図である。
【図3】本発明の説明図(その1)である。
【図4】本発明の説明図(その2)である。
【図5】本発明のアドレス情報ファイルの例である。
【符号の説明】
1:主記憶 2:CPU 3:BIOS 4:2次記憶装置 11:ホストOS 12:ゲストOS 13:ホストOS用タスク 14:ゲストOS用タスク

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のOSを同一空間にローディングする
    複数OSローディング方法において、 ゲストOSを主記憶上の第1の所定領域にローディング
    して初期化するステップと、 ホストOSを主記憶上の同一空間の第2の所定領域にロ
    ーディングして初期化するステップと、 上記初期化したホストOSを起動し、当該ホストOSが
    上記ゲストOSをタスクとして生成するステップとを有
    し、タスクを起動し所定の機能を実行させることを特徴
    とする複数OSローディング方法。
  2. 【請求項2】上記ホストOSを所定領域にローディング
    する際に、ゲストOSのファイル管理機構を用いてアド
    レス情報を主記憶上に格納し、当該アドレス情報に従い
    ホストOSを主記憶上の同一空間の第2の所定領域にロ
    ーディングすることを特徴とする請求項1記載の複数O
    Sローディング方法。
  3. 【請求項3】複数のOSを同一空間にローディングする
    複数OSローディングプログラムにおいて、 ゲストOSを主記憶上の第1の所定領域にローディング
    して初期化するステップと、 ホストOSを主記憶上の同一空間の第2の所定領域にロ
    ーディングして初期化するステップと、 上記初期化したホストOSを起動し、当該ホストOSが
    上記ゲストOSをタスクとして生成するステップとを有
    し、タスクを起動し所定の機能をコンピュータに実行さ
    せるための複数OSローディングプログラム。
JP2002038727A 2002-02-15 2002-02-15 複数osローディング方法および複数osローディングプログラム Withdrawn JP2003241984A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002038727A JP2003241984A (ja) 2002-02-15 2002-02-15 複数osローディング方法および複数osローディングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002038727A JP2003241984A (ja) 2002-02-15 2002-02-15 複数osローディング方法および複数osローディングプログラム

Publications (1)

Publication Number Publication Date
JP2003241984A true JP2003241984A (ja) 2003-08-29

Family

ID=27779964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002038727A Withdrawn JP2003241984A (ja) 2002-02-15 2002-02-15 複数osローディング方法および複数osローディングプログラム

Country Status (1)

Country Link
JP (1) JP2003241984A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484452B2 (en) 2008-03-14 2013-07-09 Mitsubishi Electric Corporation Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484452B2 (en) 2008-03-14 2013-07-09 Mitsubishi Electric Corporation Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method

Similar Documents

Publication Publication Date Title
US10613773B2 (en) Backing up firmware during initialization of device
US4654783A (en) Unique process for loading a microcode control store in a data processing system
CN105579953B (zh) 灵活引导程序代码架构
EP3125113B1 (en) Systems and methods for initializing multiple virtual processors within a single virtual machine
US20080010446A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
JPH06324849A (ja) オペレーティング・システム環境の起動方法およびシステム
US20110179260A1 (en) Method for integrating operating system into bios chip and method for booting operating system from server
JP2008186175A (ja) オペレーティングシステムの起動制御方法及び情報処理装置
JP2004334486A (ja) ブートコードを用いた起動システム、及び起動方法
JP2005301639A (ja) Osの障害対応方法およびそのプログラム
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
JP2012516483A (ja) クラスファイル内にネイティブコードを埋め込むことによる仮想メカニズム内でのプラットフォーム依存ルーチンの適用
US8499142B1 (en) UEFI boot loader for loading non-UEFI compliant operating systems
CN114721735B (zh) 一种程序动态加载方法、装置及电子设备
JP2003241984A (ja) 複数osローディング方法および複数osローディングプログラム
JP2004078604A (ja) 情報処理方法とその方法を実現するプログラム及び記録媒体
JP3945405B2 (ja) コンピュータシステム及びコンピュータシステムのブートデバイス初期化方法
WO2007049423A1 (ja) コンピュータシステム、及びそれにおける基本プログラムの起動方法
JP2006012158A (ja) デジタルデバイスのファームウェアとオペレーティングシステムとの間の拡張可能インターラクションを提供する方法および装置
JP2004287618A (ja) オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置
KR101395007B1 (ko) 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법
RU2718235C1 (ru) Архитектура операционной системы для обеспечения поддержки поколений микроядер
JPH0587856B2 (ja)
JP3087477B2 (ja) コンピュータシステム
JPH10222361A (ja) 計算機等の処理装置におけるromプログラムモニタ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510