JP5328410B2 - 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム - Google Patents

被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム Download PDF

Info

Publication number
JP5328410B2
JP5328410B2 JP2009038183A JP2009038183A JP5328410B2 JP 5328410 B2 JP5328410 B2 JP 5328410B2 JP 2009038183 A JP2009038183 A JP 2009038183A JP 2009038183 A JP2009038183 A JP 2009038183A JP 5328410 B2 JP5328410 B2 JP 5328410B2
Authority
JP
Japan
Prior art keywords
cpu
unit
booted
initial
boot
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.)
Expired - Fee Related
Application number
JP2009038183A
Other languages
English (en)
Other versions
JP2010191886A (ja
Inventor
寛隆 茂田井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009038183A priority Critical patent/JP5328410B2/ja
Publication of JP2010191886A publication Critical patent/JP2010191886A/ja
Application granted granted Critical
Publication of JP5328410B2 publication Critical patent/JP5328410B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、例えば、1つの計算機にて複数のOSが動作するマルチOS環境において、2つ目以降のOSを起動する被起動OS動作計算機、計算機のOS起動方法およびOS起動プログラムに関するものである。
オペレーティングシステム(以下、「OS」という)は1台の計算機上で動作するソフトウェアである。OSは起動時に計算機の初期化処理を行い、計算機資源(CPU、メモリ、割込みなど)を管理する。
OSは単独で計算機資源を管理することを前提としており、複数のOSの共存は何らかの機構なしには不可能である。
1台の計算機上で複数のOSを並行して動作させるためには、大型計算機で実現されている仮想計算機方式(非特許文献1)がある。
仮想計算機方式では、全ての計算機資源を計算機制御プログラムが占有して管理し、OSには仮想的な計算機として一部の資源が提供される。これにより、複数のOSそれぞれがあたかも異なる計算機上で単独に動作するため、複数のOSを並行動作させることができる。しかし、計算機資源の一部のみを提供する特別なハードウェア支援と特権命令のエミュレーションとが必要であるため、オーバヘッドが存在する。
一方で、OSの初期化処理部分、割込み管理部分の変更および割込み管理プログラムの追加により、特別なハードウェア支援や特権命令のエミュレーションを不要にした発明(特許文献1)も提案されている。
この発明では、第一OSの初期化処理において、第二OS,第三OSが必要とする物理メモリ・外部デバイスなどの計算機資源を予約する。第二OS,第三OSの起動処理では予約された計算機資源のみを占有して管理する。また、独立した管理プログラムが外部割込みを横取りして、割込み要因に応じて各OSへ伝達する。これらにより、計算機資源を分割し、各OSを並行動作させることができる。
また、複数CPUを備えた計算機上で、各CPUにOSをそれぞれ動作させる方式(非特許文献2)がある。
この方式では、計算機資源を分割して各OSを並行動作させるために、各OSが事前に割り振られたCPU上で動作する。さらに、割込みを割り振られた先のCPUに通知するか、割込みを第一のOSから第二,第三のOSへ伝播する。
特開平11−149385号公報
OSシリーズ第11巻 VM、岡崎世雄他著、共立出版株式会社 シングルチップマルチプロセッサ上のハイブリッドOS環境の実現−OS間インタフェースの実装、管井、遠藤、山口、近藤著、情報処理学会第66回全国大会、2D−6
従来のマルチOSは、初期起動OSの起動処理にてCPUを初期化し、被起動OSの起動処理を変更してCPUの初期化処理を無効にしている。このため、別のCPU上で被起動OSを起動する際にCPUが正常動作しないという課題があった。
また、割込み管理は初期起動OSにて割込みの全てを自CPUに通知されるように設定し、被起動OSの割込み管理処理では自CPUに入った割込みの伝播先として自OSを登録するように変更されている。別CPUにて被起動OSが動作した場合、割込みをどのCPUへ通知するかを設定していないため、別CPUに割り込みが通知されず、別CPUで独立動作する際に割り込みを受けることが出来ないという課題があった。
既存の発明では、これらを解決するために被起動OSの起動処理を変更している(非特許文献2)。
本発明は、例えば、複数のCPU(マルチコアCPU含)を搭載した計算機において、1つのCPUにて動作する従来のマルチOSを変更することなく、各OSにCPUを占有させることを目的とする。
本発明の被起動OS動作計算機は、第1のCPU(Central Proccessing Unit)と、第2のCPUと、起動後の第1のCPUを用いて未起動である第2のCPUを起動するCPU起動部と、前記CPU起動部により起動された前記第2のCPUを初期化するCPU初期化部と、前記CPU初期化部により初期化された前記第2のCPUを用いて特定のOS(Operating System)を被起動OSとして起動するOS起動部とを備える。
本発明によれば、例えば、従来のマルチOSを変更することなく、各OSにCPUを占有させることができる。そのため、被起動OSを初期起動OSと同じCPU上でも、別のCPU上でも起動できるようになる。
実施の形態1におけるマルチCPU計算機100の構成図。 実施の形態1におけるマルチOS拡張方式を示すフローチャート。 実施の形態1における初期起動OS起動処理(S120)のフローチャート。 実施の形態1における外部デバイス予約テーブル410の構造を示す図。 実施の形態1におけるOS管理テーブル400の構造を示す図。 実施の形態1におけるOS動作CPUテーブル420の構造を示す図。 実施の形態1におけるOS切替処理(S130、S170)のフローチャート。 実施の形態1における被起動CPU起動処理(S140)のフローチャート。 実施の形態1における被起動OS起動処理(S150)のフローチャート。 実施の形態2におけるマルチCPU計算機100の構成図。 実施の形態2におけるOS管理テーブル400の構造を示す図。 実施の形態2におけるOS一時停止処理のフローチャート。 実施の形態2におけるOS切替処理(S130、S170)のフローチャート。 実施の形態2におけるOS再開処理のフローチャート。 実施の形態3におけるマルチCPU計算機100の構成図。 実施の形態3における割込み転送処理のフローチャート。
実施の形態1.
1つのCPU(Central Proccessing Unit)で動作するように作られた複数のOS(Operating System)を複数のCPUで動作させるマルチOS拡張方式について説明する。
図1は、実施の形態1におけるマルチCPU計算機100の構成図である。
実施の形態1におけるマルチCPU計算機100の構成について、図1に基づいて以下に説明する。
マルチCPU計算機100(被起動OS動作計算機の一例)は、初期起動CPU110(第1のCPUの一例)、被起動CPU111(第2のCPUの一例)、主記憶装置120などを備える。
初期起動CPU110はマルチCPU計算機100の起動時に起動し、第1のOS(後述する「初期起動OS200」)を動作させるCPUである。
被起動CPU111は第2のOS(後述する「被起動OS」)が起動するときに起動し、第2のOSを動作させるCPUである。
初期起動CPU110と被起動CPU111とは、制御レジスタ(アキュムレータ、スタックレジスタ、プログラムカウンタ、割り込みレジスタ、フラグレジスタ、起動レジスタなど)および汎用レジスタを備える。
例えば、CPUは、起動割込みや起動レジスタへの所定値の設定により起動される。
初期起動CPU110と被起動CPU111とは、バス101を介して主記憶装置120および複数の外部デバイス(191〜194)と接続し、主記憶装置120および複数の外部デバイスを制御する。
外部デバイス(191〜194)とは、ハードディスク、キーボード、ディスプレイ装置、ネットワークインタフェースカードなど、計算機(コンピュータ)に接続される機器のことである。
初期起動CPU110と被起動CPU111とは、個別のパッケージに実装されたプロセッサコアであっても、一つのパッケージに実装されたマルチコアプロセッサであっても構わない。
主記憶装置120は、初期起動OS200、複数の被起動OS(210、220)、OS切替部300、被起動CPU起動部310、OS管理テーブル400、外部デバイス予約テーブル410、OS動作CPUテーブル420などを記憶する。
以下、主記憶装置120の記憶領域を「メモリ領域」という。
OS(例えば、初期起動OS200や被起動OS)は、CPU、主記憶装置内のメモリ領域、外部デバイスなどの計算機資源を占有して動作する。
初期起動OS200および複数の被起動OSは、CPUが一つである計算機において互いに切り替わりながら一つのCPU上で動作するように作られたマルチOSである。
被起動OSは、初期起動OS200によりCPUが初期化されることを前提に動作し、CPUが初期化されていないと誤動作を起こす。
CPUの初期化とは、例えば、所定のレジスタを初期設定することである。
初期起動OS200は、初期起動OS起動部201を備え、マルチCPU計算機100の起動時に初期起動CPU110で起動する。
初期起動OS起動部201は、初期起動OS200を起動する起動処理を初期起動CPU110を用いて実行する。初期起動OS起動部201による起動処理では、初期起動CPU110の初期化、被起動OSa210用の計算機資源の予約などが行われる。
各被起動OSは、被起動OS起動部211(OS起動部の一例)を備え、マルチCPU計算機100の起動完了後において特定のタイミングに初期起動CPU110または被起動CPU111で起動する。例えば、特定のタイミングとは、利用者による指定時や割り当てられた外部デバイスからの割込み発生時である。
被起動OS起動部211は、被起動OSを起動する起動処理を初期起動CPU110または被起動CPU111(自OSが動作する方)を用いて実行する。被起動OS起動部211による起動処理では、被起動OSa210用に予約された計算機資源の確認などが行われる。但し、被起動CPU111の初期化は行われない。
OS切替部300は、動作中のOSに替えて非動作中のOSを動作させる。
例えば、非動作中のOSとは、未起動のOSや待機中のOS(起動済であるがCPUの割り当てを待っているOS)である。
被起動CPU起動部310は、未起動の被起動CPU111を起動し、被起動CPU111を初期化し、被起動OS起動部211を呼出して被起動OSを被起動CPU111で起動させる。
被起動CPU起動部310は、被起動CPU初期起動部311(CPU起動部の一例)と被起動CPU初期化部312(CPU初期化部の一例)とを備える。
被起動CPU初期起動部311は、起動後の初期起動CPU110を用いて未起動である被起動CPU111を起動する。
被起動CPU初期化部312は、被起動CPU初期起動部311により起動された被起動CPU111を初期化し、被起動OS起動部211を呼出して被起動OSを被起動CPU111で起動させる。
OS管理テーブル400は、OS毎に起動状態、次に実行すべきコード、待機後に再開するために必要な情報(コンテキスト)を管理するためのテーブルである。
外部デバイス予約テーブル410は、各外部デバイスと当該外部デバイスを割り当てられたOSとの関係を管理するためのテーブルである。
OS動作CPUテーブル420は、各OSと当該OSが動作中のCPUとの関係を管理するためのテーブルである。
実施の形態において「〜部」として説明する機能はプログラムとしてCPUにより読み出され実行される。すなわち、プログラムは、「〜部」として計算機(コンピュータ)を機能させるものであり、また「〜部」の手順や方法を計算機に実行させるものである。
実施の形態においてフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
図2は、実施の形態1におけるマルチOS拡張方式を示すフローチャートである。
1つのCPUで動作するように作られた初期起動OS200と被起動OSとを初期起動CPU110と被起動CPU111とで動作させるマルチOS拡張方式(OS起動方法の一例)について、図2に基づいて以下に説明する。
マルチCPU計算機100の起動時に初期起動CPU110が起動し(S110)、初期起動CPU110で初期起動OS200が起動する(S120)。
その後、特定のタイミングにおいて初期起動CPU110で被起動CPU起動部310が被起動CPU111を起動し(S130、S140)、被起動CPU111で被起動OSが起動する(S150)。
OSを切り替える必要があるときには(S160)、いずれかのCPUでOS切替部300がOSを切り替える(S170)。
以下に、各処理(S110〜S170)の詳細について説明する。
<S110:初期起動CPU起動処理>
マルチCPU計算機100に電源が入ると、マルチCPU計算機100の起動処理により初期起動CPU110が起動される。
S110の後、処理はS120に進む。
<S120:初期起動OS起動処理>
初期起動CPU110が起動すると、マルチCPU計算機100の起動処理により初期起動OS起動部201が初期起動CPU110で動作して初期起動OS200が起動する。
図3は、実施の形態1における初期起動OS起動処理(S120)のフローチャートである。
初期起動OS起動処理(S120)について、図3に基づいて以下に説明する。
以下に説明する各処理(S121〜S125)は、初期起動OS起動部201が初期起動CPU110を用いて実行する。
<S121>
初期起動OS起動部201は、初期起動CPU110を初期化する。
CPUの初期化とは、主記憶装置120に記憶される割込みテーブル(図示省略)のメモリアドレスの設定や動作モード(16ビットモードまたは32ビットモードまたは64ビットモード)の設定など、CPUのアーキテクチャ依存部分に関する初期設定を行うことである。
例えば、初期起動OS起動部201は初期起動CPU110の所定のレジスタに所定の初期値を設定する。
S121の後、処理はS122に進む。
<S122>
初期起動OS起動部201は、各外部デバイスを所定の処理により初期化する。
例えば、初期起動OS起動部201は、各外部デバイス内のコントローラ(制御プログラム)にCPUへのデータ転送速度などの動作モードを初期設定する。
S122の後、処理はS123に進む。
<S123>
初期起動OS起動部201は、被起動OS(210、220)用の計算機資源を予約する。
例えば、初期起動OS起動部201は、外部デバイス予約テーブル410に基づいて被起動OS用の外部デバイスを予約する。
図4は、実施の形態1における外部デバイス予約テーブル410の構造を示す図である。
実施の形態1における外部デバイス予約テーブル410の構造について、図4に基づいて以下に説明する。
外部デバイス予約テーブル410には、各外部デバイスを識別する外部デバイス番号411と各外部デバイスを割り当てられたOSを識別するOS番号412とが予め設定されている。
以下、外部デバイス番号411として各外部デバイスの符号を用い、OS番号412として各OSの符号を用いて説明する。
図4の外部デバイス予約テーブル410は、初期起動OS200に外部デバイスa191と外部デバイスb192とが割り当てられ、被起動OSa210に外部デバイスc193が割り当てられ、被起動OSb220に外部デバイスd194が割り当てられていることを示している。
外部デバイス予約テーブル410が図4の設定値を示す場合、S123(図3)において、初期起動OS起動部201は外部デバイスa191と外部デバイスb192とを自OSに割り当てられた外部デバイスとして自OS用のメモリ領域に設定する。
これにより、初期起動OS起動部201が他のOSに割り当てられた外部デバイスを使用することはなく、被起動OS用の外部デバイスが予約される。
S123(図3)の後、処理はS124に進む。
<S124>
初期起動OS起動部201は、初期起動OS200のデータ構造を初期化する。
例えば、初期起動OS起動部201は、初期起動OS200用のメモリ管理テーブルや割込みテーブル(図示省略)を初期設定する。
また、初期起動OS起動部201は、OS管理テーブル400に自OSが起動したことを設定し、OS動作CPUテーブル420に自OSが初期起動CPU110で起動したことを設定する。
図5は、実施の形態1におけるOS管理テーブル400の構造を示す図である。
実施の形態1におけるOS管理テーブル400の構造について、図5に基づいて以下に説明する。
OS管理テーブル400には、各OS(と被起動CPU起動部310)のOS番号401毎にOS起動情報402、OSコード403およびOSコンテキスト404の初期値が予め設定されている。被起動CPU起動部310は、OSの一つとして扱われ、OS管理テーブル400と後述するOS動作CPUテーブル420とで管理されるものとする。
OS番号401には、各OSを識別する番号が設定される。以下、OS番号401として各OSの符号を用いて説明する。
OS起動情報402には、当該OSの起動状態として「起動済」または「未起動」が設定される。OS起動情報402の初期値は「未起動」である。
OSコード403には、当該OSに実行させる実行コードが記憶されているメモリ領域のアドレスが設定される。初期起動OS200のOSコード403の初期値は初期起動OS起動部201のアドレスであり、被起動OSa210と被起動OSb220とのOSコード403の初期値はそれぞれの被起動OS起動部211のアドレスである。また、被起動CPU起動部310のOSコード403の初期値は被起動CPU初期起動部311のアドレスである。OSコード403の設定値(被起動CPU起動部310の設定値を除く)は、CPUで動作するOSが切り替わるときに変更される。被起動CPU起動部310のOSコード403の設定値の変更は不要である。
OSコンテキスト404には、OSが動作を始めるために必要な情報(コンテキストまたはコンテキストが設定されるメモリ領域のアドレス)が設定される。OSコンテキスト404の設定値(被起動CPU起動部310の設定値を除く)は、CPUで動作するOSが切り替わるときに変更される。被起動CPU起動部310のOSコンテキスト404の設定値の変更は不要である。
S124(図3)において、初期起動OS起動部201は、初期起動OS200についてOS管理テーブル400のOS起動情報402を「未起動」から「起動済」に変更する。
図6は、実施の形態1におけるOS動作CPUテーブル420の構造を示す図である。
実施の形態1におけるOS動作CPUテーブル420の構造について、図6に基づいて以下に説明する。
OS動作CPUテーブル420には、各OS(と被起動CPU起動部310)を識別するOS番号421と当該OSが動作しているCPUを識別するCPU番号422とが設定される。
OS番号421には、各OSの識別番号が予め設定されている。
CPU番号422は、各OSが起動または動作を再開したときに設定される。
以下、OS番号421として各OSの符号を用い、CPU番号422として各CPUの符号を用いて説明する。
S124(図3)において、初期起動CPU110で動作している初期起動OS起動部201は、初期起動OS200についてOS動作CPUテーブル420のCPU番号422に「110」を設定する。
S124の後、処理はS125に進む。
<S125>
初期起動OS起動部201は、初期起動OS200の所定の初期プロセスを作成する。
初期プロセスの作成とは、初期プロセスを実行するためのメモリ領域の確保、外部デバイス(例えば、ハードディスク)からメモリ領域への初期プロセスの読み込み、CPUのレジスタへの初期プロセスの起動設定を意味する。
初期プロセスの作成により、初期プロセスが動作し、所定の処理(例えば、ログイン画面の表示)が行われる。
S125の後、初期起動OS起動処理(S120)は終了する。
図2に戻り、マルチOS拡張方式の説明を続ける。
S120の後、処理はS130、S140に進む。
<S130、S140:OS切替処理、被起動CPU起動処理>
ここで、被起動OSa210(または被起動OSb220、S150まで以下同じ)を起動する特定のタイミングになったものとする。例えば、特定のタイミングとは、利用者から初期起動OS200に対して被起動OSa210の起動を指定されたときや被起動OSa210用に予約された外部デバイスから初期起動CPU110へ割込み要求があったときである。
このとき、OS切替部300が初期起動CPU110で動作して被起動CPU起動部310を呼出し(S130)、被起動CPU起動部310が初期起動CPU110から被起動CPU111を起動する(S140)。
図7は、実施の形態1におけるOS切替処理(S130、S170)のフローチャートである。
実施の形態1におけるOS切替処理(S130)について、図7に基づいて以下に説明する。
<S131>
OS切替部300は、動作中のOS(初期起動OS200)のコンテキストをOS管理テーブル400のOSコンテキスト404に設定して保存する。
また、OS切替部300は、動作中のOSの次の実行コードのメモリアドレスをOS管理テーブル400のOSコード403に設定する。
S131の後、処理はS132に進む。
<S132>
OS切替部300は、新たに動作させるOS(被起動OSa210)についてOS管理テーブル400のOS起動情報402を参照する。
但し、OS切替部300は、被起動CPU111が未起動である場合には新たに動作させるOSのOS起動情報402の代わりに、被起動CPU起動部310のOS起動情報402を参照する。
このとき、被起動CPU起動部310のOS起動情報402は「未起動」であるため、処理はS133に進む。
<S133>
OS切替部300は、被起動CPU起動部310の実行コードを所定の外部デバイス(例えば、ハードディスク)から所定のメモリ領域に読み込む。所定のメモリ領域は、OS管理テーブル400内の被起動CPU起動部310のOSコード403に示される領域である。実行コードは、テキスト(命令、関数)やスタックともいう。
S133の後、処理はS134に進む。
<S134>
OS切替部300は、被起動CPU起動部310についてOS管理テーブル400のOS起動情報402を「未起動」から「起動済」に変更する。
そして、OS切替部300は、OSコード403に基づいて被起動CPU起動部310の実行コードを呼出す。
実行コードの呼出しにより、被起動CPU起動部310は被起動CPU起動処理(S140)を開始する。
S134の後、OS切替処理(S130)は終了する。
図8は、実施の形態1における被起動CPU起動処理(S140)のフローチャートである。
実施の形態1における被起動CPU起動処理(S140)について、図8に基づいて以下に説明する。
被起動CPU初期起動部311は以下に説明するS141〜S143、S148を初期起動CPU110を用いて実行し、被起動CPU初期化部312は以下に説明するS144〜S147を被起動CPU111を用いて実行する。
<S141>
被起動CPU初期起動部311は、所定のメモリ領域に被起動CPU初期化部312の実行コードを被起動CPU111の起動エントリとして設定する。
S141の後、処理はS142に進む。
<S142>
被起動CPU初期起動部311は、被起動CPU111を起動する。
S142の後、初期起動CPU110での処理はS143に進み、被起動CPU111での処理はS144に進む。
<S143>
初期起動CPU110において、被起動CPU初期起動部311は被起動CPU111の起動完了を待つ。
<S144>
被起動CPU111において、被起動CPU初期化部312は被起動CPU111を初期化する。被起動CPU111の初期化は、初期起動CPU110の初期化(S121)と同様である。
例えば、被起動CPU初期化部312は、被起動CPU111の所定のレジスタを初期設定する。
S144の後、処理はS145に進む。
<S145>
被起動CPU初期化部312は、新たに動作するOS(被起動OSa210)用に予約されている外部デバイスを外部デバイス予約テーブル410を参照して特定し、当該外部デバイスを使用できるようにする。
例えば、被起動CPU初期化部312は、新たに動作するOSが起動される被起動CPU111を割込み先のCPUとして当該外部デバイスに割込み設定を行う。また、被起動CPU初期化部312は、当該外部デバイスがS122において初期化されないデバイスであれば、当該外部デバイスを初期化する。
S145の後、処理はS146に進む。
<S146>
被起動CPU初期化部312は、被起動CPU111の起動完了を初期起動CPU110で動作している被起動CPU初期起動部311に通知する。
例えば、被起動CPU初期化部312は、初期起動CPU110への割込みや所定のメモリ領域へのフラグの設定により、被起動CPU111の起動完了を被起動CPU初期起動部311に通知する。
S146の後、被起動CPU111での処理はS147に進み、初期起動CPU110での処理はS148に進む。
<S147>
被起動CPU初期化部312は、被起動OSa210の実行コードを所定の外部デバイスから被起動OSa210用のメモリ領域に読み込む。
また、被起動CPU初期化部312は、OS管理テーブル400内の被起動OSa210のOS起動情報402を「未起動」から「起動済」に変更する。
そして、被起動CPU初期化部312は、被起動OSa210の被起動OS起動部211を呼出す。
S147の後、被起動CPU111において被起動CPU起動処理(S140)は終了する。
<S148>
被起動CPU初期起動部311は、OS動作CPUテーブル420内の被起動OSa210のCPU番号422に被起動OSa210を起動したCPUの番号「111」を設定する。
また、被起動CPU初期起動部311は、OS管理テーブル400内の被起動CPU起動部310のOS起動情報402を「起動済」から「未起動」に変更する。
そして、被起動CPU初期起動部311は、被起動CPU起動部310から初期起動OS200へのOSの切り替えをOS切替部300に要求する。被起動CPU初期起動部311から要求を受けたOS切替部300は、OS管理テーブル400内の初期起動OS200のOSコンテキスト404を初期起動CPU110のレジスタに設定する。初期起動CPU110は、レジスタに設定されたOSコンテキスト404に基づいて初期起動OS200の動作を再開させる。
S148の後、初期起動CPU110において被起動CPU起動処理(S140)は終了する。
図2に戻り、マルチOS拡張方式の説明を続ける。
S130、S140の後、処理はS150に進む。
<S150:被起動OS起動処理>
S147において呼出された被起動OS起動部211は、被起動CPU111で被起動OSa210を起動する。
図9は、実施の形態1における被起動OS起動処理(S150)のフローチャートである。
実施の形態1における被起動OS起動処理(S150)について、図9に基づいて以下に説明する。
被起動OS起動部211は、以下に説明する処理を被起動CPU111を用いて実行する。
<S151>
被起動OS起動部211は、被起動OSa210用に予約された計算機資源を確認する。
例えば、被起動OS起動部211は、被起動OSa210用のメモリ領域に予め設定される外部デバイスの番号と外部デバイス予約テーブル410に被起動OSa210用として設定されている外部デバイス番号411とを比較し、被起動OSa210用に予約された外部デバイスを確認する。例えば、メモリ領域と外部デバイス予約テーブル410とのいずれにしか設定されていない外部デバイスがある場合、被起動OSa210は当該外部デバイスを使用しない。
S151の後、処理はS152に進む。
<S152>
被起動OS起動部211は、初期起動OS起動部201と同様に(S124)、被起動OSa210のデータ構造を初期化する。
S152の後、処理はS153に進む。
<S153>
被起動OS起動部211は、初期起動OS起動部201と同様に(S125)、被起動OSa210の初期プロセスを作成する。
S153の後、被起動OS起動処理(S150)は終了する。
図2に戻り、マルチOS拡張方式の説明を続ける。
S150の後、処理はS160に進む。
<S160>
初期起動CPU110で動作するOS(例えば、初期起動OS200)または被起動CPU111で動作するOS(例えば、被起動OSa210)を他のOS(例えば、被起動OSb220)に切り替える場合(YES)、処理はS170に進む。
例えば、他のOSに切り替える場合とは、利用者からOSの切り替え指示があった場合、動作していないOS用に予約された外部デバイスから割込み要求があった場合、動作中のOSが外部デバイスからの割込み待ちになったためCPUが空いた場合などである。
<S170:OS切替処理>
OS切替部300は、初期起動CPU110または被起動CPU111で動作するOSを他のOSに切り替える。
OS切替処理(S170)について、図7に基づいて以下に説明する。
<S171>
OS切替部300は、動作中のOS(例えば、被起動OSa210)のコンテキストをOS管理テーブル400のOSコンテキスト404に設定して保存する。
S171の後、処理はS172に進む。
<S172>
OS切替部300は、新たに動作させるOS(例えば、被起動OSb220)についてOS管理テーブル400のOS起動情報402を参照する。
OS起動情報402が「未起動」である場合、処理はS173に進み、OS起動情報402が「起動済」である場合、処理はS175に進む。
<S173>
S172においてOS起動情報402が「未起動」である場合、新たに動作させるOSは被起動OSa210または被起動OSb220である。
OS切替部300は、新たに動作させるOSの被起動OS起動部211の実行コードを所定の外部デバイスから当該OS用のメモリ領域に読み込む。
S173の後、処理はS174に進む。
<S174>
OS切替部300は、新たに動作させるOSについてOS管理テーブル400のOS起動情報402を「未起動」から「起動」に変更する。
そして、OS切替部300は、OS管理テーブル400内のOSコード403に基づいて、新たに動作させるOSの被起動OS起動部211の実行コードを呼出す。
実行コードの呼出しにより、被起動OS起動処理(S150)(図9参照)が実行され、新たに動作させるOSが起動する。
S174の後、OS切替処理(S170)は終了する。
<S175>
S172においてOS起動情報402が「起動済」である場合、新たに動作させるOSのコンテキストは過去のOS切替処理(S171)においてOS管理テーブル400のOSコンテキスト404に保存されている。
OS切替部300は、新たに動作させるOSのOSコンテキスト404をOSを切り替えるCPUのレジスタに設定する。CPUは、レジスタに設定されたOSコンテキスト404に基づいて、新たに動作させるOSの動作を再開させる。
S175の後、OS切替処理(S170)は終了する。
図2において、S160〜S170はマルチCPU計算機100の電源が落とされるまで繰り返し実行される。
実施の形態1において、以下のようなマルチOS拡張方式について説明した。
マルチOS拡張方式は、複数のCPU(もしくはCPUコア)を持つ計算機システム(マルチCPU計算機100)でマルチOSを動作させる。ここで、マルチOSとは、各OSに計算機資源を予約し、1つのCPUを切り替えながら共有する複数のOSである。
マルチOS拡張方式は(1)CPU起動手段(被起動CPU初期起動部311)と(2)CPU初期化手段(被起動CPU初期化部312)を計算機システムに備える。
(1)CPU起動手段は、他のCPUを起動する。
(2)CPU初期化手段は、他のCPUを初期化して動作中のCPUと同じ状態にし、起動を要求された被起動OSを他のCPUにて動作させる。
マルチOS拡張方式は、上記(1,2)により、共有するCPUでしか起動できない被起動OSを他のCPUにて起動可能にする。
以上のように、マルチOS拡張方式は、被起動OSの起動直前に、CPU起動手段により停止中のCPUを起動し、CPU初期化手段により被起動OSの起動に必要な計算機環境を整える。
これにより、被起動OSに変更を加えることなく、従来どおり初期起動OSと被起動OSとを1つのCPU上で同時動作させることも、初期起動OSと被起動OSとをそれぞれ独立したCPU上で並行動作させることも可能となる。今までは独立したCPU上で動作させるための変更をOSに加える必要があった。
被起動OSに変更を加える必要がないため、複数のCPUを備える計算機でも従来のマルチOSのソースコードをそのまま使用でき、計算機システムの開発期間の短縮や保守性の向上が見込める。
実施の形態1において、CPUが3つ以上あっても、被起動OSが3つ以上あっても、CPUの数とOSの数(初期起動OS+各被起動OS)が同じであっても構わない。
実施の形態2.
OSを切り替える際に保存するコンテキストがOS毎に異なる形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図10は、実施の形態2におけるマルチCPU計算機100の構成図である。
実施の形態2におけるマルチCPU計算機100の構成について、図10に基づいて以下に説明する。
マルチCPU計算機100は、実施の形態1の構成(図1参照)に加えて、初期起動OS200および各被起動OSがOS一時停止部(202、212)とOS再開部(203、213)とを備える。
OS一時停止部は、自OSの再開に必要なコンテキストのみを自OS用のメモリ領域に保存する。OS一時停止部により保存される初期起動OS200のコンテキスト、被起動OSa210のコンテキストおよび被起動OSb220のコンテキストは、種類や数が同じでも違っても構わない。
OS再開部は、OS一時停止部により自OS用のメモリ領域に保存された自OSのコンテキストを用いて自OSの動作を再開させる。
図11は、実施の形態2におけるOS管理テーブル400の構造を示す図である。
OS管理テーブル400は、実施の形態1の構造(図5参照)からOSコンテキスト404を削除したものである。
各OSのコンテキストはそれぞれのメモリ領域に保存されるため、OS管理テーブル400にOSコンテキスト404を設定する必要はない。
マルチ拡張方式(図2参照)において、OS切替処理(S130、S170)が実行される前に、OS一時停止部によるOS一時停止処理が実行される。
例えば、S130の前(被起動CPUの起動前)、初期起動OS200のOS一時停止部202が動作する。
また例えば、S170の前(被起動CPUの起動後)において新たに動作する被起動OSが未起動である場合、利用者から被起動OSの起動を指定されたOSのOS一時停止部が動作する。
また例えば、S170の前(被起動CPUの起動後)において新たに動作するOSが起動済である場合、新たに動作するOSが前回動作したCPUで動作中のOSのOS一時停止部が動作する。
図12は、実施の形態2におけるOS一時停止処理のフローチャートである。
実施の形態2におけるOS一時停止処理について、図12に基づいて以下に説明する。
<S200>
OS一時停止部は、自OSのコンテキストを自OS用のメモリ領域に保存する。
また、OS一時停止部は、OS再開部の実行コードのメモリアドレスをOS管理テーブル400のOSコード403に設定する。
S200の後、処理はS210に進む。
<S210>
OS一時停止部は、OS切替部300の実行コードを呼出す。
実行コードの呼出しにより、OS切替処理(S130、S170)が実行される。
S210の後、OS一時停止処理は終了する。
図13は、実施の形態2におけるOS切替処理(S130、S170)のフローチャートである。
実施の形態2におけるOS切替処理(S130、S170)について、図13に基づいて以下に説明する。
OS切替処理(S130、S170)は、実施の形態1(図7参照)に対して、S131(S171)を削除し、S175をS175Bに変更したものである。
以下、S175Bについて説明し、他の処理の説明を省略する。
<S175B>
OS切替部300は、OS管理テーブル400内のOSコード403に基づいて、新たに動作させるOSのOS再開部の実行コードを呼出す。
実行コードの呼出しにより、OS再開部によるOS再開処理が実行される。
S175Bの後、OS切替処理は終了する。
図14は、実施の形態2におけるOS再開処理のフローチャートである。
実施の形態2におけるOS再開処理について、図14に基づいて以下に説明する。
<S220>
OS再開部は、自OSのメモリ領域に保存されている自OSのコンテキストをOSを切り替えるCPUのレジスタに設定する。CPUは、レジスタに設定されたコンテキストに基づいて、当該OSの動作を再開させる。
S220の後、OS再開処理は終了する。
例えば、上記のマルチOS拡張方式により、以下のような処理が行われる。
初期起動OS200のOS一時停止部202(初期起動OS情報保存部の一例)は、初期起動CPU110で動作している初期起動OS200のコンテキストを主記憶装置120に保存する。
OS切替部300は、初期起動OS200の代わりに被起動CPU起動部310を初期起動CPU110で動作させる。
初期起動OS200のOS再開部203(初期起動OS再開部の一例)は、OS切替部OS切替部300により動作された被起動CPU起動部310の代わりに初期起動OS200をOS一時停止部202により保存されたコンテキストを用いて初期起動CPU110で動作させる。
また例えば、上記のマルチOS拡張方式により、以下のような処理が行われる。
被起動OSa210のOS一時停止部212(被起動OS情報保存部の一例)は、被起動CPU111で動作している被起動OSa210のコンテキストであって初期起動OS200のコンテキストとは異なるコンテキストを主記憶装置120に保存する。
被起動OSb220の被起動OS起動部211(OS第2起動部の一例)は、被起動OSb220を被起動CPU111を用いて起動する。
被起動OSa210のOS再開部213(被起動OS再開部の一例)は、被起動OSb220の代わりに被起動OSa210をOS一時停止部212により保存されたコンテキストを用いて被起動CPU111で動作させる。
また例えば、上記のマルチOS拡張方式により、以下のような処理が行われる。
初期起動OS200のOS一時停止部202(初期起動OS情報保存部の一例)は初期起動CPU110で動作している初期起動OS200のコンテキストを保存する。
被起動OSb220の被起動OS起動部211(OS第2起動部の一例)は、被起動OSb220を初期起動CPU110を用いて起動する。
被起動OSb220のOS一時停止部212(被起動第2OS情報保存部の一例)は、被起動OSb220のコンテキストであって初期起動OS200のコンテキストとは異なるコンテキストを主記憶装置120に保存する。
初期起動OS200のOS再開部203(初期起動OS再開部の一例)は、被起動OSb220の代わりに初期起動OS200をOS一時停止部202により保存されたコンテキストを用いて初期起動CPU110で動作させる。
被起動OSb220のOS再開部213(被起動第2OS再開部の一例)は、初期起動OS200の代わりに被起動OSb220をOS再開部213により保存されたコンテキストを用いて初期起動CPU110で動作させる。
実施の形態2では、以下のようなマルチOS拡張方式について説明した。
マルチOS拡張方式は、(3)OS一時停止手段(202、212)と(4)OS再開手段(203、213)とを各OSに備える。
(3)OS一時停止手段は、そのOSの動作に必要な現在の情報(コンテキスト)を保存し、OSを一時停止させる。
(4)OS再開手段は、OS一時停止手段により保存された情報をもとに、OSを再開させる。
マルチOS拡張方式は、上記(3,4)により、各OSのデータを各OSの領域で保護し、不要な情報(他のOSの再開には必要であるが自OSの再開には不要な情報)を削減することにより、高速なOS切り替えを可能にする。
以上のように、OSコンテキストの保存場所を各OSに持たせることにより、各OSに必要な特別な情報のみ保存し、不要な情報を排除することにより、主記憶領域の節約やOS切替の高速化が可能である。
実施の形態3.
各外部デバイスからの割込みを特定のCPUで受け付け、他のCPUで動作するOSに割込みを通知する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図15は、実施の形態3におけるマルチCPU計算機100の構成図である。
実施の形態3におけるマルチCPU計算機100の構成について、図15に基づいて以下に説明する。
マルチCPU計算機100は、実施の形態1の構成(図1参照)に加えて、被起動CPU起動部310が割込み転送部313を備える。
さらに、マルチCPU計算機100は、被起動OSc230を備える。
割込み転送部313は、外部デバイスから特定のCPUに通知された割込み要求を他のCPUで動作するOSに転送する。
例えば、割込み転送部313は、被起動OSa210が使用する外部デバイスから初期起動CPU110に割込み要求が通知された場合、被起動OSa210が動作する被起動CPU111に割込み要求を転送する。
また例えば、割込み転送部313は、初期起動OS200が使用する外部デバイスから被起動CPU111に割込み要求が通知された場合、初期起動OS200が動作する初期起動CPU110に割込み要求を通知する。
以下、各外部デバイスには割込み要求先のCPUとして初期起動CPU110が設定されているものとして説明する。各外部デバイスからの割込み要求は初期起動CPU110に通知され、各外部デバイスから被起動CPU111に割込み要求は通知されない。
また、初期起動CPU110で動作しているOSを初期起動OS200、被起動CPU111で動作しているOSを被起動OSa210とする。
さらに、被起動OSc230は初期起動OS200と切り替わりながら初期起動CPU110で動作し、被起動OSb220は被起動OSa210と切り替わりながら被起動CPU111で動作するものとする。各OSが動作するCPUを示す情報はOS動作CPUテーブル420に設定されているものとする。
図16は、実施の形態3における割込み転送処理のフローチャートである。
割込み転送部313により実行される割込み転送処理について、図16に基づいて以下に説明する。
割込み転送処理は、いずれかの被起動OS用に予約された外部デバイスから割込み要求があった場合に実行される。初期起動OS200用に予約された外部デバイスから割込み要求があった場合、割込み転送処理は実行されず、初期起動OS200が割込み要求を処理する。
<S310>
いずれかの被起動OS用に予約された外部デバイスから割込み要求が通知されたとき、初期起動OS200はOS切替部300に割込み転送部313の呼出しを要求し、OS切替部300は割込み転送部313の実行コードを呼出す。
割込み転送部313は、初期起動CPU110に割込み要求を通知した外部デバイスの予約OSを外部デバイス予約テーブル410に基づいて特定する。
さらに、割込み転送部313は、特定したOSが動作するCPUをOS動作CPUテーブル420に基づいて特定する。
S310の後、処理はS320に進む。
<S320>
割込み転送部313は、S320において特定したCPUが初期起動CPU110である場合、割込み要求を被起動CPU111に転送する必要がないと判定し、S320において特定したCPUが被起動CPU111である場合、割込み要求を被起動CPU111に転送する必要があると判定する。
割込み要求を被起動CPU111に転送する必要がある場合(YES)、処理はS330に進み、割込み要求を被起動CPU111に転送する必要がない場合(NO)、処理はS350に進む。
<S330>
割込み転送部313は、割込み要求をCPU間割込みにより被起動CPU111に転送する。
S330の後、処理はS340に進む。
<S340>
被起動CPU111で動作する被起動OSa210は、転送された割込み要求を通知した外部デバイスの予約OSを外部デバイス予約テーブル410に基づいて特定する。
そして、被起動OSa210は、特定したOSが自OSである場合、転送された割込み要求を処理し、特定したOSが他のOS(被起動OSb220)である場合、OS切替部300の実行コードを呼出す。OS切替部300の実行コードの呼出しにより、OS切替処理(S170)が実行され、被起動CPU111で動作するOSが被起動OSa210から被起動OSb220に切り替わる。OS切替処理後、被起動OSb220は割込み要求を処理する。
S340の後、割込み転送処理は終了する。
<S350>
割込み転送部313は、OS切替部300の実行コードを呼出す。OS切替部300の実行コードの呼出しにより、OS切替処理(S170)が実行され、初期起動CPU110で動作するOSが初期起動OS200から被起動OSc230に切り替わる。OS切替処理後、被起動OSc230は割込み要求を処理する。
S350の後、割込み転送処理は終了する。
実施の形態3では、以下のようなマルチOS拡張方式について説明した。
マルチOS拡張方式の計算機システムは、外部割込みが特定のCPUに通知されるように制限され、(5)割込み通知手段(割込み転送部313)を備える。
(5)割込み通知手段は、外部割込みを他のOSが動作するCPUに伝播する。
マルチOS拡張方式は、上記(5)により、割込み通知の制限を隠蔽することができる。
以上のように、1つのCPUにて外部割込みを受付け、他のCPUへ転送することにより、割り込みを任意のCPUへ通知できない外部デバイスが用いられても、マルチOSの動作が可能になる。
実施の形態3において、実施の形態2で説明したように、OSの切り替え時にOS毎に異なるコンテキストを保存してもよい。
100 マルチCPU計算機、101 バス、110 初期起動CPU、111 被起動CPU、120 主記憶装置、191 外部デバイスa、192 外部デバイスb、193 外部デバイスc、194 外部デバイスd、200 初期起動OS、201 初期起動OS起動部、202 OS一時停止部、203 OS再開部、210 被起動OSa、211 被起動OS起動部、212 OS一時停止部、213 OS再開部、220 被起動OSb、230 被起動OSc、300 OS切替部、310 被起動CPU起動部、311 被起動CPU初期起動部、312 被起動CPU初期化部、313 割込み転送部、400 OS管理テーブル、401 OS番号、402 OS起動情報、403 OSコード、404 OSコンテキスト、410 外部デバイス予約テーブル、411 外部デバイス番号、412 OS番号、420 OS動作CPUテーブル、421 OS番号、422 CPU番号。

Claims (7)

  1. 第1のCPU(Central Proccessing Unit)と、
    第2のCPUと、
    起動後の第1のCPUを用いて未起動である第2のCPUを起動するCPU起動部と、
    前記CPU起動部により起動された前記第2のCPUを初期化するCPU初期化部と、
    前記CPU初期化部により初期化された前記第2のCPUを用いて特定のOS(Operating System)を被起動OSとして起動するOS起動部と
    前記第1のCPUで動作している初期起動OSの情報を記憶装置に保存する初期起動OS情報保存部と、
    前記初期起動OSの代わりに前記CPU起動部を前記第1のCPUで動作させるOS切替部と、
    前記OS切替部により動作された前記CPU起動部の代わりに前記初期起動OSを前記初期起動OS情報保存部により保存された情報を用いて前記第1のCPUで動作させる初期起動OS再開部と
    を備えたことを特徴とする被起動OS動作計算機。
  2. 前記被起動OS動作計算機は、さらに、
    前記第2のCPUで動作している被起動OSの情報であって前記初期起動OS情報保存部により保存される前記初期起動OSの情報とは異なる情報を記憶装置に保存する被起動OS情報保存部と、
    前記被起動OSを動作させる代わりに被起動第2OSを前記第2のCPUで起動するOS第2起動部と、
    前記OS第2起動部により起動された前記被起動第2OSの代わりに前記被起動OSを前記被起動OS情報保存部により保存された情報を用いて前記第2のCPUで動作させる被起動OS再開部と
    を備えたことを特徴とする請求項記載の被起動OS動作計算機。
  3. 第1のCPU(Central Proccessing Unit)と、
    第2のCPUと、
    起動後の第1のCPUを用いて未起動である第2のCPUを起動するCPU起動部と、
    前記CPU起動部により起動された前記第2のCPUを初期化するCPU初期化部と、
    前記CPU初期化部により初期化された前記第2のCPUを用いて特定のOS(Operating System)を被起動OSとして起動するOS起動部と
    前記第1のCPUで動作している初期起動OSの情報を記憶装置に保存する初期起動OS情報保存部と、
    前記初期起動OSを動作させる代わりに被起動第2OSを前記第1のCPUで起動するOS第2起動部と、
    前記OS第2起動部により起動された被起動第2OSの情報であって前記初期起動OS情報保存部により保存される前記初期起動OSの情報とは異なる情報を記憶装置に保存する被起動第2OS情報保存部と、
    前記OS第2起動部により起動された前記被起動第2OSの代わりに前記初期起動OSを前記初期起動OS情報保存部により保存された情報を用いて前記第1のCPUで動作させる初期起動OS再開部と、
    前記初期起動OS再開部により動作された前記初期起動OSの代わりに前記被起動第2OSを前記被起動第2OS情報保存部により保存された情報を用いて前記第1のCPUで動作させる被起動第2OS再開部と
    を備えたことを特徴とする被起動OS動作計算機。
  4. 前記被起動OS動作計算機は、さらに、
    前記被起動OSが使用する外部デバイスから前記第1のCPUに割込み要求が通知された場合、前記被起動OSが動作する前記第2のCPUに割込み要求を転送し、前記初期起動OSが使用する外部デバイスから前記第2のCPUに割込み要求が通知された場合、前記初期起動OSが動作する前記第1のCPUに割込み要求を転送する割込み転送部
    を備えたことを特徴とする請求項1〜請求項いずれかに記載の被起動OS動作計算機。
  5. 第1のCPU(Central Proccessing Unit)と、第2のCPUとを備える計算機のOS起動方法であり、
    CPU起動部が、起動後の第1のCPUを用いて未起動である第2のCPUを起動し、
    CPU初期化部が、前記CPU起動部により起動された前記第2のCPUを初期化し、
    OS起動部が、前記CPU初期化部により初期化された前記第2のCPUを用いて特定のOS(Operating System)を被起動OSとして起動し、
    初期起動OS情報保存部が、前記第1のCPUで動作している初期起動OSの情報を記憶装置に保存し、
    OS切替部が、前記初期起動OSの代わりに前記CPU起動部を前記第1のCPUで動作させ、
    初期起動OS再開部が、前記OS切替部により動作された前記CPU起動部の代わりに前記初期起動OSを前記初期起動OS情報保存部により保存された情報を用いて前記第1のCPUで動作させる
    ことを特徴とする計算機のOS起動方法。
  6. 第1のCPU(Central Proccessing Unit)と、第2のCPUとを備える計算機のOS起動方法であり、
    CPU起動部が、起動後の第1のCPUを用いて未起動である第2のCPUを起動し、
    CPU初期化部が、前記CPU起動部により起動された前記第2のCPUを初期化し、
    OS起動部が、前記CPU初期化部により初期化された前記第2のCPUを用いて特定のOS(Operating System)を被起動OSとして起動し、
    初期起動OS情報保存部が、前記第1のCPUで動作している初期起動OSの情報を記憶装置に保存し、
    OS第2起動部が、前記初期起動OSを動作させる代わりに被起動第2OSを前記第1のCPUで起動し、
    被起動第2OS情報保存部が、前記OS第2起動部により起動された被起動第2OSの情報であって前記初期起動OS情報保存部により保存される前記初期起動OSの情報とは異なる情報を記憶装置に保存し、
    初期起動OS再開部が、前記OS第2起動部により起動された前記被起動第2OSの代わりに前記初期起動OSを前記初期起動OS情報保存部により保存された情報を用いて前記第1のCPUで動作させ、
    被起動第2OS再開部が、前記初期起動OS再開部により動作された前記初期起動OSの代わりに前記被起動第2OSを前記被起動第2OS情報保存部により保存された情報を用いて前記第1のCPUで動作させる
    ことを特徴とする計算機のOS起動方法。
  7. 請求項5または請求項6記載のOS起動方法を計算機に実行させるOS起動プログラム。
JP2009038183A 2009-02-20 2009-02-20 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム Expired - Fee Related JP5328410B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009038183A JP5328410B2 (ja) 2009-02-20 2009-02-20 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009038183A JP5328410B2 (ja) 2009-02-20 2009-02-20 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム

Publications (2)

Publication Number Publication Date
JP2010191886A JP2010191886A (ja) 2010-09-02
JP5328410B2 true JP5328410B2 (ja) 2013-10-30

Family

ID=42817835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009038183A Expired - Fee Related JP5328410B2 (ja) 2009-02-20 2009-02-20 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム

Country Status (1)

Country Link
JP (1) JP5328410B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5561241B2 (ja) * 2011-05-25 2014-07-30 株式会社デンソー マイクロコンピュータ
JP2012256117A (ja) * 2011-06-07 2012-12-27 Mitsubishi Electric Corp マルチプロセッサシステム
JP5742651B2 (ja) * 2011-10-15 2015-07-01 コニカミノルタ株式会社 画像処理装置、連携方法および連携プログラム
JP6089349B2 (ja) * 2013-05-28 2017-03-08 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
JP7385343B2 (ja) * 2017-11-08 2023-11-22 コニカミノルタ株式会社 画像形成装置

Also Published As

Publication number Publication date
JP2010191886A (ja) 2010-09-02

Similar Documents

Publication Publication Date Title
KR100879825B1 (ko) 이질적 리소스와의 명령어 세트 아키텍처-기반 시퀀서간통신
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
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
JP5945292B2 (ja) 異種システムをブートし、コアの対称的なビューを表示する方法
EP2239662A2 (en) System management mode inter-processor interrupt redirection
US20090007112A1 (en) Method for controlling a virtual machine and a virtual machine system
JP2015503784A (ja) グラフィックス処理部における仮想マシン間の移行
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
US9959134B2 (en) Request processing using VM functions
WO2006036375A1 (en) Operating system transfer and launch without performing post
JP5328410B2 (ja) 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
TW200525365A (en) Optimization of SMI handling and initialization
JP2008186175A (ja) オペレーティングシステムの起動制御方法及び情報処理装置
JP5200085B2 (ja) コンピュータを短時間で起動する方法およびコンピュータ
CN114741233A (zh) 快速启动方法
US11169837B2 (en) Fast thread execution transition
US11086658B2 (en) System performance enhancement with SMI on multi-core systems
EP4187374A1 (en) Kernel restarting method
KR102285084B1 (ko) 이종의 멀티 cpu를 운용하는 시스템-온-칩 및 그 동작 방법
US20230161600A1 (en) Kernel reboot method
JP2022055002A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2003242129A (ja) プロセッサ増減設方法及び計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees