JP3593241B2 - 計算機の再起動方法 - Google Patents
計算機の再起動方法 Download PDFInfo
- Publication number
- JP3593241B2 JP3593241B2 JP19184097A JP19184097A JP3593241B2 JP 3593241 B2 JP3593241 B2 JP 3593241B2 JP 19184097 A JP19184097 A JP 19184097A JP 19184097 A JP19184097 A JP 19184097A JP 3593241 B2 JP3593241 B2 JP 3593241B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- restart
- computer
- interrupt
- kernel
- 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
Links
- 238000000034 method Methods 0.000 claims description 77
- 230000015654 memory Effects 0.000 claims description 55
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の属する技術分野】
本発明は計算機の起動方法に関し、特に、オペレーティングシステムがソフトウェアフォルトにより停止した時の再起動方法に関する。
【0002】
【従来の技術】
一部のオペレーティングシステムでは、計算機に接続しているハードウェアについて、それを制御するデバイスドライバモジュールをカーネルから分離して、カーネルが必要なデバイスドライバをロードして利用することが可能になっている。
上記の機能を持つオペレーティングシステムにおいて、クロック割り込みを横取りして管理する実時間処理ドライバを利用して、時間制約の厳しいシステムの制御を計算機に実施させる方式がある。
この方式では、本来オペレーティングシステムが受けとるべきクロック割り込みを実時間処理ドライバが横取りし、オペレーティングシステムの処理より優先して実時間処理を実施し、その後オペレーティングシステムに制御を戻す方法が取られる。
この方式は、Windows NT等のカーネルモードで動作するモジュールの追加が容易なオペレーティングシステムで多く実現されている。
【0003】
実時間処理においては信頼性の確保も大きな問題となる。上記の方式においては、実時間処理モジュールをオペレーティングシステムのカーネルに依存しないようにすることにより、オペレーティングシステムがソフトウェア障害により停止してしまっても、実時間処理を継続することができる機能を持つものもある。
また、オペレーティングシステムが障害により停止する時に、実時間処理モジュールにその旨通知を発行して、実時間処理モジュール側でオペレーティングシステムの停止に対処する処理を実施できるようにしているものもある。
【0004】
しかしながら、これらの方式では、ソフトウェア障害により停止してしまったオペレーティングシステムを再起動する時、実時間処理ドライバも停止してしまう。つまり、オペレーティングシステムの再起動処理と実時間処理を同時には実施できないという問題点がある。
これは、オペレーティングシステムの再起動時にプロセッサをリセットしてしまうため、実時間モジュールが動作するための仮想記憶、割り込み処理用の情報が失われてしまうからである。
これは、非常に短い周期で停止することなく制御しなければならないハードウェアがある場合には、計算機再起動時にその制御が途絶えてしまうため問題である。
【0005】
従来技術ではクロック割り込みに限らず、計算機の再起動中はハードウェアの発生する外部割り込みを受け付けることができない。その割り込み処理がオペレーティングシステムの機能に依存していなくてもである。
例えば、複数の計算機からなるクラスタ構成の計算機システムでは、他の計算機が稼働しているかどうかを一定間隔で問い合わせて、一定時間返答がなければその計算機が実行を停止していると判断し、システム構成を変更する処理を実施する。
この場合に、計算機が停止しているという判断を下すためには一定の待ち時間が必要になり、システム再構成を開始するまでの時間が長くなり問題である。
この問合せに反応する外部割り込みをカーネル再起動処理中も受け付けて返答を返すことができれば、再構成を開始するまでの時間を短縮できる。
また、プロセッサをリセットする再起動方法では、メモリチェック、ハードウェア構成認識等の処理が実行されるため、オペレーティングシステムの起動までの時間が長くなるという問題がある。
【0006】
【発明が解決しようとする課題】
従来のオペレーティングシステムでは、オペレーティングシステムがソフトウェアフォルトにより停止し再起動を実施する場合に、再起動処理の間、外部デバイスからの割り込みを受け付けられず、割り込みに対する処理を実行できない問題がある。
本発明の目的は、オペレーティングシステム再起動時でも、オペレーティングシステムとは独立して処理を実施できる外部割り込み処理について、その割り込みの処理をオペレーティングシステムの再起動の間も実行できるようにすることにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
複数のロードモジュールから構成されるオペレーティングシステムの1台の計算機における再起動方法であり、
前記オペレーティングシステムの再起動中に動作させる前記複数のロードモジュールの中の1つのロードモジュールはメモリに保持し、
前記1つのロードモジュールが処理する割り込みは受け付け可能な状態とし、
前記1つ以外のロードモジュールを前記計算機のメモリにロードするようにしている。
また、前記再起動は、前記オペレーティングシステムがソフトウェア障害を受けたときに行われるようにしている。
また、前記割り込みは外部割り込みであるようにしている。
また、前記オペレーティングシステムの再起動中に、前記1つのロードモジュールによる前記割り込みの受け付けが行われるようにしている。
また、前記オペレーティングシステムの再起動中は、前記1つのロードモジュールが存在する前記メモリの領域を書き込み禁止状態とするようにしている。
【0008】
また、第1の計算機と第2の計算機がネットワークを介して接続される計算機システムにおける計算機の再起動方法であり、
前記第1の計算機は、前記第2の計算機にリクエストを送り、
複数のロードモジュールから構成されるオペレーティングシステムの再起動中に前記第2の計算機は、当該オペレーティングシステムの再起動中に前記リクエストを受け付けるための前記複数の中の1つのロードモジュールをメモリに保持し、前記1つのロードモジュールが処理する割り込みは受け付け可能な状態とし、前記1つ以外のロードモジュールを前記計算機のメモリにロードすることにより再起動し、前記第1の計算機から前記再起動中に送られてきた前記リクエストを、前記割り込みにより前記1つのロードモジュールが受け付けるようにしている。
【0012】
【発明の実施の形態】
以下に、図面を用いて本発明の第一の実施の形態を説明する。
図1は本発明の実施の形態の計算機を示す図である。
計算機100はプロセッサ101、主記憶102、読み取り専用メモリ103、磁気ディスク105、外部デバイス106、および、107、割り込みコントローラ104、各構成要素を接続するバス108、割り込み信号バス109からなる。
読み取り専用メモリ103には、計算機の初期化処理を実行するプログラムが格納されており、プロセッサ101がリセット状態になった時に制御が移るアドレスに初期化プログラムが配置されるようにバス108に接続されている。
読み取り専用メモリ103に格納されているプログラムは、ハードウェア構成を表すデータを主記憶内に構築する。
更に磁気ディスクのあらかじめ定められた領域にあるデータを主記憶にロードし、それをプログラムとみなして制御を渡す。
この例では、ローダ114が磁気ディスク105の定められた領域にあり、これが主記憶102にロードされて実行される。
処理を引き継いだローダ114は、カーネル111を主記憶にロードし、プロセッサの仮想アドレス変換機構を設定して、プロセッサを仮想アドレスモードに移し、カーネルを実行する。この時、ローダはハードウェア構成データをカーネルに引き渡す。
【0013】
カーネルは、ハードウェア構成データを参照してカーネルが管理するハードウェアデバイスの初期化処理を実施し、モジュール構成ファイル110の内容にしたがってカーネルからは分離されたプログラムモジュールを主記憶102にロードし、それぞれのモジュールの初期化処理を実行する。
例えば、モジュール構成ファイルが、再起動ローダ113、デバイスドライバ112をロードするように書かれていれば、カーネルはこれらを主記憶にロードし、それぞれの初期化ルーチンを実行する。
図1は、主記憶にカーネル、再起動ローダ、および、デバイスドライバがロードされていることを示している。
最後に、カーネルは最初のプロセスを生成して、計算機起動手順は完了する。
【0014】
このような計算機システムで、オペレーティングシステムカーネルがソフトウェア障害により停止してしまった時に、プロセッサをリセットして上記の手順で計算機を再起動してしまうと、再起動の間、仮想アドレスモードは解除され、外部デバイス106、および、107からの割り込みを受け付けることができなくなる。
ここでは、外部デバイス106が発生する割り込みは、カーネルがソフトウェア障害により停止し、再起動している間も処理しなければならない割り込みで、デバイスドライバ112により管理されるものとして説明する。
本発明は、カーネルの再起動処理をしている間も特定の割り込みを受け付け続け、割り込み処理を実行可能な再起動手順を提供するものである。
【0015】
外部デバイス106はデバイスドライバ112により管理されるものとする。
デバイスドライバ112は、カーネルが提供するサービスを利用せずに外部デバイス106の割り込みを処理するようにプログラムされているモジュールである。
ここで述べる実施の形態では、デバイスドライバ112は、無停止モジュールとして再起動ローダ113の無停止モジュール管理テーブル500に登録される。
再起動ローダ113は、カーネルがソフトウェア障害により停止してカーネルの再起動を実施する時に実行されるモジュールであり、無停止モジュールとして管理テーブル500に登録されているモジュールの処理環境を維持したままカーネルの再起動処理を実行する。
【0016】
無停止モジュールの処理環境とは、無停止モジュールが配置されている仮想アドレス、それに対するアドレス変換テーブル、モジュールが格納されている物理メモリ、無停止モジュールが処理すべき割り込みの割り込みハンドラの設定を指している。
アドレス変換テーブルはページテーブル410に設定され、割り込みハンドラは割り込みハンドラテーブル430に設定されている。
また、アドレス空間情報とハードウェア資源情報は資源管理データ115に格納されている。
再起動ローダ113は、無停止モジュール管理テーブル500を参照して、無停止モジュールが確保しているアドレス領域、割り込みハンドラの設定を保持したまま、カーネルの再ロード、および、実行を行なう。
これにより、無停止モジュールの割り込み処理の連続性を保つことができる。
【0017】
以下で、本発明の第1の実施の形態の詳細について説明する。
図2は、本発明のオペレーティングシステムのカーネルのアドレス空間を表現するデータ構造を示している。
200はカーネルのアドレス空間にロードされているモジュールを記録するロードモジュール管理テーブルである。
各モジュールはファイルとして磁気ディスクなどの二次記憶装置に格納されており、オペレーティングシステムローダ、または、カーネルにより主記憶にロードされる。
ロードモジュール管理テーブル200は、主記憶にロードされている各モジュールのモジュール名称201、モジュールのコード領域開始仮想アドレス202、コード領域のサイズ203、データ領域開始仮想アドレス、データ領域の大きさ205、および、モジュールインターフェイス情報206を含んでいる。
モジュールインターフェイス情報は、ロードされるモジュールがカーネルに提供するインターフェイスルーチンの開始アドレスである。
インターフェイスルーチン206を登録することにより、カーネルはロードされたモジュールの機能を利用できるようになる。
【0018】
図2の207から211は、モジュール名称がデバイスドライバ1であるモジュールのコード開始アドレス、サイズ、データ開始アドレス、サイズ、および、インターフェイスルーチン情報を格納している。
この図のロードモジュール管理テーブル200では、カーネル、再起動ローダ、デバイスドライバ1、およびデバイスドライバ2がカーネル空間にロードされていることを示している。
220は、カーネルの仮想アドレス空間の空き領域を表現するカーネル仮想空間空き領域リストを保持している。
220は空き領域を表現する空きブロック構造体230を指している。空きブロック構造体230は、空き領域の開始仮想アドレス232、その空き領域のサイズ233、および、次の空き領域を表現する空きブロック構造体へのポインタ231を含んでいる。231は次の空きブロック構造体である240のアドレスを格納している。
この図の220では、それぞれアドレス232、242から始まり、大きさが233、243である2つの連続した空き領域がカーネルの仮想アドレス空間にあることを示している。
250は、物理メモリの空き領域を表現する物理メモリ空き領域リストである。物理メモリ空き領域リストも、カーネル仮想空間空き領域リストと同様に構成される。
空きブロック構造体260、および、270がそれぞれ物理メモリの空き領域を表現している。この図の250も、220と同様に2つの連続した空き物理メモリがあることを表現している。
【0019】
次に、計算機に接続している外部デバイスを管理するデータ構造について説明する。
図3は、本発明の実施の形態の計算機に接続している外部デバイスが占有する資源を表現するデータ構造を示している。
300は、外部デバイスの制御用のレジスタが存在するアドレス範囲を表現するデバイス占有アドレスリストである。
デバイス占有アドレスリスト300は、1つのアドレス範囲を表現するデバイス占有アドレス構造体から成り、図3では、310、320、330の3つのデバイス占有アドレス構造体から構成されている。
デバイス占有アドレス構造体310は、デバイス制御レジスタ開始アドレス312、大きさ313、そのアドレス範囲により制御されるデバイスを管理しているモジュールのモジュール番号314、および、デバイス占有アドレスリストを構成するためのリンク311を含んでいる。
モジュール番号314は、図2のロードモジュール管理テーブル200へのインデックスとなる。
例えば、デバイス占有アドレス構造体310がカーネルが管理している外部デバイスの占有資源を表現しているとすると、314のモジュール番号には0が格納される。デバイスドライバ1の管理するデバイスがあるならば、そのモジュール番号には2が格納される(ロードモジュール管理テーブル200へのインデックスは0から数えるとする)。
【0020】
340は、外部デバイスが占有する割り込み番号を記録するデバイス占有割り込みテーブルである。
デバイス占有割り込みテーブル340は、プロセッサが認識する割り込み番号が、どのモジュールの管理するハードウェアデバイスに占有されているかを記録している。
例えば、カーネルが管理するクロック割り込み用デバイスが割り込み番号0を占有しているならば、デバイス占有割り込みテーブルの0番目のエントリ341に、カーネルのモジュール番号である0が格納される。
【0021】
次に、プロセッサが直接利用するデータ構造について説明する。
図4は、プロセッサが利用する仮想アドレス変換テーブル、および、割り込み処理用テーブルのデータ構造を示している。
410は、プロセッサの仮想アドレス−物理アドレス変換を規定するページテーブルである。
ページテーブル410のエントリは、プロセッサの規定するページサイズ毎に存在する。
各エントリは、仮想アドレス空間内のそれぞれの仮想ページについて、そのエントリが有効であるかを示すフラグ411、そのページが書き込み可能であるかを示すフラグ412、そのエントリの仮想ページに対応する物理ページの開始アドレス413を含んでいる。
400は、プロセッサのレジスタで、ページテーブル410の開始アドレスを格納している。
プロセッサは、仮想アドレスモードで動作している時、ページテーブルレジスタ400を参照して、仮想アドレスから実際のメモリアクセスに必要な物理アドレスを生成する。
【0022】
430は、プロセッサに入る割り込みについて、割り込み番号毎の割り込みハンドラを規定する割り込みハンドラテーブルである。
割り込みには要因毎に番号が振られている。割り込みコントローラ104は、外部デバイスからの割り込み要求を受け、割り込み番号に変換してプロセッサに通知する。
割り込みハンドラテーブル430は、それぞれの割り込み番号毎の割り込みハンドラの開始アドレスを格納している。
例えば、クロック割り込みが0番の割り込みを利用しているならば、割り込みハンドラテーブルの0番目のエントリ431には、クロック割り込みハンドラのアドレスが格納されている。
420は、プロセッサのレジスタで、割り込みハンドラテーブル430の開始アドレスを格納している。
プロセッサは、割り込みハンドラテーブルレジスタ420を参照して、割り込みを検出した時に要因毎の割り込みハンドラに制御を移す。
例えば、プロセッサがクロック割り込み、つまり0番の割り込みを検出した時、プロセッサは割り込みハンドラテーブルレジスタ420が指すテーブル430の0番エントリ431に格納されているハンドラに制御を移す。
【0023】
次に、再起動ローダが管理するデータ構造について説明する。
再起動ローダは、オペレーティングシステムのカーネルがソフトウェア障害により停止し、オペレーティングシステムを再起動する時に、オペレーティングシステムカーネルを主記憶にロードし、カーネルを実行するモジュールである。
図5は、再起動ローダが管理するデータ構造を示している。
500は無停止モジュール管理テーブルであり、再起動ローダによりカーネルの再ロード、再起動中もハードウェアデバイスからの割り込み受け付けて処理を実行するモジュールである無停止モジュールの情報を管理するデータ構造である。
無停止モジュール管理テーブル500は、無停止モジュール名501、無停止モジュールのコード領域開始アドレス502、コード領域の大きさ503、データ領域の開始アドレス504、データ領域の大きさ505、無停止モジュールが管理する外部デバイスが占有する資源の情報506、および、無停止モジュールの再初期化ルーチンのアドレスを含んでいる。
利用ハードウェア情報506には、無停止モジュールが管理する外部デバイスの制御用占有アドレス、占有割り込み番号が記録されている。
再初期化ルーチン507には、カーネルが再起動したときに実行されるルーチンのアドレスを格納する。
再初期化ルーチンが何を実行するかは、モジュールが管理しているハードウェアに依存するが、少なくとも、ロードモジュール管理テーブル200へのインターフェイスルーチン206の登録を実行する。これにより、カーネルは再び無停止モジュールの提供する機能を利用できるようになる。
【0024】
図5の無停止モジュール管理テーブル500では、再起動ローダ、および、デバイスドライバ1が無停止モジュールとして登録されている。
更に、508ないし513には、デバイスドライバ1の占有アドレス、外部デバイス情報、再初期化ルーチンアドレスが格納されている。
再起動ローダは、無停止モジュール管理テーブル500の情報を利用して、オペレーティングシステムカーネル再起動時のカーネル空間、および、外部デバイス構成情報を構築してカーネルに引き渡す。
カーネルが、これらの情報を参照して起動手順を決定することで、カーネル再起動中でも中断することなく、外部デバイスからの割り込み処理を可能にする。
無停止モジュール管理テーブル500は、再起動ローダのデータ領域に置かれるデータ構造で、再起動ローダモジュールにより管理される。
再起動ローダモジュールは、モジュールの初期化時に再起動ローダのデータ領域を書き込み禁止とし、ソフトウェア障害による無停止モジュール管理テーブル500の破壊を防ぐ。
データ領域を書き込み禁止にするには、データ領域を含む仮想ページに対応するページテーブル410のエントリの書き込み可フラグをリセットすることで実現できる。
【0025】
次に、カーネルが起動時に読み込むロードモジュールを定義するファイルの形式について説明する。
図6は、本発明の実施の形態のロードモジュールを定義するデータ構造を示している。
110は、モジュール構成ファイルの内容を示している。モジュール構成ファイル110の各エントリは、カーネルがロードするモジュールの名称601、モジュールが格納されているファイル名602、および、そのモジュールが無停止モジュールであるかを示すフラグ603を含んでいる。
図6の例では、カーネルは再起動ローダ、デバイスドライバ1、デバイスドライバ2の順でモジュールを主記憶に読み込む。デバイスドライバ1が格納されているファイルの名前はdriver1で、デバイスドライバ1は無停止モジュールであることを表現している。
モジュール構成ファイル110は、オペレーティングシステムが予め定めた名前のファイルに格納され、カーネルは容易にこのファイルを発見できる。
【0026】
図7は、本発明の実施の形態のロードモジュールが格納されるファイルの形式を示している。
ロードモジュールを格納しているファイル700は、モジュールの実行コードが格納されているコード開始オフセット701、実行コードのサイズ702、データが格納されているデータ開始オフセット703、データ領域のサイズ704、モジュールの初期化ルーチンの実行コードが格納されている初期化ルーチンオフセット705、モジュールの再配置情報開始オフセット706、再配置情報のサイズ707、実行コード708および、データ709を保持している。
モジュールの再配置情報は710は、モジュールを主記憶にロードする時に利用するデータで、モジュールのコード、および、データ領域がロードされたアドレスにしたがってモジュールのコードを変更するためのデータである。
これにより、ロードするモジュールの構成が変わってモジュールがロードされるアドレスが変わっても良い。
【0027】
次に、本発明の実施例のオペレーティングシステム再起動の手順について説明する。
図8は、オペレーティングシステムを再起動する時に実行される再起動ローダの処理手順を示すフローチャートである。
まず、ステップ801でカーネル空間に再起動ローダがロードされているか検査する。
再起動ローダがロードされていない、あるいは、ロードされているかどうか判別できない場合は、ステップ802へ進む。ステップ802では、プロセッサをリセットして計算機の再起動を実行する。
多くの計算機ではプロセッサをリセット状態にすると、仮想アドレス変換が禁止になり、割り込みハンドラの設定も無効になり、プロセッサが規定する物理アドレスに制御を移す。通常、この物理アドレスには計算機の起動手順を記憶した読み込み専用メモリ103がマップされている。
この起動手順は、計算機に接続しているハードウェアデバイスをリセットする。これは、オペレーティングシステムのカーネル実行時に外部デバイスを既知の状態にするためである。
この起動手順のために、特に、プロセッサがリセットされてしまうために、従来の計算機ではオペレーティングシステム再起動の間、外部デバイスからの割り込み処理を受け付けることができなくなってしまう。
一方、ステップ801で再起動ローダがロードされていると判断された場合は、プロセッサをリセットすることなく、ステップ803に進む。ステップ803からが、実際の再起動ローダが実行する処理である。
【0028】
ステップ803では、ロードモジュール管理テーブル200に登録されているモジュールがハードウェアリセットルーチンをもっているか検査し、登録されていれば、そのリセットルーチンを呼び出す。
特別なハードウェアリセットが必要ないデバイスの場合は、リセットルーチンは登録しなくてもよい。
次のステップ804では、無停止モジュール管理テーブル500の各エントリの利用ハードウェア情報506を参照して、無停止モジュールが受け付ける以外の割り込みについて、それらの割り込みの割り込みハンドラを無効にする。
具体的には、割り込みハンドラテーブル430のエントリを、割り込みを受け付けるだけの割り込みハンドラのアドレスに設定する。
次のステップ805では、この後に続く無停止モジュールのデータ領域へのデータ格納に備えて、無停止モジュールのデータ領域の格納されているページを書き込み可能に設定する。
具体的には、ページテーブル410の、無停止モジュールのデータ領域に対応するエントリの書き込み可フラグ412をセットする。
【0029】
続くステップ806、807、および、808では、カーネルが再起動時に参照するカーネル空間空き領域リスト、物理メモリ空き領域リスト、デバイス占有アドレスリスト、および、デバイス占有割り込みテーブルを作成する。
ステップ806では、仮想メモリ空き領域リスト、および、物理メモリ空き領域リストを作成する。
ステップ806では、無停止モジュール管理テーブル500を参照して、無停止モジュール、再起動ローダ、およびカーネルスタック116が利用している以外のアドレス領域を空き領域とする空き領域リストを、再起動ローダのデータ領域内に作成する。
空き領域リストは、オペレーティングシステムの管理する空き領域リスト220、および、250と同じデータ構造である。
ステップ807では、デバイス占有アドレスリストを作成する。
ステップ807では、ステップ806と同様、無停止モジュール管理テーブル500を参照して、無停止モジュールが利用している以外のアドレス領域を空き領域とするデバイス占有アドレスリストを再起動ローダのデータ領域内に作成する。
ここで作成するデバイス占有アドレスリストは、オペレーティングシステムの管理するデバイス占有アドレスリスト300とほぼ同じデータ構造であるが、デバイス占有アドレス構造体のモジュール番号については、モジュール番号ではなくモジュール名称を格納する。
ステップ808では、デバイス占有割り込みテーブルを作成する。
ステップ807と同様に、無停止モジュールが利用している以外の割り込み番号を未使用とするデバイス占有割り込みテーブルを、再起動ローダのデータ領域内に作成する。
ここでも、ステップ807と同様、デバイス占有割り込みテーブルの各エントリには、モジュール番号ではなくモジュール名称を格納する。
【0030】
ステップ806ないし808で作成したデータ構造は、カーネルが再起動した時に、無停止モジュールが管理しているハードウェアデバイス資源を、誤って他のモジュールに割り当てないようにするためのデータ構造である。
最後に、再起動ローダは、主記憶にオペレーティングシステムカーネルをロードし(ステップ809)、再起動ローダの再初期化ルーチンのアドレスをパラメータに加えてカーネルを実行する(ステップ810)。
【0031】
次に、本発明の実施例のオペレーティングシステムカーネルの初期化処理について説明する。
図9は、本発明の実施例のオペレーティングシステムカーネルの初期化処理手順を示すフローチャートである。
まず、カーネルは起動時に再起動ローダによる起動か、通常の起動かを判別する(ステップ901)。
これは、再起動ローダによる起動では、再起動ローダの再初期化ルーチンのアドレスをパラメータとしてカーネルに渡すので、容易に判別できる。
再起動ローダによる起動でない場合は、通常手順によりカーネルの実行を進める(ステップ902)。
ここでの通常手順とは、バス、および、割り込みコントローラの初期化、カーネル管理のハードウェアデバイスの初期化、モジュール構成ファイルに記されたモジュールの主記憶へのロードと初期化、初期プロセスの実行である。
【0032】
再起動ローダによる起動の場合は、ステップ903へ進む。ステップ903では、再起動ローダモジュール用にロードモジュール管理テーブル200のエントリを割り当てる。
続くステップ904で、パラメータとして渡された再起動ローダモジュールの再初期化ルーチンのアドレスを基に再初期化ルーチンを実行する。
再起動ローダの再初期化ルーチンは、無停止モジュールの再初期化ルーチンと同様の処理を実施する。
この再初期化ルーチンでは、ロードモジュール管理テーブル200の設定を実施する。特に、管理テーブル200のモジュールインターフェイス206が設定され、再起動ルーチンが提供するインターフェイスルーチンをカーネルから呼び出せるようになる。
続く、ステップ905でハードウェア構成情報のコピー、ステップ906と907で再起動ローダがカーネル起動前に構築した空き領域リスト、デバイス占有アドレスリスト、デバイス占有割り込みテーブルをカーネルのデータ空間にコピーする。
これらの処理は、再起動ローダが提供するインターフェイスルーチンにより実行される。
【0033】
通常起動時には、カーネルがロードされている以外のメモリ領域を空き領域とする空き領域リスト、空のデバイス占有アドレスリスト、および、すべての割り込みのエントリが未使用であるデバイス割り込みテーブルを作成して、以降の処理を実行する。
それに対し、再起動ローダによるカーネル再起動時には、再起動ローダが作成した空き領域リスト、デバイス占有アドレスリスト、および、デバイス占有割り込みテーブルを利用する。
これにより、無停止モジュールのデータ領域の初期化、外部デバイスの初期化を避け、無停止モジュールの外部デバイスに関連する処理の連続性を保持することが可能になる。
【0034】
続くステップ908から912は、カーネルが管理するバスと割り込みコントローラ以外のすべての外部デバイスについての初期化処理である。
ステップ909では、外部デバイスが利用するアドレス領域、および、割り込み番号が、既に利用されているか検査する。
これは、デバイス占有アドレスリスト300、および、デバイス占有割り込みテーブル340を参照することにより検査する。再起動ローダによる再起動時には、これらのデータ構造に無停止モジュールが利用しているデバイス情報が含まれていることになる。
外部デバイスの使用するアドレス領域、および、割り込み番号が未使用であるならば、そのアドレス領域、および、割り込み番号をデバイス占有アドレスリスト300と、デバイス占有割り込みテーブル340に、カーネルのモジュール番号とともに登録する(ステップ910)。
カーネルのモジュール番号は、ロードモジュール管理テーブル200を検索することによって得られる。さらに、対象となっている外部デバイスの初期化を実施し(ステップ911)、ステップ912へ進む。
【0035】
もし、初期化処理中の外部デバイスが利用するアドレス、あるいは、割り込み番号が既にデバイス占有アドレスリスト300、および、デバイス占有割り込みテーブル340に登録されているならば、これは、無停止モジュールが利用しているデバイスであるか、ハードウェア構成に誤りがあるかのどちらかである。
もし、初期化処理中の外部デバイスが利用するアドレス、割り込み番号が既にデバイス占有アドレスリスト300、および、デバイス占有割り込みテーブル340に登録されている場合は、ステップ910、および、911は実行せずにステップ912へ進む。
これにより、無停止モジュールが管理している外部デバイスの初期化を避け、無停止モジュールのデバイスに関連する処理の連続性が保持される。
ステップ912では、処理対象デバイスを他のデバイスに設定して、ステップ908へ進む。処理対象デバイスが残っていなければ、ステップ908の検査からステップ1001へ処理を進める。
【0036】
ステップ1001からの処理のフローチャートは図10に示す。
図10のフローチャートは、主に、モジュールのロード処理に関する。
ステップ1001では、モジュール構成ファイル110をメモリに読み込む。
続くステップ1002ないし1011はモジュール構成ファイルに登録されている各モジュールについて実行する。ステップ1002と1008により、各モジュール毎に処理を実行するようループを構成する。
ループ内の最初のステップ1003では、モジュール構成ファイル110の無停止フラグ603を参照して、処理対象のモジュールが無停止モジュールかどうか検査する。無停止モジュールでない場合は、ステップ1004へ進む。
【0037】
ステップ1004から始まる処理は、モジュールの主記憶へのロードを実施する。
まず、ステップ1004で必要なメモリ領域を獲得する。これは、空き領域リスト220、および、250を参照してモジュールを格納するのに十分な空き領域を探し、見つけた領域を空きリストから外すことで実施する。モジュールを格納するのに必要な領域は、モジュールを格納しているファイルの先頭部分702、および、704を参照して求める。
メモリの割当では、ページテーブル410の設定も行なう。
割り当てたアドレス領域に対応するページテーブル410のそれぞれのエントリについて、有効フラグ411をセットし、割り当てた物理ページの先頭アドレスを413に格納する。
さらに、書き込み可能フラグ412もセットする。コード領域が格納されているページの書き込み可能フラグ412は、コード領域のロード後リセットする。
【0038】
続くステップ1005で、モジュール構成ファイル110のファイル名602で示されるファイルを、ステップ1004で割り当てた領域にロードする。
ロード後、ファイルに格納されている再配置情報706、707、および、710によりコード領域を修正する。
さらに、ロードモジュール管理テーブル200に処理中のモジュール用のエントリを割り当て、そのエントリのアドレス、および、サイズ情報を設定する(ステップ1006)。
次に、モジュールの初期化ルーチンを実行する(ステップ1007)。
モジュールの初期化ルーチンは、少なくとも、ロードモジュール管理テーブル200のモジュールインターフェイス206を設定する。もし、その他のモジュールが必要とする初期化処理があれば、それも実行する。
モジュールインターフェイス206が設定されると、カーネルはモジュールが提供する処理ルーチンのアドレスを知ることができ、モジュールの提供する処理を実行できるようになる。
続くステップ1008では、処理対象モジュールを次のモジュール構成ファイルのエントリに設定して、ステップ1002へ戻る。
【0039】
次に、処理対象モジュールが無停止モジュールである場合について説明する。
ステップ1003で、処理対象モジュールが無停止モジュールであると判定された場合、ステップ1009へ進む。
ステップ1009では、ロードモジュール管理テーブル200の更新処理をする。
まず、ロードモジュール管理テーブル200に処理中のモジュールのデータを格納するエントリを割り当てる。
割り当てたエントリに格納すべき202、ないし、205のアドレス、および、サイズ情報は、再起動ローダのデータ領域内の無停止モジュール管理テーブル500の502、ないし、505に格納されており、これを割り当てたエントリにコピーし、ロードモジュール管理テーブル200を更新する。
【0040】
次に、無停止モジュールの再初期化ルーチンを実行する(ステップ1010)。
再初期化ルーチンのアドレスは、無停止モジュール管理テーブル500の再初期化ルーチン507に格納されており、無停止モジュール名称より再初期化ルーチンを得ることができる。
無停止モジュールの再初期化ルーチンは、少なくとも、ロードモジュール管理テーブル200のインターフェイスルーチン206の設定を実行する。必要であれば、ハードウェアデバイスの設定などその他の処理を行なう。
この時に、無停止モジュールは新しくロードされないため、これまでのデータ領域は保存され、無停止モジュールのデバイスに関連する処理の連続性を保持することができる。
【0041】
続くステップ1011では、デバイス占有アドレスリスト300、および、デバイス占有割り込みテーブル340の内、処理対象の無停止モジュールが管理するアドレス領域、および、割り込み番号を表現しているエントリのモジュール番号の欄に、ステップ1009で割り当てたロードモジュール管理テーブル200のエントリ番号を格納する。
無停止モジュールが管理するデバイスアドレス領域と割り込み番号は、無停止モジュール管理テーブル500の利用ハードウェア情報506より得られる。
空き領域リスト220と250については、再起動ローダが無停止モジュールのあるアドレス領域を空きリストから外しているので、特別な処理をする必要はない。
続いてステップ1008へ進み、次のロードモジュールの処理を行なう。
ステップ1002で、すべてのモジュールをロードしたと判定されたら、ステップ1012へ進む。ステップ1012は初期プロセスの作成と実行を行ない、オペレーティングシステムの起動を完了する。
【0042】
次に、無停止モジュールの初期化ルーチンについて説明する。
モジュールの初期化ルーチンはすべてのモジュールが持たなければならないルーチンで、カーネルの起動時に実行される。
図11は、本発明の実施の形態の、無停止モジュールの初期化ルーチンの処理を示すフローチャートである。
ここでは、モジュール構成ファイル110に設定されているデバイスドライバ1の初期化ルーチンであるとして説明する。
まず、デバイスドライバ1のカーネルへのインターフェイスとなるモジュールインターフェイスを、ロードモジュール管理テーブル200のデバイスドライバ1用に割り当てたエントリ211に格納する(ステップ1101)。
次のステップ1102では、デバイスドライバ1用のデバイス占有アドレス構造体を割り当て、開始アドレス、サイズ、モジュール番号を設定し、デバイス占有アドレスリスト300に追加する。
さらに、デバイス占有割り込みテーブル340の、デバイスドライバ1が管理する割り込み番号のエントリにデバイスドライバ1のモジュール番号を格納する。
これにより、デバイスドライバ1の利用するデバイスアドレス領域、および、割り込み番号を、デバイス占有アドレスリスト300、および、デバイス占有割り込みテーブル340に登録する。
続いて、モジュールの無停止モジュール管理テーブル500への登録を行なう(ステップ1103)。
無停止モジュール管理テーブルに現在処理中のモジュール用のエントリを割り当て、アドレス、サイズ情報、利用ハードウェア情報、および、再初期化ルーチンのアドレスを設定する。設定は、再起動ローダの提供するインターフェイスルーチンにより実行する。
無停止モジュール管理テーブル500を更新する場合、無停止モジュール管理テーブル500のあるページは書き込み禁止に設定されているので、更新の前後でページテーブル410の書き込み可フラグを操作する。
【0043】
次に、再起動ローダが提供するインターフェイスルーチンについて説明する。再起動ローダはそれ自身が無停止モジュールであり、初期化ルーチン、再初期化ルーチン、ハードウェア構成データコピールーチン、無停止モジュール登録ルーチンを提供する。
まず、再起動ローダの初期化ルーチンの処理について説明する。
図12は、再起動ローダの処理手順を示すフローチャートである。
再起動ローダは無停止モジュールであり、再起動ローダの初期化ルーチンは、計算機が起動された時にのみ呼ばれる。
まず、再起動ローダの初期化ルーチンでは、以降の再起動処理に備えて、読み込み専用メモリ103に格納されている初期プログラムが作成したハードウェア構成情報を、再起動ローダのデータ領域にコピーする(ステップ1201)。
次に、無停止モジュール管理テーブル500の初期化(ステップ1202)、再起動ローダ自身の無停止モジュール管理テーブルへの登録(ステップ1203)を実行する。
最後に、無停止モジュール管理テーブル、および、ハードウェア構成データが格納されている再起動ローダのデータ領域に割り当てられているページを書き込み禁止に設定して(ステップ1204)終了する。
【0044】
再初期化ルーチンは、他の無停止モジュールと同じであり、ロードモジュール管理テーブルへのインターフェイスルーチンの登録処理をする。
ハードウェア構成データコピールーチンは、再起動ローダのデータ領域に格納されているハードウェア構成データをカーネルのデータ領域にコピーする。
無停止モジュール登録ルーチンは、無停止モジュールに関するデータを無停止モジュール管理テーブル500に登録する。
通常、再起動ローダのデータ領域は仮想アドレス機構により書き込み禁止に設定されているので、登録ルーチンは書き込み禁止を一旦解除して、無停止モジュールデータをテーブル500に書き込み、再びデータ領域を書き込み禁止とする。
【0045】
この実施の形態によれば、オペレーティングシステムカーネルがソフトウェア障害により停止して再起動処理を実施しても、無停止モジュールが利用するとして登録した外部デバイスの割り込みの処理を中断することなく実施することができる。また、プロセッサリセット時に実行されるハードウェア構成認識処理を回避でき、再起動までの時間を短縮できる。
【0046】
次に、本発明を、クロック割り込みを契機に外部デバイスの制御を実施するモジュールを無停止モジュールとする実施形態について述べる。
クロック割り込みは、通常カーネル本体が管理する割り込みである。時間制約の厳しい処理を実施する場合に、クロック割り込みをカーネルに渡す前に横取りして、時間制約付きの処理を優先して実施するモジュールを利用する方式がある。割り込みを横取りするとは、割り込みハンドラの設定を変更してしまうことをいう。このような時間制約の厳しい制御においては、時間制約が厳しいと同時に、クロック割り込みに対する処理の中断が許されない場合がある。
本発明によれば、クロック割り込みを横取りするモジュールを無停止モジュールとすることで、カーネルがソフトウェア障害により停止して再起動することになっても、クロック割り込みに対する処理を中断することなく継続することができる。
クロック割り込み処理モジュールを無停止モジュールとして登録する時に、クロック割り込みの割り込み番号、および、クロック割り込みの制御アドレスをモジュールの占有資源としてデバイスとして無停止モジュール管理テーブル500に登録する。これにより、カーネルの再起動の前後で、クロック割り込みの処理環境は引き継がれる。また、カーネルの再起動時に、カーネルが自身の管理デバイスであるクロック割り込みが他のモジュールに占有されていることを認識し、クロック割り込みに関する設定を変更せずに起動処理を進める。
これにより、オペレーティングシステムカーネルがソフトウェア障害により停止し再起動されても、クロック割り込み処理は中断することなく、信頼性が高く、高可用な制御システムを実現できる。
【0047】
本発明の第二の実施の形態について説明する。
図13はこの実施形態における計算機の起動手順に示すフローチャートである。
ステップ1301から1303にて通常のカーネル初期化処理であるカーネルデータの初期化(ステップ1301)、外部デバイスの初期化(ステップ1302)、および、カーネルモジュールのロードと初期化(ステップ1303)を実施する。
モジュールの初期化は、第一の実施の形態でのように、モジュールが無停止モジュールであるならば、無停止モジュール管理テーブル500にその利用アドレス情報を登録する。
次のステップ1304では、主記憶102のうち、カーネル、および、その他のモジュールがロードされている領域で、無停止モジュールのデータ領域以外の領域を磁気ディスク105の再起動ファイルに記録する。
さらに、ステップ1305では、ページテーブルレジスタ、および、カーネルスタックのスタックポインタ値を磁気ディスク105の再起動ファイルに保存し、ステップ1306で次のステップ1307のアドレスを磁気ディスク105の再起動ファイルに保存する。
ここで作成された再起動ファイルは、カーネルがソフトウェア障害のための再起動する時にカーネルのソフトウエア構成を再現するために利用する。
【0048】
図14は、本発明の第二の実施形態におけるオペレーティングシステムカーネルの再起動手順を示すフローチャートである。
この再起動手順は、無停止モジュールとして登録されている再起動ローダにより実施される。図にしたがって再起動手順を説明する。
まず、ページテーブルレジスタ400の指しているページテーブル410を、再起動ローダのデータ領域にコピーし(ステップ1401)、ページテーブルレジスタ400がコピーされた方のページテーブルを指すように変更する(ステップ1402)。
次に、磁気ディスク105の再起動ファイルに記録されたカーネル起動時の主記憶102の内容を、主記憶102にコピーする(ステップ1403)。続いて、ページテーブルレジスタとスタックポインタ、および、ステップ1307のアドレスを磁気ディスク105の再起動ファイルより取得する(ステップ1404、1405)。
続くステップ1406で、取得したページレジスタ値、および、スタックポインタ値をレジスタに設定し、ステップ1307へ処理を移す(ステップ1407)。
第2の実施形態では、磁気ディスク105の再起動ファイルは、無停止モジュールとして登録されているモジュールのデータ領域を含んでいないため、カーネル再起動の前後で無停止モジュールのデータ領域は主記憶102に保存されている。これにより、無停止モジュールの外部割り込み処理の連続性を維持することができる。
【0049】
また、カーネルがソフトウェア障害を検出したときに、プロセッサのリセットを行わないようにし、カーネル再起動中も特定の割り込みに対する処理ができるように割り込み処理に利用される主記憶の内容を主記憶中に維持したまま、かつ割り込みハンドラの設定を主記憶中に維持したままカーネルの処理を停止するようにしてもよい。
そして、カーネルを再起動するとき、主記憶中に格納された割り込み処理用の主記憶の内容、および割り込みハンドラの設定を、そのまま引き継ぐようにしている。
【0050】
【発明の効果】
オペレーティングシステムのカーネルがソフトウェア障害を検出し再起動する時に、無停止モジュール管理テーブル500を参照して、カーネル再起動時の外部デバイスの初期化手順、および、ロードするモジュールの構成を決定する手順を設けることにより、特定の外部デバイスが発生する割り込みに対する処理をカーネルの再起動処理中も中断することなく実施し続けることができる。
プロセッサをリセットすることなくオペレーティングシステムを再起動することにより、プロセッサリセット時に実行されるハードウェア構成検査等の処理を回避することができ、オペレーティングシステムが再起動するまでの時間を短縮できる。
【図面の簡単な説明】
【図1】本発明の実施の形態の適用される計算機の構成を示す図である。
【図2】ロードモジュール、および、空きメモリ空間を管理するデータ構造を示す図である。
【図3】ハードウェア占有資源を管理するデータ構造を示す図である。
【図4】ページテーブル、および、割り込みハンドラテーブルのデータ構造を示す図である。
【図5】無停止モジュールを管理するデータ構造を示す図である。
【図6】モジュール構成ファイルの形式を示す図である。
【図7】モジュールを格納しているファイルの形式を示す図である。
【図8】ソフトウェア障害検出時の処理フローチャートを示す図である。
【図9】カーネル再起動処理のフローチャートを示す図である。
【図10】カーネル再起動処理の図9のフローチャートに続くフローチャートを示す図である。
【図11】無停止モジュールの初期化手順のフローチャートを示す図である。
【図12】再起同ローダの処理のフローチャートを示す図である。
【図13】本発明の第二の実施の形態の計算機の起動手順の処理のフローチャートを示す図である。
【図14】本発明の第二の実施の形態のカーネル再起動処理のフローチャートを示す図である。
【符合の説明】
100 計算機
101 プロセッサ
102 主記憶装置
103 読み取り専用メモリ
104 割り込みコントローラ
105 磁気ディスク
106、107 外部デバイス
108 バス
109 割り込み信号バス
110〜114 ファイル
200〜709 データ構造
Claims (6)
- 複数のロードモジュールから構成されるオペレーティングシステムの計算機における再起動方法であって、
あらかじめ、前記複数のロードモジュールの内、前記オペレーティングシステムの再起動中に継続して動作させる一つのロードモジュール(第一のロードモジュール)を特定し、
前記オペレーティングシステムの再起動前に、前記特定に基づいて、
前記第一のロードモジュールの実行状態をメモリに保持し、
前記第一のロードモジュールが処理する割り込みは受け付け可能な状態とし、
前記オペレーティングシステムの再起動時に、
前記第一のロードモジュール以外の前記複数のロードモジュールを前記計算機のメモリのうち前記第一のロードモジュールが保持されている領域以外の領域にロードすることを特徴とする計算機の再起動方法。 - 請求項1記載の計算機の再起動方法において、
前記再起動は、前記オペレーティングシステムがソフトウェア障害を受けたときに行われることを特徴とする計算機の再起動方法。 - 請求項1記載の計算機の再起動方法において、
前記割り込みは外部割り込みであることを特徴とする計算機の再起動方法。 - 請求項1記載の計算機の再起動方法において、
前記オペレーティングシステムの再起動中に、前記第一のロードモジュールによる前記割り込みの受け付けが行われることを特徴とする計算機の再起動方法。 - 請求項1記載の計算機の再起動方法において、
前記オペレーティングシステムの再起動中は、前記第一のロードモジュールが存在する前記メモリの領域を書き込み禁止状態とすることを特徴とする計算機の再起動方法。 - 第一の計算機と第二の計算機がネットワークを介して接続される計算機システムにおける計算機の再起動方法であって、
前記第一の計算機は、前記第二の計算機にリクエストを送り、
複数のロードモジュールから構成されるオペレーティングシステムの再起動中に前記第二の計算機は、前記オペレーティングシステムの再起動中に前記リクエストを受け付けるための前記複数のロードモジュールの中の一つのロードモジュール(第一のロードモジュール)を特定し、
前記第二の計算機の再起動時に、前記第二の計算機は、前記第一のロードモジュールの実行状態をメモリに保持し、前記第一のロードモジュールが処理する割り込みは受け付け可能な状態とし、前記第一のロードモジュール以外の前記複数のロードモジュールを前記計算機のメモリにロードすることにより前記オペレーティングシステムを再起動し、前記第一の計算機から前記再起動中に送られてきた前記リクエストを、前記割り込みにより前記第一のロードモジュールが受け付けることを特徴とする計算機の再起動方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19184097A JP3593241B2 (ja) | 1997-07-02 | 1997-07-02 | 計算機の再起動方法 |
TW087110013A TW469409B (en) | 1997-07-02 | 1998-06-22 | Method to reboot an operating system |
US09/107,388 US6253320B1 (en) | 1997-07-02 | 1998-06-30 | Operating system rebooting method |
KR1019980026409A KR100306456B1 (ko) | 1997-07-02 | 1998-07-01 | 오퍼레이팅시스템의재기동방법 |
CNB981178529A CN1143209C (zh) | 1997-07-02 | 1998-07-02 | 操作系统的重启动方法和计算机系统的控制方法 |
CNB2004100033815A CN1251074C (zh) | 1997-07-02 | 1998-07-02 | 计算机的重启动方法 |
US09/858,492 US7069430B2 (en) | 1997-07-02 | 2001-05-17 | Operating system rebooting during which one or more non-stop modules continuously execute a process based on interrupts accepted by the non-stop modules |
US10/861,482 US7373496B2 (en) | 1997-07-02 | 2004-06-07 | Operating system rebooting apparatus for continuing to execute a non-stop module even during rebooting |
US12/107,651 US7765395B2 (en) | 1997-07-02 | 2008-04-22 | Operating system rebooting method and apparatus for continuing to execute a non-stop module even during rebooting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19184097A JP3593241B2 (ja) | 1997-07-02 | 1997-07-02 | 計算機の再起動方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1124943A JPH1124943A (ja) | 1999-01-29 |
JP3593241B2 true JP3593241B2 (ja) | 2004-11-24 |
Family
ID=16281398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19184097A Expired - Fee Related JP3593241B2 (ja) | 1997-07-02 | 1997-07-02 | 計算機の再起動方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US6253320B1 (ja) |
JP (1) | JP3593241B2 (ja) |
KR (1) | KR100306456B1 (ja) |
CN (2) | CN1143209C (ja) |
TW (1) | TW469409B (ja) |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3593241B2 (ja) * | 1997-07-02 | 2004-11-24 | 株式会社日立製作所 | 計算機の再起動方法 |
US6438709B2 (en) * | 1997-09-18 | 2002-08-20 | Intel Corporation | Method for recovering from computer system lockup condition |
US6766519B1 (en) * | 1999-03-26 | 2004-07-20 | Emc Corporation | Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation |
US6438750B1 (en) * | 1999-06-18 | 2002-08-20 | Phoenix Technologies Ltd. | Determining loading time of an operating system |
JP4395223B2 (ja) | 1999-09-24 | 2010-01-06 | 株式会社日立製作所 | 表示装置、表示方法、および、ナビゲーション装置 |
US6560699B1 (en) * | 1999-10-20 | 2003-05-06 | Cisco Technology, Inc. | Constraint-based language configuration files for updating and verifying system constraints |
JP4402797B2 (ja) | 2000-03-02 | 2010-01-20 | 株式会社日立製作所 | 情報処理装置 |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6587966B1 (en) * | 2000-04-25 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Operating system hang detection and correction |
JP2002041292A (ja) * | 2000-07-13 | 2002-02-08 | Internatl Business Mach Corp <Ibm> | コンピュータ用リカバリ装置 |
US6662320B1 (en) * | 2000-07-20 | 2003-12-09 | International Business Machines Corporation | Method and apparatus for inhibiting an adapter bus error signal following a reset operation |
US20030014608A1 (en) * | 2001-07-13 | 2003-01-16 | Mercer Ronald G. | Method of providing stack memory in an operating system with stack memory constraints |
US6779132B2 (en) * | 2001-08-31 | 2004-08-17 | Bull Hn Information Systems Inc. | Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system |
JP4074620B2 (ja) * | 2002-06-05 | 2008-04-09 | 富士通株式会社 | メモリ管理ユニット |
US7139850B2 (en) * | 2002-06-21 | 2006-11-21 | Fujitsu Limited | System for processing programmable buttons using system interrupts |
US7231512B2 (en) * | 2002-12-18 | 2007-06-12 | Intel Corporation | Technique for reconstituting a pre-boot firmware environment after launch of an operating system |
JP2004297759A (ja) * | 2003-03-11 | 2004-10-21 | Seiko Epson Corp | 無線通信ネットワークシステムにおける接続認証 |
EP1606948A1 (en) * | 2003-03-12 | 2005-12-21 | Koninklijke Philips Electronics N.V. | Method ans apparatus for storing an interactive television program |
US7130997B2 (en) * | 2003-05-29 | 2006-10-31 | International Business Machines Corporation | Method of registering a portion of RAM with firmware to preserve the portion during reboot |
US7100014B2 (en) * | 2003-09-15 | 2006-08-29 | Hewlett-Packard Development Company, Lp. | Memory stack architecture for reduced TLB misses |
US7587723B2 (en) * | 2003-11-13 | 2009-09-08 | International Business Machines Corporation | Restarting a shared virtual resource |
GB2397477B (en) * | 2003-11-26 | 2004-12-01 | F Secure Oyj | Securing a data transmission channel |
US9298472B2 (en) * | 2004-01-27 | 2016-03-29 | Nec Corporation | High-speed restart method, information processing device, and program |
US7467328B2 (en) * | 2004-09-03 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Kernel configuration recovery |
US8744852B1 (en) * | 2004-10-01 | 2014-06-03 | Apple Inc. | Spoken interfaces |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
JP4692747B2 (ja) * | 2005-10-27 | 2011-06-01 | 日本電気株式会社 | 情報処理装置、情報処理装置における画面表示方法 |
CN100424650C (zh) * | 2005-11-30 | 2008-10-08 | 许先才 | 计算机上个人信息应用环境的保存与重现方法及装置 |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US20070168740A1 (en) * | 2006-01-10 | 2007-07-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for dumping a process memory space |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8199155B2 (en) * | 2006-11-22 | 2012-06-12 | Nvidia Corporation | System, method, and computer program product for saving power in a multi-graphics processor environment |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US7779305B2 (en) * | 2007-12-28 | 2010-08-17 | Intel Corporation | Method and system for recovery from an error in a computing device by transferring control from a virtual machine monitor to separate firmware instructions |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
JP2010140361A (ja) * | 2008-12-12 | 2010-06-24 | Fujitsu Microelectronics Ltd | コンピュータシステム及び異常検出回路 |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
WO2011089450A2 (en) | 2010-01-25 | 2011-07-28 | Andrew Peter Nelson Jerram | Apparatuses, methods and systems for a digital conversation management platform |
CN102754451A (zh) * | 2010-02-10 | 2012-10-24 | 松下电器产业株式会社 | 控制装置、控制装置的控制方法和数字广播接收装置 |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8433828B2 (en) | 2010-02-26 | 2013-04-30 | Apple Inc. | Accessory protocol for touch screen device accessibility |
CN102375767A (zh) * | 2010-08-17 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 计算机重启测试系统及方法 |
US8386618B2 (en) | 2010-09-24 | 2013-02-26 | Intel Corporation | System and method for facilitating wireless communication during a pre-boot phase of a computing device |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
WO2014049798A1 (ja) | 2012-09-27 | 2014-04-03 | 富士通株式会社 | 変換装置、変換方法、および情報処理システム |
EP3809407A1 (en) | 2013-02-07 | 2021-04-21 | Apple Inc. | Voice trigger for a digital assistant |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR101922663B1 (ko) | 2013-06-09 | 2018-11-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
JP2016521948A (ja) | 2013-06-13 | 2016-07-25 | アップル インコーポレイテッド | 音声コマンドによって開始される緊急電話のためのシステム及び方法 |
AU2014306221B2 (en) | 2013-08-06 | 2017-04-06 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US20150089102A1 (en) * | 2013-09-23 | 2015-03-26 | Lsi Corporation | Solid state drives that cache boot data |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
JP6364983B2 (ja) * | 2014-06-10 | 2018-08-01 | 富士ゼロックス株式会社 | 電子機器及びプログラム |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
CN105660231A (zh) * | 2016-03-01 | 2016-06-15 | 郑州市顺意科技有限公司 | 营养钵自动装土装置 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
CN105638304B (zh) * | 2016-03-15 | 2019-02-05 | 郑州市顺意科技有限公司 | 营养钵自动分钵装置 |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US11010249B2 (en) * | 2019-01-08 | 2021-05-18 | Dell Products L.P. | Kernel reset to recover from operating system errors |
CN110489169B (zh) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | 一种片上系统的存储器快速启动方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59140568A (ja) | 1983-01-31 | 1984-08-11 | Fujitsu Ltd | プログラム異常処理方式 |
US5594903A (en) * | 1991-02-26 | 1997-01-14 | Lynx Real-Time Systems, Inc. | Operating System architecture with reserved memory space resident program code identified in file system name space |
US5469571A (en) * | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5513319A (en) * | 1993-07-02 | 1996-04-30 | Dell Usa, L.P. | Watchdog timer for computer system reset |
CA2126950A1 (en) * | 1993-07-30 | 1995-01-31 | Bryan M. Willman | Booting a computer system using a last known good set of configuration data |
US5903752A (en) * | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
KR970010634B1 (ko) * | 1994-10-25 | 1997-06-28 | 삼성전자 주식회사 | 네트워크 하이버네이션 시스템 |
JP3072048B2 (ja) * | 1996-03-19 | 2000-07-31 | 株式会社東芝 | 計算機システムおよび計算機システムのソフトウェア故障回復方法 |
US5935242A (en) * | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
US5991822A (en) * | 1997-03-17 | 1999-11-23 | International Business Machines Corporation | System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension |
US5951686A (en) * | 1997-03-31 | 1999-09-14 | International Business Machines Corporation | Method and system for reboot recovery |
JP3593241B2 (ja) | 1997-07-02 | 2004-11-24 | 株式会社日立製作所 | 計算機の再起動方法 |
-
1997
- 1997-07-02 JP JP19184097A patent/JP3593241B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-22 TW TW087110013A patent/TW469409B/zh not_active IP Right Cessation
- 1998-06-30 US US09/107,388 patent/US6253320B1/en not_active Expired - Fee Related
- 1998-07-01 KR KR1019980026409A patent/KR100306456B1/ko not_active IP Right Cessation
- 1998-07-02 CN CNB981178529A patent/CN1143209C/zh not_active Expired - Fee Related
- 1998-07-02 CN CNB2004100033815A patent/CN1251074C/zh not_active Expired - Fee Related
-
2001
- 2001-05-17 US US09/858,492 patent/US7069430B2/en not_active Expired - Fee Related
-
2004
- 2004-06-07 US US10/861,482 patent/US7373496B2/en not_active Expired - Fee Related
-
2008
- 2008-04-22 US US12/107,651 patent/US7765395B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1251074C (zh) | 2006-04-12 |
US7069430B2 (en) | 2006-06-27 |
US7765395B2 (en) | 2010-07-27 |
CN1208890A (zh) | 1999-02-24 |
US20080201573A1 (en) | 2008-08-21 |
JPH1124943A (ja) | 1999-01-29 |
TW469409B (en) | 2001-12-21 |
US7373496B2 (en) | 2008-05-13 |
US20010020259A1 (en) | 2001-09-06 |
KR19990013514A (ko) | 1999-02-25 |
CN1143209C (zh) | 2004-03-24 |
KR100306456B1 (ko) | 2001-10-19 |
US6253320B1 (en) | 2001-06-26 |
CN1512331A (zh) | 2004-07-14 |
US20040230871A1 (en) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3593241B2 (ja) | 計算機の再起動方法 | |
US6996828B1 (en) | Multi-OS configuration method | |
US6772419B1 (en) | Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS | |
JP3546678B2 (ja) | マルチos構成方法 | |
US6205558B1 (en) | Recovery of file systems after modification failure | |
US7702894B2 (en) | System and method for loading programs from HDD independent of operating system | |
US8032740B2 (en) | Update in-use flash memory without external interfaces | |
US9298472B2 (en) | High-speed restart method, information processing device, and program | |
US20060020940A1 (en) | Soft-partitioning systems and methods | |
US5825649A (en) | Kernel substitution method in multi-processor system and multi-processor system having kernel substitution function | |
WO2004063847A2 (en) | Protected, hidden emergency boot directory | |
WO2004061573A2 (en) | Method of booting a computer operating system to run from a normally unsupported system device | |
US9235426B2 (en) | Multicore processor system, computer product, and notification method for updating operating system | |
JP3765201B2 (ja) | 計算機システム | |
JP2007035066A (ja) | マルチos構成方法 | |
JPWO2004081791A1 (ja) | 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法 | |
CN113127263B (zh) | 一种内核崩溃恢复方法、装置、设备及存储介质 | |
JP4735765B2 (ja) | Linuxプログラム起動システム | |
JP2001290678A (ja) | 非同期メモリダンプ実行方式 | |
JP2000242550A (ja) | データ運用管理方法 | |
JP5713089B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
JP2004038995A (ja) | マルチos構成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
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: 20040824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040827 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080903 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080903 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090903 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090903 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100903 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100903 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110903 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120903 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |