JP3212007B2 - オペレーティング・システム環境の起動方法およびシステム - Google Patents

オペレーティング・システム環境の起動方法およびシステム

Info

Publication number
JP3212007B2
JP3212007B2 JP10747294A JP10747294A JP3212007B2 JP 3212007 B2 JP3212007 B2 JP 3212007B2 JP 10747294 A JP10747294 A JP 10747294A JP 10747294 A JP10747294 A JP 10747294A JP 3212007 B2 JP3212007 B2 JP 3212007B2
Authority
JP
Japan
Prior art keywords
file
boot
boot volume
kernel
volume
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
JP10747294A
Other languages
English (en)
Other versions
JPH06324849A (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.)
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 JPH06324849A publication Critical patent/JPH06324849A/ja
Application granted granted Critical
Publication of JP3212007B2 publication Critical patent/JP3212007B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロ・カーネルを
使用してデータ処理システムを初期化する方法とシステ
ムに関する。
【0002】
【従来の技術】オペレーティング・システムは、データ
処理システムのオープンシステム標準において、優劣を
競う分野になっている。国内・海外を問わず業界におけ
るこの分野の競争の結果、1つの統合的なオペレーティ
ング・システムが複数のオペレーティング・システムを
サポートすることが望ましいとされるようになった。
【0003】オペレーティング・システムを作成する1
つの手法に、基本的なハードウェア資源を制御するオペ
レーティング・システムの部分と、オペレーティング・
システム環境のユニークな特徴を定義する部分とを分離
して、「純粋なカーネル」を作る方法がある。ハードウ
ェア資源に関連する部分はオペレーティング・システム
・カーネル(以下OSカーネルまたはカーネルと略す)
と呼ばれることが多い。このような設計を採用すると、
1つのデータ処理システムの上で複数のオペレーティン
グ・システムを動かすことが可能になる。また、同一の
データ処理システム上で、複数のオペレーティング・シ
ステムをネイティブモードで同時に動かすことが可能に
なる。
【0004】しかし、純粋なカーネルを作成するのに複
雑な問題は、既にあるオペレーティング・システムに依
存せず、かつ、純粋なカーネルが異種のオペレーティン
グ・システム環境をサポートするようにすることであ
る。例えば、オペレーティング・システムの純粋カーネ
ルは、いくつかの異種のオペレーティング・システム環
境に対して中立であり、そのカーネル(即ちマイクロ・
カーネル)をブートストラップするためにユーザ・レベ
ルでデバイス・ドライバを使用でき、かつ、その上に少
なくとも1つのオペレーティング・システムを作動させ
なければならない。
【0005】現在、この問題の解決は、OSカーネルと
そのオペレーティング・システムで実行されるプログラ
ムとを結びつけるか、あるいは、システムが、ブートの
すぐ後でロードされるオペレーティング・システム環境
を持ち、ブートストラップをしている間に使用できるフ
ァイル・システムを持っていると仮定することで対処し
ている。しかし、デバイス・ドライバとブートストラッ
プ中あるいはその後でロードされるタスクとが分離され
ている環境では、この解決策は動かない。
【0006】
【発明が解決しようとする課題】したがって、ハードウ
ェアで定義したROMブートの終了から、最初のオペレー
ティング・システム環境の標準的な初期化の実行までの
連続的な手順の全てに対処できるブートストラップのア
ーキテクチャが求められる。
【0007】
【課題を解決するための手段】本発明は、マイクロ・カ
ーネルを使用してデータ処理システムを初期化する方法
とシステムを提供することを目的とする。
【0008】本発明は、オペレーティング・システム環
境と、OSカーネルと、カーネルから分離されている複
数のデバイス・ドライバ・プログラムを持っているデー
タ処理システムに関するものである。このシステムで
は、カーネルはデバイス・ドライバ機能を持たず、デバ
イス・ドライバはユーザ・レベルのタスク即ちプログラ
ムである。
【0009】記憶装置にブート・ボリュームが用意さ
れ、ブート・ボリュームはファイル・アンカーと、複数
のファイルヘッダと、複数のブロック・リスト・エレメ
ントを持っている。ファイル・アンカーはブート・ボリ
ュームに関連するファイルを探すための始まりのポイン
トを示し、ファイル・ヘッダーはアンカーに関連し、そ
れぞれがブート・ボリュームに関連しているファイルの
識別を持ち、ブロック・リスト・エレメントはそれぞれ
記憶装置の中の1つの連続したデータのブロックを識別
し、ファイルを構成するデータ構造が、少なくとも1つ
のブロック・リスト・エレメントを使用して識別されア
クセスされる。ブートストラップ・タスクにより、デー
タ記憶装置からメモリに、ブート・ボリュームを使用し
てファイルがロードされ、ファイルがアクセスできるよ
うになり、オペレーティング・システム環境が初期化さ
れる。
【0010】
【実施例】図1に、本発明が実施できるデータ処理シス
テムを示す。コンピュータ50が、システム・ユニット
52、ディスプレイ装置54、キーボード56、および
マウス58を備えている。コンピュータ50は、IBM PS
/2あるいはIBM RISC SYSTEM/6000等あるいは同等の、本
発明の実施に適したシステムである。
【0011】図2に、本発明が実施できるコンピュータ
50の主要な構成要素を示す。システムユニット52は
各種の構成要素を相互接続するためのシステムバス60
を持つことが望ましい。マイクロプロセサ62はシステ
ムバス60(例えばマイクロチャネル・システムバス)
に接続され、また、数値計算用のコプロセサ64を持っ
てもよい。また、ダイレクト・メモリ・バス(DMA)
コントローラ66がシステムバス60に接続され、これ
により、大量の入出力データ転送中に、各種のデバイス
がマイクロプロセサ62からのサイクル割り当てが可能
になる。
【0012】ROM68とRAM70もシステムバス6
0に接続されている。ROM68はパワー・オンの際の
セルフテストを含んでいる。CMOS RAM72がシ
ステムバス60につながり、システム構成情報を持つこ
とも可能である。
【0013】また、システムバス60にはメモリ・コン
トローラ74、バス・コントローラ76、インタラプト
・コントローラ78が接続されていて、各種の周辺装
置、アダプタおよびデバイス間のデータの流れをシステ
ムバス60を介して制御する。システムユニット52
は、さらに各種の入出力コントローラ、即ち、キーボー
ド/マウス・コントローラ80、ビデオ・コントローラ
82、並列コントローラ84、直列コントローラ86、
ディスケット・コントローラ88を持っている。キーボ
ード/マウス・コントローラ80は、キーボード90と
マウス92のためのハードウェア・インターフェースで
ある。ビデオ・コントローラ82は、ディスプレイ装置
94のハードウェア・インターフェースである。並列コ
ントローラ84は、印刷装置96のような装置のハード
ウェア・インターフェースである。直列コントローラ8
6は、モデム98のような装置のハードウェア・インタ
ーフェースである。ディスケット・コントローラ88
は、フロッピーディスク・ユニット100のハードウェ
ア・インターフェースである。ハードディスク・ユニッ
ト104のインターフェースを提供するディスク・コン
トローラ102のような拡張カードをシステムバス60
に加えてもよい。空きスロット106を使って、システ
ム52に他の周辺装置やアダプタをつけ加えることもで
きる。
【0014】図2に示したハードウェアは、具体的な用
途によって変わり得る。例えば、既に述べたハードウェ
アに加えまたはその代わりに、光ディスク媒体、音声ア
ダプタ、PALやEPRMのようなプログラム用のチップ等の
周辺デバイスを用いることもできる。
【0015】図3に、本発明を用いてデータ処理システ
ムをブートする方法のフローチャートを示す。ブート・
ボリューム、ブートストラップ・タスク、OSカーネ
ル、マスター・サーバ等の要素は図4から図11で詳し
く述べる。プロセスはブロック500で始まりブロック
502に進む。ブロック502はパワーオン・セルフテ
ストを行うROMの機能である。ブロック504はブート
・ローダをロードするROMの機能を示す。ブロック50
6はOSカーネルをロードするブート・ローダを示す。
ブロック508はブートストラップ・タスクをロードす
るブート・ローダを示す。
【0016】ブロック510で、ブート・ローダはOS
カーネルにコントロールを渡す。ブロック512で、O
Sカーネルがブートストラップ・タスクを呼び出す。ブ
ロック513でネーム・サービスがロードされる。ブロ
ック514で、ブートストラップ・タスクがデフォルト
・ペイジャーをロードする。次のブロック516で、ブ
ートストラップ・タスクがマスター・サーバをロードす
る。プロセスは次に、マスター・サーバが実行を始める
ブロック518に進む。ブロック520で、マスター・
サーバがファイル・サーバをロードする。次に、ブロッ
ク522で、ファイル・サーバがファイルシステムの整
合性を確かめる。次にプロセスは、ハードウェア資源マ
ネジャをロードするブロック524に進む。さらに、ハ
ードウェア資源マネジャのデバイス・ドライバをロード
するブロック526に進む。
【0017】次にプロセスは、ブロック530で、ブー
ト用デバイスのコントロールを、ブートストラップ・タ
スクから、ブロック526でロードされたデバイス・ド
ライバに渡す。ブートストラップ・タスクはブロック5
31で終了する。その後、プロセスは、OS環境をロー
ドして初期化するブロック532に進む。プロセスはこ
の後ブロック534で終了する。
【0018】ブート・プロセスでは、データ処理システ
ムのオペレーティング・システムを起動するために、い
くつかの異なるブート要素が使用される。これらのブー
ト要素には、ブート・ボリューム、ブート・ローダ、O
Sカーネル、ブートストラップ・タスク、ネーム・サー
ビス、デフォルト・ペイジャー、イニシャル・ぺージ・
スペース、マスター・サーバ、ファイルシステム・サー
バ、ハードウェア資源マネジャ、および、ブート・デバ
イスドライバのOS環境がある。ブート・ボリューム
は、ブート・プロセスでどのファイルやプログラムをロ
ードすべきかを示す記述を持っている。ブート・ボリュ
ームはディスク上の一連の逐次的セクターからなってい
る。本発明では、ブート・ボリュームはロードすべきフ
ァイルの記述だけを持ち、ファイルそのものは持たな
い。ブート・ボリュームにファイルを持たないことによ
り、ファイル内容を持った場合にくらべて、ブート・ボ
リュームを小さくできる。さらに、ブート・ボリューム
の内容を、標準的なユーティリティー・プログラムをど
れか1つのOS環境で実行して容易に変更できる。こう
することにより、ブート・ボリュームの内容を変更し、
いまの内容よりも大きなスペースが要る場合に、ブート
・ボリュームに十分なスペースを割り当てることができ
る。
【0019】今日、多くのファイル・システムはログを
持っていて、システム故障の際のデータの損失を防ぐよ
うにしている。故障したファイルシステムのデータはア
クセスできないようにし、ユーティリティー・プログラ
ムがログを適用しファイルシステムを初期化し、データ
構造を直してからファイルシステムが使えるようにして
いる。ブート・ボリュームは、ファイルシステムと修正
ユーティリティー・プログラムを実行するのに十分なも
う1組のデータ構造を持ち、これにより、ファイルシス
テム動作回復を可能にしている。
【0020】あるシステムでは、ブート・ボリューム
が、ブート・ボリュームに記述されている全てのファイ
ルを持っている場合もあろう。どのように具体化するか
は、ブートするときにハードウェアがどのように作動す
るかに依存している。例えば、RS/6000では、ハードウ
ェアの構成が完了するまで入出力動作は行われない。
【0021】ブート・ボリュームで記述されているファ
イルをブート・ボリュームが持っていないシステムで
は、本発明を使用すれば、通常の動作でこれらのファイ
ルを読むユーティリティー・プログラムやOS環境プロ
グラムが、故障して正しくない可能性のあるファイルで
なく正しいファイルを読むことができる。
【0022】図4に、本発明によるブート・ボリューム
の構造のダイアグラムを示す。ブート・ボリューム29
8には通常レコードと呼ばれるデータ構造、即ち、ブー
ト・ボリューム・ファイル・アンカー300、ファイル
ヘッダ302、および、ブロック・リスト・エレメント
306がある。実際のファイルはファイルシステムに記
憶され、ブート・ボリュームの設計とレイアウトはファ
イルシステムに依存しない形で作られる。
【0023】図4に矢印で示しているが、通常ブート・
ボリューム内容は全て同時に作成され、個々のデータ構
造はリンクされたリストとしてよりも、アレイとして記
憶される。ブート・ボリュームにある全てのオフセット
は、ブート・ボリュームの始めからの相対的なバイトオ
フセットである。また、本発明により、全ての複数バイ
トの値は、データを解釈するシステムのエンディアンそ
のままのエンディアン(natural endian)として記憶さ
れる。
【0024】図5に、ブート・ボリューム・ファイル・
アンカー300のダイアグラムを示す。ブート・ボリュ
ーム・ファイル・アンカー300は、ブート・ボリュー
ム298の内容を総合したアンカーとしてのレコードで
ある。アンカーは、ブート・ボリューム298で記述さ
れたファイルを探すためのスタートポイントの役をす
る。アンカー300にはレコードのタイプを記述するフ
ィールド310があり、フィールド310はこのレコー
ドをブート・ボリューム・ファイル・アンカーとして識
別する。フィールド312は、ブート・ボリューム・フ
ァイル・アンカー300が占めるバイト数を表す。次の
フィールド314は、ブート・ボリューム・ファイル・
アンカーの現在のバージョン番号を示す。このフィール
ドが、ブート・ボリューム・ファイル・アンカー300
のフィールドの構造や意味の変更を表す。
【0025】フィールド316は、ブート・ボリューム
が占めるバイト数を表す。バイト数はブート・ボリュー
ム・ファイル・アンカーを含む。フィールド318はブ
ート・ボリュームの現在のバージョン番号を示し、ブー
ト・ボリュームのフィールドの構造や意味の変更を表
す。フィールド320は、ブート・ボリューム・ファイ
ル・アンカーに含まれているファイルヘッダの数を表
す。フィールド322はそれぞれブート・ボリュームが
参照している個々のファイルを記述している。フィール
ド322については後で詳しく述べる。
【0026】図6に、ファイルヘッダ322のダイアグ
ラムを示す。ファイルヘッダは、ブート・ボリュームで
使われるデータ構造で、データ処理システムに実際のフ
ァイルシステムがロードされる前に、ブート・プロセス
中に参照されるそれぞれのファイルを記述している。フ
ァイルヘッダ322にフィールド330があり、このレ
コードがファイルヘッダ322であると識別するフォー
マットを示す。フィールド332は、ファイルヘッダが
占めるバイト数を示すフィールドである。フィールド3
32の数は、最初のフィールドからブロック・リスト・
エレメントの最後までを含む。
【0027】フィールド334は、ファイルヘッダのバ
ージョン、即ち、ファイルヘッダ構造の現在のバージョ
ン番号を示し、ファイルヘッダ322のフィールドの構
造や意味の変更を表す。フィールド336は、ファイル
が占める全バイト数、即ちファイルの大きさを示す。フ
ィールド338はファイルの名前を示し、ナル(null)
で終わるストリングである。典型的には、フィールド3
38には、実際のユーザのファイルシステムの中のファ
イルの名前が入る。フィールド338の大きさは通常25
6キャラクタである。フィールド340は、ファイルヘ
ッダ322で記述されたファイルのタイプを表す。以下
のファイルタイプがフィールド340に記述される。
【0028】(1)OSカーネル。ファイルがOSカーネ
ルであることを示すフラッグ。これにより、ブート・ロ
ーダ・プログラムはこの属性を持ったファイルを探し、
OSカーネルの名前に永久に符号化しないようにする。
【0029】(2)ブートストラップ・タスク。ファイル
がブートストラップ・タスクであることを示すフラッ
グ。これにより、ブート・ローダ・プログラムはこの属
性を持ったファイルを探し、ブートストラップ・タスク
の名前に永久に符号化しないようにする。
【0030】(3)ネームサービス。ファイルがネームサ
ーバであることを示すフラッグ。これにより、ブートス
トラップ・タスクはこの属性を持ったファイルを探し、
ネームサービス・プログラムの名前に永久に符号化しな
いようにする。
【0031】(4)ペイジャー。ファイルがデフォルト・
ペイジャー(即ち、まだ誰のものでもないメモリへのペ
イジャー)であることを示すフラッグ。これにより、ブ
ートストラップ・タスクはこの属性を持ったファイルを
探し、ペイジャー・プログラムの名前に永久に符号化し
ないようにする。
【0032】(5)ペイジング・ファイル。ファイルがペ
イジング用のデフォルト・ペイジャーによって使われる
ことを示すフラッグ。これにより、ブートストラップ・
タスクはこの属性を持ったファイルを探し、ペイジング
・ファイルの名前に永久に符号化しないようにする。
【0033】(6)マスター・サーバ。ファイルがマスタ
ー・サーバであることを示すフラッグ。マスター・サー
バは他のサーバをロードするプログラムである。このフ
ラッグにより、ブートストラップ・タスクはこの属性を
持ったファイルを探し、マスター・サーバの名前に永久
に符号化しないようにする。
【0034】(7)マスター・サーバ構成ファイル。この
ファイルが、ブート・プロセスの1部として立ち上げる
ために、マスター・サーバが、システムと他のサーバを
構成するのに必要な構成情報を持っていることを示すフ
ラッグ。これにより、ブートストラップ・タスクはファ
イルを探し、そのファイルを、マスター・サーバが実行
を始めるときにマスター・サーバに渡す。
【0035】(8)実行可能ファイル。ファイルが一般的
な実行可能ファイルであることを示すフラッグ。マスタ
ー・サーバはこのフラッグを使って、ファイルがロード
されるべきサーバかどうかを判断する。
【0036】(9)データファイル。ファイルが実行可能
でないデータを持っていることを示すフラッグ。
【0037】フィールド342は次のファイルヘッダへ
のオフセットであり、ブート・ボリュームの中にある次
のファイルヘッダのブート・ボリュームの始めからのオ
フセットを示す。このファイルヘッダがブート・ボリュ
ームの中で最後のものである場合は、このフィールド
は、本発明の具体化では、ゼロを持つ。フィールド34
4は、ファイルを表すのに必要なブロック・リスト・エ
レメントの数を示す。フィールド346は、ブロック・
リスト・エレメントを示し、ディスク上で物理的に連続
しているブロックの数を記述する。これについては、後
で詳しく述べる。
【0038】図7に、ブロック・リスト・エレメント3
46を示す。ブロック・リスト・エレメント346は、
ハード・ディスク・ドライブの上の、物理的に連続した
ブロックの一群を記述するデータ構造である。ブロック
・リスト・エレメント346にはフィールド348があ
り、レコードのタイプ即ちレコードのフォーマットを示
す。フィールド348は、このレコードがブロック・リ
スト・エレメント346の中の1つのブロック・リスト
・エレメントであると識別する。フィールド350は、
ブロック・リスト・エレメント346が占めているバイ
ト数を表す。バイト数は最初のフィールドから数えられ
る。フィールド352は、ブロック・リスト・エレメン
トの最新のバージョン番号を示し、ブロック・リスト・
エレメント346のフィールドの構造と意味の変更を表
す。フィールド354は、ディスクドライブ上の1つの
ブロックが持っているバイト数、即ちブロックの大きさ
を表す。
【0039】デバイス識別符号(以下ID)はフィール
ド356で示される。このフィールドは、デバイスが載
っているデバイスを示し、ナルで終わる一連のストリン
グで表される。フィールド358は、ブロック・リスト
・エレメント346が表すデバイス上での物理的に連続
しているブロックの数を示す。フィールド360はオフ
セット・ポインターの大きさを示す。このフィールド
は、デバイスフィールドの始めからのオフセットに含ま
れているビット数を表す。本発明の具体化では、オフセ
ットの記憶に使われるバイト数はいつも4の倍数である
が、オフセットフィールドの全てのビットが意味を持つ
わけではない。フィールド362はデバイスの始めから
のオフセットを示す。このフィールドは、このレコード
で記述されている最初のブロックのデバイスの始めから
のバイトオフセットを持っている。このフィールドの大
きさはフィールド358で定義される。
【0040】ブート・ローダは、例えばROMのようなハ
ードウェアあるいはシステムで定めた仕組みによってロ
ードされるプログラムである。ブート・ローダはブート
・ボリュームのフォーマットを解釈し、システム・メモ
リにOSカーネルとブートストラップ・タスクをロード
する任務を持つ。また、ブート・ローダはOSカーネル
の実行をスタートさせる。OSカーネルとブートストラ
ップ・タスクをメモリにロードするのに加えて、ブート
・ローダは、コントロールをOSカーネルに渡す前に、
OSカーネルに以下に述べる情報を渡す。
【0041】図8に、OSカーネルに情報を渡す方法の
フローチャートを示す。プロセスはブロック400で始
まり、ブロック402に進み、OSカーネルにメモリマ
ップ情報を渡す。メモリマップ情報は、OSカーネルに
対して、メモリの物理的なレイアウトを記述するもので
ある。メモリ全部が物理的に連続していないならば、メ
モリマップは異なるいくつかのメモリ領域で表される。
メモリマップは、OSカーネルにとって必要な、領域の
属性情報を持つ。
【0042】プロセスはブロック404に進み、メモリ
の中のブートストラップ・タスクの位置(物理的なアド
レス)と大きさがOSカーネルに渡される。OSカーネ
ルに渡される情報は、実行が始まるブートストラップ・
タスクへのオフセットを含むこともある。さらに、ブー
トストラップ・タスクがいくつかの領域(即ちテキスト
とデータ)に分割されている場合には、それぞれの領域
を記述する情報もOSカーネルの送られる。次にプロセ
スはブロック406に進み、ブート・デバイスのデバイ
スIDがOSカーネルに渡される。ブート・デバイスの
デバイスIDは、ブート・ローダがOSカーネルとブー
トストラップ・タスクをロードしたブート・ボリューム
が入っているデバイスを指す。この情報がOSカーネル
に提供されるのは、さらにこの情報をブートストラップ
・タスクに渡すためである。
【0043】次に、プロセスはブロック408に進み、
OSカーネルに、ブート・ボリュームのブート・デバイ
スのオフセットが渡される。オフセットは、ブート・デ
バイス上のブート・ボリュームの位置を教えるものであ
る。この情報により、ブート・デバイスの正確なレイア
ウトがわからなくても、ブート・デバイス上の複数のブ
ート・ボリュームおよびブート・プロセスの他の構成要
素が実行できるようになる。この情報も、OSカーネル
に渡され、さらにブートストラップ・タスクに渡され
る。プロセスはブロック410で終了する。
【0044】情報は、公知の方法により、メモリの中の
いろいろなプログラムの間で渡される。例えば、パラメ
ータをスタックすること、即ち、メモリの中の情報を指
すポインターを、その情報が行くべきプログラムに渡す
ことによって行える。
【0045】本発明の具体化により、情報は、OSカー
ネルに、ニューライン・キャラクター(即ち\n)で分
離された連続したキャラクターのアレイとして提供でき
る。アレイ全体はナルキャラクターで終わる。アレイの
フォーマットは以下のようになる。
【0046】variable1 = value 1 \ n variable2 = value 2 \ n ・・・ variablen = value n \ n \ 0 変数(variables)の値には以下のタイプがある。
【0047】 値のタイプ シンタックス 例 INTTYPE int VAR = -1 または VAR = 1 UINTTYPE uint VAR = 1 CHARTYPE char VAR = c STRINGTYPE "..." VAR = "abcdefg" MULTIRANGETYPE int1..int2 VAR = 1..4 int1,int2 VAR = 1,3 VAR = 1..4,8..10,12,17 OSカーネルに渡される実際のパラメータを以下に示
す。
【0048】MEMORYMAP = x1..y1, x2..y2, x3..y3 これはシステムのメモリマップを記述している。複数の
領域があり得るのは、多くのシステムの場合、メモリが
ある物理的なアドレスには「空き」があるからである。
システムに存在するメモリを十分に記述するのに必要な
領域が記述される。値は整数で与えられる。計算の基に
なる数は十進法である。値を"0x"で始めれば、値はヘク
サデシマルとみなされる。
【0049】BOOTTASK_NUM_REGION = n これはOSカーネルに与えられた領域の数を表しブート
ストラップ・タスクを記述するものである。値は整数で
ある。
【0050】BOOTTASK_REGION = x..y, vs, "..." これはブートストラップ・タスクのアドレス・スペース
の個々の領域を表し、値は以下の意味を持つ。
【0051】x...yはメモリの物理的領域を記述する。
値は整数である。計算の基は十進法である。値を"0x"で
始めれば、ヘクサデシマルとみなされる。
【0052】vsは領域のバーチュアル・スタート・アド
レスである。ブートストラップ・タスクのアドレス・ス
ペースの中の、領域の始まりを示すアドレスである。値
は整数で十進法である。"0x"で始まれば、ヘクサデシマ
ルとみなされる。
【0053】"..."は領域に適用されるべきプロテクシ
ョン・フラッグで、一連のストリングで表される。スト
リングの内容はフラッグのシンボリック・ネームで、"
I"の字で分離されている。シンボリック・ネームは以下
のものがある。 VM_PROT_READ 読み取りアクセスができる。 VM_PROT_WRITE 書き込みアクセスができる。 VM_PROT_EXECUTE 実行アクセスができる。
【0054】BOOTTASK_STATE = n1, n2, ...nm これはOSカーネルがブートストラップ・タスクの実行
を始めたときにセットされる実行状態を示す。これによ
って表されるパラメータは、正しい実行状態を確立する
ための、使用するプロセサに依存した情報である。
【0055】KERNEL_PATCH = x..y, value これにより、OSカーネルの初期化中に、あるカーネル
データを変更することができる。例えば、デバッグのあ
るオプションを選択してオンにできる。値は以下に説明
する。
【0056】x..yは変更したいカーネルのバーチュアル
・アドレスの範囲を表す。範囲はバイトで表すので、範
囲としては複数のバイト値で指定しなければならない。
範囲が何を表しているかは、値(以下に示す)のタイプ
によって解釈される。
【0057】valueはカーネルの複数のアドレスの範囲
の中に置かれる値を表す。値は1つの値に限らず、全て
の値が同じタイプであればリストにしてよい。
【0058】BOOT_DEVICE = "..." これは、ブート・ボリュームが載っているデバイスを表
し、デバイスの名前を含んだ一連のストリングである。
【0059】BOOTVOL_OFFSET = n これは、ブート・デバイスの始まりからのブート・ボリ
ュームの位置を表す。値は整数で十進法である。"0x"で
始まれば、ヘキサデシマルとみなされる。
【0060】本発明では、ブートストラップ・タスクは
以下の3つの主たる機能を持つ。即ち、(1)マスター・
サーバも含めて、最初のいくつかのタスクをシステムに
ロードすること、(2)正式のシステム・レベルの機能が
ロードされるまで、暫定的なデバイス・ドライバ・セッ
トの役をすること、(3)ブート・ボリュームのファイル
・システム・サーバとして機能し、ブート・ボリューム
にアクセスする必要のある他のタスクがブート・ボリュ
ーム自体の内容を解釈しなくてもすむようにすること。
【0061】情報はOSカーネルからブートストラップ
・タスクに渡される。これは2つの方法により行われ
る。第1の方法は、情報をパラメータ(ブートストラッ
プ・タスクが始まるときにスタックされている)として
渡すことである。第2の方法は、情報をOSカーネルの
ブート・パラメータ・リストに載せ、ブートストラップ
・タスクが取り出せるようにすることである。
【0062】図9のフローチャートに、OSカーネルか
らブートストラップ・タスクに情報を渡す方法を示す。
プロセスはブロック420で始まり、ブロック422に
進み、ブート・デバイスのデバイスIDがパラメータと
してブートストラップ・タスクに渡される。デバイスI
Dは、ロードされたOSカーネルとブートストラップ・
タスクの入っているデバイスを識別するものである。
【0063】プロセスはブロック424に進み、ブート
・デバイス上のブート・ボリュームがブートストラップ
・タスクに渡される。ブート・ボリュームのオフセット
は、ブート・デバイス上のブート・ボリュームの位置を
示す。これにより、ブートストラップ・タスクはブート
・ボリュームのフォーマット情報だけを持てばよく、ブ
ート・デバイスの内容全体の情報を持たなくてすむ。プ
ロセスはブロック426で終了する。
【0064】図10に示すように、ブートストラップ・
タスクは、他に3つのプログラムをロードする。プロセ
スはブロック430で始まり、ブロック432に進み、
システム・ネーム・サービスがロードされる。ブロック
434で、デフォルト・ペイジャーがメモリにロードさ
れる。ブロック436でマスター・サーバがメモリにロ
ードされる。プロセスはブロック438で終了する。
【0065】システム・ネーム・サービス・プログラム
は、ブートストラップ・タスクによってメモリにロード
される最初のプログラムである。ネーム・サービスが最
初にロードされるのは、本発明により、ネーム・サービ
スと他のサーバとの接続をするためであり、ネーム・サ
ービスをできるだけ早く起動させることにより、他のサ
ーバがネーム・サービスを使えるようになる。これによ
り、暫定的なネーム・サービスが必要なくなる。
【0066】通常、デフォルト・ペイジャーはブート手
順の早い段階でロードされ、メモリが十分とれるように
する。デフォルト・ペイジャーがあることにより、ブー
トストラップ・タスクによりデフォルト・ペイジャーに
渡された最初のペイジング・スペースに記述されたブー
ト・デバイス上の領域にペイジングが行えるようにな
る。その結果、比較的少ないメインメモリを持ったデー
タ処理システムでオペレーティング・システムが立ち上
げられる。次にマスター・サーバがメモリにロードさ
れ、これにより、ブートストラップ・タスクのローディ
ング機能が不要になる。マスター・サーバは、それがブ
ートストラップ・タスクによりロードされた後は、シス
テム全体の動作を見る役をする。
【0067】マスター・サーバが起動すると、ブートス
トラップ・タスクは基本的なデバイス・ドライバの役割
に変わり、ブート・デバイスの入出力の役割を担って、
ペイジングやプログラムのローディングを行う。さら
に、この時点で、ブートストラップ・タスクはマスター
・サーバに対して、ユーザとの連絡の手段になるコンソ
ールの役をする。適切なシステム機能が起動されると、
ブートストラップ・タスクは持っている資源を全て放し
て終了する。ブートストラップ・タスクは1組のメッセ
ージを持っていて、これにより、マスター・サーバが、
ブートストラップ・タスクのある操作を実行するよう要
求できるようになっている。
【0068】以上の結果、本発明により、ブート・ボリ
ュームを使用した単純なファイル・システムが提供で
き、ブートストラップ・タスクが、ブート・ボリューム
に含まれているファイルにアクセスできるようになる。
さらに、ブートストラップ・タスクがプログラム・ロー
ダを提供するので、最初に必要ないくつかのプログラム
がロードできる。プログラムをローディングする過程
で、ブートストラップ・タスクにより、プログラムが、
起動されたネーム・サービスにアクセスできるようにな
る。さらに、ブートストラップ・タスクが1組の簡単な
デバイス・ドライバを提供するので、他のサーバが、ブ
ート・ボリュームで記述されたブート・デバイス上にデ
ータを読み/書きできるようになる。また、ブートスト
ラップ・タスクは、ブート・プロセス中にサーバとオペ
レータないしユーザが連絡できるようにするための簡単
なデバイス・ドライバを提供している。またさらに、ブ
ートストラップ・タスクは、他のプログラムがブート・
ボリュームの内容にアクセスできるように1組のファイ
ルシステム・インターフェースを提供している。この結
果、データ処理システムの実際のファイルシステムがロ
ードされ起動されるまで、ブートストラップ・タスクは
ブート・ボリュームのファイルシステムの役をする。
【0069】図11にデータ処理システムをブートする
のに使われる主要な要素をブロックダイアグラムにして
示す。メモリ600は、OSカーネル602、ブートス
トラップ・タスク604、マスター・サーバ606、お
よび、ハードディスク・デバイス・ドライバ608を持
っている。OSカーネル602とブートストラップ・タ
スク604は、ブート・プロセス中にブート・ローダに
よりロードされる。ブートストラップ・タスクはブート
・プロセスの一環としてマスター・サーバ606をロー
ドする。最初、ブート・ボリュームからの情報を使っ
て、ファイルがハードディスク・ドライブ610からブ
ートストラップ・タスクによりロードされる。
【0070】ハードディスク・ドライブからのファイル
を要求するハウスキーピング機能と他のタスクは、OS
カーネル602にメッセージを送ることにより、アクセ
スすることができる。この段階、即ち、十分なシステム
機能がメモリ600にロードされるまで、OSカーネル
はメッセージをブートストラップ・タスク604にまわ
す。主要な機能の内、特にハードディスク・デバイス・
ドライバ608をメモリ600にローディングすること
により、マスター・サーバ606は、ブートストラップ
・タスク604とブート・ボリュームを必要とすること
なく、ハードディスク・ドライブ610にアクセスでき
る。その時点で、ブートストラップ・タスク604は終
了し、ハードディスク・ドライブ610のファイルをア
クセスする要求は、OSカーネル602によりハードデ
ィスク・デバイス・ドライバ608にまわされる。ブー
トストラップ・タスク604が扱っていた他の機能も、
メモリ600にある他のプログラムあるいはデバイス・
ドライバ(図示せず)にまわされる。
【0071】上記の具体化はハードディスクを使用した
が、本発明は、データ処理システムをブート即ち初期化
するのに使用できる他の媒体を使って具体化することも
できる。
【0072】上記の具体化は、1台のコンピュータ上で
の具体化として説明したが、本発明はネットワーク、分
散処理、あるいは、マルチプロセサ・データ処理システ
ムでも実施することができる。本発明の具体化は、ユー
ザ・レベルのデバイス・ドライバを持ち、Machの派生物
のマイクロ・カーネルを使用するデータ処理システムで
実施できるものである。Mach派生物のマイクロ・カーネ
ルについての詳細は、「Mach: オペレーティング・シス
テムの1つの基礎」(Richard Rashid et al.,Mach: A
Foundation For Operating Systems, Proceedings of t
he Second Workshop on Work Station Operating Syste
ms, pp. 109ー113, IEEE Computer Society, September,
1989)に記載されている。
【0073】
【発明の効果】上述したブート・ストラップのアーキテ
クチャにより、本発明は、ROMブートの終了から始ま
り、オペレーティング・システム環境の初期化の実行ま
での連続的な手段を提供することができる。
【図面の簡単な説明】
【図1】本発明が実施できるデータ処理システムを示
す。
【図2】図1に示したデータ処理システムの、本発明を
具体化するための主たる構成要素を示す。
【図3】本発明による、データ処理システムをブートす
る方法を示すフローチャート。
【図4】本発明のブート・ボリュームの構造を示すダイ
アグラム。
【図5】本発明のブート・ボリューム・ファイル・アン
カーを示すダイアグラム。
【図6】本発明のファイルヘッダを示すダイアグラム。
【図7】本発明によるブロック・リスト・エレメントを
示すダイアグラム。
【図8】本発明によるOSカーネルに情報を送る方法の
フローチャート。
【図9】本発明による、OSカーネルからブート・スト
ラップ・タスクに情報を渡す方法のフローチャート。
【図10】本発明の、ブート・ストラップ・タスクによ
りプログラムをロードする方法のフローチャート。
【図11】本発明により、データ処理システムをブート
するのに使用する主要構成要素を示すブロック図。
【符号の説明】
50 コンピュータ 52 システムユニット 54、94 ディスプレイ装置 56、90 キーボード 58、92 マウス 60 システムバス 62 マイクロプロセサ 64 数値計算コプロセサ 66 DMAコントローラ 68 ROM 70 RAM 72 CMOS RAM 74 メモリ・コントローラ 76 バス・コントローラ 78 インタラプト・コントローラ 80 キーボード/マウス・コントロ
ーラ 82 ビデオ・コントローラ 84 並列コントローラ 86 直列コントローラ 88 ディスケット・コントローラ 96 印刷装置 98 モデム 100 フロッピー・ディスクユニット 102 ディスク・コントローラ 104 ハードディスク・ユニット 298 ブート・ボリューム 300 ブート・ボリューム・ファイル
・アンカー 322 ファイルヘッダ 346 ブロック・リスト・エレメント 600 メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フリーマン エル. ローソン、サード アメリカ合衆国 33487ー2242 フロリ ダ州 ボカラトン ウッドビューテラス 17762 (72)発明者 ガイ ジー. ソトメイヤー、ジュニア アメリカ合衆国 33415 フロリダ州 ウエストパームビーチ シャーウッドグ レンウェイ 6082 アパートメント7 (56)参考文献 中島信幸著「別冊インターフェース MS−DOS完全活用法」(1991−3− 15)CQ出版株式会社 p.10−24 RAY DUNCAN著、福崎俊博訳 「プログラミングOS/2(▲I▼)カ ーネル・プログラム編」(1990−4− 11)株式会社アスキー P13−29,P 351−423 Janet I.Egan、Thom as J.Teixeira著 野中浩 一、大西照代訳「UNIXデバイスドラ イバ」(1989−11−21)株式会社アスキ ー P413

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】オペレーティング・システムの初期化を行
    う際に必要なファイルの識別情報を有するブート・ボリ
    ュームであって、該ブート・ボリュームは、該ブート・
    ボリュームと関連付けられたファイルを検索するために
    スタート・ポイントを位置づけるファイル・アンカー
    と、該ファイル・アンカーと関連付けられており、おの
    おのが上記ブート・ボリュームと関連付けられているフ
    ァイル識別子を含むファイルヘッダと、記憶装置内の連
    続データ・ブロックを識別する複数のブロック・リスト
    ・エレメントであって、ファイルを構成するデータ構造
    が、少なくとも1つの該ブロック・リスト・エレメント
    を用いて識別かつアクセスされ得ることを特徴とするブ
    ロック・リスト・エレメントとを含み、そのデザインお
    よびレイアウトが、ロードされるべきオペレーティング
    ・システム環境のファイル・システムから独立している
    ブート・ボリュームと、 上記ブート・ボリュームを用いて、カーネルをロード
    し、メモリに上記ブート・ボリュームにより指定され
    る、オペレーティング・システムの初期化に必要な複数
    ファイルをロードする手段と、 物理メモリのレイアウトを示すメモリ・マップ情報を上
    記カーネルに送信するための送信手段と、 を具備するデータ処理システム。
  2. 【請求項2】上記ブート・ボリュームによりロードされ
    るために、ブート・ストラップ・タスクが識別され、上
    記ロードする手段がメモリに上記ブート・ストラップ・
    タスクをロードし、さらに、該ブート・ストラップ・タ
    スクから上記カーネルへデータを送信する手段を含むこ
    とを特徴とする請求項1に記載のデータ処理システム。
  3. 【請求項3】マスター・サーバをロードする前に、初期
    化タスクを上記ブート・ストラップ・タスクがロードす
    ることを特徴とする請求項2に記載のデータ処理システ
    ム。
  4. 【請求項4】正式なシステム・レベルの機能がメモリに
    ロードされるまで、上記ブート・ストラップ・タスクが
    基本的なデバイス・ドライバーとして作動することを特
    徴とする請求項3に記載のデータ処理システム。
  5. 【請求項5】オペレーティング・システムの初期化を行
    う際に必要なファイルの識別情報を有するブート・ボリ
    ュームであって、該ブート・ボリュームは、該ブート・
    ボリュームと関連付けられたファイルを検索するために
    スタート・ポイントを位置づけるファイル・アンカー
    と、該ファイル・アンカーと関連付けられており、おの
    おのが上記ブート・ボリュームと関連付けられているフ
    ァイル識別子を含むファイルヘッダと、記憶装置内の連
    続データ・ブロックを識別する複数のブロック・リスト
    ・エレメントであって、ファイルを構成するデータ構造
    が、少なくとも1つの該ブロック・リスト・エレメント
    を用いて識別かつアクセスされ得ることを特徴とするブ
    ロック・リスト・エレメントとを含み、そのデザインお
    よびレイアウトが、ロードされるべきオペレーティング
    ・システム環境のファイル・システムから独立している
    ブート・ボリュームをメモリに位置づけるステップと、 上記ブート・ボリュームを用いて、カーネルをロード
    し、メモリに上記ブート・ボリュームにより指定され
    る、オペレーティング・システムの初期化に必要な複数
    ファイルをロードするステップと、 物理メモリのレイアウトを示すメモリ・マップ情報を上
    記カーネルに送信するステップと、 を具備するオペレーティング・システムの稼働を初期化
    するための方法。
JP10747294A 1993-04-26 1994-04-25 オペレーティング・システム環境の起動方法およびシステム Expired - Fee Related JP3212007B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5411793A 1993-04-26 1993-04-26
US08/054,117 1993-04-26

Publications (2)

Publication Number Publication Date
JPH06324849A JPH06324849A (ja) 1994-11-25
JP3212007B2 true JP3212007B2 (ja) 2001-09-25

Family

ID=21988910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10747294A Expired - Fee Related JP3212007B2 (ja) 1993-04-26 1994-04-25 オペレーティング・システム環境の起動方法およびシステム

Country Status (4)

Country Link
US (1) US5675795A (ja)
EP (1) EP0622731A3 (ja)
JP (1) JP3212007B2 (ja)
CA (1) CA2122162A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6357000B1 (en) * 1993-01-29 2002-03-12 Microsoft Corporation Method and system for specified loading of an operating system
US6011920A (en) * 1995-04-05 2000-01-04 International Business Machines Corporation Method and apparatus for debugging applications on a personality neutral debugger
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
US5933631A (en) * 1997-03-17 1999-08-03 International Business Machines Corporation Dynamic boot filesystem selection
US6535976B1 (en) * 1997-03-27 2003-03-18 International Business Machines Corporation Initial program load in data processing network
US5991860A (en) * 1997-04-23 1999-11-23 Advanced Micro Devices, Inc. Root file system size increase on a unix based computer system
US6119212A (en) * 1997-04-23 2000-09-12 Advanced Micro Devices, Inc. Root size decrease on a UNIX based computer system
US5964874A (en) * 1997-04-23 1999-10-12 Advanced Micro Devices, Inc. Swap size decrease on a UNIX based computer system
US5968170A (en) * 1997-04-23 1999-10-19 Advanced Micro Devices, Inc. Primary swap size increase on a UNIX based computer system
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
WO1999036851A1 (en) * 1998-01-20 1999-07-22 Src Computers, Inc. Scalable single system image operating software architecture for a multi-processing computer system
US6532535B1 (en) * 1998-02-24 2003-03-11 Adaptec, Inc. Method for managing primary and secondary storage devices in an intelligent backup and restoring system
US6067618A (en) * 1998-03-26 2000-05-23 Innova Patent Trust Multiple operating system and disparate user mass storage resource separation for a computer system
US6496839B2 (en) * 1998-06-12 2002-12-17 Microsoft Corporation Persistent names for logical volumes
US6654881B2 (en) * 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
FI991167A (fi) * 1999-05-24 2000-11-25 Nokia Mobile Phones Ltd Menetelmä käyttöliittymäohjelmiston lataamiseksi
US6446139B1 (en) * 1999-06-28 2002-09-03 Adaptec, Inc. Multiple chip single image BIOS
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6772281B2 (en) * 2000-02-17 2004-08-03 Western Digital Ventures, Inc. Disk drive for selectively satisfying a read request from a host computer for a first valid data block with a second valid data block
JP3696515B2 (ja) 2000-03-02 2005-09-21 株式会社ソニー・コンピュータエンタテインメント カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
US6785807B1 (en) * 2000-03-06 2004-08-31 International Business Machines Corporation Method and system for providing bootcode support in a data processing system that uses a communications port that utilizes a first communications protocol, an external device that utilizes a second communications protocol, and a device driver that is loaded in response to booting to communicate with the external device through the communications port
US6687819B1 (en) * 2000-03-23 2004-02-03 International Business Machines Corporation System, apparatus and method for supporting multiple file systems in boot code
US7130853B2 (en) * 2000-06-06 2006-10-31 Fair Isaac Corporation Datamart including routines for extraction, accessing, analyzing, transformation of data into standardized format modeled on star schema
US8566849B2 (en) * 2000-12-14 2013-10-22 Borland Software Corporation Name service object clustering
US6944867B2 (en) 2001-10-04 2005-09-13 Lenovo (Singapore) Pte. Ltd. Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
US7571445B2 (en) * 2001-11-29 2009-08-04 Dell Products L.P. System and method for dynamic device driver support in an open source operating system
US7000159B2 (en) * 2003-03-10 2006-02-14 Dell Products L.P. System and method for testing memory
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
US7337368B2 (en) * 2004-06-07 2008-02-26 Dell Products L.P. System and method for shutdown memory testing
JP4324116B2 (ja) * 2005-02-17 2009-09-02 キヤノン株式会社 画像処理装置及びその制御方法、プログラム、記憶媒体
US7590839B2 (en) * 2005-03-22 2009-09-15 Qnx Software Systems Gmbh & Co. Kg System employing fast booting of application programs
US7461247B2 (en) * 2005-06-03 2008-12-02 Qnx Software Systems Gmbh & Co. Kg Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization
US7840682B2 (en) 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US8667184B2 (en) * 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
JP4597032B2 (ja) 2005-10-24 2010-12-15 株式会社ソニー・コンピュータエンタテインメント コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
CN100437490C (zh) * 2006-04-05 2008-11-26 威盛电子股份有限公司 安装驱动程序的方法及其计算机系统
US7624260B2 (en) * 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
EP2102753A4 (en) * 2006-12-22 2013-01-02 Elektrobit Wireless Comm Oy ELECTRONIC DEVICE AND COMPUTER PROGRAM
US8549093B2 (en) 2008-09-23 2013-10-01 Strategic Technology Partners, LLC Updating a user session in a mach-derived system environment
US8230208B2 (en) * 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
US8464034B2 (en) * 2009-04-29 2013-06-11 Lsi Corporation Consolidated boot parameter management systems and methods
CN115562731A (zh) * 2021-06-30 2023-01-03 阿里云计算有限公司 微内核架构的设备驱动方法、装置、电子设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037938B2 (ja) * 1980-12-29 1985-08-29 富士通株式会社 情報処理装置
US4654783A (en) * 1982-07-26 1987-03-31 Data General Corporation Unique process for loading a microcode control store in a data processing system
US5367688A (en) * 1987-09-04 1994-11-22 Digital Equipment Corporation Boot system for distributed digital data processing system
US5497492A (en) * 1990-09-04 1996-03-05 Microsoft Corporation System and method for loading an operating system through use of a fire system
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355498A (en) * 1992-02-25 1994-10-11 Sun Microsystems, Inc. Method and apparatus for booting a computer system without loading a device driver into memory
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Janet I.Egan、Thomas J.Teixeira著 野中浩一、大西照代訳「UNIXデバイスドライバ」(1989−11−21)株式会社アスキー P413
RAY DUNCAN著、福崎俊博訳「プログラミングOS/2(▲I▼)カーネル・プログラム編」(1990−4−11)株式会社アスキー P13−29,P351−423
中島信幸著「別冊インターフェース MS−DOS完全活用法」(1991−3−15)CQ出版株式会社 p.10−24

Also Published As

Publication number Publication date
EP0622731A3 (en) 1995-02-15
US5675795A (en) 1997-10-07
EP0622731A2 (en) 1994-11-02
JPH06324849A (ja) 1994-11-25
CA2122162A1 (en) 1994-10-27

Similar Documents

Publication Publication Date Title
JP3212007B2 (ja) オペレーティング・システム環境の起動方法およびシステム
US5854905A (en) Extensible bios for boot support of devices on multiple hierarchical buses
US6421776B1 (en) Data processor having BIOS packing compression/decompression architecture
US5307497A (en) Disk operating system loadable from read only memory using installable file system interface
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
CA2010591C (en) Kernels, description tables and device drivers
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
EP1922617B1 (en) Preboot memory of a computer system
US5604887A (en) Method and system using dedicated location to share information between real and protected mode device drivers
US20090094447A1 (en) Universal serial bus flash drive for booting computer and method for loading programs to the flash drive
US8392697B1 (en) BIOS configuration and management
US7363434B2 (en) Method, system, and computer-readable medium for updating memory devices in a multi-processor computer system
WO2000017750A1 (en) Use of other processors during bios boot sequence to minimize boot time
JPH0775014B2 (ja) コンピュータにbiosをロードする装置及び方法
US7290175B1 (en) Forcing a memory dump for computer system diagnosis
GB2349247A (en) Recoverable software installation for a computer system
US5822784A (en) Mechanism supporting execute in place read only memory applications located on removable computer cards
EP4078362A1 (en) Layered composite boot device and file system for operating system booting in file system virtualization environments
US6289448B1 (en) Method, apparatus and computer program product for debugging a computer's boot process
US6314482B1 (en) Method and system for indexing adapters within a data processing system
JP3861304B2 (ja) エミュレーション装置およびその方法
JP2002024024A (ja) 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム
JP3861925B2 (ja) エミュレーション装置およびその方法
KR19980046409A (ko) 씨디롬드라이브에 의한 부팅 방법 및 그 장치

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees