WO2007049423A1 - コンピュータシステム、及びそれにおける基本プログラムの起動方法 - Google Patents
コンピュータシステム、及びそれにおける基本プログラムの起動方法 Download PDFInfo
- Publication number
- WO2007049423A1 WO2007049423A1 PCT/JP2006/319047 JP2006319047W WO2007049423A1 WO 2007049423 A1 WO2007049423 A1 WO 2007049423A1 JP 2006319047 W JP2006319047 W JP 2006319047W WO 2007049423 A1 WO2007049423 A1 WO 2007049423A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- basic program
- data
- startup
- program
- memory
- Prior art date
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing 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
Definitions
- the present invention relates to a computer system capable of starting a plurality of basic programs and a starting method of the basic programs in the computer system.
- the basic program power is also prevented from performing direct access to hardware resources, that is, a basic program is generated by removing the so-called IZO system, and each basic program creates one ⁇ system. If it is configured so that it can be shared, it is convenient because the access control to hardware resources can be performed at once in the relevant system. Disclosure of the invention
- a program for controlling access to hardware resources is implemented as a subsystem separately from the basic program body, and the basic program body is a so-called microkernel that implements the minimum necessary functions.
- the basic program body is a so-called microkernel that implements the minimum necessary functions.
- a technology there is a technology for performing data required after starting the basic program by a loader of the basic program (for example, Japanese Patent Laid-Open Publication No. 6 (1999)). (See publication 324849).
- this technology is configured to be arranged on the boot volume memory, and program data to be started at the initial stage of the system is read by the kernel of the basic program.
- a boot loader for reading program data must be prepared for each basic program.
- the boot volume must be placed in memory, and the amount of memory used during booting is large.
- the conventional microkernel basic program activation method is not efficient in terms of both mounting and processing in order to activate a plurality of different basic programs.
- the present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a computer system that can easily and efficiently start a basic program that does not have an IZO system. I will.
- the present invention for solving the problems of the conventional example described above is a computer system that can execute a basic program that provides an execution environment of a program, and for each basic program
- a storage device that stores setting data that describes data information required at startup and data required at startup of the basic program, and resource management that controls access requests to hardware resources including the storage device
- the memory device that can set the memory space that can be accessed from the basic program, and the setting data related to the basic program that is the target of activation is also read out and described in the setting data.
- the data required at startup is acquired from the storage device, stored in the memory device in a memory space accessible from the basic program that was started, and And a startup support unit that executes startup processing of the basic program Featuring, Ru.
- FIG. 1 is a configuration block diagram showing an example of a computer system according to an embodiment of the present invention.
- FIG. 2 is an explanatory diagram showing an example of the contents of setting data according to the embodiment of the present invention.
- FIG. 3 is a flowchart showing an example of basic program activation processing according to the embodiment of the present invention.
- FIG. 4 is a flowchart showing an example of a startup process in a memory saving priority mode of a basic program according to an embodiment of the present invention.
- FIG. 5 is an explanatory diagram showing an example of data designating an arrangement position of initial read data according to the embodiment of the present invention.
- FIG. 6 is a flowchart showing an example of a startup process in a speed priority mode of a basic program according to an embodiment of the present invention.
- the computer system includes a control unit 11, a storage unit 12, an input / output unit 13, an external storage unit 14, a storage unit 15, and an operation unit 16. And a display unit 17.
- the control unit 11 is, for example, a processor chip, and stores and executes a program to be read from the external storage medium power set in the external storage unit 14.
- the control unit 11 of the present embodiment includes a plurality of program execution elements, and a plurality of basic programs can be executed in parallel.
- the control unit 11 executes a loader program that reads and starts a basic program. The operation of the control unit 11 will be described in detail later.
- the storage unit 12 is a memory device including a storage element such as a RAM (Random Access Memory), and holds a program executed by the control unit 11. This program may be provided by being stored in a computer-readable recording medium such as a DVD-ROM.
- the storage unit 12 also operates as a work memory that holds data required when the control unit 11 performs processing.
- the input / output unit 13 is a so-called bridge chip, and is connected to the control unit 11, the external storage unit 14, the storage unit 15, and the operation unit 16.
- the input / output unit 13 selects an output destination of a signal (output signal) output from the control unit 11 according to an instruction input from the control unit 11, and outputs the output signal of the control unit 11 to the selected output destination. Selectively output The Further, the input / output unit 13 outputs signals input from the external storage unit 14, the storage unit 15, and the operation unit 16 to the control unit 11.
- the external storage unit 14 reads recorded information from an external recording medium such as a Blu-ray Disc or a DVD, and outputs the information to the control unit 11 via the input / output unit 13.
- the storage unit 15 is a hard disk or the like, and stores a program executed by the control unit 11, data used by the control unit 11, and the like. In the present embodiment, the storage unit 15 stores setting data for each basic program. This setting data will be described in detail later.
- These external storage unit 14 and storage unit 15 correspond to an example of a storage device of the present invention.
- the operation unit 16 is a game controller, a mouse, a keyboard, or the like, for example, and accepts a user operation and outputs the content of the operation to the control unit 11.
- the display unit 17 is a graphics processing board or the like, draws an image in accordance with an instruction input from the control unit 11, and displays information on the drawn image on a display (home-use) Output to a television device or the like) and display it.
- the control unit 11 is used to exchange various types of data such as device drivers corresponding to the IZO system (including network drivers), programs for processing related to the file system, and data related to network communication. It is assumed that a program that manages the stack (LIFO) and pipe (FIFO) has already been executed.
- LIFO stack
- FIFO pipe
- the basic program receives a request to specify the location of each initial read data required when starting the basic program, and receives each request according to the request. Outputs data specifying the data location to the loader program. In order to communicate with other processes in this way, process communication processing is implemented in the basic program.
- the control unit 11 Upon receiving an instruction from the user, the control unit 11 reads the loader program and starts its execution.
- the control unit 11 that executes the loader program operates as a loader process.
- the loader process is a ⁇ system process (iZ
- This iZo process power corresponds to the resource management unit that controls access requests to hardware resources.
- the loader process causes the ⁇ process to read the setting data stored in the storage unit 15 in relation to the basic program to be activated.
- the setting data is information associated with information (ID) for identifying a basic program.
- Information relating to resources of the execution environment includes CPU time CT, memory amount MS used, virtual Address space size VS, boot device information B (information specifying the boot device, its throughput, delay, cache size, etc.).
- a data specification list L including information SIZ on the size of each data
- Contains kernel parameters P at startup (such as runlevel settings).
- the information for specifying the boot device is information for specifying a device from which the basic program is read, for example, information for specifying either the external storage unit 14 or the storage unit 15.
- authentication information such as signature information may be added to the setting data in advance, and the loader process may use this authentication information to verify whether the setting data is valid data. . If the verification results in a negative result (when verification fails), the basic program startup process may be interrupted.
- the loader process performs the processing shown in FIG. That is, the loader process refers to the memory amount information MS used to secure a memory area in the storage unit 12 (Sl).
- the loader process acquires basic program size information (S2).
- the loader process causes the IZO system to secure a cache memory in the storage unit 12 (S3).
- the cache memory size is smaller than the size of the basic program acquired in the processing S2 (S4).
- the cache size is specified in the information related to the boot device in the setting data, a cache memory of that size is secured, and in process S4, the specified size is the size of the basic program acquired in process S2. It is also possible to judge whether it is smaller.
- control unit 11 sets the cache memory size as a basic process as a loader process. If it is smaller than the program size, start the startup process in memory saving priority mode (
- the loader process instructs the IZO process to read the basic program with the boot device power specified by the setting data, and the ⁇ process reads the basic program with the boot device power (S11).
- the loader process stores the basic program read by the ⁇ / ⁇ process in the memory area secured in the storage unit 12 (Sl l).
- the loader process instructs the IZO process to read the initial read data included in the list while referring to the data identification list L, and the ⁇ process reads the boot device power initial read data. Is read (S12).
- the loader process starts executing the basic program and starts the basic program (S13).
- the loader process outputs to the basic program a request to specify the location of the initial read data as processing of the loader program (S14).
- the basic program outputs information on the location of the initial read data (S15).
- the loader process accepts information on the location of the basic program power initial read data.
- the information on the arrangement position describes information specifying the value of the start address on the memory that is the arrangement position for each piece of initial read data in association with the information specifying each data. It is a thing.
- the loader process stores each initial read data read in the process S12 in the designated arrangement position of the memory area in the storage unit 12 (S16). Then, the basic program continues the startup process using the initial read data in this memory area (S17).
- initial read data in UNIX includes program data (such as init) and setting data (such as rc) of a process to be initially started.
- the loader process instructs the ⁇ process to copy and read enough data from the first block of the boot device specified by the setting data to the cache memory secured in the storage unit 12. .
- the ⁇ process copies and reads only the data that can be read into the cache memory from the first block of the boot device (S21).
- the loader process starts the reading process of the basic program.
- the basic program data is read into the cache memory
- the basic program in the cache memory is stored in the memory area secured in the storage unit 12 in step S1 (S22).
- the IZO process and the loader process can be executed in parallel, and it is not always necessary for the ⁇ process to finish reading the basic program when the loader process starts reading the basic program. ,.
- the loader process instructs the ⁇ process to read the initial read data included in the list while reading the data identification list L, and the ⁇ process boots the initial read data. Read from the device (S23). Even when reading the initial read data, at least a part of the data may already be loaded into the cache memory, reducing the read time.
- the loader process activates the basic program (S24).
- the loader process outputs to the basic program a request to specify the location of the initial read data (S25). Then, the basic program outputs information on the position of initial read data (S26).
- the loader process information on the location of the initial read data is received from the basic program. This location information is the same as in the memory saving priority mode shown in Figure 5.
- the loader process stores each initial read data read in step S23 at a designated arrangement position in the memory area in the storage unit 12 (S27). Then, the basic program continues the start-up process using the initial read data in this memory area (S28).
- the data reading unit is read out for each individual data as the memory saving priority mode, or the data reading unit is The ability to read all at once as the priority mode (switching with the power to write as much as you can write to the cache memory in advance).
- the processing related to the reading of the basic program in the processing S11 and S22 of the loader process and the IZO process and the processing related to the reading of the initial read data in the processing S12 and S24 are respectively performed in separate threads.
- the basic program reading and initial reading data reading may be executed asynchronously.
- process S13 and process S25 may be executed asynchronously by separate threads.
- initial read data can be written into a memory area accessible by the started basic program, and the basic program uses the initial read data to start processing. Can be executed. In this way, in this embodiment, it is possible to easily and efficiently start a basic program that does not have a ⁇ system.
- the setting data may be stored together with the basic program in an external storage medium read by the external storage unit 14.
- the control unit 11 detects that the external storage medium is set in the external storage unit 14, starts execution of the loader program, and starts the loader process.
- the loader process causes the IZO process to secure the cache memory, and if the size of the secured cache memory is larger than the predetermined value and starts processing in the speed priority mode. Copies and reads the data that can be read from the top block of the external storage medium to the cache memory.
- this setting data is read in advance before starting the basic program, but it may be read after starting the basic program. In this case, the initial read data represented by the setting data is read after starting the basic program.
- the loader process reads the setting data and basic program data from the cache memory, and secures a memory area in the storage unit 12 based on the setting data.
- the basic program is stored in the memory area secured in the storage unit 12, and the initial program included in the list is referenced while referring to the data specifying list L included in the read setting data.
- the loader process starts the basic program and requests information on the location of the initial read data. Then, the loader process accepts the information of the arrangement position of the initial read data from the basic program, and stores each initial read data in the designated arrangement position of the memory area in the storage unit 12.
- the setting data is read into the system as a process in the memory saving priority mode, and based on the setting data, To secure a memory area in the storage unit 12.
- the loader process then reads the basic program data into the IZO system and stores the basic program data in the reserved memory area.
- the loader process starts up the basic program and requests information on the location of the initial read data.
- the loader process then receives information on the location of the initial read data from the basic program, causes the system to read each initial read data, and stores it at the specified location in the memory area of the storage unit 12. To do.
- the throughput of the boot device is smaller than a predetermined threshold (if it is slow), and if the cache memory is large enough to read the initial read data multiple times.
- a predetermined threshold if it is slow
- the cache memory is large enough to read the initial read data multiple times
- the specified threshold if it is high speed
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
プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステムであって、基本プログラムごとに起動時に必要となるデータの情報を記述した設定データと、起動時に必要となるデータとを記憶するストレージデバイスを有する。起動の対象となった基本プログラムの設定データをストレージデバイスから読み出して、当該設定データに記述されている情報に基づいて、起動時に必要となるデータを取得し、起動の対象となった基本プログラムからアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プログラムの起動処理を実行するコンピュータシステムである。
Description
明 細 書
コンピュータシステム、及びそれにおける基本プログラムの起動方法 技術分野
[0001] 本発明は、複数の基本プログラムを起動可能なコンピュータシステムと、それにおけ る基本プログラムの起動方法に関する。
背景技術
[0002] 近年のコンピュータシステムは、処理速度の向上等のために、 CPU (Central Proce ssing Unit)に相当するプログラム実行要素を複数備えるものが開発されている。こう した複数のプログラム実行要素を備えたコンピュータシステムでは、原理的には、複 数の相異なる基本プログラム (オペレーティングシステム)を各プログラム実行要素に て実行させることができる。
[0003] し力しながら、複数の相異なる基本プログラムを実行させると、コンピュータシステム の備えて 、るハードウェア資源 (ディスクデバイスや、表示用デバイス等)へのァクセ ス制御が困難となり、システムを安定的に動作させるための処理が煩雑になる。
[0004] そこで、各基本プログラム力もハードウェア資源への直接のアクセスを行わせないよ うにして、つまり、いわゆる IZOシステムを除去した基本プログラムを生成し、各基本 プログラムが、一つの ΙΖΟシステムを共有するように構成すれば、当該 ΙΖΟシステム においてハードウェア資源へのアクセス制御を一手に行うことができて便利である。 発明の開示
発明が解決しょうとする課題
[0005] し力しながら、このように各基本プログラムから ΙΖΟシステムを除去してしまうと、基 本プログラムの起動時に必要となるデータをディスクデバイス等からメモリ上に読み込 むことができなくなってしまうという問題点がある。
[0006] なお、ハードウェア資源へのアクセス制御を行うプログラムをサブシステムとして、基 本プログラム本体とは別個に実装し、基本プログラム本体としては、必要最小限の機 能を実装する、いわゆるマイクロカーネル技術においては、基本プログラムの起動の 後で必要となるデータを基本プログラムのローダで行う技術がある(例えば特開平 6
324849号公報を参照)。
[0007] ところがこの技術では、ブートボリュームカ モリ上に配置される構成となっており、 システムの初期に起動するべきプログラムデータは、基本プログラムのカーネルが読 み込む構成となっている。つまり、プログラムデータを読み込むためのブートローダを 基本プログラムごとに用意しなければならない。また、ブートボリュームをメモリ上に配 置する必要があって、ブート時のメモリ使用量が大きい。
[0008] このように上記従来のマイクロカーネルの基本プログラムの起動方法では、複数の 相異なる基本プログラムを起動させる場合に用いるには、実装の面と処理の面との双 方で効率的でない。
[0009] 本発明は上記実情に鑑みて為されたもので、簡便に、かつ効率的に、 IZOシステ ムを持たない基本プログラムの起動を実現できるコンピュータシステムを提供すること を、その目的の一つとする。
課題を解決するための手段
[0010] 上記従来例の問題点を解決するための本発明は、プログラムの実行環境を提供す る基本プログラムを実行可能なコンピュータシステムであって、基本プログラムごとに
、起動時に必要となるデータの情報を記述した設定データと、基本プログラムの起動 時に必要となるデータとを記憶するストレージデバイスと、前記ストレージデバイスを 含むハードウェア資源へのアクセス要求を制御する資源管理部と、基本プログラムか らアクセス可能なメモリ空間を設定可能なメモリデバイスと、起動の対象となった基本 プログラムに係る設定データを前記ストレージデバイス力も読み出して、当該設定デ ータに記述されている情報に基づいて、起動時に必要となるデータを前記ストレージ デバイスから取得し、前記メモリデバイス内で、起動の対象となった基本プログラムか らアクセス可能なメモリ空間内に格納するとともに、起動の対象となった基本プロダラ ムの起動処理を実行する起動支援部と、を含むことを特徴として 、る。
図面の簡単な説明
[0011] [図 1]図 1は、本発明の実施の形態に係るコンピュータシステムの例を表す構成ブロッ ク図である。
[図 2]図 2は、本発明の実施の形態に係る設定データの内容例を表す説明図である。
[図 3]図 3は、本発明の実施の形態に係る基本プログラムの起動処理の例を表すフロ 一チャート図である。
[図 4]図 4は、本発明の実施の形態に係る基本プログラムのメモリ節約優先モードで の起動処理の例を表すフローチャート図である。
[図 5]図 5は、本発明の実施の形態に係る初期読み込みデータの配置位置を指定す るデータの例を表す説明図である。
[図 6]図 6は、本発明の実施の形態に係る基本プログラムの速度優先モードでの起動 処理の例を表すフローチャート図である。
発明を実施するための最良の形態
[0012] 本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形 態に係るコンピュータシステムは、図 1に示すように、制御部 11と、記憶部 12と、入出 力ユニット 13と、外部記憶部 14と、ストレージ部 15と、操作部 16と、表示部 17とを含 んで構成されている。
[0013] 制御部 11は、例えばプロセッサチップであり、外部記憶部 14にセットされた外部記 憶媒体力 読み出されるプログラムを記憶部 12に格納して実行する。本実施の形態 の制御部 11は、複数のプログラム実行要素を備えており、複数の基本プログラムが 並列して実行可能となっている。またこの制御部 11は、基本プログラムの読み込みと 、起動を行うローダプログラムを実行する。この制御部 11の動作については後に詳し 述べる。
[0014] 記憶部 12は、 RAM (Random Access Memory)等の記憶素子を含んで構成される メモリデバイスであり、制御部 11によって実行されるプログラムを保持する。なお、こ のプログラムは、 DVD— ROMなどのコンピュータ可読な記録媒体に格納されて提 供されてもよい。また、この記憶部 12は、制御部 11が処理を行うときに必要となるデ ータを保持するワークメモリとしても動作する。
[0015] 入出力ユニット 13は、いわゆるブリッジチップであり、制御部 11と、外部記憶部 14と 、ストレージ部 15と、操作部 16とに接続されている。この入出力ユニット 13は、制御 部 11から入力される指示に従って、制御部 11が出力する信号(出力信号)の出力先 を選択し、当該選択した出力先に対して、制御部 11の出力信号を選択的に出力す
る。また、入出力ユニット 13は、外部記憶部 14やストレージ部 15、ならびに操作部 1 6から入力される信号を制御部 11に出力する。
[0016] 外部記憶部 14は、例えば Blu-ray Discや、 DVD等の外部記録媒体から、記録され ている情報を読み取って、入出力ユニット 13を介して制御部 11に出力する。ストレー ジ部 15は、ハードディスク等であり、制御部 11によって実行されるプログラムや、制 御部 11によって利用されるデータ等が格納されている。本実施の形態では、このスト レージ部 15に、基本プログラムごとの設定データが格納される。この設定データにつ いては後に詳しく述べる。これら外部記憶部 14やストレージ部 15が、本発明のストレ ージデバイスの一例に相当する。
[0017] 操作部 16は、例えばゲーム用のコントローラ、マウス、キーボード等であり、ユーザ の操作を受け入れて、当該操作の内容を制御部 11に出力する。
[0018] 表示部 17は、グラフィックス処理ボード等であり、制御部 11から入力される指示に 従って、画像を描画し、当該描画した画像の情報を外部に接続されているディスプレ ィ (家庭用テレビジョン装置等)に出力して、表示させる。
[0019] ここで制御部 11のローダプログラムの動作について説明する。なお、制御部 11で は、 IZOシステムに相当するデバイスドライバ (ネットワークのドライバを含む)や、ファ ィルシステムに係る処理を行うプログラム、さらにネットワーク通信に係るデータ等、各 種のデータ授受を行うためのスタック(LIFO)やパイプ(FIFO)などの管理を行うプロ グラム等が既に実行されているものとする。
[0020] また、基本プログラムは、当該基本プログラムの起動時に必要となる各初期読み込 みデータの配置位置の指定をするべき旨の要求をローダプログラム力 受けて、当 該要求に応じて、各データの配置位置を指定するデータをローダプログラムに出力 する。このように他のプロセスとの通信を行うため、基本プログラムにはプロセス通信 処理が実装される。
[0021] 制御部 11は、ユーザ力もの指示を受けてローダプログラムを読み出してその実行 を開始する。このローダプログラムを実行する制御部 11は、いわばローダプロセスと して動作する。本実施の形態では、ローダプロセスは、 ιΖοシステムのプロセス(iZ
Oプロセス)と通信して、外部記憶部 14やストレージ部 15など力もデータの読み出し
を行う。この iZoプロセス力 ハードウェア資源へのアクセス要求を制御する資源管 理部に相当する。
[0022] ローダプロセスは、起動の対象となる基本プログラムに関連してストレージ部 15に 格納されている設定データを、 ΙΖΟプロセスに読み出させる。ここで設定データは、 図 2に示すように、基本プログラムを識別する情報 (ID)に関連づけられた情報であり 、実行環境のリソースに関する情報として、 CPU時間 CT、使用するメモリ量 MS、仮 想アドレス空間のサイズ VS、ブートデバイスに関する情報 B (ブートデバイスを特定 する情報、ならびにそのスループットや、遅延、キャッシュサイズの情報等)を含む。ま た、基本プログラムの起動に係る情報として、起動時にメモリに読み込んでおくべき データ(以下、初期読み込みデータと呼ぶ)を特定するデータ特定リスト L (各データ のサイズの情報 SIZを含む)と、起動時のカーネルパラメータ P (ランレベルの設定な ど)が含まれる。
[0023] ここでブートデバイスを特定する情報とは、基本プログラムの読み出し元となるデバ イスを特定する情報であり、例えば外部記憶部 14とストレージ部 15とのいずれかを 特定する情報である。また、この設定データには、予め署名情報などの認証情報を 付加しておき、ローダプロセスは、この認証情報を用いて、設定データが正当なデー タである力否かを検証してもよい。そして検証の結果、否定的な結果となった場合( 検証が失敗した場合)は、基本プログラムの起動処理を中断してもよい。
[0024] さらにローダプロセスは、図 3に示す処理を行う。すなわちローダプロセスは、使用 するメモリ量の情報 MSを参照して、記憶部 12内のメモリ領域を確保する(Sl)。また ローダプロセスは、基本プログラムのサイズの情報を取得する(S2)。そして、ローダ プロセスは、 IZOシステムに対してキャッシュメモリを記憶部 12に確保させる(S3)。 そしてこのキャッシュメモリのサイズ力 処理 S2で取得した基本プログラムのサイズよ り小さいか否かを判断する(S4)。なお、設定データのブートデバイスに関する情報に おいて、キャッシュサイズが指定されているときには、当該サイズのキャッシュメモリを 確保させ、処理 S4では、当該指定されたサイズが処理 S2で取得した基本プログラム のサイズより小さ ヽか否かを判断することとしてもょ ヽ。
[0025] ここで制御部 11は、ローダプロセスの処理として、キャッシュメモリのサイズが基本プ
ログラムのサイズより小さい場合は、メモリ節約優先モードでの起動処理を開始する(
S5)。また、処理 S4において、キャッシュメモリのサイズが基本プログラムのサイズより 小さくな!/、場合は、速度優先モードでの起動処理を開始する(S6)。
[0026] 以下、メモリ節約優先モードでの起動処理 (処理 S5)と、速度優先モードでの起動 処理 (処理 S6)とのそれぞれの処理にっ 、て説明する。
[0027] まず、メモリ節約優先モードでの起動処理にっ 、て、図 4を参照しながら説明する。
メモリ節約優先モードでは、ローダプロセスは、 IZOプロセスに対して、設定データに よって特定されるブートデバイス力も基本プログラムを読み出すよう指示し、 ΙΖΟプロ セスがブートデバイス力も基本プログラムを読み出す(S 11)。ローダプロセスは、 \/ Οプロセスが読み出した基本プログラムを記憶部 12に確保したメモリ領域内に格納 する(Sl l)。また、ローダプロセスは、データ特定リスト Lを参照しながら、 IZOプロセ スに対して、当該リストに含まれる初期読み込みデータをブートデバイス力 読み出 すよう指示し、 ΙΖΟプロセスがブートデバイス力 初期読み込みデータを読み出す( S12)。そしてローダプロセスは、基本プログラムの実行を開始し、基本プログラムを 起動させる(S13)。基本プログラムが起動すると、ローダプロセスは、ローダプロダラ ムの処理として、初期読み込みデータの配置位置を指定するべき旨の要求を、基本 プログラムに出力する(S 14)。
[0028] 基本プログラムでは、この要求に応答して初期読み込みデータの配置位置の情報 を出力する(S15)。ローダプロセスは、基本プログラム力 初期読み込みデータの配 置位置の情報を受け入れる。この配置位置の情報は、例えば図 5に示すように、初期 読み込みデータの各々について、各データを特定する情報に関連づけて、その配置 位置であるメモリ上の先頭アドレスの値を指定する情報を記述したものである。
[0029] ローダプロセスは、処理 S12で読み出させた各初期読み込みデータを記憶部 12内 のメモリ領域の指定された配置位置に格納する(S 16)。そして基本プログラムが、こ のメモリ領域内の初期読み込みデータを利用して起動処理を続ける(S17)。例えば 、 UNIX (登録商標)における初期読み込みデータとしては、初期的に起動するべき プロセスのプログラムデータ(initなど)や、設定データ (rcなど)がある。
[0030] また、速度優先モードでの起動処理について説明する。図 6に示すように、速度優
先モードではローダプロセスは、 ιΖοプロセスに対して、設定データによって特定さ れるブートデバイスの先頭ブロックから、記憶部 12に確保したキャッシュメモリに対し て、読み込めるだけのデータを複写して読み込むよう指示する。 ιΖοプロセスは、こ の指示に従い、ブートデバイスの先頭ブロックから、キャッシュメモリに読み込めるだ けのデータを複写して読み込む(S21)。
[0031] そしてローダプロセスは、基本プログラムの読み出し処理を開始する。ここでは、キ ャッシュメモリに基本プログラムのデータが読み出されて 、るので、当該キャッシュメ モリ内の基本プログラムを、処理 S1にて記憶部 12に確保したメモリ領域に格納する( S22)。なお、 IZOプロセスとローダプロセスとは並列的に実行可能であり、ローダプ 口セスが基本プログラムの読み出し処理を開始した段階で、 ΙΖΟプロセスが基本プロ グラムの読み込みを完了して 、る必要は必ずしもな 、。
[0032] また、ローダプロセスは、データ特定リスト Lを参照しながら、 ΙΖΟプロセスに対して 、当該リストに含まれる初期読み込みデータをブートデバイス力 読み出すよう指示し 、 ΙΖΟプロセスは、初期読み込みデータをブートデバイスから読み出す (S23)。この 初期読み込みデータの読み出しにおいても、少なくとも一部はキャッシュメモリに既に ロードされている場合があり、読み込み時間を短縮できる。
[0033] そして、ローダプロセスは、基本プログラムを起動させる(S24)。基本プログラムが 起動すると、ローダプロセスは、初期読み込みデータの配置位置を指定するべき旨 の要求を、基本プログラムに出力する(S25)。そして、基本プログラムは初期読み込 みデータの配置位置の情報を出力する(S26)。
[0034] ローダプロセスでは、基本プログラムから初期読み込みデータの配置位置の情報を 受け入れる。この配置位置の情報は図 5に示した、メモリ節約優先モードでのものと 同じものである。ローダプロセスは、処理 S23で読み出した各初期読み込みデータを 、記憶部 12内のメモリ領域の指定された配置位置に格納する(S27)。そして基本プ ログラムが、このメモリ領域内の初期読み込みデータを利用して起動処理を続ける(S 28)。
[0035] このように本実施の形態では、確保されたキャッシュメモリのサイズに応じて、データ の読み込み単位を、メモリ節約優先モードとして個々のデータごとに読み出すか、速
度優先モードとして一斉に読み出す力 (予めキャッシュメモリに書込めるだけ書込む 力 で切り替える。
[0036] 本実施の形態では、ローダプロセス及び IZOプロセスの処理 S11, 22における基 本プログラムの読み出しに係る処理と、処理 S12, 24における初期読み込みデータ の読み出しに係る処理とをそれぞれ、別々のスレッドで実行し、基本プログラムの読 み出しと、初期読み込みデータの読み出しとを非同期的に実行させてもよい。
[0037] また、初期読み込みデータを読み出す処理と、基本プログラムを起動する処理 (処 理 S13や処理 S25)とを別々のスレッドで非同期的に実行させてもよい。
[0038] このように本実施の形態によると、起動される基本プログラムによってアクセス可能 なメモリ領域に対して初期読み込みデータを書込むことができ、当該初期読み込み データを利用して基本プログラムが起動処理を実行できる。このようにしたことで、本 実施の形態では、簡便、かつ効率的に、 ΙΖΟシステムを持たない基本プログラムの 起動を実現できる。
[0039] なお、設定データは、基本プログラムとともに、外部記憶部 14によって読み出される 外部記憶媒体に格納されていてもよい。この場合は、制御部 11は、かかる外部記憶 媒体が外部記憶部 14にセットされたことを検知して、ローダプログラムの実行を開始 して、ローダプロセスを起動する。そして、ローダプロセスが、 IZOプロセスにキヤッシ ュメモリを確保させ、当該確保されたキャッシュメモリのサイズが予め定めたしき 、値よ り大き 、場合は速度優先モードでの処理を開始し、 ΙΖΟプロセスに当該キャッシュメ モリに対して外部記憶媒体の先頭ブロック力 読み込めるだけのデータを複写して読 み込ませる。またこの設定データは、図 4、図 6に示した処理では、基本プログラムの 起動前に予め読み込まれて 、るものとして説明したが、基本プログラムの起動開始後 に読み込まれてもよい。この場合、当該設定データによって表される初期読み込み データは、基本プログラムの起動開始後に読み込まれることとなる。
[0040] 以下、ローダプロセスは、このキャッシュメモリから設定データと基本プログラムのデ 一タとを読み出し、設定データに基づいて記憶部 12にメモリ領域を確保する。そして 基本プログラムを記憶部 12に確保したメモリ領域に格納するとともに、当該読み出し た設定データに含まれるデータ特定リスト Lを参照しながら、当該リストに含まれる初
期読み込みデータを iZoプロセスに読み出させる。
[0041] そして、ローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配 置位置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込 みデータの配置位置の情報を受け入れ、各初期読み込みデータを、記憶部 12内の メモリ領域の指定された配置位置に格納する。
[0042] 一方、確保されたキャッシュメモリのサイズが予め定めたしき 、値に満たな 、場合は 、メモリ節約優先モードでの処理として、設定データを ΙΖΟシステムに読み込ませ、 設定データに基づ 、て記憶部 12にメモリ領域を確保する。そしてローダプロセスは、 IZOシステムに基本プログラムのデータを読み込ませて、基本プログラムのデータを 確保したメモリ領域に格納する。
[0043] またローダプロセスは、基本プログラムを起動させ、初期読み込みデータの配置位 置の情報を要求する。そしてローダプロセスは、基本プログラムから初期読み込みデ ータの配置位置の情報を受け入れ、各初期読み込みデータを、 ΙΖΟシステムに読 み出させ、記憶部 12内のメモリ領域の指定された配置位置に格納する。
[0044] さらに、ここまでの説明では、読み込みの方法として、メモリ節約優先モードと、速度 優先モードとのどちらで起動するかを決定する際に、確保されたメモリのサイズに基 づ 、て判断することとして 、たが、これに代えて基本プログラムのブートデバイスのス ループットや遅延等の速度 (設定データに、ブートデバイスに関する情報として記述 しておいてもよい)の情報に基づいて決定してもよい。例えば、ブートデバイスのスル 一プットとして、所定のしきい値よりも小さい場合 (低速である場合)であって、かつ、 初期読み込みデータを複数一度に読み込めるサイズのキャッシュメモリが確保できた 場合は、速度優先モードにて起動し、ブートデバイスのスループットが所定のしきい 値以上である場合 (高速である場合)、または低速であっても初期読み込みデータを 複数一度に読み込めるサイズのキャッシュメモリが確保できな力つた場合は、メモリ節 約優先モードで起動するようにしてもょ 、。
Claims
[1] プログラムの実行環境を提供する基本プログラムを実行可能なコンピュータシステ ムであって、以下を含む:
基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データと、 基本プログラムの起動時に必要となるデータとを記憶するストレージデバイス、 前記ストレージデバイスを含むハードウェア資源へのアクセス要求を制御する資源 管理部、
基本プログラムカゝらアクセス可能なメモリ空間を設定可能なメモリデバイス、及び 起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスか ら読み出して、当該設定データに記述されている情報に基づいて、起動時に必要と なるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対 象となった基本プログラム力もアクセス可能なメモリ空間内に格納するとともに、起動 の対象となった基本プログラムの起動処理を実行する起動支援部。
[2] 請求の範囲第 1項に記載のコンピュータシステムであって、
前記起動支援部は、前記起動の対象となった基本プログラムの起動処理を実行す るときに、当該基本プログラムから起動時に必要となる各データの配置位置の指定を 受けて、当該指定に従って、前記ストレージデバイスから取得したデータを、前記メモ リデバイス内に格納するコンピュータシステム。
[3] 請求の範囲第 1項に記載のコンピュータシステムであって、
起動の対象となった基本プログラムをブートデバイス力も読み出す読み出し部をさ らに含み、
当該ブートデバイスから基本プログラムを読み出す読み出し部が、基本プログラム をキャッシュメモリに読み込み、当該キャッシュメモリから前記メモリデバイスへ格納す る速度優先モードと、基本プログラムをキャッシュメモリに読み込まずに、基本プログ ラムを前記メモリデバイスへ格納するメモリ節約モードとのいずれか一方のモードで 選択的に基本プログラムを読み出すコンピュータシステム。
[4] 基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、 及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、
前記ストレージデバイスを含むハードウェア資源へのアクセス要求を制御する資源 管理部と、
基本プログラムカゝらアクセス可能なメモリ空間を設定可能なメモリデバイスと、 を備えるコンピュータシステムを用い、ハードウェア資源に対して直接アクセス不能 な基本プログラムを起動する方法であって、
起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスか ら読み出して、当該設定データに記述されている情報に基づいて、起動時に必要と なるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対 象となった基本プログラム力もアクセス可能なメモリ空間内に格納するとともに、起動 の対象となった基本プログラムの起動処理を実行する基本プログラムの起動方法。 基本プログラムごとに、起動時に必要となるデータの情報を記述した設定データ、 及び基本プログラムの起動時に必要となるデータ、を記憶するストレージデバイスと、 前記ストレージデバイスを含むハードウェア資源へのアクセス要求を制御する資源 管理手段と、
基本プログラムカゝらアクセス可能なメモリ空間を設定可能なメモリデバイスと、 を備えるコンピュータシステムに、
ハードウェア資源に対して直接アクセス不能な基本プログラムの起動をさせるロー ダプログラムを格納した、コンピュータ可読な記録媒体であって、
前記ローダプログラムが、
起動の対象となった基本プログラムに係る設定データを前記ストレージデバイスか ら読み出して、当該設定データに記述されている情報に基づいて、起動時に必要と なるデータを前記ストレージデバイスから取得し、前記メモリデバイス内で、起動の対 象となった基本プログラム力もアクセス可能なメモリ空間内に格納するとともに、起動 の対象となった基本プログラムの起動処理を実行させることを特徴とするコンピュータ 可読な記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06810572A EP1942412A4 (en) | 2005-10-24 | 2006-09-26 | COMPUTER SYSTEM AND METHOD FOR ACTIVATION OF BASIC PROGRAMS THEREIN |
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 (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005308970A JP4597032B2 (ja) | 2005-10-24 | 2005-10-24 | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム |
JP2005-308970 | 2005-10-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007049423A1 true WO2007049423A1 (ja) | 2007-05-03 |
Family
ID=37967545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/319047 WO2007049423A1 (ja) | 2005-10-24 | 2006-09-26 | コンピュータシステム、及びそれにおける基本プログラムの起動方法 |
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)
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309437A (ja) * | 1989-05-25 | 1990-12-25 | Canon Inc | 携帯型電子機器 |
JPH06324849A (ja) | 1993-04-26 | 1994-11-25 | Internatl Business Mach Corp <Ibm> | オペレーティング・システム環境の起動方法およびシステム |
JP2003330724A (ja) * | 2002-05-15 | 2003-11-21 | Nec Corp | 情報処理装置、情報処理方法、及びプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
KR20060023956A (ko) * | 2003-04-09 | 2006-03-15 | 쟈루나 에스에이 | 운영체제 |
EP1467282B1 (en) * | 2003-04-09 | 2008-10-01 | Jaluna SA | Operating systems |
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 |
CA2577493A1 (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 | 株式会社ソニー・コンピュータエンタテインメント | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム |
-
2005
- 2005-10-24 JP JP2005308970A patent/JP4597032B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-26 US US11/909,213 patent/US8095784B2/en active Active
- 2006-09-26 WO PCT/JP2006/319047 patent/WO2007049423A1/ja active Application Filing
- 2006-09-26 CN CN200680002664.5A patent/CN101107591B/zh active Active
- 2006-09-26 EP EP06810572A patent/EP1942412A4/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309437A (ja) * | 1989-05-25 | 1990-12-25 | Canon Inc | 携帯型電子機器 |
JPH06324849A (ja) | 1993-04-26 | 1994-11-25 | Internatl Business Mach Corp <Ibm> | オペレーティング・システム環境の起動方法およびシステム |
JP2003330724A (ja) * | 2002-05-15 | 2003-11-21 | Nec Corp | 情報処理装置、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN101107591A (zh) | 2008-01-16 |
US20090064145A1 (en) | 2009-03-05 |
JP4597032B2 (ja) | 2010-12-15 |
JP2007122089A (ja) | 2007-05-17 |
CN101107591B (zh) | 2014-06-04 |
EP1942412A4 (en) | 2009-01-14 |
US8095784B2 (en) | 2012-01-10 |
EP1942412A1 (en) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6627180B2 (ja) | 改善されたハイブリッドスリープ電力管理のための技術 | |
JP5268363B2 (ja) | コンピュータマルチオペレーティングシステムの切換え方法 | |
KR101602360B1 (ko) | 시스템 고속 부팅 장치 및 방법 | |
US9384007B2 (en) | Memory virtualization-based snapshot boot apparatus and method | |
US7590877B2 (en) | Computer system having multi-operation system and method for changing operating system in computer system | |
TWI407300B (zh) | 電源管理控制器與方法 | |
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
EP1035472A2 (en) | Loading configuration data | |
JP4886866B2 (ja) | 主記憶装置へのアクセスを高速化する方法および記憶装置システム | |
US20180203622A1 (en) | Vehicular device | |
US20030145191A1 (en) | Computer system and method of controlling the same | |
KR101489158B1 (ko) | 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법 | |
JP2004334486A (ja) | ブートコードを用いた起動システム、及び起動方法 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
WO2007049423A1 (ja) | コンピュータシステム、及びそれにおける基本プログラムの起動方法 | |
JP5587654B2 (ja) | 電子装置及びそのブーティング方法 | |
KR100994723B1 (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 | |
US20150317181A1 (en) | Operating system switching method | |
JP2006079230A (ja) | 半導体回路装置及び暴走検出方法 | |
WO2022249240A1 (ja) | 起動システム及び起動方法 | |
KR20120024133A (ko) | 컴퓨터 시스템을 부팅하기 위한 방법과 장치 | |
JP2005056017A (ja) | 情報処理装置 | |
TWI357017B (en) | Systems and methods for synchronous code retrieval | |
JPH056268A (ja) | コンピユータシステム | |
KR20120024134A (ko) | 컴퓨터 시스템을 부팅하기 위한 방법과 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680002664.5 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 11909213 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006810572 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |