JP2007122089A - コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム - Google Patents

コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム Download PDF

Info

Publication number
JP2007122089A
JP2007122089A JP2005308970A JP2005308970A JP2007122089A JP 2007122089 A JP2007122089 A JP 2007122089A JP 2005308970 A JP2005308970 A JP 2005308970A JP 2005308970 A JP2005308970 A JP 2005308970A JP 2007122089 A JP2007122089 A JP 2007122089A
Authority
JP
Japan
Prior art keywords
basic program
program
data
activation
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005308970A
Other languages
English (en)
Other versions
JP4597032B2 (ja
Inventor
Taikun Yasuda
泰勲 安田
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2005308970A priority Critical patent/JP4597032B2/ja
Priority to EP06810572A priority patent/EP1942412A4/en
Priority to PCT/JP2006/319047 priority patent/WO2007049423A1/ja
Priority to US11/909,213 priority patent/US8095784B2/en
Priority to CN200680002664.5A priority patent/CN101107591B/zh
Publication of JP2007122089A publication Critical patent/JP2007122089A/ja
Application granted granted Critical
Publication of JP4597032B2 publication Critical patent/JP4597032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

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

Abstract

【課題】簡便に、かつ効率的に、I/Oシステムを持たない基本プログラムの起動を実現できるコンピュータシステムを提供する。
【解決手段】プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、基本プログラムごとに起動時に必要となるデータの情報を記述した設定データと、起動時に必要となるデータとを記憶するストレージデバイスを有する。起動の対象となった基本プログラムの設定データをストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを取得し、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行するコンピュータシステムである。
【選択図】図1

Description

本発明は、複数の基本プログラムを起動可能なコンピュータシステムと、それにおける基本プログラムの起動方法及びローダプログラムに関する。
近年のコンピュータシステムは、処理速度の向上等のために、CPU(Central Processing Unit)に相当するプログラム実行要素を複数備えるものが開発されている。こうした複数のプログラム実行要素を備えたコンピュータシステムでは、原理的には、複数の相異なる基本プログラム(オペレーティングシステム)を各プログラム実行要素にて実行させることができる。
しかしながら、複数の相異なる基本プログラムを実行させると、コンピュータシステムの備えているハードウエア資源(ディスクデバイスや、表示用デバイス等)へのアクセス制御が困難となり、システムを安定的に動作させるための処理が煩雑になる。
そこで、各基本プログラムからハードウエア資源への直接のアクセスを行わせないようにして、つまり、いわゆるI/Oシステムを除去した基本プログラムを生成し、各基本プログラムが、一つのI/Oシステムを共有するように構成すれば、当該I/Oシステムにおいてハードウエア資源へのアクセス制御を一手に行うことができて便利である。
特開平6−324849号公報
しかしながら、このように各基本プログラムからI/Oシステムを除去してしまうと、基本プログラムの起動時に必要となるデータをディスクデバイス等からメモリ上に読み込むことができなくなってしまうという問題点がある。
なお、ハードウエア資源へのアクセス制御を行うプログラムをサブシステムとして、基本プログラム本体とは別個に実装し、基本プログラム本体としては、必要最小限の機能を実装する、いわゆるマイクロカーネル技術においては、基本プログラムの起動の後で必要となるデータを基本プログラムのローダで行う技術がある(例えば特許文献1)。
ところがこの特許文献1では、ブートボリュームがメモリ上に配置される構成となっており、システムの初期に起動するべきプログラムデータは、基本プログラムのカーネルが読み込む構成となっている。つまり、プログラムデータを読み込むためのブートローダを基本プログラムごとに用意しなければならない。また、ブートボリュームをメモリ上に配置する必要があって、ブート時のメモリ使用量が大きい。
このように特許文献1に開示されているマイクロカーネルの基本プログラムの起動方法では、複数の相異なる基本プログラムを起動させる場合に用いるには、実装の面と処理の面との双方で効率的でない。
本発明は上記実情に鑑みて為されたもので、簡便に、かつ効率的に、I/Oシステムを持たない基本プログラムの起動を実現できるコンピュータシステムを提供することを、その目的の一つとする。
上記従来例の問題点を解決するための本発明は、プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データと、基本プログラムの起動時に必要となるデータとを記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援手段と、を含むことを特徴としている。
ここで前記起動支援手段は、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納することとしてもよい。
さらに、起動の対象となった基本プログラムをブートデバイスから読み出す手段を含み、当該ブートデバイスから基本プログラムを読み出す手段が、基本プログラムをキャッシュメモリに読み込み、当該キャッシュメモリから前記メモリデバイスへ格納する速度優先モードと、基本プログラムをキャッシュメモリに読み込まずに、基本プログラムを前記メモリデバイスへ格納するメモリ節約モードとのいずれか一方のモードで選択的に基本プログラムを読み出すこととしてもよい。
また、本発明の一態様に係る基本プログラムの起動方法は、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、を備えるコンピュータシステムを用いて、ハードウエア資源に対して直接アクセス不能な基本プログラムの起動方法であって、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行することを特徴としている。
さらに本発明の別の態様に係るプログラムは、基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、を備えるコンピュータシステムに、ハードウエア資源に対して直接アクセス不能な基本プログラムの起動をさせるローダプログラムであって、起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行させることを特徴としている。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコンピュータシステムは、図1に示すように、制御部11と、記憶部12と、入出力ユニット13と、外部記憶部14と、ストレージ部15と、操作部16と、表示部17とを含んで構成されている。
制御部11は、例えばプロセッサチップであり、外部記憶部14にセットされた外部記憶媒体から読み出されるプログラムを記憶部12に格納して実行する。本実施の形態の制御部11は、複数のプログラム実行要素を備えており、複数の基本プログラムが並列して実行可能となっている。またこの制御部11は、基本プログラムの読み込みと、起動を行うローダプログラムを実行する。この制御部11の動作については後に詳しく述べる。
記憶部12は、RAM(Random Access Memory)等の記憶素子を含んで構成されるメモリデバイスであり、制御部11によって実行されるプログラムを保持する。また、この記憶部12は、制御部11が処理を行うときに必要となるデータを保持するワークメモリとしても動作する。
入出力ユニット13は、いわゆるブリッジチップであり、制御部11と、外部記憶部14と、ストレージ部15と、操作部16とに接続されている。この入出力ユニット13は、制御部11から入力される指示に従って、制御部11が出力する信号(出力信号)の出力先を選択し、当該選択した出力先に対して、制御部11の出力信号を選択的に出力する。また、入出力ユニット13は、外部記憶部14やストレージ部15、ならびに操作部16から入力される信号を制御部11に出力する。
外部記憶部14は、例えばBlu-ray Discや、DVD等の外部記録媒体から、記録されている情報を読み取って、入出力ユニット13を介して制御部11に出力する。ストレージ部15は、ハードディスク等であり、制御部11によって実行されるプログラムや、制御部11によって利用されるデータ等が格納されている。本実施の形態では、このストレージ部15に、基本プログラムごとの設定データが格納される。この設定データについては後に詳しく述べる。これら外部記憶部14やストレージ部15が、本発明のストレージデバイスの一例に相当する。
操作部16は、例えばゲーム用のコントローラ、マウス、キーボード等であり、ユーザの操作を受け入れて、当該操作の内容を制御部11に出力する。
表示部17は、グラフィックス処理ボード等であり、制御部11から入力される指示に従って、画像を描画し、当該描画した画像の情報を外部に接続されているディスプレイ(家庭用テレビジョン装置等)に出力して、表示させる。
ここで制御部11のローダプログラムの動作について説明する。なお、制御部11では、I/Oシステムに相当するデバイスドライバ(ネットワークのドライバを含む)や、ファイルシステムに係る処理を行うプログラム、さらにネットワーク通信に係るデータ等、各種のデータ授受を行うためのスタック(LIFO)やパイプ(FIFO)などの管理を行うプログラム等が既に実行されているものとする。
また、基本プログラムは、当該基本プログラムの起動時に必要となる各初期読み込みデータの配置位置の指定をするべき旨の要求をローダプログラムから受けて、当該要求に応じて、各データの配置位置を指定するデータをローダプログラムに出力する。このように他のプロセスとの通信を行うため、基本プログラムにはプロセス通信処理が実装される。
制御部11は、ユーザからの指示を受けてローダプログラムを読み出してその実行を開始する。このローダプログラムを実行する制御部11は、いわばローダプロセスとして動作する。本実施の形態では、ローダプロセスは、I/Oシステムのプロセス(I/Oプロセス)と通信して、外部記憶部14やストレージ部15などからデータの読み出しを行う。このI/Oプロセスが、ハードウエア資源へのアクセス要求を制御する資源管理手段に相当する。
ローダプロセスは、起動の対象となる基本プログラムに関連してストレージ部15に格納されている設定データを、I/Oプロセスに読み出させる。ここで設定データは、図2に示すように、基本プログラムを識別する情報(ID)に関連づけられた情報であり、実行環境のリソースに関する情報として、CPU時間CT、使用するメモリ量MS、仮想アドレス空間のサイズVS、ブートデバイスに関する情報B(ブートデバイスを特定する情報、ならびにそのスループットや、遅延、キャッシュサイズの情報等)を含む。また、基本プログラムの起動に係る情報として、起動時にメモリに読み込んでおくべきデータ(以下、初期読み込みデータと呼ぶ)を特定するデータ特定リストL(各データのサイズの情報SIZを含む)と、起動時のカーネルパラメータP(ランレベルの設定など)が含まれる。
ここでブートデバイスを特定する情報とは、基本プログラムの読み出し元となるデバイスを特定する情報であり、例えば外部記憶部14とストレージ部15とのいずれかを特定する情報である。また、この設定データには、予め署名情報などの認証情報を付加しておき、ローダプロセスは、この認証情報を用いて、設定データが正当なデータであるか否かを検証してもよい。そして検証の結果、否定的な結果となった場合(検証が失敗した場合)は、基本プログラムの起動処理を中断してもよい。
さらにローダプロセスは、図3に示す処理を行う。すなわちローダプロセスは、使用するメモリ量の情報MSを参照して、記憶部12内のメモリ領域を確保する(S1)。またローダプロセスは、基本プログラムのサイズの情報を取得する(S2)。そして、ローダプロセスは、I/Oシステムに対してキャッシュメモリを記憶部12に確保させる(S3)。そしてこのキャッシュメモリのサイズが、処理S2で取得した基本プログラムのサイズより小さいか否かを判断する(S4)。なお、設定データのブートデバイスに関する情報において、キャッシュサイズが指定されているときには、当該サイズのキャッシュメモリを確保させ、処理S4では、当該指定されたサイズが処理S2で取得した基本プログラムのサイズより小さいか否かを判断することとしてもよい。
ここで制御部11は、ローダプロセスの処理として、キャッシュメモリのサイズが基本プログラムのサイズより小さい場合は、メモリ節約優先モードでの起動処理を開始する(S5)。また、処理S4において、キャッシュメモリのサイズが基本プログラムのサイズより小さくない場合は、速度優先モードでの起動処理を開始する(S6)。
以下、メモリ節約優先モードでの起動処理(処理S5)と、速度優先モードでの起動処理(処理S6)とのそれぞれの処理について説明する。
まず、メモリ節約優先モードでの起動処理について、図4を参照しながら説明する。メモリ節約優先モードでは、ローダプロセスは、I/Oプロセスに対して、設定データによって特定されるブートデバイスから基本プログラムを読み出すよう指示し、I/Oプロセスがブートデバイスから基本プログラムを読み出す(S11)。ローダプロセスは、I/Oプロセスが読み出した基本プログラムを記憶部12に確保したメモリ領域内に格納する(S11)。また、ローダプロセスは、データ特定リストLを参照しながら、I/Oプロセスに対して、当該リストに含まれる初期読み込みデータをブートデバイスから読み出すよう指示し、I/Oプロセスがブートデバイスから初期読み込みデータを読み出す(S12)。そしてローダプロセスは、基本プログラムの実行を開始し、基本プログラムを起動させる(S13)。基本プログラムが起動すると、ローダプロセスは、ローダプログラムの処理として、初期読み込みデータの配置位置を指定するべき旨の要求を、基本プログラムに出力する(S14)。
基本プログラムでは、この要求に応答して初期読み込みデータの配置位置の情報を出力する(S15)。ローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れる。この配置位置の情報は、例えば図5に示すように、初期読み込みデータの各々について、各データを特定する情報に関連づけて、その配置位置であるメモリ上の先頭アドレスの値を指定する情報を記述したものである。
ローダプロセスは、処理S12で読み出させた各初期読み込みデータを記憶部12内のメモリ領域の指定された配置位置に格納する(S16)。そして基本プログラムが、このメモリ領域内の初期読み込みデータを利用して起動処理を続ける(S17)。例えば、UNIX(登録商標)における初期読み込みデータとしては、初期的に起動するべきプロセスのプログラムデータ(initなど)や、設定データ(rcなど)がある。
また、速度優先モードでの起動処理について説明する。図6に示すように、速度優先モードではローダプロセスは、I/Oプロセスに対して、設定データによって特定されるブートデバイスの先頭ブロックから、記憶部12に確保したキャッシュメモリに対して、読み込めるだけのデータを複写して読み込むよう指示する。I/Oプロセスは、この指示に従い、ブートデバイスの先頭ブロックから、キャッシュメモリに読み込めるだけのデータを複写して読み込む(S21)。
そしてローダプロセスは、基本プログラムの読み出し処理を開始する。ここでは、キャッシュメモリに基本プログラムのデータが読み出されているので、当該キャッシュメモリ内の基本プログラムを、処理S1にて記憶部12に確保したメモリ領域に格納する(S22)。なお、I/Oプロセスとローダプロセスとは並列的に実行可能であり、ローダプロセスが基本プログラムの読み出し処理を開始した段階で、I/Oプロセスが基本プログラムの読み込みを完了している必要は必ずしもない。
また、ローダプロセスは、データ特定リストLを参照しながら、I/Oプロセスに対して、当該リストに含まれる初期読み込みデータをブートデバイスから読み出すよう指示し、I/Oプロセスは、初期読み込みデータをブートデバイスから読み出す(S23)。この初期読み込みデータの読み出しにおいても、少なくとも一部はキャッシュメモリに既にロードされている場合があり、読み込み時間を短縮できる。
そして、ローダプロセスは、基本プログラムを起動させる(S24)。基本プログラムが起動すると、ローダプロセスは、初期読み込みデータの配置位置を指定するべき旨の要求を、基本プログラムに出力する(S25)。そして、基本プログラムは初期読み込みデータの配置位置の情報を出力する(S26)。
ローダプロセスでは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れる。この配置位置の情報は図5に示した、メモリ節約優先モードでのものと同じものである。ローダプロセスは、処理S23で読み出した各初期読み込みデータを、記憶部12内のメモリ領域の指定された配置位置に格納する(S27)。そして基本プログラムが、このメモリ領域内の初期読み込みデータを利用して起動処理を続ける(S28)。
このように本実施の形態では、確保されたキャッシュメモリのサイズに応じて、データの読み込み単位を、メモリ節約優先モードとして個々のデータごとに読み出すか、速度優先モードとして一斉に読み出すか(予めキャッシュメモリに書込めるだけ書込むか)で切り替える。
本実施の形態では、ローダプロセス及びI/Oプロセスの処理S11,22における基本プログラムの読み出しに係る処理と、処理S12,24における初期読み込みデータの読み出しに係る処理とをそれぞれ、別々のスレッドで実行し、基本プログラムの読み出しと、初期読み込みデータの読み出しとを非同期的に実行させてもよい。
また、初期読み込みデータを読み出す処理と、基本プログラムを起動する処理(処理S13や処理S25)とを別々のスレッドで非同期的に実行させてもよい。
このように本実施の形態によると、起動される基本プログラムによってアクセス可能なメモリ領域に対して初期読み込みデータを書込むことができ、当該初期読み込みデータを利用して基本プログラムが起動処理を実行できる。このようにしたことで、本実施の形態では、簡便、かつ効率的に、I/Oシステムを持たない基本プログラムの起動を実現できる。
なお、設定データは、基本プログラムとともに、外部記憶部14によって読み出される外部記憶媒体に格納されていてもよい。この場合は、制御部11は、かかる外部記憶媒体が外部記憶部14にセットされたことを検知して、ローダプログラムの実行を開始して、ローダプロセスを起動する。そして、ローダプロセスが、I/Oプロセスにキャッシュメモリを確保させ、当該確保されたキャッシュメモリのサイズが予め定めたしきい値より大きい場合は速度優先モードでの処理を開始し、I/Oプロセスに当該キャッシュメモリに対して外部記憶媒体の先頭ブロックから読み込めるだけのデータを複写して読み込ませる。またこの設定データは、図4、図6に示した処理では、基本プログラムの起動前に予め読み込まれているものとして説明したが、基本プログラムの起動開始後に読み込まれてもよい。この場合、当該設定データによって表される初期読み込みデータは、基本プログラムの起動開始後に読み込まれることとなる。
以下、ローダプロセスは、このキャッシュメモリから設定データと基本プログラムのデータとを読み出し、設定データに基づいて記憶部12にメモリ領域を確保する。そして基本プログラムを記憶部12に確保したメモリ領域に格納するとともに、当該読み出した設定データに含まれるデータ特定リストLを参照しながら、当該リストに含まれる初期読み込みデータをI/Oプロセスに読み出させる。
そして、ローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配置位置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れ、各初期読み込みデータを、記憶部12内のメモリ領域の指定された配置位置に格納する。
一方、確保されたキャッシュメモリのサイズが予め定めたしきい値に満たない場合は、メモリ節約優先モードでの処理として、設定データをI/Oシステムに読み込ませ、設定データに基づいて記憶部12にメモリ領域を確保する。そしてローダプロセスは、I/Oシステムに基本プログラムのデータを読み込ませて、基本プログラムのデータを確保したメモリ領域に格納する。
またローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配置位置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込みデータの配置位置の情報を受け入れ、各初期読み込みデータを、I/Oシステムに読み出させ、記憶部12内のメモリ領域の指定された配置位置に格納する。
さらに、ここまでの説明では、読み込みの方法として、メモリ節約優先モードと、速度優先モードとのどちらで起動するかを決定する際に、確保されたメモリのサイズに基づいて判断することとしていたが、これに代えて基本プログラムのブートデバイスのスループットや遅延等の速度(設定データに、ブートデバイスに関する情報として記述しておいてもよい)の情報に基づいて決定してもよい。例えば、ブートデバイスのスループットとして、所定のしきい値よりも小さい場合(低速である場合)であって、かつ、初期読み込みデータを複数一度に読み込めるサイズのキャッシュメモリが確保できた場合は、速度優先モードにて起動し、ブートデバイスのスループットが所定のしきい値以上である場合(高速である場合)、または低速であっても初期読み込みデータを複数一度に読み込めるサイズのキャッシュメモリが確保できなかった場合は、メモリ節約優先モードで起動するようにしてもよい。
本発明の実施の形態に係るコンピュータシステムの例を表す構成ブロック図である。 本発明の実施の形態に係る設定データの内容例を表す説明図である。 本発明の実施の形態に係る基本プログラムの起動処理の例を表すフローチャート図である。 本発明の実施の形態に係る基本プログラムのメモリ節約優先モードでの起動処理の例を表すフローチャート図である。 本発明の実施の形態に係る初期読み込みデータの配置位置を指定するデータの例を表す説明図である。 本発明の実施の形態に係る基本プログラムの速度優先モードでの起動処理の例を表すフローチャート図である。
符号の説明
11 制御部、12 記憶部、13 入出力ユニット、14 外部記憶部、15 ストレージ部、16 操作部、17 表示部。

Claims (5)

  1. プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、
    基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データと、基本プログラムの起動時に必要となるデータとを記憶するストレージデバイスと、
    前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
    基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
    起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行する起動支援手段と、
    を含む、ことを特徴とするコンピュータシステム。
  2. 請求項1に記載のコンピュータシステムであって、
    前記起動支援手段は、前記起動の対象となった基本プログラムの起動処理を実行するときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモリデバイス内に格納することを特徴とするコンピュータシステム。
  3. 請求項1または2に記載のコンピュータシステムであって、
    起動の対象となった基本プログラムをブートデバイスから読み出す手段を含み、
    当該ブートデバイスから基本プログラムを読み出す手段が、基本プログラムをキャッシュメモリに読み込み、当該キャッシュメモリから前記メモリデバイスへ格納する速度優先モードと、基本プログラムをキャッシュメモリに読み込まずに、基本プログラムを前記メモリデバイスへ格納するメモリ節約モードとのいずれか一方のモードで選択的に基本プログラムを読み出すことを特徴とするコンピュータシステム。
  4. 基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、
    前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
    基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
    を備えるコンピュータシステムを用いて、
    ハードウエア資源に対して直接アクセス不能な基本プログラムの起動方法であって、
    起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行することを特徴とする基本プログラムの起動方法。
  5. 基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、
    前記ストレージデバイスを含むハードウエア資源へのアクセス要求を制御する資源管理手段と、
    基本プログラムからアクセス可能なメモリ空間を設定可能なメモリデバイスと、
    を備えるコンピュータシステムに、
    ハードウエア資源に対して直接アクセス不能な基本プログラムの起動をさせるローダプログラムであって、
    起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行させることを特徴とするローダプログラム。
JP2005308970A 2005-10-24 2005-10-24 コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム Active JP4597032B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005308970A JP4597032B2 (ja) 2005-10-24 2005-10-24 コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
EP06810572A EP1942412A4 (en) 2005-10-24 2006-09-26 COMPUTER SYSTEM AND METHOD FOR ACTIVATION OF BASIC PROGRAMS THEREIN
PCT/JP2006/319047 WO2007049423A1 (ja) 2005-10-24 2006-09-26 コンピュータシステム、及びそれにおける基本プログラムの起動方法
US11/909,213 US8095784B2 (en) 2005-10-24 2006-09-26 Computer system and method for activating basic program therein
CN200680002664.5A CN101107591B (zh) 2005-10-24 2006-09-26 计算机系统和用于启动其中的基本程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005308970A JP4597032B2 (ja) 2005-10-24 2005-10-24 コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム

Publications (2)

Publication Number Publication Date
JP2007122089A true JP2007122089A (ja) 2007-05-17
JP4597032B2 JP4597032B2 (ja) 2010-12-15

Family

ID=37967545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005308970A Active JP4597032B2 (ja) 2005-10-24 2005-10-24 コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム

Country Status (5)

Country Link
US (1) US8095784B2 (ja)
EP (1) EP1942412A4 (ja)
JP (1) JP4597032B2 (ja)
CN (1) CN101107591B (ja)
WO (1) WO2007049423A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4597032B2 (ja) * 2005-10-24 2010-12-15 株式会社ソニー・コンピュータエンタテインメント コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
TW201232400A (en) * 2011-01-20 2012-08-01 Acer Inc Method for pre-loading frequently launched application and electronic device using the same
WO2016054780A1 (zh) * 2014-10-09 2016-04-14 华为技术有限公司 异步指令执行装置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330724A (ja) * 2002-05-15 2003-11-21 Nec Corp 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02309437A (ja) * 1989-05-25 1990-12-25 Canon Inc 携帯型電子機器
EP0622731A3 (en) 1993-04-26 1995-02-15 Ibm Boot architecture for micro-core based systems.
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
US6944757B2 (en) * 2001-10-16 2005-09-13 Dell Products L.P. Method for allowing CD removal when booting embedded OS from a CD-ROM device
US7254676B2 (en) * 2002-11-15 2007-08-07 Intel Corporation Processor cache memory as RAM for execution of boot code
EP1616257B1 (en) * 2003-04-09 2018-08-22 Red Bend Software Operating systems
ATE409904T1 (de) * 2003-04-09 2008-10-15 Jaluna Sa Betriebssysteme
CN1315078C (zh) * 2003-09-10 2007-05-09 联想(北京)有限公司 一种通过远程配置获取基本输入输出系统信息的方法
EP1673697B1 (en) * 2003-09-22 2018-06-13 Red Bend Software Operating systems
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
KR100673681B1 (ko) * 2004-03-25 2007-01-24 엘지전자 주식회사 개인용 컴퓨터에서의 인스턴트 온 기능 실행방법
US8601100B2 (en) * 2004-06-22 2013-12-03 International Business Machines Corporation System and method for booting multiple servers from a single operating system image
WO2006018307A2 (en) * 2004-08-18 2006-02-23 Jaluna Sa Operating systems
TWI284837B (en) * 2004-11-05 2007-08-01 Mitac Technology Corp Computer booting method, storage medium and computer device employing the same
JP4597032B2 (ja) * 2005-10-24 2010-12-15 株式会社ソニー・コンピュータエンタテインメント コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330724A (ja) * 2002-05-15 2003-11-21 Nec Corp 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
EP1942412A1 (en) 2008-07-09
CN101107591B (zh) 2014-06-04
US20090064145A1 (en) 2009-03-05
EP1942412A4 (en) 2009-01-14
CN101107591A (zh) 2008-01-16
US8095784B2 (en) 2012-01-10
JP4597032B2 (ja) 2010-12-15
WO2007049423A1 (ja) 2007-05-03

Similar Documents

Publication Publication Date Title
CN103198450B (zh) 图像形成装置
KR101602360B1 (ko) 시스템 고속 부팅 장치 및 방법
JP4795378B2 (ja) コンピュータおよびブート方法
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
US20110213954A1 (en) Method and apparatus for generating minimum boot image
US8370617B2 (en) Booting method and computer system using the booting method
US20030145191A1 (en) Computer system and method of controlling the same
TWI450090B (zh) 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統
JP2009193301A (ja) 情報処理装置、情報処理装置におけるデバイス初期化方法、およびデバイス初期化プログラム
JP5183448B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
JP5578811B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2009230433A (ja) ネットワークブート装置、プログラム及び方法
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
KR20060067076A (ko) 이중화 프로세서 시스템에서의 프로그램 로딩 방법 및 그장치
JP2010015474A (ja) 情報処理装置および情報処理方法
KR20100050098A (ko) 영상처리장치 및 그 제어 방법
JP4735765B2 (ja) Linuxプログラム起動システム
JPH1153175A (ja) データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2010128973A (ja) 情報処理装置、及び情報処理方法
JP7107188B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP2006126987A (ja) 画像処理装置
JP2010044699A (ja) 情報処理装置
JP2007094497A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

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: 20100914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100921

R150 Certificate of patent or registration of utility model

Ref document number: 4597032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250