JP2008033877A - Information processing apparatus, OS activation method, and program - Google Patents
Information processing apparatus, OS activation method, and program Download PDFInfo
- Publication number
- JP2008033877A JP2008033877A JP2006321808A JP2006321808A JP2008033877A JP 2008033877 A JP2008033877 A JP 2008033877A JP 2006321808 A JP2006321808 A JP 2006321808A JP 2006321808 A JP2006321808 A JP 2006321808A JP 2008033877 A JP2008033877 A JP 2008033877A
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- booted
- allocation
- allocated
- resource
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】マルチコアCPU構成の組込み機器において、初期起動OSが通常動作状態になった後でも、任意OSの起動を可能にする。
【解決手段】初期起動OS300が通常動作状態になった後に被起動OS400の起動が要求された場合に、ハードウェア管理手段203が、現在のハードウェア資源の割り当て状況を通知する。ハードウェア割り当て手段301が、OSの起動に必要なハードウェア資源が示されている被起動OS用ハードウェア情報テーブル253を参照し、被起動OS400の起動に必要なハードウェア資源を判断し、ハードウェア管理手段203から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSにハードウェア資源を割り当てる。OS起動手段201は、ハードウェア割り当て手段301により割り当てられたハードウェア資源を用いて被起動OS400を起動する。
【選択図】図1In an embedded device having a multi-core CPU configuration, an arbitrary OS can be booted even after the initial boot OS is in a normal operation state.
When a startup of an OS to be started is requested after the initial startup OS is in a normal operating state, hardware management means notifies the current allocation status of hardware resources. The hardware allocation unit 301 refers to the booted OS hardware information table 253 indicating the hardware resources necessary for starting the OS, determines the hardware resources necessary for booting the booted OS 400, and Hardware resources are allocated to the booted OS based on the hardware resource allocation status notified from the hardware management unit 203 and the hardware resources necessary for booting the booted OS. The OS booting unit 201 boots the booted OS 400 using the hardware resource allocated by the hardware allocation unit 301.
[Selection] Figure 1
Description
本発明は、複数のOS(Operating System)を起動する技術に関し、例えば、マルチコアプロセッサ構成の組込み機器において複数のOSを起動する技術に関する。 The present invention relates to a technique for starting a plurality of operating systems (OS), for example, a technique for starting a plurality of OSs in an embedded device having a multi-core processor configuration.
近年、家電などの組込み機器では、従来機種に対する付加機能の追加など、システムの高機能化のため、処理能力向上に対する要求がある。こうした要求に対して、CPU(Central Processing Unit)の演算処理部(コア)を複数にすることで、消費電力の上昇を抑えながら、処理能力の向上を図る、マルチコア方式が導入されている。 In recent years, embedded devices such as home appliances have demands for improving processing capability in order to increase the functionality of the system, such as adding additional functions to conventional models. In response to such demands, a multi-core system has been introduced in which a plurality of arithmetic processing units (cores) of a CPU (Central Processing Unit) are provided to improve processing capability while suppressing an increase in power consumption.
マルチコアを搭載した計算機を効率的に利用するには、処理の並列度を向上させ、各コアに処理を分散させる必要がある。この実現方式として、マルチコアに対応した一つのOSで利用することが考えられる。しかし、この場合、組込み機器のリアルタイム性は、使用OSのリアルタイム応答性能に大きく左右されてしまう。そのため、マルチコアを搭載した組込み機器では、コアごとにGUI(Graphical User Interface)やネットワークプロトコル機能を持つ汎用OSや、ハードリアルタイム性を持つリアルタイムOS(RTOS)などの各種OSを動作させることで、リアルタイム性を確保しながら、処理の並列度向上を図ることが考えられる。 In order to efficiently use a computer equipped with a multi-core, it is necessary to improve the parallelism of processing and distribute the processing to each core. As an implementation method, it is conceivable to use a single OS that supports multi-core. However, in this case, the real-time property of the embedded device greatly depends on the real-time response performance of the OS used. For this reason, embedded devices equipped with multi-cores operate in real time by operating various OSs such as a general-purpose OS with GUI (Graphical User Interface) and network protocol functions, and a real-time OS (RTOS) with hard real-time performance for each core. It is conceivable to improve the parallelism of processing while ensuring the performance.
図15は、従来のマルチコアを搭載した組込み機器2の構成を示すものである。図15を用いて、従来の複数OS起動手段(非特許文献1に記載の方法)を説明する。 FIG. 15 shows the configuration of a built-in device 2 equipped with a conventional multi-core. Conventional multi-OS booting means (method described in Non-Patent Document 1) will be described with reference to FIG.
この組込み機器2は、マルチコアCPUを搭載したハードウェア資源100(以下、単にハードウェアという)と、OSの起動を行うファームウェア200と、ハードウェアリセット後に起動されるOS(初期起動OS)300と、初期起動OS300によって起動されるOS(被起動OS)400からなる。 The embedded device 2 includes a hardware resource 100 (hereinafter simply referred to as hardware) equipped with a multi-core CPU, firmware 200 for starting up the OS, an OS (initial startup OS) 300 that is started after hardware reset, It comprises an OS (started OS) 400 that is activated by the initial activation OS 300.
ハードウェア100は、CPU101とCPU102、メモリ111、二次記憶装置121、入出力装置131を備える。
CPU101はハードウェアリセットによりファームウェア200のOS起動手段201に処理を移す機能を備える。
CPU101とCPU102はCPU間割り込み機能を備え、CPU間割り込みによって、ファームウェア200のOS起動手段201に処理を移す機能を備える。
メモリは各OSがロードされる領域A、領域Bを備える。
二次記憶装置121は初期起動OSバイナリ122及び被起動OSバイナリ123を保持する機能を備える。
入出力装置131は、例えばディスプレイ、キーボード、シリアルコンソール、マウス、ネットワークインタフェースデバイス、赤外線インタフェースデバイス、USB(Universal Serial Bus)ポートといったものを指し、各OSに対して入出力を実施する機能を備える。
The hardware 100 includes a CPU 101 and a CPU 102, a memory 111, a secondary storage device 121, and an input / output device 131.
The CPU 101 has a function of transferring the processing to the OS activation unit 201 of the firmware 200 by hardware reset.
The CPU 101 and the CPU 102 have an inter-CPU interrupt function, and a function of transferring processing to the OS activation unit 201 of the firmware 200 by an inter-CPU interrupt.
The memory includes an area A and an area B where each OS is loaded.
The secondary storage device 121 has a function of holding the initial boot OS binary 122 and the booted OS binary 123.
The input / output device 131 refers to, for example, a display, a keyboard, a serial console, a mouse, a network interface device, an infrared interface device, a USB (Universal Serial Bus) port, and has a function of performing input / output with respect to each OS.
ファームウェア200はOS起動手段201とOS起動情報テーブル500を備える。
OS起動手段201は、ファームウェアが静的に保持するOS起動情報テーブル500の情報を読み出し、この情報に従ってOSのブートを実施する機能を備える。
OS起動情報テーブル500は初期起動OS300の起動情報及び被起動OS400の起動情報を保持する。情報の内容としては、CPU間割り込みをかけるCPU番号(起動CPU番号)、管理するCPU番号(管理CPU番号)、管理するメモリ領域(管理メモリ領域)及び入出力装置(管理入出力装置)、二次記憶装置121のOSバイナリのアドレス、容量及び、エントリアドレスを備えている。
The firmware 200 includes an OS activation unit 201 and an OS activation information table 500.
The OS activation unit 201 has a function of reading information in the OS activation information table 500 that is statically held by the firmware and performing booting of the OS according to this information.
The OS boot information table 500 holds boot information of the initial boot OS 300 and boot information of the booted OS 400. The contents of the information include a CPU number (starting CPU number) for interrupting between CPUs, a managed CPU number (managed CPU number), a managed memory area (managed memory area), an input / output device (managed input / output device), two An OS binary address, capacity, and entry address of the next storage device 121 are provided.
初期起動OS300はハードウェア起動/停止手段302と被起動OS起動手段303を備える。
ハードウェア起動/停止手段302は組込み機器に搭載されている各ハードウェアの起動、停止機能を備える。
被起動OS起動手段303はファームウェア200上のOS起動情報テーブル500から被起動OS400の起動CPU番号を取得し、このCPUに対してCPU間割り込みを行う。
The initial boot OS 300 includes hardware start / stop means 302 and booted OS start means 303.
The hardware start / stop means 302 has a start / stop function for each hardware installed in the embedded device.
The booted OS booting means 303 acquires the boot CPU number of the booted OS 400 from the OS boot information table 500 on the firmware 200 and performs an inter-CPU interrupt for this CPU.
次に、従来技術における、組込み機器のハードウェアリセットから初期起動OS300および被起動OS400が起動するまでを説明する。
ハードウェアリセットにより、CPU101上でOS起動手段201が動作する。OS起動手段201は自身が動作しているCPU番号を取得する。
次にOS起動手段201は、このCPU番号を利用して、OS起動情報テーブル500内の起動CPU番号を検索し、初期起動OS300の起動情報(管理CPU番号、管理メモリ領域、管理入出力装置、二次記憶アドレスなど)を取得し、この情報を用いて、初期起動OS300の起動を行う。
初期起動OS300はOS初期化処理中に、被起動OS起動手段303を動作させる。
被起動OS起動手段303はOS起動情報テーブル500内の、被起動OS400の起動情報から、起動CPU番号を取得し、このCPUに対してCPU間割り込みをかける。これにより、CPU102上でOS起動手段201が動作する。
OS起動手段201は初期起動OS300の起動と同一の方式で被起動OS400を起動する。
以上が従来のマルチコアを搭載した組込み機器におけるハードウェアリセット時の複数OS起動手順である。
Next, a description will be given from the hardware reset of the embedded device to the startup of the initial startup OS 300 and the booted OS 400 in the prior art.
The OS activation unit 201 operates on the CPU 101 by hardware reset. The OS activation unit 201 acquires the CPU number on which it is operating.
Next, the OS booting means 201 uses this CPU number to search for the boot CPU number in the OS boot information table 500, and boot information of the initial boot OS 300 (management CPU number, management memory area, management input / output device, Secondary storage address etc.) is acquired, and the initial startup OS 300 is started using this information.
The initial startup OS 300 operates the OS startup unit 303 to be started during the OS initialization process.
The booted OS boot unit 303 acquires the boot CPU number from the boot information of the booted OS 400 in the OS boot information table 500, and issues an inter-CPU interrupt to the CPU. As a result, the OS activation unit 201 operates on the CPU 102.
The OS boot unit 201 boots the booted OS 400 in the same manner as the boot of the initial boot OS 300.
The above is the multiple OS startup procedure at the time of hardware reset in the embedded device equipped with the conventional multi-core.
また、マルチプロセッサシステムにおける起動方法として、特許文献1に記載の技術がある。
非特許文献1に記載された従来の複数OS起動方式は、OS起動の際に、ファームウェア(ブートローダ)が保持する静的なOS起動情報テーブル500、及び、ハードウェアリセットにより起動する初期起動OS300が被起動OS起動手段303を保持していることを利用して、複数OSの起動を行っている。この方法ではハードウェアリセット後の初期化処理時に複数のOSを起動することはできるが、初期化処理終了後に、ユーザの指示などで、更に任意のOSを起動させることはできないという課題がある。
つまり、被起動OSが利用可能なハードウェアリソースは、静的なOS起動情報テーブルにおいて固定的に設定されているため、初期化処理終了後に、OS起動情報テーブルに示されているハードウェアリソースが他に使用されている場合には、被起動OSを起動することができない。
The conventional multi-OS boot method described in Non-Patent Document 1 includes a static OS boot information table 500 held by firmware (boot loader) and an initial boot OS 300 booted by hardware reset when the OS is booted. A plurality of OSs are activated by utilizing the fact that the activated OS activation means 303 is held. In this method, a plurality of OSs can be activated at the time of initialization processing after hardware reset. However, after the initialization processing is completed, there is a problem that any OS cannot be activated by a user instruction or the like.
In other words, since the hardware resources that can be used by the booted OS are fixedly set in the static OS startup information table, the hardware resources indicated in the OS startup information table are changed after the initialization process is completed. If it is used elsewhere, the booted OS cannot be started.
この発明は、上記のような問題点を解決することを主な目的としており、初期起動OSが通常動作状態になった後でも、任意のOSの起動を可能にすること、および、複数のOSが起動した後でも、OS間でハードウェア資源のやり取りを可能にすることを主な目的とする。 The main object of the present invention is to solve the above-described problems. It is possible to start an arbitrary OS even after the initial startup OS enters a normal operation state, and a plurality of OSs. The main purpose is to allow hardware resources to be exchanged between OSs even after the OS is started.
本発明に係る情報処理装置は、
複数のOS(Operating System)を有し、前記複数のOSに割り当てるハードウェア資源を備える情報処理装置であって、
ハードウェア資源の割り当て状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況を通知するハードウェア管理手段と、
いずれかのOSの起動が要求された場合に、起動に必要なハードウェア資源がOSごとに示されている起動ハードウェア資源情報を参照し、起動が要求された被起動OSの起動に必要なハードウェア資源を判断し、前記ハードウェア管理手段からハードウェア資源の割り当て状況を通知され、前記ハードウェア管理手段から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OSに割り当てるハードウェア割り当て手段と、
前記ハードウェア割り当て手段により割り当てられたハードウェア資源を用いて被起動OSを起動するOS起動手段とを有することを特徴とする。
An information processing apparatus according to the present invention includes:
An information processing apparatus having a plurality of OSs (Operating Systems) and hardware resources allocated to the plurality of OSs,
Hardware management means for managing the allocation status of hardware resources and notifying the allocation status of hardware resources when activation of any OS is requested;
When activation of any OS is requested, the hardware resources necessary for activation are referred to the activation hardware resource information indicated for each OS, and are necessary for activation of the booted OS requested to be activated. Hardware resources are determined, hardware resource allocation status is notified from the hardware management means, and hardware resource allocation status notified from the hardware management means and hardware resources required for booting the booted OS Hardware allocation means for selecting a hardware resource to be allocated to the booted OS based on the above, and allocating the selected hardware resource to the booted OS;
OS booting means for booting the booted OS using the hardware resources allocated by the hardware allocation means.
本発明では、OS起動に必要なハードウェア資源を動的に選択するようにしたので、初期起動OSが通常起動状態になった後でも、任意OSの起動が可能となる。 In the present invention, since the hardware resources necessary for OS startup are dynamically selected, it is possible to start an arbitrary OS even after the initial startup OS is in the normal startup state.
実施の形態1.
図1はこの発明の実施の形態1におけるマルチコアを搭載した組込み機器1(情報処理装置)の構成を示すものである。
この組込み機器1は、マルチコアCPUを搭載したハードウェア資源100(以下、単にハードウェアともいう)と、OSの起動を行うファームウェア200と、ハードウェアリセット後に起動されるOS(初期起動OS)300と、初期起動OS300によって起動されるOS(被起動OS)400と、ファームウェア200によって生成されるOS起動情報テーブル500からなる。
Embodiment 1 FIG.
FIG. 1 shows the configuration of an embedded device 1 (information processing apparatus) equipped with a multi-core according to Embodiment 1 of the present invention.
The embedded device 1 includes a hardware resource 100 (hereinafter also simply referred to as hardware) equipped with a multi-core CPU, firmware 200 for starting an OS, and an OS (initial startup OS) 300 that is started after a hardware reset. The system includes an OS (started OS) 400 activated by the initial activation OS 300 and an OS activation information table 500 generated by the firmware 200.
ハードウェア100は、CPU101とCPU102、メモリ111、二次記憶装置121、入出力装置131を備える。
CPU101は、ハードウェアリセットによりファームウェア200の初期起動OS起動手段202に処理を移す機能を備える。
CPU101とCPU102はCPU間割り込み機能を備え、CPU間割り込みによって、ファームウェア200のOS起動手段201に処理を移す機能を備える。
メモリ111は、OS起動情報テーブル500がロードされる領域A及び各OSがロードされる領域B、領域Cを備える。
二次記憶装置121は、初期起動OSバイナリ122及び被起動OSバイナリ123を保持する機能を備える。
入出力装置131は、例えばディスプレイ、キーボード、シリアルコンソール、マウス、ネットワークインタフェースデバイス、赤外線インタフェースデバイス、USBポートといったものを指し、各OSに対して入出力を実施する機能を備える。
The hardware 100 includes a CPU 101 and a CPU 102, a memory 111, a secondary storage device 121, and an input / output device 131.
The CPU 101 has a function of transferring processing to the initial boot OS booting unit 202 of the firmware 200 by hardware reset.
The CPU 101 and the CPU 102 have an inter-CPU interrupt function, and a function of transferring processing to the OS activation unit 201 of the firmware 200 by an inter-CPU interrupt.
The memory 111 includes an area A in which the OS activation information table 500 is loaded, an area B in which each OS is loaded, and an area C.
The secondary storage device 121 has a function of holding the initial boot OS binary 122 and the booted OS binary 123.
The input / output device 131 indicates, for example, a display, a keyboard, a serial console, a mouse, a network interface device, an infrared interface device, a USB port, and the like, and has a function of performing input / output with respect to each OS.
ファームウェア200は、OS起動手段201と初期起動OS起動手段202とハードウェア管理手段203と初期起動OS起動情報テーブル251とハードウェア管理テーブル252(ハードウェア割り当て状況情報)と被起動OS用ハードウェア情報テーブル253(起動ハードウェア資源情報)とメモリ領域分割テーブル254を備える。 The firmware 200 includes an OS boot unit 201, an initial boot OS boot unit 202, a hardware management unit 203, an initial boot OS boot information table 251, a hardware management table 252 (hardware allocation status information), and hardware information for the booted OS. A table 253 (startup hardware resource information) and a memory area division table 254 are provided.
OS起動手段201は、メモリ111の領域Aに展開されたOS起動情報テーブル500の情報を読み出し、この情報に従ってOSのブートを実施する機能を備える。
初期起動OS起動手段202は、初期起動OS起動情報テーブル251の情報を読み出し、メモリ111の領域AにOS起動情報テーブル500を書き出し、OS起動手段201へ処理を移す機能を備える。
ハードウェア管理手段203は、初期起動OS300のハードウェア割り当て手段301からの読み出し指示を受け、ハードウェア管理テーブル252のテーブル情報を読み出し、初期起動OS300のハードウェア割り当て手段301へ返答する機能を備える。
それに加えて、ハードウェア管理手段203は、初期起動OS300のハードウェア割り当て手段301からの書き込み指示を受け、ハードウェア管理テーブル252にテーブル情報を書き込む機能を備える。なお、ここでいう管理とは、ハードウェアがOSによって管理されていることを表している。
The OS boot unit 201 has a function of reading the information of the OS boot information table 500 expanded in the area A of the memory 111 and performing booting of the OS according to this information.
The initial boot OS boot unit 202 has a function of reading the information of the initial boot OS boot information table 251, writing the OS boot information table 500 in the area A of the memory 111, and transferring the processing to the OS boot unit 201.
The hardware management unit 203 has a function of receiving a read instruction from the hardware allocation unit 301 of the initial startup OS 300, reading table information of the hardware management table 252, and returning a response to the hardware allocation unit 301 of the initial startup OS 300.
In addition, the hardware management unit 203 has a function of writing table information in the hardware management table 252 in response to a write instruction from the hardware allocation unit 301 of the initial startup OS 300. Note that the management here indicates that the hardware is managed by the OS.
初期起動OS300は、ハードウェア割り当て手段301とハードウェア起動/停止手段302を備える。
ハードウェア起動/停止手段302は、組込み機器1に搭載されている各ハードウェアの起動、停止機能を備える。
ハードウェア割り当て手段301は、初期起動OS300からの被起動OS400起動指示により、ファームウェア200の被起動OS用ハードウェア情報テーブル253から、被起動OS400の起動に必要なハードウェア情報を得る機能を備える。
さらに、ハードウェア割り当て手段301は、ファームウェア200のハードウェア管理手段203に対して、ハードウェア管理状況を問い合わせる。
さらに、ハードウェア割り当て手段301は、ファームウェア200のハードウェア管理手段203に対して、被起動OS400が管理するハードウェアを報告する機能を持つ。
さらに、ハードウェア割り当て手段301は、確保したハードウェアとファームウェア200の被起動OS用ハードウェア情報テーブル253を元にOS起動情報テーブル500を生成し、メモリ111の領域Aへ上書きする機能を持つ。さらにOS起動情報テーブル500の被起動OS400用起動CPU情報から、該当CPUに対してCPU間割り込みを行う機能を備える。
さらに、ハードウェア割り当て手段301は、メモリ領域分割テーブル254から、未管理のメモリ領域の容量を算出する機能を備える。
The initial boot OS 300 includes hardware allocation means 301 and hardware start / stop means 302.
The hardware start / stop means 302 has a start / stop function for each hardware mounted on the embedded device 1.
The hardware allocating unit 301 has a function of obtaining hardware information necessary for booting the booted OS 400 from the booted OS hardware information table 253 of the firmware 200 in response to a boot OS 400 boot instruction from the initial boot OS 300.
Further, the hardware allocation unit 301 inquires of the hardware management unit 203 of the firmware 200 about the hardware management status.
Further, the hardware allocation unit 301 has a function of reporting the hardware managed by the booted OS 400 to the hardware management unit 203 of the firmware 200.
Further, the hardware allocation unit 301 has a function of generating the OS activation information table 500 based on the secured hardware and the activated OS hardware information table 253 of the firmware 200 and overwriting the area A of the memory 111. Furthermore, a function is provided for performing an inter-CPU interrupt to the corresponding CPU from the boot CPU information for the booted OS 400 in the OS boot information table 500.
Furthermore, the hardware allocation unit 301 has a function of calculating the capacity of an unmanaged memory area from the memory area division table 254.
被起動OS400はハードウェア起動/停止手段401を備える。ハードウェア起動/停止手段401は組込み機器1に搭載されている各ハードウェアの起動、停止機能を備える。 The booted OS 400 includes hardware start / stop means 401. The hardware start / stop means 401 has a function for starting and stopping each hardware mounted on the embedded device 1.
ここで、本実施の形態に係る組込み機器1の動作を概説する。なお、動作についての詳細な説明は後述する。
ハードウェア管理手段203は、ハードウェア資源の割り当て状況を示すハードウェア管理テーブル252(ハードウェア割り当て状況情報)を管理し、複数のOSの中で最初に起動される初期起動OS300が起動されて初期起動OS300が通常動作状態になった後に他のいずれかのOS(被起動OS400)の起動が要求された場合に、現在のハードウェア資源の割り当て状況を通知する。
ハードウェア割り当て手段301は、OSの起動に必要なハードウェア資源がOSごとに示されている被起動OS用ハードウェア情報テーブル253(起動ハードウェア資源情報)を参照し、起動が要求された被起動OS400の起動に必要なハードウェア資源を判断し、ハードウェア管理手段203からハードウェア資源の割り当て状況を通知され、ハードウェア管理手段203から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OS400に割り当てる。
そして、OS起動手段201が、ハードウェア割り当て手段301により割り当てられたハードウェア資源を用いて被起動OS400を起動する。
また、ハードウェア管理手段203は、ハードウェア割り当て手段301による被起動OS400に対するハードウェア資源の割り当て後に、被起動OS400に対するハードウェア資源の割り当てを反映させてハードウェア管理テーブル(ハードウェア割り当て状況情報)を更新する。
Here, the operation of the embedded device 1 according to the present embodiment will be outlined. A detailed description of the operation will be described later.
The hardware management unit 203 manages a hardware management table 252 (hardware allocation status information) indicating the allocation status of hardware resources, and an initial startup OS 300 that is started first among a plurality of OSs is started and initialized. When the activation of one of the other OSs (started OS 400) is requested after the activation OS 300 enters the normal operation state, the current hardware resource allocation status is notified.
The hardware allocating unit 301 refers to the booted OS hardware information table 253 (boot hardware resource information) in which the hardware resources necessary for booting the OS are shown for each OS, and the requested hardware resources for booting are requested. Hardware resources necessary for starting the boot OS 400 are determined, the hardware resource allocation status is notified from the hardware management means 203, and the hardware resource allocation status notified from the hardware management means 203 and the OS to be started A hardware resource to be allocated to the booted OS is selected based on the hardware resources necessary for booting, and the selected hardware resource is allocated to the booted OS 400.
Then, the OS activation unit 201 activates the activated OS 400 using the hardware resource allocated by the hardware allocation unit 301.
Also, the hardware management unit 203 reflects the allocation of the hardware resources to the booted OS 400 after the hardware allocation of the booted OS 400 by the hardware allocation unit 301, and reflects the hardware management table (hardware allocation status information). Update.
図2は、ファームウェア200が備える初期起動OS起動情報テーブル251の内容の例について示している。
初期起動OS起動情報テーブル251は初期起動OS300を起動させるための情報を保持している。
情報の内容としては、初期起動OS300が起動時に動作しているCPUのCPU番号(起動CPU番号)、初期起動OS300が管理するCPU番号(管理CPU番号)、メモリ領域(管理メモリ領域)、入出力装置、初期起動OSバイナリ122の二次記憶アドレス、容量及びエントリアドレスを備える。
なお、管理CPU番号、管理メモリ領域、管理入出力装置は複数存在しても良い。
FIG. 2 shows an example of the contents of the initial boot OS boot information table 251 with which the firmware 200 is provided.
The initial startup OS startup information table 251 holds information for starting up the initial startup OS 300.
The contents of the information include the CPU number (starting CPU number) of the CPU that is operating when the initial startup OS 300 is operating, the CPU number (management CPU number) managed by the initial startup OS 300, the memory area (management memory area), and the input / output The secondary storage address, capacity, and entry address of the device and initial boot OS binary 122 are provided.
A plurality of management CPU numbers, management memory areas, and management input / output devices may exist.
図3は、ファームウェア200が備えるハードウェア管理テーブル252の内容例を示している。
ハードウェア管理テーブル252はハードウェアの管理状況を保持している。
情報の内容としては、CPU管理状況、メモリ管理状況、入出力装置管理状況である。
図3の管理中とは、あるハードウェアがOSによって管理されていることを表している。
図3の未管理とは、どのOSからも管理されていないことを表している。
また、OSによって管理されているハードウェアであっても、使用されていない可能性がある(管理中であるが未使用のハードウェアが存在する可能性がある)。
FIG. 3 shows an example of the contents of the hardware management table 252 provided in the firmware 200.
The hardware management table 252 holds the management status of hardware.
Information contents include a CPU management status, a memory management status, and an input / output device management status.
“Under management” in FIG. 3 indicates that certain hardware is managed by the OS.
“Unmanaged” in FIG. 3 indicates that no OS is managed.
Further, even hardware managed by the OS may not be used (there may be unused hardware that is being managed but not used).
図4は、被起動OS用ハードウェア情報テーブル253の内容例について示している。
被起動OS用ハードウェア情報テーブル253は各被起動OSが起動するのに必要なハードウェア情報を保持している。
情報の内容としては、被起動OSのOS起動に必須のCPU数、必須のメモリ容量、必須の入出力装置、二次記憶装置121の被起動OSバイナリのアドレス、容量及びエントリアドレスを備えている。なお、必須のCPU及び入出力装置は複数存在(必須CPU数が2個、あるいは必須入出力装置がディスプレイとキーボード等)しても良い。
FIG. 4 shows an example of the contents of the booted OS hardware information table 253.
The booted OS hardware information table 253 holds hardware information necessary for booting each booted OS.
The contents of the information include the number of CPUs essential for starting the OS of the OS to be started, the required memory capacity, the required input / output device, the address of the OS to be started of the secondary storage device 121, the capacity, and the entry address. . Note that there may be a plurality of essential CPUs and input / output devices (the number of essential CPUs is two, or the essential input / output devices are a display, a keyboard, and the like).
図5は、メモリ領域分割テーブル254の内容例について示している。
メモリ領域分割テーブル254は各メモリ領域(領域A、領域B、領域C)の開始アドレス及び終了アドレスを保持している。
これにより、各メモリ領域のアドレス及び容量を取得可能となる。本アドレスはファームウェア内に静的に設定されている。
FIG. 5 shows an example of the contents of the memory area division table 254.
The memory area division table 254 holds the start address and end address of each memory area (area A, area B, area C).
Thereby, the address and capacity of each memory area can be acquired. This address is set statically in the firmware.
図6は、メモリ111の領域Aに展開されたOS起動情報テーブル500の内容例について示している。
OS起動情報テーブル500はOS起動手段201によって利用されるOS起動情報を保持している。
情報の内容としては、CPU間割り込みをかけるCPU番号(起動CPU番号)、管理するCPU番号(管理CPU番号)、管理するメモリ領域(管理メモリ領域)及び入出力装置(管理入出力装置)、二次記憶装置121のOSバイナリのアドレス、容量及び、エントリアドレスを備えている。
FIG. 6 shows an example of the contents of the OS startup information table 500 expanded in the area A of the memory 111.
The OS activation information table 500 holds OS activation information used by the OS activation unit 201.
The contents of the information include a CPU number (starting CPU number) for interrupting between CPUs, a managed CPU number (managed CPU number), a managed memory area (managed memory area), an input / output device (managed input / output device), two An OS binary address, capacity, and entry address of the next storage device 121 are provided.
次に、この実施の形態における、組込み機器1のハードウェアリセットから初期起動OS300の起動が終了し、通常動作状態になるまでを図7を用いて説明する。なお、この図7に示す処理は、従来から存在する内容である。
先ず、外部からのハードウェアリセットにより、CPU101は初期起動OS起動手段202に処理を移し、初期起動OS起動手段202が、メモリ領域分割テーブル254の最初のエントリに記述されているメモリ領域(領域A)の一部をメモリ領域分割テーブル254用に確保し、内容を展開する(S1002)。なお、内容はハードウェアリセット時に静的に設定されている。
さらに、初期起動OS起動手段202は、メモリ111の領域Aの一部をハードウェア管理テーブル252用に確保し、ハードウェア管理テーブル252のメモリ管理状況の項目にあるメモリ領域Aを管理中に更新する(S1003)。
次に、初期起動OS起動手段202は、メモリ111の領域Aの一部をOS起動情報テーブル500用に確保し、初期起動OS起動情報テーブル251の内容をOS起動情報テーブル500にコピーする(S1004)。
また、初期起動OS起動手段202は、OS起動情報テーブル500から、初期起動OS300が管理するハードウェア(CPU=CPU101、メモリ=領域B、入出力装置=ディスプレイ)をハードウェア管理手段203に報告する。
ハードウェア管理手段203は、初期起動OS起動手段202からの報告に応じて、ハードウェア管理テーブル252を更新する。これにより、ハードウェア管理テーブル252のCPU管理状況の項目にあるCPU101が管理中、メモリ管理状況の項目にあるメモリ領域Bが管理中、入出力管理状況の項目にあるディスプレイが管理中に更新される(S1005)。
その後、初期起動OS起動手段202は、OS起動手段201に処理を移し、OS起動情報テーブル500の内、OSバイナリの二次記憶アドレス情報(0x7A1200)及び容量(0xF4240)から初期起動OSバイナリ122の二次記憶装置121上の位置を識別し、メモリ領域分割テーブル254の内容を取得し、初期起動OSバイナリ122をメモリ111の領域Bにロードする。さらにOS起動手段201はOS起動情報テーブル500のエントリアドレス情報(0x7010)を用いて、メモリ111上のアドレス0x7010にジャンプする(S1006)。
これにより初期起動OS300の初期化処理が実行される。
初期起動OS300は、OS初期化処理中、OS起動情報テーブル500で規定されている各管理ハードウェアを初期化する。つまり、管理CPUであるCPU101と、管理メモリ領域である領域Bと、管理入出力装置であるディスプレイを、ハードウェア起動/停止手段302を用いて初期化する(S1007)。
以上により、初期起動OS300の起動が終了し、組込み機器1が通常動作となる。
Next, the process from the hardware reset of the embedded device 1 to the end of the startup of the initial startup OS 300 and the normal operation state in this embodiment will be described with reference to FIG. Note that the processing shown in FIG. 7 is a conventional content.
First, by an external hardware reset, the CPU 101 moves the process to the initial startup OS startup unit 202, and the initial startup OS startup unit 202 executes the memory area (area A) described in the first entry of the memory area division table 254. ) Is reserved for the memory area division table 254, and the contents are expanded (S1002). The contents are set statically at the time of hardware reset.
Further, the initial startup OS startup unit 202 reserves a part of the area A of the memory 111 for the hardware management table 252 and updates the memory area A in the item of the memory management status of the hardware management table 252 during management. (S1003).
Next, the initial startup OS startup unit 202 reserves a part of the area A of the memory 111 for the OS startup information table 500, and copies the contents of the initial startup OS startup information table 251 to the OS startup information table 500 (S1004). ).
Further, the initial startup OS startup unit 202 reports the hardware (CPU = CPU 101, memory = area B, input / output device = display) managed by the initial startup OS 300 to the hardware management unit 203 from the OS startup information table 500. .
The hardware management unit 203 updates the hardware management table 252 in response to the report from the initial startup OS startup unit 202. As a result, the CPU 101 in the CPU management status item of the hardware management table 252 is managing, the memory area B in the memory management status item is being managed, and the display in the I / O management status item is being managed. (S1005).
Thereafter, the initial startup OS startup unit 202 moves the processing to the OS startup unit 201, and from the OS startup information table 500, from the secondary storage address information (0x7A1200) and capacity (0xF4240) of the OS startup information table 500, The position on the secondary storage device 121 is identified, the contents of the memory area division table 254 are acquired, and the initial boot OS binary 122 is loaded into the area B of the memory 111. Further, the OS activation unit 201 jumps to the address 0x7010 on the memory 111 using the entry address information (0x7010) in the OS activation information table 500 (S1006).
Thereby, the initialization process of the initial startup OS 300 is executed.
The initial startup OS 300 initializes each management hardware defined in the OS startup information table 500 during the OS initialization process. That is, the CPU 101 that is the management CPU, the area B that is the management memory area, and the display that is the management input / output device are initialized using the hardware start / stop unit 302 (S1007).
As described above, the startup of the initial startup OS 300 is completed, and the embedded device 1 enters a normal operation.
次に、この実施の形態における、組込み機器1の通常動作状態から被起動OS400を起動する動作を図8を用いて説明する。
組込み機器1が通常動作状態で、ユーザは初期起動OS300を通じて、被起動OS400の起動要求をハードウェア割り当て手段301に伝える(S1012)。
ハードウェア割り当て手段301は被起動OS用ハードウェア情報テーブル253から被起動OS400の起動に必要なハードウェア情報を取得する(S1013)(ハードウェア割り当てステップ)。
ハードウェア割り当て手段301は、ハードウェア管理手段203に対して、現在のハードウェア管理状況(ハードウェア資源の割り当て状況)を問い合わせる(S1014)(ハードウェア割り当てステップ)。
ハードウェア管理手段203は、ハードウェア管理テーブル252から各ハードウェアの管理状況(ハードウェア資源の割り当て状況)を読み込み、ハードウェア割り当て手段301に返答する(S1015)(ハードウェア管理ステップ)。
ハードウェア割り当て手段301はハードウェア管理手段203の返答結果および、被起動OS用ハードウェア情報テーブル253の情報から、被起動OS400の起動に必要なハードウェアを判断する。この実施の形態の場合は、被起動OS用ハードウェア情報テーブル253から被起動OS400の起動に必要なCPU数は1つであり、ハードウェア管理手段203の返答結果から未管理のCPUがCPU102であることから、CPU102を選択し被起動OS400に割り当てる。管理メモリ領域については、ハードウェア割り当て手段301は、未管理のメモリ領域Cについて、メモリ領域分割テーブル254の内容を取得し、メモリ領域Cの容量を算出(0x1E00000)する。そして、メモリ領域Cは被起動OS用ハードウェア情報テーブル253の必須メモリ容量0x800000以上の容量を持つと判断し、メモリ領域Cを選択し被起動OS400に割り当てる。また、入出力装置についても、必須入出力装置であるシリアルコンソールが未管理のため、これを選択し被起動OS400に割り当てる(S1016)(ハードウェア割り当てステップ)。
Next, an operation for starting the OS to be started 400 from the normal operation state of the embedded device 1 in this embodiment will be described with reference to FIG.
While the embedded device 1 is in a normal operation state, the user transmits a startup request for the OS to be started 400 to the hardware allocation unit 301 through the initial startup OS 300 (S1012).
The hardware allocation unit 301 acquires hardware information necessary for booting the booted OS 400 from the booted OS hardware information table 253 (S1013) (hardware allocation step).
The hardware allocation unit 301 inquires of the hardware management unit 203 about the current hardware management status (hardware resource allocation status) (S1014) (hardware allocation step).
The hardware management means 203 reads the management status (hardware resource allocation status) of each hardware from the hardware management table 252 and returns it to the hardware allocation means 301 (S1015) (hardware management step).
The hardware allocation unit 301 determines the hardware necessary for starting the booted OS 400 from the response result of the hardware management unit 203 and the information in the booted OS hardware information table 253. In the case of this embodiment, the number of CPUs required for starting the booted OS 400 is one from the booted OS hardware information table 253, and the unmanaged CPU is the CPU 102 from the response result of the hardware management unit 203. Therefore, the CPU 102 is selected and assigned to the booted OS 400. For the management memory area, the hardware allocation unit 301 acquires the contents of the memory area division table 254 for the unmanaged memory area C, and calculates the capacity of the memory area C (0x1E00000). Then, it is determined that the memory area C has a required memory capacity of 0x800000 or more in the booted OS hardware information table 253, and the memory area C is selected and allocated to the booted OS 400. As for the input / output device, since the serial console which is an indispensable input / output device is not managed, it is selected and assigned to the booted OS 400 (S1016) (hardware assignment step).
ハードウェア割り当て手段301は被起動OS400に割り当てたハードウェア(CPU=CPU102、メモリ=領域C、入出力装置=シリアルコンソール)を、ハードウェア管理手段203に報告する(S1017)。
ハードウェア管理手段203はハードウェア割り当て手段301からの報告に応じて、ハードウェア割り当て手段301による被起動OS400に対するハードウェア割り当て結果を反映させてハードウェア管理テーブル252を更新する(S1018)。
これにより、被起動OS400に割り当てられたCPU102、メモリ領域C及びシリアルコンソールが管理中に更新される。
The hardware allocation unit 301 reports the hardware (CPU = CPU 102, memory = area C, input / output device = serial console) allocated to the OS 400 to be started to the hardware management unit 203 (S1017).
In response to the report from the hardware allocation unit 301, the hardware management unit 203 updates the hardware management table 252 by reflecting the hardware allocation result for the OS 400 to be started by the hardware allocation unit 301 (S1018).
Thereby, the CPU 102, the memory area C, and the serial console assigned to the OS 400 to be started are updated during management.
ハードウェア割り当て手段301は被起動OS400の起動用に確保したこれらのハードウェアと、被起動OS用ハードウェア情報テーブル253を元にOS起動情報テーブル500を生成し、ハードウェア100のメモリ111の領域Aに上書きする(S1019)。
これによりOS起動情報テーブル500は、起動CPUがCPU102、管理CPUがCPU102、管理メモリ領域が領域C、管理入出力装置がシリアルコンソール、二次記憶アドレスが0x2625A000、容量が0x1E8480、エントリアドレスが0x7C00に上書きされる。この状態で、ハードウェア割り当て手段301はOS起動情報テーブル500の起動CPU番号に記述されるCPU(CPU102)に対して、CPU間割り込みをかける(S1020)。
これによりCPU102が起動し、OS起動手段201が動作する。また、CPU101上のハードウェア割り当て手段301は処理を終了し通常動作に戻る。
OS起動手段201は、OS起動情報テーブル500の内、OSバイナリの二次記憶アドレス情報(0x2625A000)及び容量(0x1E8480)から被起動OSバイナリ123の二次記憶上の位置を識別し、被起動OSバイナリ123をメモリ111の領域Cにロードする。さらにOS起動手段201はOS起動情報テーブル500のエントリアドレス情報(0x7C00)から、メモリ111上のアドレス0x7C00にジャンプする。これにより被起動OS400の初期化処理が実行される(S1021)(OS起動ステップ)。
被起動OS400はOS初期化処理中、OS起動情報テーブル500で規定されている各管理ハードウェアを初期化する。つまり、管理CPUであるCPU102と、管理メモリ領域である領域Cと、管理入出力装置であるシリアルコンソールを、ハードウェア起動/停止手段401を用いて初期化する。
以上により、被起動OS400の起動が終了する。
The hardware allocation unit 301 generates the OS startup information table 500 based on the hardware reserved for starting the booted OS 400 and the booted OS hardware information table 253, and the area of the memory 111 of the hardware 100. A is overwritten (S1019).
As a result, the OS startup information table 500 has the startup CPU as CPU 102, the management CPU as CPU 102, the management memory area as area C, the management input / output device as the serial console, the secondary storage address as 0x2625A000, the capacity as 0x1E8480, and the entry address as 0x7C00. Overwritten. In this state, the hardware allocation unit 301 issues an inter-CPU interrupt to the CPU (CPU 102) described in the activation CPU number of the OS activation information table 500 (S1020).
As a result, the CPU 102 is activated and the OS activation means 201 operates. Further, the hardware allocation unit 301 on the CPU 101 ends the processing and returns to the normal operation.
The OS boot unit 201 identifies the location on the secondary storage of the booted OS binary 123 from the OS binary secondary storage address information (0x2625A000) and the capacity (0x1E8480) in the OS boot information table 500, and the booted OS The binary 123 is loaded into the area C of the memory 111. Further, the OS activation unit 201 jumps from the entry address information (0x7C00) of the OS activation information table 500 to the address 0x7C00 on the memory 111. As a result, initialization processing of the OS to be started 400 is executed (S1021) (OS startup step).
The OS 400 to be started initializes each management hardware defined in the OS startup information table 500 during the OS initialization process. That is, the CPU 102 that is the management CPU, the area C that is the management memory area, and the serial console that is the management input / output device are initialized using the hardware activation / deactivation unit 401.
Thus, the booting of the booted OS 400 ends.
この実施の形態による、マルチコアを搭載した組込み機器1の複数OS起動方式では、
被起動OSが必要とするハードウェア情報を保持する領域と、機器内のハードウェアを管理する領域を備え、本情報を元に被起動OSが管理するハードウェアを割り当てると共に、OS起動に必要な情報を動的に生成するようにしたので、初期起動OSが通常起動状態になった後でも、任意OSの起動が可能となる。
In the multi-OS boot method of the embedded device 1 equipped with a multi-core according to this embodiment,
An area for holding hardware information required by the booted OS and an area for managing hardware in the device are provided. The hardware managed by the booted OS is allocated based on this information, and is necessary for OS startup. Since the information is dynamically generated, it is possible to start an arbitrary OS even after the initial startup OS is in a normal startup state.
なお、本実施の形態ではメモリ領域を3分割としたが、これは4分割以上であっても同様の効果を得られる。
また、CPUについても、2つとしたが、これは3つ以上であっても同様の効果を得られる。
Although the memory area is divided into three in this embodiment, the same effect can be obtained even when the memory area is divided into four or more.
In addition, although there are two CPUs, the same effect can be obtained even if there are three or more CPUs.
また、被起動OSとして選択できるOSは一つとしたが、選択できるOSは複数あっても同様の効果を得られる。
また、被起動OS400の起動要求はユーザからとしたが、組込み機器上の別のアプリケーション、あるいはハードウェア割り込みでも同様の効果を得られる。
Further, although one OS can be selected as the OS to be started, the same effect can be obtained even when there are a plurality of selectable OSs.
Although the activation request for the OS 400 to be activated is requested by the user, the same effect can be obtained by another application on the embedded device or a hardware interrupt.
また、上記の例では、複数のOSの中で最初に起動される初期起動OSに、ハードウェア割り当て手段が含まれ、初期起動OSが、自己の起動後に起動が要求された被起動OSに対してハードウェア割り当て手段によりハードウェア資源を割り当てることとしていたが、各OSに、ハードウェア割り当て手段が含まれることとし、各OSが、自己の起動後に起動が要求された被起動OSに対してハードウェア割り当て手段によりハードウェア資源を割り当てるようにしてもよい。
このようにすれば、被起動OS400がハードウェア割り当て手段301を保持することで被起動OS400からも別OSを起動することが可能となるという効果がある。
さらに、OS用ハードウェア情報テーブルに初期起動OS用のフィールドを保持することで、初期起動OSも被起動OSから起動することが可能となる。
Further, in the above example, the initial startup OS that is first started among the plurality of OSs includes hardware allocation means, and the initial startup OS is configured to respond to a booted OS that is requested to start after its own startup. The hardware allocation means allocates hardware resources. However, each OS includes hardware allocation means, and each OS provides hardware to a booted OS that is requested to start after its own startup. Hardware resources may be allocated by a hardware allocation unit.
In this way, there is an effect that the booted OS 400 can boot another OS from the booted OS 400 by holding the hardware allocation unit 301.
Furthermore, by holding the field for the initial boot OS in the OS hardware information table, the initial boot OS can also be booted from the booted OS.
また、メモリ領域分割テーブルのアドレス情報は動的に設定しても同様の効果を得られる。
また、ファームウェア上に静的に存在している初期起動OS起動情報テーブル及び、被起動OS用ハードウェアテーブルについて、メモリ上に展開し、動的に変更しても同様の効果を得られる。
The same effect can be obtained even if the address information of the memory area division table is dynamically set.
Further, the same effect can be obtained even if the initial boot OS startup information table and the booted OS hardware table statically existing in the firmware are expanded on the memory and dynamically changed.
以上のように、本実施の形態では、CPUコアを複数持ち、メモリ、入出力装置などのハードウェアを備えた構成の組込み機器において、
組込み機器の各ハードウェアが、OSによって管理中かどうかを保持するフラグを格納したハードウェア管理テーブル;
ユーザ指示により、被起動OSに割り当てるハードウェア管理情報を更新するハードウェア管理手段;
被起動OSを起動するためのハードウェア情報を格納した、被起動OS用ハードウェア情報テーブル;
ハードウェア管理手段に対して被起動OSの起動を指示するハードウェア割り当て手段;
被起動OSの起動毎に更新されるOS起動情報を格納した、OS起動情報テーブル;
メモリ領域を分割し、その位置情報を保持する、メモリ領域分割テーブルを備えた組込み機について説明した。
As described above, in the present embodiment, in an embedded device having a plurality of CPU cores and having hardware such as a memory and an input / output device,
A hardware management table storing a flag that holds whether each hardware of the embedded device is being managed by the OS;
Hardware management means for updating hardware management information assigned to the booted OS according to a user instruction;
A hardware information table for a booted OS that stores hardware information for booting the booted OS;
Hardware allocation means for instructing the hardware management means to start the booted OS;
OS boot information table storing OS boot information updated each time the booted OS is booted;
An embedded apparatus having a memory area division table that divides a memory area and holds position information thereof has been described.
また、本実施の形態では、ハードウェア割り当て手段が、被起動OS用ハードウェア情報テーブルとハードウェア管理テーブルおよびメモリ領域分割テーブルの情報を元に、被起動OSが管理するハードウェアを割り当てるとともに、OS起動情報テーブルを動的に生成することで、初期起動OSが通常起動状態になった後でも、任意OSの起動が可能となる組込み機器について説明した。 Further, in the present embodiment, the hardware allocation unit allocates hardware managed by the booted OS based on the information of the booted OS hardware information table, the hardware management table, and the memory area division table, A description has been given of an embedded device that can start an arbitrary OS even after the initial startup OS is in a normal startup state by dynamically generating an OS startup information table.
実施の形態2.
図9は、この発明の実施の形態2におけるマルチコアを搭載した組込み機器1の構成を示すものである。
本実施の形態において、ハードウェア100上の二次記憶装置121は被起動OS起動用ユーザ設定ファイル124を備える。
また、初期起動OS300はユーザ設定ハードウェア情報作成手段304を備える。
また、ファームウェアはユーザ設定ハードウェア情報テーブル255を備える。
Embodiment 2. FIG.
FIG. 9 shows the configuration of an embedded device 1 equipped with a multi-core according to Embodiment 2 of the present invention.
In the present embodiment, the secondary storage device 121 on the hardware 100 includes a booted OS boot user setting file 124.
The initial startup OS 300 also includes user setting hardware information creation means 304.
The firmware also includes a user setting hardware information table 255.
ユーザ設定ハードウェア情報作成手段304は、被起動OS起動用ユーザ設定ファイル124及び、被起動OS用ハードウェア情報テーブル253の情報から、ユーザ設定ハードウェア情報テーブル255を生成する機能を持つ。本実施の形態において、ユーザ設定ハードウェア情報作成手段304は、ハードウェア資源判断部に相当する。
被起動OS起動用ユーザ設定ファイル124とは、詳細は後述するが、ユーザにより割り当てが要請されているハードウェア(要請ハードウェア資源)がOSごとに示されている情報であり、要請ハードウェア資源情報に相当する。
そして、本実施の形態では、ユーザ設定ハードウェア情報作成手段304(ハードウェア資源判断部)が、要請ハードウェア資源情報たる被起動OS起動用ユーザ設定ファイル124と起動ハードウェア資源情報たる被起動OS用ハードウェア情報テーブル253とを比較し、被起動OS400の要請ハードウェア資源で被起動OS400の起動が可能であるか否かを判断する。そして、ユーザ設定ハードウェア情報作成手段304は、被起動OS400の要請ハードウェア資源で被起動OS400の起動が可能である場合に、被起動OS400の要請ハードウェア資源を示すユーザ設定ハードウェア情報テーブル255を生成する。
そして、ハードウェア割り当て手段301は、ユーザ設定ハードウェア情報作成手段304により、被起動OS400の要請ハードウェア資源で被起動OS400の起動が可能であると判断された場合に、ハードウェア管理手段203から通知されたハードウェア資源の割り当て状況と、ユーザ設定ハードウェア情報テーブル255に示された被起動OS400の要請ハードウェア資源とに基づき被起動OS400に割り当てるハードウェア資源を選択する。
The user setting hardware information creation unit 304 has a function of generating the user setting hardware information table 255 from the information of the booted OS boot user setting file 124 and the booted OS hardware information table 253. In the present embodiment, the user setting hardware information creation unit 304 corresponds to a hardware resource determination unit.
The booted OS boot user setting file 124, which will be described in detail later, is information indicating the hardware requested by the user (requested hardware resource) for each OS, and the requested hardware resource. It corresponds to information.
In the present embodiment, the user setting hardware information creation unit 304 (hardware resource determination unit) performs the booted OS boot user setting file 124 as the requested hardware resource information and the booted OS as the boot hardware resource information. Is compared with the hardware information table 253, and it is determined whether or not the booted OS 400 can be booted with the requested hardware resource of the booted OS 400. Then, the user-set hardware information creation unit 304, when the booted OS 400 can be booted with the requested hardware resource of the booted OS 400, has a user-set hardware information table 255 indicating the requested hardware resource of the booted OS 400. Is generated.
When the user setting hardware information creation unit 304 determines that the booted OS 400 can be booted with the requested hardware resource of the booted OS 400, the hardware allocation unit 301 starts from the hardware management unit 203. A hardware resource to be allocated to the booted OS 400 is selected based on the notified hardware resource allocation status and the requested hardware resource of the booted OS 400 shown in the user-set hardware information table 255.
前述したように、ユーザ設定ハードウェア情報テーブル255は、被起動OS用ハードウェア情報テーブル253および被起動OS起動用ユーザ設定ファイル124の内容から、ユーザ設定ハードウェア情報作成手段304によって生成される。
保持する情報としては、被起動OS起動用ユーザ設定ファイル124と同一の内容である。
被起動OS用ハードウェア情報テーブル253は、内容例は図4と同一であるが、内容の意味するところは、被起動OS400が起動する最小のハードウェア構成を示している。
つまり、本実施の形態では、被起動OS400の起動時のハードウェア構成として、被起動OS用ハードウェア情報テーブル253に示されている最小のハードウェア構成以上の構成(より豊富なハードウェア資源)が被起動OS起動用ユーザ設定ファイル124においてユーザにより要請されている場合は、被起動OS起動用ユーザ設定ファイル124に示されているより豊富なハードウェア資源を用いて被起動OS400を起動させようとするものである。
なお、図9における他の構成は、図1における構成の同一もしくは相当部であり、説明を省略する。
As described above, the user setting hardware information table 255 is generated by the user setting hardware information creation unit 304 from the contents of the booted OS hardware information table 253 and the booted OS boot user setting file 124.
The information to be held has the same contents as the booted OS boot user setting file 124.
The contents information of the booted OS hardware information table 253 is the same as that shown in FIG.
In other words, in the present embodiment, the hardware configuration at the time of booting the booted OS 400 is a configuration (more abundant hardware resources) than the minimum hardware configuration shown in the booted OS hardware information table 253. Is requested by the user in the booted OS boot user setting file 124, the booted OS 400 is booted using abundant hardware resources indicated in the booted OS boot user setting file 124. It is what.
The other configuration in FIG. 9 is the same as or equivalent to the configuration in FIG.
次に、被起動OS起動用ユーザ設定ファイル124の記述例を図10に示す。
本ファイルでは、被起動OSを起動するために必要なハードウェア情報のうち、被起動OS400に割り当てる情報(要請ハードウェア資源の情報)を保持している。
情報の内容としては、被起動OS400に割り当てるCPU数(cpu=1)、割り当てるメモリ容量(mem=0x800000)、割り当てる入出力装置(iodev=serial)である。
なお、CPU及び入出力装置は複数存在(CPU数が2個、あるいは入出力装置がディスプレイとキーボード等)しても良い。本ファイルはユーザあるいはアプリケーションによって予め準備されていることを想定している。
Next, a description example of the booted OS boot user setting file 124 is shown in FIG.
This file holds information (requested hardware resource information) assigned to the booted OS 400 among the hardware information necessary for booting the booted OS.
The contents of the information are the number of CPUs assigned to the OS 400 to be started (cpu = 1), the memory capacity to be assigned (mem = 0x800000), and the input / output device to be assigned (iodev = serial).
Note that there may be a plurality of CPUs and input / output devices (two CPUs or input / output devices such as a display and a keyboard). It is assumed that this file is prepared in advance by the user or application.
次に、この実施の形態における、組込み機器1の通常動作状態から被起動OS400を起動する動作を図11を用いて説明する。
なお、この実施の形態における、組込み機器1のハードウェアリセットから初期起動OS300の起動が終了し、通常動作状態になるまでは図7と同一の処理のため、説明を省略する。
組込み機器1が通常動作状態で、ユーザは初期起動OS300を通じて、被起動OS400の起動要求をユーザ設定ハードウェア情報作成手段304に伝える(S1032)。
この際、被起動OS400の起動には、被起動OS起動用ユーザ設定ファイル124を使用するように指定する。
ユーザ設定ハードウェア情報作成手段304は被起動OS起動用ユーザ設定ファイル124から、割り当てるCPU数(cpu=1)、割り当てるメモリ容量(mem=0x800000)、割り当てる入出力装置(iodev=serial)と、被起動OS用ハードウェア情報テーブル253から被起動OS400の起動に必須なCPU数、メモリ容量及び入出力装置を取得し、これらと比較を行う(S1033)。
比較の結果、被起動OS起動用ユーザ設定ファイル124に記述されているハードウェアで起動できない場合は、呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1034)。
割り当てるハードウェアで起動できる場合は、メモリ111の領域Aにユーザ設定ハードウェア情報テーブル255を生成し、被起動OS起動用ユーザ設定ファイル124の、割り当てるCPU数、メモリ容量、入出力装置(CPU=1、メモリ容量=0x800000、入出力装置=serial)と、被起動OS用ハードウェア情報テーブル253の、二次記憶上の被起動OS400のバイナリアドレス、容量およびエントリアドレス情報を、メモリ111の領域Aに確保されたユーザ設定ハードウェア情報テーブル255に書き込む(S1035)。
その後、被起動OS400の起動をハードウェア割り当て手段301に伝える(S1036)。
S1037からS1039は図8のS1013からS1015と同じ処理であるので説明を割愛する。
ハードウェア割り当て手段301はハードウェア管理手段203の返答結果および、ユーザ設定ハードウェア情報テーブル255の情報から、被起動OS400の起動に必要なハードウェアを判断する(S1040)。
この実施の形態の場合は、ユーザ設定ハードウェア情報テーブル255から被起動OS400の起動に必要なCPU数は1つであり、ハードウェア管理手段203の返答結果から未管理のCPUがCPU102であることから、CPU102を被起動OS400に割り当てる。
管理メモリ領域については、ハードウェア割り当て手段301は、未管理のメモリ領域Cについて、メモリ領域分割テーブル254の内容を取得し、メモリ領域Cの容量を算出(0x1E00000)する。そして、メモリ領域Cはユーザ設定ハードウェア情報テーブル255の必須メモリ容量0x800000以上の容量を持つと判断し、メモリ領域Cを被起動OS400に割り当てる。
また、入出力装置についても、必須入出力装置であるシリアルコンソールが未管理のため被起動OS400に割り当てる。
S1041からS1042は図8のS1017からS1018と同じ処理であるので説明を割愛する。
ハードウェア割り当て手段301は被起動OS400の起動用に確保したこれらのハードウェアと、ユーザ設定ハードウェア情報テーブル255を元にOS起動情報テーブル500を生成し、ハードウェア100のメモリ111の領域Aに上書きする(S1043)。
S1044からS1045は図8のS1020からS1021と同じ処理であるので説明を割愛する。
以上により、被起動OS400の起動が終了する。
Next, an operation of starting the OS to be started 400 from the normal operation state of the embedded device 1 in this embodiment will be described with reference to FIG.
In this embodiment, the process is the same as that in FIG. 7 from the hardware reset of the embedded device 1 until the startup of the initial startup OS 300 is completed and the normal operation state is reached.
When the embedded device 1 is in a normal operation state, the user transmits a startup request for the OS 400 to be started to the user setting hardware information creation unit 304 through the initial startup OS 300 (S1032).
At this time, it is specified to use the booted OS boot user setting file 124 for booting the booted OS 400.
From the user setting file 124 for starting OS boot, the user setting hardware information creation unit 304 determines the number of CPUs to be allocated (cpu = 1), the memory capacity to be allocated (mem = 0x800000), the input / output device to be allocated (iodev = serial), The number of CPUs, the memory capacity, and the input / output device essential for starting the booted OS 400 are acquired from the boot OS hardware information table 253 and compared with these (S1033).
As a result of the comparison, if the hardware described in the booted OS boot user setting file 124 cannot be booted, an error is returned to the calling user (application) and the process is terminated (S1034).
If the hardware can be booted with the assigned hardware, the user setting hardware information table 255 is generated in the area A of the memory 111, and the number of CPUs to be assigned, the memory capacity, and the input / output device (CPU = 1), memory capacity = 0x800000, input / output device = serial), and the binary address, capacity, and entry address information of the OS 400 to be started on the secondary storage in the hardware information table 253 for the OS to be started Is written in the user setting hardware information table 255 secured in step S1035.
Thereafter, the activation of the booted OS 400 is transmitted to the hardware allocation unit 301 (S1036).
Since S1037 to S1039 are the same processes as S1013 to S1015 in FIG.
The hardware allocation unit 301 determines the hardware necessary for starting the booted OS 400 from the response result of the hardware management unit 203 and the information of the user setting hardware information table 255 (S1040).
In the case of this embodiment, the number of CPUs required to start up the booted OS 400 is one from the user setting hardware information table 255, and the CPU 102 is the unmanaged CPU from the response result of the hardware management unit 203. The CPU 102 is assigned to the booted OS 400.
For the management memory area, the hardware allocation unit 301 acquires the contents of the memory area division table 254 for the unmanaged memory area C, and calculates the capacity of the memory area C (0x1E00000). Then, it is determined that the memory area C has a required memory capacity 0x800000 or more in the user setting hardware information table 255, and the memory area C is allocated to the booted OS 400.
The input / output device is also assigned to the booted OS 400 because the serial console, which is an essential input / output device, is not managed.
S1041 to S1042 are the same processes as S1017 to S1018 of FIG.
The hardware allocation unit 301 generates the OS activation information table 500 based on the hardware reserved for activation of the activated OS 400 and the user setting hardware information table 255, and stores the OS activation information table 500 in the area A of the memory 111 of the hardware 100. Overwriting is performed (S1043).
Since S1044 to S1045 are the same processes as S1020 to S1021 in FIG.
Thus, the booting of the booted OS 400 ends.
この実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、ユーザ指示により被起動OSに割り当てるハードウェア情報を保持する領域を備え、本情報を元に被起動OSに割り当てるハードウェア情報を動的に生成するようにしたので、ユーザが指示/修正したハードウェアを割り当てたOSを起動することが可能となる。 In the multi-OS boot method for an embedded device equipped with a multi-core according to this embodiment, an area for holding hardware information to be assigned to the booted OS according to a user instruction is provided, and the hardware information to be assigned to the booted OS based on this information Can be dynamically generated, so that it is possible to start an OS to which hardware designated / modified by the user is assigned.
なお、本実施の形態では被起動OS起動用ユーザ設定ファイルの作成者はユーザとしたが、組込み機器上の別のアプリケーションが作成しても同様の効果を得られる。 In this embodiment, the creator of the booted OS boot user setting file is a user, but the same effect can be obtained even if another application on the embedded device is created.
以上のように、本実施の形態では、ユーザが生成可能な、被起動OSに割り当てるハードウェア情報を保持する被起動OS起動用ユーザ設定ファイルを設け、このファイルと被起動OS用ハードウェア情報テーブルを元に、ユーザ設定ハードウェア情報テーブルを生成するユーザ設定ハードウェア情報作成手段を有し、このユーザ設定ハードウェア情報テーブルで設定されているハードウェア情報から、ユーザの指定するハードウェアを割り当てた被起動OSを起動することを特徴とする組込み機器について説明した。 As described above, in the present embodiment, a bootable OS boot user setting file that holds hardware information that can be generated by the user and is allocated to the bootable OS is provided, and this file and the bootable OS hardware information table Based on the above, it has a user setting hardware information creation means for generating a user setting hardware information table, and the hardware specified by the user is assigned from the hardware information set in the user setting hardware information table An embedded device that is characterized by starting a booted OS has been described.
実施の形態3.
本発明の他の実施形態における組込み機器1について説明する。
組込み機器1の構成は実施の形態1と同様であり、図1に示される。
本実施の形態では、ハードウェア管理テーブル252の構成および、ハードウェア管理手段203、ハードウェア割り当て手段301の動作以外は、実施の形態1と同様である。
Embodiment 3 FIG.
An embedded device 1 according to another embodiment of the present invention will be described.
The configuration of the embedded device 1 is the same as that of the first embodiment and is shown in FIG.
In the present embodiment, the configuration of the hardware management table 252 and the operations of the hardware management unit 203 and the hardware allocation unit 301 are the same as those in the first embodiment.
図12はファームウェア200が備えるハードウェア管理テーブル252の内容例を示している。
実施の形態1では、ハードウェア管理テーブル252には、各デバイスの管理中、未管理のフラグのみを格納していたが、本実施の形態では、各ハードウェアの管理元OS及び未管理のフラグと、OSがハードウェアを使用しているかを保持している。ハードウェア管理手段203は、これらのフラグを変更する機能を持つ。
つまり、本実施の形態では、ハードウェア管理手段203は、ハードウェア資源の割り当て状況及びハードウェア資源の使用状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況及びハードウェア資源の使用状況を通知し、ハードウェア割り当て手段301は、ハードウェア管理手段203からハードウェア資源の割り当て状況及びハードウェア資源の使用状況を通知され、ハードウェア管理手段203から通知されたハードウェア資源の割り当て状況及びハードウェア資源の使用状況と被起動OS400の起動に必要なハードウェア資源とに基づき被起動OS400に割り当てるハードウェア資源を選択する。
FIG. 12 shows an example of the contents of the hardware management table 252 provided in the firmware 200.
In the first embodiment, only the unmanaged flag is stored in the hardware management table 252 during the management of each device. However, in this embodiment, the management source OS and the unmanaged flag of each hardware are stored. And whether the OS uses hardware. The hardware management unit 203 has a function of changing these flags.
In other words, in the present embodiment, the hardware management unit 203 manages the allocation status of hardware resources and the usage status of hardware resources, and allocates hardware resources when activation of any OS is requested. The hardware allocation unit 301 is notified of the allocation status of the hardware resource and the usage status of the hardware resource by the hardware management unit 203, and is notified from the hardware management unit 203. The hardware resources to be allocated to the booted OS 400 are selected based on the allocation status of the hardware resources, the usage status of the hardware resources, and the hardware resources necessary for booting the booted OS 400.
次に、この実施の形態における、組込み機器1のハードウェアリセットから初期起動OS300の起動が終了し、通常動作状態になるまでを図13を用いて説明する。
ただし、本実施の形態では、初期起動OS起動情報テーブル251の管理CPU番号として、CPU101とCPU102が記述されており、他は図2と同一であるとする。
S1052は図7のS1002と同じ処理であるので説明を割愛する。
初期起動OS起動手段202はメモリ111の領域Aの一部をハードウェア管理テーブル252用に確保し、ハードウェア管理テーブル252のメモリ領域Aについて、メモリ管理状況をファームウェア管理中、メモリ使用状況を使用中に変更する(S1053)。
S1054は図7のS1004と同じ処理であるので説明を割愛する。
初期起動OS起動手段202はOS起動情報テーブル500から、初期起動OS300が管理するハードウェア(CPU={CPU101,CPU102}、メモリ=領域B、入出力装置=ディスプレイ)をハードウェア管理手段203に報告する。
ハードウェア管理手段203は、初期起動OS起動手段202からの報告に応じて、ハードウェア管理テーブル252を更新する。これにより、ハードウェア管理テーブル252のCPU101について、CPU管理状況を初期起動OS300管理中にする。また、CPU使用状況については、CPU割り込みを受けてCPU101が動作しているため、CPU101のCPU使用状況を使用中、CPU102については、OS起動情報テーブルの管理CPUに記述されているため、CPU管理状況を初期起動OS300管理中にする。しかし、CPU102は使用していないため、CPU102のCPU使用状況を未使用にする。他のハードウェア管理情報に関しては、メモリ領域Bのメモリ管理状況を初期起動OS300管理中、メモリ使用状況を使用中、ディスプレイの入出力管理状況を初期起動OS300管理中、入出力使用状況を使用中に変更する(S1055)。
S1056からS1057は図7のS1006からS1007と同じ処理であるので説明を割愛する。
以上により、初期起動OS300の起動が終了し、組込み機器1が通常動作となる。
Next, the process from the hardware reset of the embedded device 1 to the end of the startup of the initial startup OS 300 and the normal operation state in this embodiment will be described with reference to FIG.
However, in this embodiment, the CPU 101 and the CPU 102 are described as the management CPU numbers in the initial boot OS boot information table 251, and the rest are the same as those in FIG. 2.
Since S1052 is the same process as S1002 of FIG. 7, the description thereof is omitted.
The initial startup OS startup unit 202 reserves a part of the area A of the memory 111 for the hardware management table 252 and uses the memory usage status for the memory area A of the hardware management table 252 while the memory management status is in firmware management. (S1053).
Since S1054 is the same process as S1004 in FIG. 7, the description thereof is omitted.
The initial startup OS startup unit 202 reports the hardware (CPU = {CPU101, CPU102}, memory = area B, input / output device = display) managed by the initial startup OS 300 from the OS startup information table 500 to the hardware management unit 203. To do.
The hardware management unit 203 updates the hardware management table 252 in response to the report from the initial startup OS startup unit 202. As a result, the CPU management status of the CPU 101 in the hardware management table 252 is set to the initial startup OS 300 management. As for the CPU usage status, since the CPU 101 is operating upon receiving a CPU interrupt, since the CPU usage status of the CPU 101 is in use, the CPU 102 is described in the management CPU in the OS startup information table, and therefore the CPU management The status is set to be during initial startup OS 300 management. However, since the CPU 102 is not used, the CPU usage status of the CPU 102 is unused. As for other hardware management information, the memory management status of the memory area B is being managed by the initial startup OS 300, the memory usage status is being used, the input / output management status of the display is being initially managed by the OS 300, and the input / output usage status is being used. (S1055).
Steps S1056 to S1057 are the same as steps S1006 to S1007 in FIG.
As described above, the startup of the initial startup OS 300 is completed, and the embedded device 1 enters a normal operation.
次に、この実施の形態における組込み機器1の通常動作状態から被起動OS400を起動する動作を図14を用いて説明する。
S1062からS1064は図8のS1012からS1014と同じ処理であるので説明を割愛する。
ハードウェア管理手段203は、ハードウェア管理テーブル252から各ハードウェアの管理状況(割り当て状況)および、使用状況を読み込み、ハードウェア割り当て手段301に返答する(S1065)。
ハードウェア割り当て手段301はハードウェア管理手段203の返答結果および、被起動OS用ハードウェア情報テーブル253の情報から、未管理のハードウェアと初期起動OS300が管理中かつ未使用のハードウェアを、被起動OS400に割り当てた場合、被起動OS400が起動するか判断する(S1066)。
図12のハードウェア管理テーブル252の場合、CPU101、CPU102とも初期起動OS300が管理中であるが、CPU102は未使用であるので初期起動OS300管理中のCPU102を被起動OS400に割り当てることが可能である。
管理メモリ領域および、入出力装置については実施の形態1と同様である。被起動OS400が起動しない場合は、エラーを返し、処理を終了する(S1067)。
仮に全てのCPUのCPU使用状況が使用中の場合は、空きCPUが存在しないため、被起動OS400は起動することができない。この場合は、エラーを返し、処理を終了する。被起動OS400が起動する場合は、ハードウェア起動/停止手段302を利用して、初期起動OS300管理中かつ未使用のハードウェアの内、被起動OS400の起動に必要なハードウェアのみを停止させる(S1068)。
今回の例では、初期起動OS300が管理中のCPU102を停止させる。
S1069は図8のS1017と同じ処理であるので説明を割愛する。
ハードウェア管理手段203はハードウェア割り当て手段301からの報告に応じて、ハードウェア管理テーブル252を更新する(S1070)。
これにより、被起動OS400に割り当てられたCPU102、メモリ領域C及びシリアルコンソールが被起動OS400による管理中かつ使用中に更新される。
S1071からS1073は図8のS1019からS1021と同じ処理であるので説明を割愛する。
以上により、被起動OS400の起動が終了する。
Next, an operation of starting the OS to be started 400 from the normal operation state of the embedded device 1 in this embodiment will be described with reference to FIG.
Since S1062 to S1064 are the same processes as S1012 to S1014 in FIG.
The hardware management unit 203 reads the management status (allocation status) and usage status of each hardware from the hardware management table 252 and returns a response to the hardware allocation unit 301 (S1065).
Based on the response result of the hardware management unit 203 and the information of the booted OS hardware information table 253, the hardware allocation unit 301 determines whether the unmanaged hardware and the hardware that is being managed by the initial boot OS 300 and unused are used. If it is assigned to the boot OS 400, it is determined whether the boot OS 400 is booted (S1066).
In the case of the hardware management table 252 in FIG. 12, the CPU 101 and the CPU 102 are both managed by the initial startup OS 300, but the CPU 102 is unused, so the CPU 102 that is managing the initial startup OS 300 can be assigned to the OS 400 to be started. .
The management memory area and the input / output device are the same as those in the first embodiment. If the booted OS 400 does not start, an error is returned and the process ends (S1067).
If the CPU usage statuses of all CPUs are in use, there is no free CPU, and the booted OS 400 cannot be booted. In this case, an error is returned and the process is terminated. When the booted OS 400 is booted, the hardware boot / stop means 302 is used to stop only the hardware necessary for booting the booted OS 400 among the hardware that is being managed by the initial boot OS 300 and is not used ( S1068).
In this example, the initial startup OS 300 stops the CPU 102 being managed.
Since S1069 is the same process as S1017 in FIG.
The hardware management unit 203 updates the hardware management table 252 according to the report from the hardware allocation unit 301 (S1070).
As a result, the CPU 102, the memory area C, and the serial console assigned to the booted OS 400 are updated during management and use by the booted OS 400.
Steps S1071 to S1073 are the same as steps S1019 to S1021 in FIG.
Thus, the booting of the booted OS 400 ends.
この実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、各ハードウェアに対して管理元OSと使用状況の情報を保持する領域を備え、本情報を元に、初期起動OSの使用していないハードウェアを被起動OSに付与するようにしたので、被起動OS起動用のハードウェアが足りない場合でも、被起動OSを起動することが可能となる。 In this embodiment, the multi-OS boot method for embedded devices equipped with a multi-core has an area for storing information on the management source OS and usage status for each hardware, and based on this information, the initial boot OS Since unused hardware is added to the booted OS, the booted OS can be booted even when there is not enough hardware for booting the booted OS.
実施の形態4.
本実施の形態では、実施の形態2と3を合わせた構成の組込み機器を示し、被起動OS用のハードウェア資源が足りない場合に、他のOSと通信を行い、他OSが使用していないハードウェアを確保し、被起動OSへ割り当てる方式について説明する。
Embodiment 4 FIG.
In this embodiment, an embedded device having a configuration combining Embodiments 2 and 3 is shown, and when there are not enough hardware resources for the booted OS, it communicates with another OS and is used by another OS. A method for securing unassigned hardware and allocating it to the booted OS will be described.
図16はこの発明の実施の形態4におけるマルチコアを搭載した組込み機器1(情報処理装置)の構成例を示すものである。
組込み機器1は、CPU101、102、103及び、メモリ領域A、B、C、Dを持つ。これらの機能は実施の形態1と同等であり説明を省略する。
さらに、組込み機器1は、初期起動OS300によって起動される被起動OS400および、初期起動OS300によって起動される被起動OS600を備える。
被起動OS400はハードウェア割り当て手段402を備える。
FIG. 16 shows a configuration example of an embedded device 1 (information processing apparatus) equipped with a multi-core according to Embodiment 4 of the present invention.
The embedded device 1 has CPUs 101, 102, 103 and memory areas A, B, C, D. These functions are the same as those in the first embodiment, and a description thereof will be omitted.
Further, the embedded device 1 includes a booted OS 400 that is booted by the initial boot OS 300 and a booted OS 600 that is booted by the initial boot OS 300.
The booted OS 400 includes hardware allocation means 402.
二次記憶装置121は、被起動OS600バイナリ125及び被起動OS600起動用ユーザ設定ファイル126を保持する機能を備える。
なお、被起動OS400バイナリ123及び被起動OS起動用ユーザ設定ファイル124は被起動OS600と区別するため名前を変更しているが、これらは実施の形態2で示した被起動OSバイナリ123及び被起動OS起動用ユーザ設定ファイル124と同等、または相当部であり説明を省略する。
The secondary storage device 121 has a function of holding the booted OS 600 binary 125 and the booted OS 600 boot user setting file 126.
Note that the booted OS 400 binary 123 and the booted OS boot user setting file 124 have been renamed to distinguish them from the booted OS 600. These are the booted OS binary 123 and the booted OS shown in the second embodiment. This is the same as or equivalent to the OS startup user setting file 124, and a description thereof is omitted.
本実施の形態では、ハードウェア管理手段203、ハードウェア割り当て手段301、402以外について、二次記憶上の被起動OS400起動用ユーザ設定ファイル124、ファームウェア200上のユーザ設定ハードウェア情報テーブル255、初期起動OS300上のユーザ設定ハードウェア情報作成手段304は実施の形態2と同等、または相当部であり説明を省略する。
他の構成は実施の形態3と同等、または相当部であり説明を省略する。
In the present embodiment, except for the hardware management means 203 and the hardware allocation means 301 and 402, the booted OS 400 startup user setting file 124 on the secondary storage, the user setting hardware information table 255 on the firmware 200, the initial The user-set hardware information creation unit 304 on the boot OS 300 is the same as or equivalent to that in the second embodiment, and a description thereof is omitted.
Other configurations are the same as or equivalent to those of the third embodiment, and description thereof is omitted.
初期起動OS300上のハードウェア割り当て手段301、及び、被起動OS400上のハードウェア割り当て手段402は、これまでの実施の形態で説明した機能に追加して、ファームウェア上のハードウェア管理手段203の応答結果から、被起動OS600の起動に際して、ハードウェア資源(CPU、メモリ、入出力装置など)が足りなかった場合、再度ハードウェア管理手段203に対して、他OSのハードウェア使用状況について問合せを行う機能を持つ。
さらに、ファームウェア上のハードウェア管理手段203から、自OSのハードウェア使用状況について問合せがあった場合、自OSのハードウェア利用状況を調査し、ハードウェア管理手段203へ、ハードウェア利用状況を報告する機能を持つ。
The hardware allocation unit 301 on the initial boot OS 300 and the hardware allocation unit 402 on the booted OS 400 are added to the functions described in the above embodiments, and the response of the hardware management unit 203 on the firmware. As a result, when hardware resources (CPU, memory, input / output device, etc.) are insufficient when starting up the booted OS 600, the hardware management unit 203 is again inquired about the hardware usage status of the other OS. Has function.
Further, when there is an inquiry about the hardware usage status of the own OS from the hardware management means 203 on the firmware, the hardware usage status of the own OS is investigated, and the hardware usage status is reported to the hardware management means 203. It has a function to do.
ファームウェア200上のハードウェア管理手段203は、これまでの実施の形態で説明した機能に追加して、ハードウェア割り当て手段301から、他OSの状況について問合せがあった場合、ハードウェア管理テーブル252に記載されている、OS起動に必要なハードウェア資源(CPU、メモリ、入出力装置など)を保持するOSに対して、ハードウェアの使用状況を、問合せ元以外の各OS上のハードウェア割り当て手段に問合せる機能を持つ。 In addition to the functions described in the above embodiments, the hardware management unit 203 on the firmware 200 adds to the hardware management table 252 when there is an inquiry about the status of another OS from the hardware allocation unit 301. Hardware allocation means on each OS other than the inquiry source for the OS that holds the hardware resources (CPU, memory, input / output device, etc.) necessary for starting the OS described Has a function to query
図17は、メモリ領域分割テーブル254の内容例について示している。
メモリ全体の容量および分割数が異なること以外は実施の形態3と同等であり説明を省略する。
FIG. 17 shows an example of the contents of the memory area division table 254.
Except that the capacity and the number of divisions of the entire memory are different, they are the same as those in the third embodiment and will not be described.
図18は、二次記憶装置上の被起動OS400起動用ユーザ設定ファイル124の内容例について示している。
割り当てるハードウェアが異なること以外は実施の形態2と同等であり説明を省略する。
FIG. 18 shows an example of the contents of the booted OS 400 startup user setting file 124 on the secondary storage device.
Except that the hardware to be allocated is different, it is the same as that of the second embodiment, and the description is omitted.
図19は、二次記憶装置上の被起動OS600起動用ユーザ設定ファイル126の内容例について示している。
本ファイルの持つ機能は被起動OS400起動用ユーザ設定ファイル124と同様であり説明を省略する。
FIG. 19 shows an example of the contents of the booted OS 600 user setting file 126 on the secondary storage device.
The function of this file is the same as that of the booted OS 400 activation user setting file 124, and a description thereof will be omitted.
図20は、被起動OS用ハードウェア情報テーブル253の内容例について示している。
被起動OS600用のエントリを追加したこと以外は、実施の形態2と同等であり説明を省略する。
FIG. 20 shows an example of the contents of the booted OS hardware information table 253.
Except that an entry for the OS to be started 600 is added, this is the same as in the second embodiment, and a description thereof is omitted.
次に、この実施の形態における、組込み機器1のハードウェアリセットから初期起動OS300が起動するまでの動作例を図21を用いて説明する。
ただし、本実施の形態では、初期起動OS起動情報テーブル251(図2)の管理CPU番号として、CPU101のみが記述されているとする。
Next, an operation example from the hardware reset of the embedded device 1 to the startup of the initial startup OS 300 in this embodiment will be described with reference to FIG.
However, in this embodiment, it is assumed that only the CPU 101 is described as the management CPU number in the initial boot OS boot information table 251 (FIG. 2).
S1082とS1083は図13のS1052とS1053と同じ処理であるので、説明を割愛する。
初期起動OS起動手段202はOS起動情報テーブル500(図6)から、初期起動OS300が管理するハードウェア(CPU=CPU101、メモリ領域=領域B、入出力装置=ディスプレイ)をハードウェア管理手段203に報告する(S1084)。
ハードウェア管理手段203は、初期起動OS起動手段202からの報告に応じて、ハードウェア管理テーブル252(図3)を更新する。
これにより、ハードウェア管理テーブル252のCPU101について、CPU管理状況を初期起動OS300管理中にする。
また、CPUの使用状況については、CPU割り込みを受けてCPU101が動作しているため、CPU101のCPU使用状況を使用中にする。
他のCPUについては、初期起動OSでは管理も使用もしていないため、未管理および、未使用に設定する。
他のハードウェア管理情報に関しては、メモリ領域Bのメモリ管理状況を初期起動OS300管理中、メモリ使用状況を使用中、ディスプレイの入出力管理状況を初期起動OS300管理中、入出力使用状況を使用中に変更する(S1085)。
S1086からS1087は、図13のS1056からS1057と同じ処理であるので説明を割愛する。
S1082 and S1083 are the same processing as S1052 and S1053 in FIG.
From the OS startup information table 500 (FIG. 6), the initial startup OS startup unit 202 stores the hardware (CPU = CPU 101, memory area = area B, input / output device = display) managed by the initial startup OS 300 in the hardware management unit 203. Report (S1084).
The hardware management unit 203 updates the hardware management table 252 (FIG. 3) in response to the report from the initial startup OS startup unit 202.
As a result, the CPU management status of the CPU 101 in the hardware management table 252 is set to the initial startup OS 300 management.
As for the CPU usage status, since the CPU 101 is operating upon receiving a CPU interrupt, the CPU usage status of the CPU 101 is set to being in use.
Other CPUs are set to unmanaged and unused because they are neither managed nor used in the initial boot OS.
As for other hardware management information, the memory management status of the memory area B is being managed by the initial startup OS 300, the memory usage status is being used, the input / output management status of the display is being initially managed by the OS 300, and the input / output usage status is being used. (S1085).
S1086 to S1087 are the same processes as S1056 to S1057 in FIG.
以上により、初期起動OS300の起動が終了し、組込み機器1が通常動作となる。 As described above, the startup of the initial startup OS 300 ends, and the embedded device 1 enters a normal operation.
次に、この実施の形態における組込み機器1の通常動作状態から被起動OS400を起動する手順を図22を用いて説明する。 Next, the procedure for starting the OS to be started 400 from the normal operation state of the embedded device 1 in this embodiment will be described with reference to FIG.
S1092は図11のS1032と同じ処理であるので説明を割愛する。
ユーザ設定ハードウェア情報作成手段304は被起動OS400起動用ユーザ設定ファイル124(図18)から、割り当てるCPU数(cpu=2)、割り当てるメモリ容量(mem=0x1F00000)、割り当てる入出力装置(iodev=serial)と、被起動OS用ハードウェア情報テーブル253(図20)から、被起動OS400の起動に必須なCPU数、メモリ容量、及び、入出力装置を取得し、これらと比較を行う(S1093)。
S1094は図11のS1034と同じ処理であるので説明を割愛する。
割り当てるハードウェアで起動できる場合は、メモリ111の領域Aにユーザ設定ハードウェア情報テーブル255を生成し、被起動OS400起動用ユーザ設定ファイル124の、割り当てるCPU数、メモリ容量、入出力装置(CPU=2、メモリ容量=0x1F00000、iodev=serial)と、被起動OS用ハードウェア情報テーブル253の、二次記憶上の被起動OS400のバイナリアドレス、容量およびエントリアドレス情報を、メモリ111の領域Aに確保されたユーザ設定ハードウェア情報テーブル255に書き込む(S1095)。
S1096からS1099は図11のS1036からS1039と同じ処理であるので説明を割愛する。
Since S1092 is the same process as S1032 of FIG. 11, the description thereof is omitted.
The user setting hardware information creation unit 304 determines the number of CPUs to be allocated (cpu = 2), the allocated memory capacity (mem = 0x1F00000), and the input / output device to be allocated (iodev = serial) from the user setting file 124 for starting the OS 400 to be started (FIG. 18). ) And the number of CPUs, memory capacity, and input / output devices necessary for starting the booted OS 400 are obtained from the booted OS hardware information table 253 (FIG. 20) and compared with these (S1093).
Since S1094 is the same process as S1034 in FIG. 11, the description thereof is omitted.
When the hardware can be started with the assigned hardware, the user setting hardware information table 255 is generated in the area A of the memory 111, and the number of CPUs to be assigned, the memory capacity, and the input / output device (CPU = CPU = 2), the memory capacity = 0x1F00000, iodev = serial), and the binary address, capacity, and entry address information of the booted OS 400 on the secondary storage in the booted OS hardware information table 253 are secured in the area A of the memory 111. Is written in the user setting hardware information table 255 (S1095).
Since S1096 to S1099 are the same processes as S1036 to S1039 in FIG.
次に、ハードウェア割り当て手段301はハードウェア管理手段203の返答結果および、ユーザ設定ハードウェア情報テーブル255の情報から、被起動OS400の起動に必要なハードウェアを判断する(S1100)。
この実施の形態の場合は、ユーザ設定ハードウェア情報テーブル255から被起動OS400の起動に必要なCPU数は2つであり、ハードウェア管理手段203の返答結果から未管理のCPUがCPU102とCPU103であることから、CPU102とCPU103を被起動OS400に割り当てる。
管理メモリ領域については、ハードウェア割り当て手段301は、未管理のメモリ領域Cとメモリ領域Dについて、メモリ領域分割テーブル254の内容を取得し、メモリ領域Cとメモリ領域Dの容量を算出する。そして、メモリ領域Cとメモリ領域Dを合計した容量(0x3C00000)を割り当てることで、ユーザ設定ハードウェア情報テーブル255のメモリ容量(0x1F00000)以上の容量になると判断し、メモリ領域Cとメモリ領域Dを被起動OS400に割り当てる。
また、入出力装置についても、必須入出力装置であるシリアルコンソールが未管理のため被起動OS400に割り当てる。
S1101は図11のS1041と同じ処理であるので説明を割愛する。
Next, the hardware allocation unit 301 determines the hardware necessary for starting up the booted OS 400 from the response result of the hardware management unit 203 and the information in the user setting hardware information table 255 (S1100).
In the case of this embodiment, the number of CPUs necessary for starting up the booted OS 400 is two from the user setting hardware information table 255, and the unmanaged CPUs are determined by the CPU 102 and the CPU 103 from the response result of the hardware management unit 203. For this reason, the CPU 102 and the CPU 103 are allocated to the booted OS 400.
For the management memory area, the hardware allocation unit 301 acquires the contents of the memory area division table 254 for the unmanaged memory area C and memory area D, and calculates the capacities of the memory area C and memory area D. Then, by allocating the total capacity (0x3C00000) of the memory area C and the memory area D, it is determined that the capacity is equal to or larger than the memory capacity (0x1F00000) of the user setting hardware information table 255. Assigned to the OS 400 to be started.
The input / output device is also assigned to the booted OS 400 because the serial console, which is an essential input / output device, is not managed.
S1101 is the same process as S1041 in FIG.
次に、ハードウェア管理手段203はハードウェア割り当て手段301からの報告に応じて、ハードウェア管理テーブル252を更新する(S1102)。
これにより、被起動OS400に割り当てられたCPU102とCPU103、メモリ領域Cおよびメモリ領域D、シリアルコンソールを管理中かつ使用中に更新する。
S1103からS1105は図11のS1043からS1045と同じ処理であるので説明を割愛する。
Next, the hardware management unit 203 updates the hardware management table 252 in response to the report from the hardware allocation unit 301 (S1102).
As a result, the CPU 102 and CPU 103, the memory area C and the memory area D, and the serial console allocated to the booted OS 400 are updated during management and use.
Since S1103 to S1105 are the same processing as S1043 to S1045 of FIG.
以上により、被起動OS400の起動が終了する。
ここまでの状態における、ハードウェア管理テーブル252を図23に示す。
Thus, the booting of the booted OS 400 ends.
The hardware management table 252 in the state so far is shown in FIG.
次に、この実施の形態における組込み機器1で、初期起動OS300と被起動OS400が動作している状態から被起動OS600を起動する手順を図24を用いて説明する。 Next, a procedure for starting the booted OS 600 from the state in which the initial boot OS 300 and the booted OS 400 are operating in the embedded device 1 in this embodiment will be described with reference to FIG.
組込み機器1上で初期起動OS300と被起動OS400が通常動作している状態で、ユーザは初期起動OS300を通じて、被起動OS600の起動要求をユーザ設定ハードウェア情報作成手段304に伝える(S1112)。
この際、被起動OS600の起動には、被起動OS600起動用ユーザ設定ファイル126(図19)を使用するように指定する。
ユーザ設定ハードウェア情報作成手段304は被起動OS起動用ユーザ設定ファイル126から、割り当てるCPU数(cpu=1)、割り当てるメモリ容量(mem=0x800000)、割り当てる入出力装置(iodev=display)と、被起動OS用ハードウェア情報テーブル253(図20)から、被起動OS600の起動に必要な必須CPU数、メモリ容量及び入出力装置を取得し、これらと比較を行う(S1113)。
比較の結果、被起動OS600起動用ユーザ設定ファイル126に記述されているハードウェアで起動できない場合は、呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1114)。
割り当てるハードウェアで起動できる場合は、ユーザ設定ハードウェア情報作成手段304は、メモリ111の領域Aにユーザ設定ハードウェア情報テーブル255を生成し、被起動OS600起動用ユーザ設定ファイル126の、割り当てるCPU数、メモリ容量、入出力装置(CPU=1、メモリ容量=0x800000、入出力装置=keyboard)と、被起動OS用ハードウェア情報テーブル253の、二次記憶上の被起動OS600のバイナリアドレス、容量およびエントリアドレス情報を、メモリ111の領域Aに確保されたユーザ設定ハードウェア情報テーブル255に書き込む(S1115)。
その後、ユーザ設定ハードウェア情報作成手段304は、被起動OS600の起動をハードウェア割り当て手段301に伝える(S1116)。
While the initial boot OS 300 and the booted OS 400 are normally operating on the embedded device 1, the user transmits a boot request for the booted OS 600 to the user setting hardware information creation unit 304 through the initial boot OS 300 (S1112).
At this time, it is specified that the booted OS 600 boot user setting file 126 (FIG. 19) is used for booting the booted OS 600.
From the user setting file 126 for starting the OS to be started, the user setting hardware information creation unit 304 determines the number of CPUs to be assigned (cpu = 1), the memory capacity to be assigned (mem = 0x800000), the assigned input / output device (iodev = display), From the boot OS hardware information table 253 (FIG. 20), the required number of CPUs, memory capacity, and input / output devices necessary for booting the booted OS 600 are obtained and compared (S1113).
As a result of comparison, if the hardware described in the booted OS 600 boot user setting file 126 cannot be booted, an error is returned to the calling user (application) and the process is terminated (S1114).
If the hardware can be booted with the assigned hardware, the user-set hardware information creation unit 304 generates the user-set hardware information table 255 in the area A of the memory 111, and assigns the number of CPUs to be assigned to the booted OS 600 boot user setting file 126. , Memory capacity, input / output device (CPU = 1, memory capacity = 0x800000, input / output device = keyboard), booted OS hardware information table 253, binary address of the booted OS 600 on the secondary storage, capacity and The entry address information is written in the user setting hardware information table 255 secured in the area A of the memory 111 (S1115).
After that, the user setting hardware information creation unit 304 notifies the hardware allocation unit 301 of activation of the booted OS 600 (S1116).
ハードウェア割り当て手段301は被起動OS用ハードウェア情報テーブル253から被起動OS600の起動に必要なハードウェア情報を取得する(S1117)。
ハードウェア割り当て手段301は、ハードウェア管理手段203に対して、現在のハードウェア管理状況を問合せる(S1118)。
ハードウェア管理手段203はハードウェア管理テーブル252から各ハードウェアの管理状況を読み込み、ハードウェア割り当て手段301に返答する(S1119)。
ハードウェア割り当て手段301はハードウェア管理手段203及び、被起動OS用ハードウェア情報テーブル253から、被起動OS600にハードウェアを割り当てることができるかどうかを判断する(S1120)。
今回の場合、ハードウェア管理手段203から、被起動OS600の起動に必要なハードウェア資源(CPU=1、メモリ=0x800000)は、既に他OSが使用中であるという応答、および、自分の管理するハードウェアにも余裕がないため、被起動OS600が起動できないと判断する。
被起動OSが起動できない場合、ハードウェア割り当て手段301は、再度ハードウェア管理手段203に対して、今度は、他OSの現在のハードウェア使用状況を問合せる。(S1127)。
The hardware allocation unit 301 acquires hardware information necessary for starting the booted OS 600 from the booted OS hardware information table 253 (S1117).
The hardware allocation unit 301 inquires of the hardware management unit 203 about the current hardware management status (S1118).
The hardware management unit 203 reads the management status of each hardware from the hardware management table 252 and returns it to the hardware allocation unit 301 (S1119).
The hardware allocation unit 301 determines whether hardware can be allocated to the booted OS 600 from the hardware management unit 203 and the booted OS hardware information table 253 (S1120).
In this case, the hardware resource (CPU = 1, memory = 0x800000) necessary for starting the booted OS 600 is received from the hardware management unit 203 as a response that another OS is already in use, and managed by itself. Since the hardware has no margin, it is determined that the booted OS 600 cannot be booted.
If the OS to be started cannot be started, the hardware allocation unit 301 inquires the hardware management unit 203 again about the current hardware usage status of the other OS. (S1127).
ハードウェア管理手段203は、ハードウェア割り当て手段301の問合せに応じて、組込み機器1上で動作している、要求元OSを除いた全てのOSに対して、現在のハードウェアの使用を、各OS上のハードウェア割り当て手段に対して、問合せを行う(S1128)。
今回の場合、被起動OS400上のハードウェア割り当て手段402が対象となる。
OS400上のハードウェア割り当て手段402は、自OSのハードウェア利用状況を調査し、ハードウェア管理手段203に報告する(S1129)。
今回の場合、ハードウェア管理手段203からの問合せにより、ハードウェア割り当て手段402は、自OSである被起動OS400のハードウェア利用状況を調査する。被起動OS400はCPU102と103、メモリ領域BとCおよびシリアルコンソールが割り当てられており、調査の結果、仮に、CPU103、および、メモリ領域Cを使用していなかった場合、ハードウェア割り当て手段402はハードウェア管理手段203に対して、CPU103および、メモリ領域Cが未使用であることを報告する。
In response to the inquiry from the hardware allocation unit 301, the hardware management unit 203 uses the current hardware for all the OSs operating on the embedded device 1 except the request source OS. An inquiry is made to the hardware allocation means on the OS (S1128).
In this case, the hardware allocation unit 402 on the booted OS 400 is targeted.
The hardware allocation unit 402 on the OS 400 investigates the hardware usage status of the own OS and reports it to the hardware management unit 203 (S1129).
In this case, in response to an inquiry from the hardware management unit 203, the hardware allocation unit 402 investigates the hardware usage status of the booted OS 400 that is the own OS. The booted OS 400 is assigned the CPUs 102 and 103, the memory areas B and C, and the serial console. As a result of the investigation, if the CPU 103 and the memory area C are not used, the hardware assignment unit 402 It reports to the hardware management means 203 that the CPU 103 and the memory area C are unused.
ハードウェア管理手段203はハードウェア割り当て手段402からの報告により、ハードウェア管理テーブル252を更新し、ハードウェア割り当て手段301に未使用のハードウェア情報を報告する(S1130)。
今回の場合、ハードウェア管理テーブル252のCPU103およびメモリ領域Cを未使用に変更し、ハードウェア割り当て手段301にCPU103及びメモリ領域Cが未使用であることを報告する。
ハードウェア割り当て手段301は、ハードウェア管理手段203の報告により、被起動OS600が起動するかどうかを再度判断する(S1131)。
起動できない場合は呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1132)。
起動できる場合は、S1121からS1126の処理を行う。
これらの処理は図22のS1100からS1105の処理と同様であるので説明を割愛する。
The hardware management unit 203 updates the hardware management table 252 according to the report from the hardware allocation unit 402, and reports unused hardware information to the hardware allocation unit 301 (S1130).
In this case, the CPU 103 and the memory area C in the hardware management table 252 are changed to unused, and the fact that the CPU 103 and the memory area C are unused is reported to the hardware allocation unit 301.
Based on the report from the hardware management unit 203, the hardware allocation unit 301 determines again whether or not the booted OS 600 is started (S1131).
If it cannot be started, an error is returned to the calling user (application) and the process is terminated (S1132).
If it can be activated, the processing from S1121 to S1126 is performed.
Since these processes are the same as the processes from S1100 to S1105 in FIG. 22, the description thereof will be omitted.
以上により、被起動OS600の起動が終了する。 Thus, the booting of the booted OS 600 ends.
このように、本実施の形態では、ハードウェア割り当て手段301は、いずれかの被起動OS(上記の説明では被起動OS600)の起動が要求された際に既に起動されている起動済みOS(上記の説明では被起動OS400)が少なくとも一つ存在する場合に、起動済みOSに割り当て済みのハードウェア資源の起動済みOSにおける使用状況をハードウェア管理手段203に問合せ、ハードウェア管理手段203からの応答に基づき、被起動OSに割り当てるハードウェア資源を選択する。
そして、ハードウェア管理手段203は、ハードウェア割り当て手段301からの問合せに対して、起動済みOSにおける割り当て済みのハードウェア資源の使用状況を調査し、調査結果を示す応答をハードウェア割り当て手段301に対して行う。
As described above, in the present embodiment, the hardware allocation unit 301 includes the already-launched OS (the above-described OS that is already activated when the activation of any one of the OSs to be activated (the activated OS 600 in the above description) is requested). In the description, when there is at least one booted OS 400), the hardware management unit 203 is inquired about the usage status of the hardware resources allocated to the started OS in the started OS, and a response from the hardware management unit 203 is received. Based on the above, the hardware resource to be allocated to the booted OS is selected.
In response to the inquiry from the hardware allocation unit 301, the hardware management unit 203 investigates the usage status of the allocated hardware resources in the activated OS, and sends a response indicating the survey result to the hardware allocation unit 301. Against.
ハードウェア割り当て手段301は、ハードウェア管理手段203から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とを比較した結果、被起動OSの起動に必要なハードウェア資源の少なくとも一部が割り当てできないと判断した場合に、起動済みOSにおける割り当て済みのハードウェア資源の使用状況をハードウェア管理手段に問合せる。
また、ハードウェア割り当て手段301は、起動済みOSにおいて被起動OSの起動に必要なハードウェア資源が使用されていない場合に、起動済みOSにおいて使用されていないハードウェア資源を被起動OSに割り当てるハードウェア資源として選択する。
The hardware allocation unit 301 compares the hardware resource allocation status notified from the hardware management unit 203 with the hardware resources necessary for booting the booted OS, and as a result, compares the hardware necessary for booting the booted OS. When it is determined that at least a part of the resources cannot be allocated, the hardware management unit is inquired about the usage status of the allocated hardware resources in the activated OS.
The hardware allocation unit 301 allocates hardware resources that are not used in the activated OS to the activated OS when the activated OS does not use hardware resources necessary for activation of the activated OS. Select as a hardware resource.
この実施の形態における、マルチコアを搭載した組込み機器の複数OS起動方式では、各ハードウェアに対して、管理元OSと使用状況の情報を保持する領域を備え、本情報を元に動作中の各OSにハードウェアの使用状況の問合せを行い、各OSが使用していないハードウェアを被起動OSに割り当てるようにしたので、最新のハードウェア使用状況の情報を用いて、被起動OSを起動することが可能となる。 In this embodiment, the multi-OS activation method for an embedded device equipped with a multi-core includes an area for storing information on the management source OS and usage status for each hardware, and each operating system based on this information. Since the OS is inquired about the hardware usage status and the hardware not used by each OS is assigned to the booted OS, the booted OS is booted using the latest hardware usage status information. It becomes possible.
また、今回被起動OS600を起動するのは初期起動OS300としたが、被起動OS400上のハードウェア割り当て手段402が、初期起動OS300上のハードウェア割り当て手段301と同様の機能を持つことで、被起動OS400から、被起動OS600を起動しても良い。
また、今回、被起動OSは2つとしたが、被起動OSが3つ以上あっても良い。
また、今回、他OSのハードウェア利用状況を確認する手段として、ハードウェア管理手段を利用したが、他OS確認専用の手段をファームウェア上に用意しこの手段が他OSのハードウェア利用状況の確認を実施しても同様の効果を得られる。
In addition, the booted OS 600 is booted at the initial boot OS 300 this time, but the hardware allocation unit 402 on the booted OS 400 has the same function as the hardware allocation unit 301 on the initial boot OS 300. The booted OS 600 may be booted from the boot OS 400.
In addition, although the number of booted OSs is two at this time, there may be three or more booted OSs.
Also, this time, the hardware management means was used as a means for confirming the hardware usage status of the other OS. However, a means dedicated to confirming the other OS is prepared on the firmware, and this means confirms the hardware usage status of the other OS. The same effect can be obtained even if
以上、本実施の形態では、被起動OSが起動できない場合に、他OSのハードウェア利用状況を問合せるハードウェア割り当て手段と、ハードウェア割り当て手段の指示により、組込み機器上の各OSの最新のハードウェア使用状況を取得するハードウェア管理手段とを有する組込み機器について説明した。 As described above, in the present embodiment, when the booted OS cannot be booted, the latest hardware of each OS on the embedded device is instructed by the hardware allocation means for inquiring the hardware usage status of the other OS and the hardware allocation means. An embedded device having hardware management means for acquiring the hardware usage status has been described.
また、本実施の形態では、被起動OSを起動させる際に、自OSのハードウェア資源で被起動OSが起動できない場合、他OSのハードウェア利用状況を問合せ、利用可能なハードウェアが存在する場合は、そのハードウェアを被起動OSに割り当てることで、任意のOSの起動を可能にする組込み機器について説明した。 Further, in this embodiment, when the booted OS cannot be booted with the hardware resources of the own OS when booting the booted OS, there is hardware that can be used by inquiring about the hardware usage status of other OSs. In this case, the embedded device that enables the booting of an arbitrary OS by allocating the hardware to the booted OS has been described.
実施の形態5.
本実施の形態では、既に起動しているOSに対して、別のハードウェアを追加する方式について説明する。
Embodiment 5. FIG.
In the present embodiment, a method of adding another hardware to an already started OS will be described.
図25は、この発明の実施の形態5におけるマルチコアを搭載した組込み機器1(情報処理装置)の構成例を示すものである。
本実施の形態において、ハードウェア100上の二次記憶装置121は、初期起動OS300ハードウェア追加用ユーザ設定ファイル127を備える。
FIG. 25 shows a configuration example of an embedded device 1 (information processing apparatus) equipped with a multi-core according to Embodiment 5 of the present invention.
In the present embodiment, the secondary storage device 121 on the hardware 100 includes an initial boot OS 300 hardware addition user setting file 127.
ファームウェア200上のハードウェア管理手段203は、これまでの実施の形態で説明した機能に追加して、初期起動OS300上のハードウェア割り当て手段301からの、ハードウェア追加の要求に応じ、組込み機器1上のハードウェアの使用状況をハードウェア管理テーブル252から取得し、ハードウェア割り当て手段301に返答するという機能を持つ。
さらに、ハードウェア割り当て手段301から、他OSのハードウェア利用状況の問合せに応じ、呼び出し元以外のOS上のハードウェア割り当て手段に対して、ハードウェアの利用状況を問合せ、返答結果から、ハードウェア管理テーブルを更新し、呼び出し元のハードウェア割り当て手段へ返答するという機能を持つ。
The hardware management unit 203 on the firmware 200 adds to the functions described in the above embodiments, and in response to a request for hardware addition from the hardware allocation unit 301 on the initial startup OS 300, the embedded device 1 The above hardware usage status is acquired from the hardware management table 252 and has a function of responding to the hardware allocation unit 301.
Further, in response to the inquiry of the hardware usage status of the other OS from the hardware allocation means 301, the hardware allocation status is inquired to the hardware allocation means on the OS other than the caller, and the hardware status is determined from the response result. It has a function of updating the management table and responding to the hardware allocation means of the caller.
初期起動OS300上のハードウェア割り当て手段301は、これまでの実施の形態で説明した機能に追加して、ユーザからのハードウェア資源追加の要求に応じ、ファームウェア200上のハードウェア管理手段203に対し、ハードウェアの使用状況について、問合せを行うという機能を持つ。 The hardware allocation unit 301 on the initial startup OS 300 adds to the functions described in the above embodiments, and responds to the hardware management unit 203 on the firmware 200 in response to a request for adding hardware resources from the user. It has a function of inquiring about the usage status of hardware.
また、各OS上のハードウェア割り当て手段402は図16と同様に、ハードウェア管理手段203からの問合せに応じ、自OSのハードウェア使用状況を調査し、ハードウェア管理手段203へ返答を行う。 Similarly to FIG. 16, the hardware allocation unit 402 on each OS investigates the hardware usage status of its own OS in response to an inquiry from the hardware management unit 203 and returns a response to the hardware management unit 203.
また、後述するように、ユーザ設定ハードウェア情報作成手段304は、ハードウェア割り当て手段301に対して、既に起動されている特定の起動済みOS(例えば、初期起動OS300)に特定種類のハードウェア資源を追加割り当てするよう指示する。
ユーザ設定ハードウェア情報作成手段304は、ハードウェア追加指示手段の例である。
Further, as will be described later, the user-set hardware information creation unit 304 sends a specific type of hardware resource to the hardware allocation unit 301 in a specific already-started OS (for example, the initial startup OS 300). Instructs additional allocations.
The user setting hardware information creation unit 304 is an example of a hardware addition instruction unit.
次に、初期起動OS300ハードウェア追加用ユーザ設定ファイル127の記述例を図26に示す。
本ファイルでは、初期起動OS300及び被起動OS400が起動し、通常状態となったあとに、初期起動OS300に新たに割り当てるハードウェアの情報を保持している。
本記述例の情報の内容としては、初期起動OS300に新たに割り当てるCPU数(CPU+=1)である。
なお、今回はCPUのみの追加としたが、追加するハードウェアとしては、メモリ、及び、入出力装置であっても良い。
また、追加するハードウェアが複数記述されていても良い。
本ファイルはユーザあるいはアプリケーションによって、予め準備されていることを想定している。
Next, a description example of the initial startup OS 300 hardware addition user setting file 127 is shown in FIG.
This file holds information on hardware to be newly allocated to the initial startup OS 300 after the initial startup OS 300 and the booted OS 400 are started and become normal.
The content of the information in this description example is the number of CPUs newly assigned to the initial boot OS 300 (CPU + = 1).
Although only the CPU is added this time, the hardware to be added may be a memory and an input / output device.
A plurality of hardware to be added may be described.
It is assumed that this file is prepared in advance by the user or application.
図25における他の構成は、図16における構成と同一、もしくは相当部であり、説明を省略する。 The other configuration in FIG. 25 is the same as or equivalent to the configuration in FIG.
次に、この実施の形態における、初期起動OS300と被起動OS400が通常動作になってから、ユーザの指示により、初期起動OS300に対してハードウェアを割り当てる動作を図27を用いて説明する。 Next, an operation of assigning hardware to the initial startup OS 300 according to a user instruction after the initial startup OS 300 and the OS to be started 400 are in a normal operation in this embodiment will be described with reference to FIG.
なお、この実施の形態における組込み機器1のハードウェアリセットから初期起動OS300の起動が終了するまでは図21と同様であるため、説明を省略する。
また、初期起動OS300の起動が終了し、通常動作状態から、被起動OS400を起動するまでは図22と同様であるため、説明を省略する。
Note that the process from the hardware reset of the embedded device 1 to the end of the startup of the initial startup OS 300 in this embodiment is the same as that in FIG.
Further, since the startup of the initial startup OS 300 is completed and the startup OS 400 is started from the normal operation state, the description is omitted.
組込み機器1が通常状態で、ユーザは、初期起動OS300を通じて、初期起動OS300上のハードウェア追加を、ユーザ設定ハードウェア情報作成手段304に伝える(S1142)。
この際、初期起動OS300に対して追加するハードウェアの情報は初期起動OS300ハードウェア追加用ユーザ設定ファイル127(図26)を使用するように指定する。
When the embedded device 1 is in a normal state, the user transmits the hardware addition on the initial startup OS 300 to the user setting hardware information creation unit 304 through the initial startup OS 300 (S1142).
At this time, the hardware information to be added to the initial startup OS 300 is specified to use the initial startup OS 300 hardware addition user setting file 127 (FIG. 26).
ユーザ設定ハードウェア情報作成手段304は初期起動OS300ハードウェア追加用ユーザ設定ファイル127から、追加するCPU数、メモリ容量、入出力装置を取得する。
さらに、ファームウェア200上のハードウェア管理手段203に対して、初期起動OS300が管理しているハードウェア情報を取得し、これらの情報を統合し、メモリ111の領域Aに確保されているユーザ設定ハードウェア情報テーブル255に書き込む(S1143)。
その後、ユーザ設定ハードウェア情報作成手段304は、初期起動OS300に対するハードウェアの追加を、ハードウェア割り当て手段301に指示する(S1144)。
The user setting hardware information creation unit 304 acquires the number of CPUs to be added, the memory capacity, and the input / output device from the initial startup OS 300 hardware addition user setting file 127.
Further, the hardware information managed by the initial startup OS 300 is acquired from the hardware management unit 203 on the firmware 200, and these pieces of information are integrated and the user setting hardware secured in the area A of the memory 111. The data is written into the wear information table 255 (S1143).
Thereafter, the user setting hardware information creation unit 304 instructs the hardware allocation unit 301 to add hardware to the initial boot OS 300 (S1144).
ハードウェア割り当て手段301は、ユーザ設定ハードウェア情報作成手段304からのハードウェアの追加指示を受け、ファームウェア200上のハードウェア管理手段203に対し、組込み機器1上のハードウェアの管理状況について問合せを行う(S1145)。
ハードウェア管理手段203は、ハードウェア管理テーブル252の使用状況を調べ、ハードウェア割り当て手段301に報告する(S1146)。
ハードウェア割り当て手段301は、ハードウェア管理手段203からの報告の結果、および、ユーザ設定ハードウェア情報テーブル255から、ハードウェアを初期起動OS300に割り当てることができるかどうかを判断する(S1147)。
ハードウェアを初期起動OS300に割り当てることができる場合の処理は後述のS1148からS1150と同様である。
The hardware allocation unit 301 receives an instruction to add hardware from the user-set hardware information creation unit 304 and inquires of the hardware management unit 203 on the firmware 200 about the management status of the hardware on the embedded device 1. This is performed (S1145).
The hardware management unit 203 checks the usage status of the hardware management table 252 and reports it to the hardware allocation unit 301 (S1146).
The hardware allocation unit 301 determines whether the hardware can be allocated to the initial boot OS 300 from the result of the report from the hardware management unit 203 and the user setting hardware information table 255 (S1147).
Processing when hardware can be assigned to the initial startup OS 300 is the same as S1148 to S1150 described later.
今回の場合、ハードウェア管理手段203から未使用のCPUがないと報告されるため、ハードウェア割り当て手段301は、再度、ハードウェア管理手段203に対し、他OSの現在のハードウェア使用状況を問合せるよう指示する(S1151)。 In this case, since the hardware management unit 203 reports that there is no unused CPU, the hardware allocation unit 301 again queries the hardware management unit 203 about the current hardware usage status of the other OS. (S1151).
ハードウェア管理手段203は、ハードウェア割り当て手段301の問合せに応じて、組込み機器1上で動作している、要求元OSを除いた全てのOSに対して、現在のハードウェアの使用状況を、各OS上のハードウェア割り当て手段に対して、問合せを行う(S1152)。今回の場合、被起動OS400上のハードウェア割り当て手段402が対象となる。 In response to the inquiry from the hardware allocation unit 301, the hardware management unit 203 displays the current hardware usage status for all the OSs operating on the embedded device 1 except the request source OS. An inquiry is made to the hardware allocation means on each OS (S1152). In this case, the hardware allocation unit 402 on the booted OS 400 is targeted.
OS400上のハードウェア割り当て手段402は、自OSのハードウェア利用状況を調査し、ハードウェア管理手段203に報告する(S1153)。
今回の場合、ハードウェア管理手段203からの問合せにより、ハードウェア割り当て手段402は、自OSである被起動OS400のハードウェア利用状況を調査する。
被起動OS400はCPU102と103、メモリ領域BとCおよびシリアルコンソールが割り当てられており、調査の結果、仮に、CPU103、および、メモリ領域Cを使用していなかった場合、ハードウェア割り当て手段402はハードウェア管理手段203に対して、CPU103および、メモリ領域Cが未使用であることを報告する。
The hardware allocation unit 402 on the OS 400 investigates the hardware usage status of the own OS and reports it to the hardware management unit 203 (S1153).
In this case, in response to an inquiry from the hardware management unit 203, the hardware allocation unit 402 investigates the hardware usage status of the booted OS 400 that is the own OS.
The booted OS 400 is assigned the CPUs 102 and 103, the memory areas B and C, and the serial console. As a result of the investigation, if the CPU 103 and the memory area C are not used, the hardware assignment unit 402 It reports to the hardware management means 203 that the CPU 103 and the memory area C are unused.
ハードウェア管理手段203はハードウェア管理テーブル252の更新を行う。
今回の場合、CPU103及び、メモリ領域Cを未使用に変更する。
その後、ハードウェア管理手段203は、ハードウェア割り当て手段301に未使用のハードウェアを報告する(S1154)。
The hardware management unit 203 updates the hardware management table 252.
In this case, the CPU 103 and the memory area C are changed to unused.
Thereafter, the hardware management unit 203 reports unused hardware to the hardware allocation unit 301 (S1154).
ハードウェア割り当て手段301はハードウェア管理手段203の報告および、ユーザ設定ハードウェア情報テーブル255から、初期起動OS300にハードウェアを割り当てることができるかどうか判断する(S1155)。
初期起動OS300にハードウェアを割り当てることができない場合は、呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1156)。
初期起動OS300にハードウェアを割り当てることが可能な場合は、ハードウェア割り当て手段301はハードウェア管理手段203に対して、初期起動OS300が使用するハードウェアを報告する。
今回の場合はCPU103を使用することをハードウェア管理手段203に報告する(S1148)。
The hardware allocation unit 301 determines whether hardware can be allocated to the initial boot OS 300 from the report of the hardware management unit 203 and the user setting hardware information table 255 (S1155).
If hardware cannot be assigned to the initial startup OS 300, an error is returned to the calling user (application) and the process is terminated (S1156).
When hardware can be allocated to the initial startup OS 300, the hardware allocation unit 301 reports the hardware used by the initial startup OS 300 to the hardware management unit 203.
In this case, the use of the CPU 103 is reported to the hardware management means 203 (S1148).
ハードウェア管理手段203はハードウェア割り当て手段301の報告から、ハードウェア管理テーブル252を更新する(S1149)。
また、ハードウェア割り当て手段301は、ハードウェア起動/停止手段302を用いて初期起動OS300で追加ハードウェアを利用可能にする。
今回の場合は初期起動OS300でCPU103を利用可能にする(S1150)。
The hardware management unit 203 updates the hardware management table 252 from the report of the hardware allocation unit 301 (S1149).
The hardware allocation unit 301 uses the hardware startup / stop unit 302 to make the additional hardware available to the initial startup OS 300.
In this case, the CPU 103 can be used by the initial startup OS 300 (S1150).
以上で、初期起動OS300と被起動OS400が通常動作になってから、ユーザが初期起動OS300に対してハードウェアを新たに割り当てることが可能となる。 As described above, after the initial boot OS 300 and the booted OS 400 are in normal operation, the user can newly assign hardware to the initial boot OS 300.
このように、本実施の形態では、ユーザ設定ハードウェア情報作成手段304(ハードウェア追加指示手段)が、ハードウェア割り当て手段301に対して、既に起動されている特定の起動済みOS(上記の説明では初期起動OS300)に特定種類のハードウェア資源を追加割り当てするよう指示し、ハードウェア割り当て手段301は、ユーザ設定ハードウェア情報作成手段304から特定の起動済みOSへの特定種類のハードウェア資源の追加割り当て指示があった場合であって、特定の起動済みOS以外に起動済みOS(上記の説明では被起動OS400)が存在する場合に、特定の起動済みOS以外の他の起動済みOSに割り当て済みのハードウェア資源の他の起動済みOSにおける使用状況をハードウェア管理手段203に問合せ、ハードウェア管理手段203からの応答に基づき、特定の起動済みOSに追加割り当てをするハードウェア資源を選択する。
ハードウェア管理手段203は、ハードウェア割り当て手段301からの問合せに対して、他の起動済みOS(被起動OS400)における割り当て済みのハードウェア資源の使用状況を調査し、調査結果を示す応答をハードウェア割り当て手段301に対して行う。
As described above, in the present embodiment, the user setting hardware information creation unit 304 (hardware addition instruction unit) sends a specific booted OS (described above) to the hardware allocation unit 301. Then, the initial booting OS 300) is instructed to additionally allocate a specific type of hardware resource, and the hardware allocation unit 301 assigns the specific type of hardware resource from the user setting hardware information creation unit 304 to the specific started OS. When there is an additional assignment instruction and there is a booted OS (booted OS 400 in the above description) other than the specific booted OS, the assignment is made to a booted OS other than the specific booted OS. Queries the hardware management means 203 about the usage status of the already-executed hardware resources in other activated OSs. , Based on the response from the hardware management unit 203 selects the hardware resources to the additional allocation to specific Started OS.
In response to the inquiry from the hardware allocation unit 301, the hardware management unit 203 investigates the usage status of the allocated hardware resources in another activated OS (the activated OS 400), and sends a response indicating the investigation result to the hardware. This is performed on the hardware allocation unit 301.
また、本実施の形態では、ハードウェア割り当て手段301は、他の起動済みOSにおいて特定種類のハードウェア資源が使用されていない場合に、他の起動済みOSにおいて使用されていない特定種類のハードウェア資源を特定の起動済みOSに追加割り当てをするハードウェア資源として選択する。 Further, in the present embodiment, the hardware allocating unit 301 is configured to use a specific type of hardware that is not used in another started OS when a specific type of hardware resource is not used in another started OS. The resource is selected as a hardware resource to be additionally allocated to a specific activated OS.
以上のように、本実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、既に動作中のOSに対して追加するハードウェア情報を保持する領域を備え、本情報を元に、各OSに対して割り当て可能なハードウェアを問合せる機能を追加したので、最新のハードウェア使用状況の情報を用いて、OSへハードウェアの追加を行うことが可能となる。 As described above, according to the present embodiment, the multi-OS boot method for embedded devices equipped with a multi-core includes an area for holding hardware information to be added to an operating OS, and based on this information, Since a function for inquiring hardware that can be assigned to each OS is added, it is possible to add hardware to the OS using the latest hardware usage information.
なお、今回は、初期起動OS300ハードウェア追加用ユーザ設定ファイルについて、ハードウェア資源を相対値で指定したが、絶対値で指定(CPU=2等)しても良い。
また、ハードウェアを追加するOSは初期起動OS300としたが、被起動OS400を用いても同様の効果を得られる。
In this case, for the initial startup OS 300 hardware addition user setting file, the hardware resource is specified as a relative value, but may be specified as an absolute value (CPU = 2 or the like).
Further, although the OS to which hardware is added is the initial boot OS 300, the same effect can be obtained by using the booted OS 400.
本実施の形態では、既に起動しているOSに対する、追加ハードウェアの情報を保持する、OSハードウェア追加用ユーザ設定ファイルを有する組込み機器について説明した。 In the present embodiment, an embedded device having an OS hardware addition user setting file that holds additional hardware information for an OS that has already been activated has been described.
また、ユーザが生成可能な、OSハードウェア追加用ユーザ設定ファイルを設け、このファイルに記載されているハードウェアの利用状況を、他のOSに対して問合せ、未使用のハードウェアが存在する場合には、既に起動しているOSに対してハードウェアを追加する組込み機器について説明した。 In addition, when a user setting file for adding OS hardware that can be generated by the user is provided, the usage status of the hardware described in this file is inquired of another OS, and there is unused hardware In the above, an embedded device that adds hardware to an already running OS has been described.
実施の形態6.
本実施の形態では、既に起動しているOSから、ハードウェアを削除する方式について説明する。
Embodiment 6 FIG.
In the present embodiment, a method for deleting hardware from an already running OS will be described.
図28は、この発明の実施の形態6におけるマルチコアを搭載した組込み機器1(情報処理装置)の構成例を示すものである。 FIG. 28 shows an example of the configuration of an embedded device 1 (information processing apparatus) equipped with a multi-core according to Embodiment 6 of the present invention.
本実施の形態において、ファームウェア200上のハードウェア管理手段203は被起動OS400からの更新依頼に基づき、ハードウェア管理テーブル252の該当するハードウェアを未使用に変更する。 In the present embodiment, the hardware management unit 203 on the firmware 200 changes the corresponding hardware in the hardware management table 252 to unused based on the update request from the booted OS 400.
被起動OS400上のハードウェア割り当て手段402は、これまでの実施の形態において説明した機能に追加して、ユーザから、OSが使用しているハードウェアの削除要求により、ハードウェアを削除することで、OSが動作可能かどうかを判断し、動作可能な場合は、被起動OS400から該当するハードウェアを削除し、ハードウェア管理手段203に対して、ハードウェアが削除されたことを報告する機能を持つ。 In addition to the functions described in the above embodiments, the hardware allocation unit 402 on the booted OS 400 deletes the hardware by a request to delete the hardware used by the OS. A function of determining whether or not the OS is operable, and if so, deleting the corresponding hardware from the booted OS 400 and reporting to the hardware management means 203 that the hardware has been deleted. Have.
被起動OS用ハードウェア情報テーブル253は、これまでの実施の形態において説明した機能に追加して、被起動OS400に対して、ハードウェア資源を削除する際に、ハードウェア削除後もOSが動作可能かどうかを判断するために使用されるという機能を持つ。 In addition to the functions described in the above embodiments, the booted OS hardware information table 253 operates when the hardware resource is deleted from the booted OS 400 even after the hardware is deleted. It has a function that is used to determine whether it is possible.
また、ユーザ設定ハードウェア情報作成手段404は、後述するように、起動済みである被起動OS400から特定種類のハードウェア資源の割り当てを解除しても被起動OS400の継続動作が可能か否かを判断し、特定種類のハードウェア資源の割り当てを解除しても被起動OS400の継続動作が可能な場合に、ハードウェア割り当て手段402に対して被起動OS400における特定種類のハードウェア資源の割り当てを解除するよう指示する。
ユーザ設定ハードウェア情報作成手段404は、ハードウェア解除指示手段の例である。
Further, as will be described later, the user-set hardware information creation unit 404 determines whether or not the booted OS 400 can continue the operation even if the allocation of a specific type of hardware resource is canceled from the booted OS 400 that has already been booted. If it is determined and the continuous operation of the booted OS 400 is possible even if the allocation of the specific type of hardware resources is cancelled, the allocation of the specific type of hardware resources in the booted OS 400 is canceled to the hardware allocation unit 402 Instruct them to do so.
The user setting hardware information creation unit 404 is an example of a hardware release instruction unit.
次に、被起動OS400ハードウェア削除用ユーザ設定ファイル128の記述例を図29に示す。
本ファイルでは、初期起動OS300及び、被起動OS400が起動し通常状態となった後に、被起動OS400から削除するハードウェアの情報を保持している。
情報の内容としては、被起動OS400から削除するCPU数(CPU−=1)である。なお、今回はCPUのみの削除としたが、削除するハードウェアとしては、メモリ、及び、入出力装置であっても良い。
また、削除するハードウェアが複数記述されていても良い。
本ファイルはユーザあるいはアプリケーションによって、予め準備されていることを想定している。
Next, a description example of the booted OS 400 hardware deletion user setting file 128 is shown in FIG.
This file holds information on hardware to be deleted from the booted OS 400 after the initial boot OS 300 and the booted OS 400 are booted and become a normal state.
The content of the information is the number of CPUs to be deleted from the booted OS 400 (CPU- = 1). Although only the CPU is deleted this time, the hardware to be deleted may be a memory and an input / output device.
A plurality of hardware to be deleted may be described.
It is assumed that this file is prepared in advance by the user or application.
図28における他の構成は、図16における構成と同一、もしくは相当部であり、説明を省略する。 The other configuration in FIG. 28 is the same as or equivalent to the configuration in FIG.
次に、この実施の形態における、初期起動OS300と被起動OS400が通常動作になってから、ユーザの指示により、被起動OS400が使用しているハードウェアを削除する動作を図30を用いて説明する。 Next, with reference to FIG. 30, the operation of deleting the hardware used by the booted OS 400 in accordance with a user instruction after the initial boot OS 300 and the booted OS 400 are in normal operation in this embodiment will be described. To do.
なお、この実施の形態における組込み機器1のハードウェアリセットから初期起動OS300の起動が終了するまでは図21と同様であるため、説明を省略する。
また、初期起動OS300の起動が終了し、通常動作状態から、被起動OS400を起動するまでは図22と同様であるため、説明を省略する。
Note that the process from the hardware reset of the embedded device 1 to the end of the startup of the initial startup OS 300 in this embodiment is the same as that in FIG.
Further, since the startup of the initial startup OS 300 is completed and the startup OS 400 is started from the normal operation state, the description is omitted.
組込み機器1が通常状態で、ユーザは、初期起動OS300を通じて、被起動OS400が使用中のハードウェアの削除を、ユーザ設定ハードウェア情報作成手段404に伝える(S1162)。
この際、被起動OS400から削除するハードウェアの情報は被起動OS400ハードウェア削除用ユーザ設定ファイル128(図29)を使用するように指定する。
When the embedded device 1 is in a normal state, the user notifies the user setting hardware information creation unit 404 of deletion of hardware being used by the booted OS 400 through the initial boot OS 300 (S1162).
At this time, the hardware information to be deleted from the booted OS 400 is designated to use the booted OS 400 hardware deletion user setting file 128 (FIG. 29).
ユーザ設定ハードウェア情報作成手段404は、被起動OS用ハードウェア情報テーブル253および、被起動OS400ハードウェア削除用ユーザ設定ファイル128の情報から、指定されたハードウェアを削除後も、被起動OS400が動作可能かどうか判断する(S1163)。
動作できない場合は呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1164)。
The user-set hardware information creation unit 404 stores the information on the booted OS hardware information table 253 and the booted OS 400 hardware deletion user setting file 128 after the specified OS is deleted. It is determined whether or not operation is possible (S1163).
If it cannot be operated, an error is returned to the calling user (application) and the process is terminated (S1164).
動作する場合、ユーザ設定ハードウェア情報作成手段404は、ハードウェア割り当て手段402に対し、指定されたハードウェアを削除するよう指示する(S1165)。
今回の場合はCPU一つを削除するよう指示する。
When operating, the user setting hardware information creation unit 404 instructs the hardware allocation unit 402 to delete the designated hardware (S1165).
In this case, an instruction is given to delete one CPU.
ハードウェア割り当て手段402は、ハードウェア起動/停止手段401を用いて、被起動OS400から該当するハードウェアの使用を停止し、ハードウェア管理手段203に対して、指定されたハードウェアの情報を更新するよう指示する(S1166)。
今回の場合では、例えばCPU102の使用を停止し、CPU102の利用状況を更新するようハードウェア管理手段203に指示する。
The hardware allocation unit 402 uses the hardware start / stop unit 401 to stop the use of the corresponding hardware from the booted OS 400 and updates the specified hardware information to the hardware management unit 203. Is instructed to do so (S1166).
In this case, for example, the use of the CPU 102 is stopped, and the hardware management unit 203 is instructed to update the usage status of the CPU 102.
ハードウェア管理手段203は指定されたハードウェアを未管理および、未使用に変更する(1167)。
以上により、ユーザの指示により、被起動OS400からハードウェアを削除することが可能となる。
The hardware management unit 203 changes the designated hardware to unmanaged and unused (1167).
As described above, it is possible to delete hardware from the booted OS 400 according to a user instruction.
このように、本実施の形態では、ユーザ設定ハードウェア情報作成手段404(ハードウェア解除指示手段)が、既に起動されている特定の起動済みOS(上記の説明では被起動OS400)から特定種類のハードウェア資源の割り当てを解除しても特定の起動済みOSの継続動作が可能か否かを、特定の起動済みOSの起動ハードウェア資源情報を参照して判断し、特定種類のハードウェア資源の割り当てを解除しても特定の起動済みOSの継続動作が可能な場合に、ハードウェア割り当て手段402に対して特定の起動済みOSにおける特定種類のハードウェア資源の割り当てを解除するよう指示する。
そして、ハードウェア割り当て手段402は、ユーザ設定ハードウェア情報作成手段404からの指示に従い、特定の起動済みOSにおける特定種類のハードウェア資源の割り当てを解除する。
As described above, in the present embodiment, the user-set hardware information creation unit 404 (hardware release instructing unit) performs a specific type of operation from a specific started OS (started OS 400 in the above description). It is determined whether or not the continuous operation of a specific activated OS can be performed even if the allocation of the hardware resources is released with reference to the activated hardware resource information of the specific activated OS, and the specific types of hardware resources are determined. If the continuous operation of a specific activated OS is possible even after the allocation is canceled, the hardware allocation unit 402 is instructed to cancel the allocation of a specific type of hardware resource in the specific activated OS.
The hardware allocation unit 402 then deallocates a specific type of hardware resource in a specific activated OS in accordance with an instruction from the user setting hardware information creation unit 404.
本実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、既に起動している他OSに対する、削除ハードウェアの情報を保持する領域を備え、他OSからハードウェアを削除する際には本領域の情報と、OSが動作する最低条件とを比較し、削除可能かどうか判断するようにしたので、動作中の他OSから、ハードウェアの削除を行うことが可能となる。 In the multi-OS boot method of an embedded device equipped with a multi-core according to the present embodiment, an area for holding information on deleted hardware for another OS already started is provided, and when hardware is deleted from another OS Compares the information in this area with the minimum conditions for operating the OS and determines whether or not the OS can be deleted. Therefore, it is possible to delete hardware from another operating OS.
なお、本実施の形態では、削除するのはCPUとしたが、メモリ、あるいは入出力装置であっても良い。
また、今回、初期起動OS300から被起動OS400に割り当てられたハードウェアを削除したが、被起動OS400から初期起動OS300のハードウェアを削除しても同様の効果を得られる。
In this embodiment, the CPU is deleted, but it may be a memory or an input / output device.
Although the hardware assigned to the booted OS 400 is deleted from the initial boot OS 300 this time, the same effect can be obtained by deleting the hardware of the initial boot OS 300 from the booted OS 400.
以上、本実施の形態では、既に起動しているOSに対する、削除ハードウェアの情報を保持する、OSハードウェア削除用ユーザ設定ファイルを有する組込み機器について説明した。 As described above, the present embodiment has described the embedded device having the OS hardware deletion user setting file that holds the information of the deletion hardware for the OS that has already been started.
また、本実施の形態では、ユーザが生成可能な、OSハードウェア削除用ユーザ設定ファイルを設け、このファイルに記載されているハードウェアと、OSの最低動作要件の情報を保持する被起動OS用ハードウェア情報テーブルの情報を比較し、ユーザの指定するハードウェアが削除可能かを判断し、削除可能な場合には、OSからハードウェアを削除する組込み機器について説明した。 In this embodiment, an OS hardware deletion user setting file that can be generated by the user is provided, and for the booted OS that holds the hardware described in this file and information on the minimum operating requirements of the OS. The information of the hardware information tables is compared to determine whether the hardware specified by the user can be deleted. If the hardware can be deleted, the embedded device that deletes the hardware from the OS has been described.
実施の形態7.
本実施の形態では、複数のOSでハードウェアに空きがある場合に、どのOSのハードウェアを割り当てるかに関して、ハードウェアを使用しているOS、あるいはそのOS上のプロセスの優先度に基づいて、ハードウェアの割り当てを行う。
Embodiment 7 FIG.
In the present embodiment, when hardware is available in a plurality of OSs, which OS hardware is allocated is based on the priority of the OS using the hardware or processes on the OS. Assign hardware.
図31は、この発明の実施の形態7におけるマルチコアを搭載した組込み機器1(情報処理装置)の構成例を示すものである。 FIG. 31 shows a configuration example of an embedded device 1 (information processing apparatus) equipped with a multi-core according to Embodiment 7 of the present invention.
ファームウェア200上の優先度判断手段204は、組込み機器1上の各OSで、複数のハードウェア資源が未使用であった場合、各OS上の優先度設定テーブル351、451、651から各OSのタスク(あるいはプロセス)の優先度及び、そのタスクが使用しているハードウェアを取得し、優先度管理テーブル256に格納するという機能を持つ。
さらに、優先度判断手段204は、優先度管理テーブル256の情報をあるアルゴリズムに適用し、最も優先度の低いハードウェアを決定し、ハードウェア管理手段へ報告するという機能を持つ。
優先度判断手段204における、ハードウェアの優先度を決定する方法としては、例えば、図32のような評価式が考えられる。
この場合、各OS毎の優先度、OS内のタスクの優先度が定義され、さらに、複数タスクがハードウェアを共有していることを想定している。
The priority determination means 204 on the firmware 200 is based on the priority setting tables 351, 451, and 651 on each OS when a plurality of hardware resources are unused in each OS on the embedded device 1. It has a function of acquiring the priority of a task (or process) and the hardware used by the task and storing it in the priority management table 256.
Furthermore, the priority determination unit 204 has a function of applying the information in the priority management table 256 to a certain algorithm, determining the hardware with the lowest priority, and reporting it to the hardware management unit.
As a method for determining the priority of hardware in the priority determination means 204, for example, an evaluation formula as shown in FIG. 32 is conceivable.
In this case, it is assumed that the priority for each OS and the priority of tasks in the OS are defined, and that a plurality of tasks share hardware.
ファームウェア200上の優先度管理テーブル256は、各OSの優先度設定テーブル351、451、651の内容を統合し、さらに優先度を算出するために必要な情報を保持するという機能を持つ。
図33に優先度管理テーブル256の内容例を示す。本ファイルでは、各OS持つ優先度、及び、各OS上のタスクのOS内での優先度、及び、各タスクが使用しているハードウェアを保持している。
さらに、優先度を算出するために必要な項目として、OS優先度最小値、OS優先度最大値、各OSのタスク優先度最小値、タスク優先度最大値を保持している。
The priority management table 256 on the firmware 200 has a function of integrating the contents of the priority setting tables 351, 451, and 651 of each OS, and holding information necessary for calculating the priority.
FIG. 33 shows an example of the contents of the priority management table 256. This file holds the priority of each OS, the priority of the task on each OS in the OS, and the hardware used by each task.
Furthermore, the OS priority minimum value, OS priority maximum value, task priority minimum value, and task priority maximum value for each OS are held as items necessary for calculating the priority.
ハードウェア管理手段203は、これまでの実施の形態で説明した機能に追加して、各OS上の複数のハードウェアが未使用だった場合、優先度判断手段204に対し、どのハードウェアの優先度が最低かを問合せ、優先度判断手段204から回答のあったハードウェアを被起動OSに対して割り当てる機能を持つ。 In addition to the functions described in the previous embodiments, the hardware management unit 203 determines which hardware priority is given to the priority determination unit 204 when a plurality of hardware on each OS is unused. It has a function of inquiring whether the degree is the lowest and allocating the hardware that has been answered from the priority determination means 204 to the booted OS.
初期起動OS300上の優先度設定テーブル351は、初期起動OS300上で動作しているタスクの優先度及び、タスクが使用しているハードウェアの情報を保持する機能を持つ。
他のOS上にある優先度設定テーブル451、651も同様の機能を持つため、説明を省略する。
The priority setting table 351 on the initial startup OS 300 has a function of holding the priority of tasks operating on the initial startup OS 300 and information on hardware used by the tasks.
Since the priority setting tables 451 and 651 on the other OS also have the same function, description thereof will be omitted.
図31における他の構成は、図28における構成と同一もしくは相当部であり、説明を省略する。 The other configuration in FIG. 31 is the same as or equivalent to the configuration in FIG. 28, and a description thereof will be omitted.
次に、本実施の形態において、初期起動OS300、被起動OS400及び、被起動OS600が起動し、通常状態になった後で、被起動OS700を起動する手順を、図36を用いて説明する。 Next, in this embodiment, a procedure for starting the booted OS 700 after the initial boot OS 300, the booted OS 400, and the booted OS 600 are booted and are in a normal state will be described with reference to FIG.
なお、初期起動OS300を起動する手順は図21と同様の処理のため省略する。
また、被起動OS400を起動する手順は図22と同様の処理のため省略する。
さらに、被起動OS600を起動する手順も図22と同様の処理のため省略する。
ただし、各OSが使用するハードウェアは若干異なるため、初期起動OS300、被起動OS400及び、被起動OS600が起動し、通常状態になった後における、ハードウェア管理テーブルを図34に示す。
また、被起動OS700に割り当てる、被起動OS700起動用ユーザ設定ファイル130の内容例を図35に示す。
Note that the procedure for starting the initial startup OS 300 is omitted because it is the same as that in FIG.
Also, the procedure for starting the OS to be started 400 is the same as that in FIG.
Further, the procedure for starting up the OS to be started 600 is omitted because it is the same processing as in FIG.
However, since the hardware used by each OS is slightly different, FIG. 34 shows a hardware management table after the initial boot OS 300, the booted OS 400, and the booted OS 600 are started and become normal.
FIG. 35 shows an example of the contents of the booted OS 700 boot user setting file 130 assigned to the booted OS 700.
ユーザは、初期起動OS300を通じて、被起動OS700の起動要求をユーザ設定ハードウェア情報作成手段304に伝える(S1172)。
この際、被起動OS700の起動には、被起動OS700起動用ユーザ設定ファイル130(図35)を使用するように指定する。
ユーザ設定ハードウェア情報作成手段304は被起動OS700起動用ユーザ設定ファイル130から、割り当てるCPU数(CPU=1)割り当てるメモリ量(mem=0x800000)、割り当てる入出力装置(iodev=network)と、被起動OS用ハードウェア情報テーブル253から、被起動OS700の起動に必須なCPU数、メモリ容量および、入出力装置を取得し、比較を行う(S1173)。
比較の結果、被起動OS700起動用ユーザ設定ファイル130に記述されているハードウェアで起動できない場合は、呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1174)。
The user transmits a startup request for the OS to be started 700 to the user setting hardware information creation unit 304 through the initial startup OS 300 (S1172).
At this time, it is specified that the booted OS 700 boot user setting file 130 (FIG. 35) is used for booting the booted OS 700.
From the user setting file 130 for starting the OS 700 to be started, the user setting hardware information creation unit 304 determines the number of CPUs to be assigned (CPU = 1), the amount of memory to be assigned (mem = 0x800000), the assigned input / output device (iodev = network), From the OS hardware information table 253, the CPU count, memory capacity, and input / output device essential for starting the booted OS 700 are acquired and compared (S1173).
As a result of the comparison, if the hardware described in the booted OS 700 boot user setting file 130 cannot be booted, an error is returned to the calling user (application) and the process is terminated (S1174).
割り当てるハードウェアで起動できる場合は、ユーザ設定ハードウェア情報作成手段304は、ユーザ設定ハードウェア情報テーブル255を生成し、被起動OS700起動用ユーザ設定ファイル130の、割り当てるCPU数、メモリ容量、入出力装置と、被起動OS用ハードウェア情報テーブル253の、二次記憶上の被起動OS700のバイナリアドレス、容量およびエントリアドレス情報を、ユーザ設定ハードウェア情報テーブル255に書き込む(S1175)。
その後、ユーザ設定ハードウェア情報作成手段304は、被起動OS700の起動をハードウェア割り当て手段301に伝える(S1176)。
If the hardware can be booted with the assigned hardware, the user-set hardware information creation unit 304 generates the user-set hardware information table 255 and assigns the number of CPUs, memory capacity, and input / output of the booted OS 700 boot user setting file 130. The binary address, capacity, and entry address information of the boot OS 700 in the secondary storage of the device and the boot OS hardware information table 253 are written in the user setting hardware information table 255 (S1175).
Thereafter, the user setting hardware information creation unit 304 notifies the hardware allocation unit 301 of the activation of the booted OS 700 (S1176).
ハードウェア割り当て手段301は、ハードウェア管理手段203に対して、ハードウェア管理状況を問合せる(S1177)。
ハードウェア管理手段203は、被起動OS用ハードウェア情報テーブル253から、各ハードウェアの管理状況を読み込み、ハードウェア割り当て手段301に返答する(S1178)。
ハードウェア割り当て手段301はハードウェア管理手段203の返答結果および、ユーザ設定ハードウェア情報テーブル255の情報から、被起動OS700にハードウェアを割り当てることができるかどうか比較を行う(S1179)。
被起動OS700にハードウェアを割り当てることができる場合はS1190からS1195の処理を行う。
本処理は図24のS1121からS1126と同様の処理のため説明を省略する。
The hardware allocation unit 301 inquires of the hardware management unit 203 about the hardware management status (S1177).
The hardware management means 203 reads the management status of each hardware from the booted OS hardware information table 253, and returns it to the hardware allocation means 301 (S1178).
The hardware allocation unit 301 compares whether the hardware can be allocated to the booted OS 700 from the response result of the hardware management unit 203 and the information of the user setting hardware information table 255 (S1179).
If hardware can be assigned to the booted OS 700, the processing from S1190 to S1195 is performed.
Since this process is the same as S1121 to S1126 in FIG.
今回の場合、メモリ容量、入出力機器に関しては、被起動OS700へ割り当てることができるが、組込み機器1上のCPUは全て使用中であるため被起動OS700に対して、CPU一つを割り当てることができない。
このため、ハードウェア割り当て手段301は再度ハードウェア管理手段203に対して、組込み機器1上のOSのハードウェア使用状況について問合せを行う(S1180)。
ハードウェア管理手段203は、各OS上のハードウェアの使用状況を取得し(S1181,S1182)、ハードウェア管理テーブル252を更新し、ハードウェア割り当て手段301に返答する(S1183)。
今回、例えば、被起動OS400上のCPU102と、被起動OS600上のCPU104が未使用であるとハードウェア割り当て手段301に返答する。
In this case, the memory capacity and input / output devices can be assigned to the booted OS 700, but since all the CPUs on the embedded device 1 are in use, one CPU can be assigned to the booted OS 700. Can not.
Therefore, the hardware allocation unit 301 makes an inquiry to the hardware management unit 203 again about the hardware usage status of the OS on the embedded device 1 (S1180).
The hardware management unit 203 acquires the usage status of the hardware on each OS (S1181, S1182), updates the hardware management table 252 and returns it to the hardware allocation unit 301 (S1183).
This time, for example, the CPU 102 on the booted OS 400 and the CPU 104 on the booted OS 600 are returned to the hardware allocation unit 301 to indicate that they are unused.
ハードウェア割り当て手段301は、未使用のハードウェアを割り当てることで、被起動OSが起動するかどうかを判断する(S1184)。
起動できない場合は、呼び出し元のユーザ(アプリケーション)にエラーを返し処理を終了する(S1185)。
今回の場合は、CPU102、CPU104が未使用であるため、これらのCPUを被起動OS700に割り当てれば起動すると判断する。
The hardware allocation unit 301 determines whether or not the booted OS is started by allocating unused hardware (S1184).
If it cannot be started, an error is returned to the calling user (application) and the process is terminated (S1185).
In this case, since the CPU 102 and the CPU 104 are not used, it is determined that the CPU 102 and the CPU 104 are started up if they are assigned to the booted OS 700.
次に、ハードウェア割り当て手段301は、ハードウェア管理手段203から、必要以上のハードウェアが未使用である(割り当てるハードウェアに余裕がある)かどうかを判断する(S1186)。 Next, the hardware allocation unit 301 determines whether or not more hardware than necessary is unused (the hardware to be allocated has a margin) from the hardware management unit 203 (S1186).
必要以上のハードウェアが未使用でない場合、つまり、最低限のハードウェアを割り当てる場合は、S1190からS1195の処理を行う。
本処理は、図24のS1121からS1126と同様の処理のため説明を省略する。
If unnecessary hardware is not unused, that is, if a minimum amount of hardware is allocated, the processing from S1190 to S1195 is performed.
Since this process is the same as S1121 to S1126 in FIG.
必要以上のハードウェアが未使用である場合、ハードウェア割り当て手段301は、ハードウェアの優先度を、優先度判断手段204に問合せる(1187)。 If more hardware than necessary is unused, the hardware allocation unit 301 inquires of the priority determination unit 204 about the priority of the hardware (1187).
優先度判断手段204は、各OSが保持する優先度設定テーブル351、451、651の内容を取得し、優先度管理テーブル256を更新し、ある判断に基づいて、問合せのあったハードウェアの優先度を決定し、ハードウェア割り当て手段301に返答する(S1188)。
今回の場合、図32に示される優先度算出の計算式、及び、図33に示される優先度管理テーブル256の情報を利用し、優先度を算出すると、CPU102の優先度は6.4、CPU104の優先度は11.2となり、CPU102の方が優先度が低いと算出し、ハードウェア割り当て手段301に返答する。
The priority determination unit 204 acquires the contents of the priority setting tables 351, 451, and 651 held by each OS, updates the priority management table 256, and determines the priority of the inquired hardware based on a certain determination. The degree is determined and returned to the hardware allocation means 301 (S1188).
In this case, when the priority is calculated using the calculation formula for calculating the priority shown in FIG. 32 and the information in the priority management table 256 shown in FIG. 33, the priority of the CPU 102 is 6.4, and the CPU 104 The CPU 102 calculates that the priority is lower and returns it to the hardware allocation unit 301.
ハードウェア割り当て手段301は優先度判断手段204の返答結果から、優先度の低いハードウェアを被起動OS700へ割り当てる(S1189)。
今回の場合は、CPU102とCPU104のどちらかを割り当てる必要があったが、CPU102の方が優先度が低いと返答されたため、CPU102を被起動OS700に割り当てる。
その他、メモリに関しては領域E、入出力装置に関してはネットワークを被起動OS700に割り当てる。
以降のS1191からS1195は図24のS1122からS1126と同様の処理であるので、説明を割愛する。
以上により、被起動OS700の起動が終了する。
The hardware allocation unit 301 allocates hardware with low priority to the booted OS 700 from the response result of the priority determination unit 204 (S1189).
In this case, it is necessary to assign either the CPU 102 or the CPU 104. However, since the CPU 102 has replied that the priority is lower, the CPU 102 is assigned to the booted OS 700.
In addition, the area E is allocated to the memory, and the network is allocated to the booted OS 700 regarding the input / output device.
Subsequent S1191 to S1195 are the same processing as S1122 to S1126 in FIG.
Thus, the booting of the booted OS 700 is completed.
このように、本実施の形態では、ハードウェア割り当て手段301は、少なくとも一つの起動済みOS(上記の説明では初期起動OS300、被起動OS400、600)において複数の同種のハードウェア資源が使用されていないと判断され、複数の同種のハードウェア資源が被起動OS(上記の説明では被起動OS700)の起動に必要なハードウェア資源である場合に、複数の同種のハードウェア資源の各々に対する優先度に基づいて、複数の同種のハードウェア資源のうちのいずれかを被起動OSに割り当てる。 As described above, in the present embodiment, the hardware allocation unit 301 uses a plurality of hardware resources of the same type in at least one booted OS (the initial boot OS 300 and the booted OS 400 and 600 in the above description). In the case where it is determined that the plurality of hardware resources of the same kind are the hardware resources necessary for starting the booted OS (booted OS 700 in the above description), the priority for each of the plurality of hardware resources of the same kind Based on the above, any one of a plurality of hardware resources of the same kind is assigned to the booted OS.
また、本実施の形態では、優先度判断手段204は、ハードウェア割り当て手段301からの問合せに従い、複数の同種のハードウェア資源の各々が割り当てられている起動済みOSの優先度、及び複数の同種のハードウェア資源の各々が割り当てられているタスクの優先度の少なくともいずれかを用いて、複数の同種のハードウェア資源の各々に対する優先度を判断し、ハードウェア割り当て手段301は、優先度判断手段204による優先度の判断に基づいて、複数の同種のハードウェア資源のうちのいずれかを被起動OSに割り当てる。 Further, in the present embodiment, the priority determination unit 204, according to the inquiry from the hardware allocation unit 301, the priority of the booted OS to which each of the plurality of similar hardware resources is allocated, and the plurality of similar types The priority of each of a plurality of hardware resources of the same type is determined using at least one of the priorities of the tasks to which each of the hardware resources is allocated. Based on the priority determination by 204, any one of a plurality of hardware resources of the same type is assigned to the booted OS.
この実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、各OSの優先度と各OS内のタスクの優先度を保持する領域を備え、本情報を元に、被起動OSへ割り当てるハードウェアを決定するようにしたので、被起動OSへハードウェアを割り当てる際に、ハードウェアの効率的な割り当てを行うことが可能となる。 According to this embodiment, the multi-OS boot method for an embedded device equipped with a multi-core has an area for holding the priority of each OS and the priority of a task in each OS. Since the hardware to be allocated is determined, when the hardware is allocated to the booted OS, the hardware can be efficiently allocated.
なお、本実施の形態では優先度算出例として図32の式を利用したが、他の優先度を決定するアルゴリズムを使用しても同様の効果を得られる。
また、優先度を決定する際に、あるアルゴリズムを使用するのではなく、ハードウェアが備える負荷判断モジュールにより、優先度を決定しても同様の効果を得られる。
また、今回CPUのみを割り当て対象としたが、メモリおよび他のハードウェアについても同様の効果を得られる。
In the present embodiment, the formula in FIG. 32 is used as a priority calculation example, but the same effect can be obtained by using another algorithm for determining priority.
Further, when determining the priority, the same effect can be obtained even if the priority is determined by the load determination module provided in the hardware, instead of using an algorithm.
Moreover, although only the CPU is targeted for allocation this time, the same effect can be obtained for the memory and other hardware.
以上のように、本実施の形態では、各OSの優先度および、各OS上のタスクの情報を保持する優先度管理テーブルと、優先度管理テーブルの情報、及び、ハードウェアの優先度を算出するアルゴリズムを用いて、ハードウェアの優先度を決定する優先度判断手段とを有する組込み機器について説明した。 As described above, in the present embodiment, the priority of each OS, the priority management table that holds information on tasks on each OS, the information on the priority management table, and the hardware priority are calculated. The embedded device having the priority determination means for determining the priority of the hardware using the algorithm is described.
また、本実施の形態では、優先度管理テーブルを設け、本領域の情報を用いて、優先度判断手段により決定されたハードウェアを、被起動OSへ割り当てることが可能な組込み機器について説明した。 In the present embodiment, the priority management table is provided, and the embedded device that can assign the hardware determined by the priority determination means to the booted OS using the information in this area has been described.
実施の形態8.
本実施の形態では、ハードウェアに一つも空きがない場合に、優先度の最も低いリソースを被起動OSに割り当てる形式について説明する。
Embodiment 8 FIG.
In the present embodiment, a description will be given of a format in which the lowest priority resource is allocated to the booted OS when there is no available space in the hardware.
組込み機器1の構成は実施の形態7と同様であり、図31に示す通りである。
本実施の形態では、ハードウェア割り当て手段301の動作以外は、実施の形態7と同様である。
The configuration of the embedded device 1 is the same as that of the seventh embodiment and is as shown in FIG.
The present embodiment is the same as the seventh embodiment except for the operation of the hardware assignment unit 301.
次に、本実施の形態において、初期起動OS300、被起動OS400及び、被起動OS600が起動し、通常状態になった後で、被起動OS700を起動する手順を、図38を用いて説明する。 Next, in this embodiment, a procedure for starting the booted OS 700 after the initial boot OS 300, the booted OS 400, and the booted OS 600 are booted and are in a normal state will be described with reference to FIG.
なお、初期起動OS300を起動する手順は図21と同様の処理のため省略する。
また、被起動OS400を起動する手順は図22と同様の処理のため省略する。
さらに、被起動OS600を起動する手順も図22と同様の処理のため省略する。
ただし、各OSが使用するハードウェアは若干異なるため、初期起動OS300、被起動OS400及び、被起動OS600が起動し、通常状態になった後における、ハードウェア管理テーブルを図34に示す。
また、被起動OS700に割り当てる、被起動OS700起動用ユーザ設定ファイル124の内容例を図35に示す。
また、OS起動後の優先度管理テーブルの例を図37に示す。
保持する情報としては図33に示した優先度管理テーブルと同様のため説明を省略する。
Note that the procedure for starting the initial startup OS 300 is omitted because it is the same as that in FIG.
Also, the procedure for starting the OS to be started 400 is the same as that in FIG.
Further, the procedure for starting up the OS to be started 600 is omitted because it is the same processing as in FIG.
However, since the hardware used by each OS is slightly different, FIG. 34 shows a hardware management table after the initial boot OS 300, the booted OS 400, and the booted OS 600 are started and become normal.
FIG. 35 shows an example of the contents of the booted OS 700 boot user setting file 124 assigned to the booted OS 700.
FIG. 37 shows an example of the priority management table after OS startup.
The information held is the same as the priority management table shown in FIG.
S1202からS1214は図36のS1172からS1184と同様の処理であり、説明を割愛する。
次に、他のOSへの問合せの結果、被起動OS700に割り当てるハードウェアで被起動OS700が起動しない場合、ハードウェア割り当て手段301は、優先度判断手段204へ優先度の一番低いハードウェアを問合せる。
今回の場合、被起動OS700の起動にCPUが一つ必要であるが、初期起動OS300、被起動OS400、被起動OS600で、共に未使用のCPUが無いとした場合、ハードウェア割り当て手段301は、各OSが使用しているCPUの中から、一番優先度の低いCPUを問合せる(S1215)。
Steps S1202 to S1214 are the same as steps S1172 to S1184 in FIG.
Next, when the booted OS 700 is not booted with the hardware allocated to the booted OS 700 as a result of the inquiry to another OS, the hardware allocation unit 301 sends the hardware with the lowest priority to the priority determination unit 204. Inquire.
In this case, one CPU is required to start the booted OS 700. However, if there is no unused CPU in the initial boot OS 300, the booted OS 400, and the booted OS 600, the hardware allocation unit 301 The CPU having the lowest priority among the CPUs used by each OS is inquired (S1215).
優先度判断手段204は、優先度管理テーブル256からハードウェアの優先度を取得し、最低の優先度のハードウェアの停止を各OS上のハードウェア起動/停止手段に指示する(S1226)。ただし、ハードウェア優先度を算出する際、被起動OS用ハードウェア情報テーブル253の情報から判断して、OSから最低の優先度のハードウェアを削除した場合に、OSが動作できない場合、当該ハードウェアは、被起動OS700への割り当て対象のハードウェアから外す。
今回の場合であれば、CPU101のハードウェア優先度は0.4、CPU102のハードウェア優先度は6.4、CPU103のハードウェア優先度は20、CPU104のハードウェア優先度は11.2、CPU105のハードウェア優先度は48と算出される。
しかし、被起動OS用ハードウェア情報テーブル253の情報から、初期起動OS300にはCPUが最低一つ必要であるため、CPU101は被起動OS700への割り当て対象のハードウェアから外れ、優先度判断手段204は、その次に優先度の低いハードウェアであるCPU102の停止を被起動OS400のハードウェア起動/停止手段401に指示する。
The priority determination means 204 acquires the hardware priority from the priority management table 256, and instructs the hardware start / stop means on each OS to stop the hardware with the lowest priority (S1226). However, when calculating the hardware priority, if the OS cannot be operated when the hardware having the lowest priority is deleted from the OS, based on the information in the hardware information table 253 for the booted OS, The hardware is removed from the hardware to be assigned to the booted OS 700.
In this case, the hardware priority of the CPU 101 is 0.4, the hardware priority of the CPU 102 is 6.4, the hardware priority of the CPU 103 is 20, the hardware priority of the CPU 104 is 11.2, and the CPU 105 The hardware priority is calculated as 48.
However, from the information in the booted OS hardware information table 253, since the initial boot OS 300 requires at least one CPU, the CPU 101 is excluded from the hardware to be assigned to the booted OS 700, and the priority determination unit 204 Instructs the hardware start / stop means 401 of the OS 400 to be started to stop the CPU 102 which is the next lowest priority hardware.
OS上のハードウェア起動/停止手段は優先度判断手段204から指示のあったハードウェアを停止し、優先度判断手段204へ返答を行う(S1227)。 The hardware start / stop unit on the OS stops the hardware instructed from the priority determination unit 204 and returns a response to the priority determination unit 204 (S1227).
次に、優先度判断手段204は、ハードウェア割り当て手段301に対し、優先度の一番低いハードウェアを返答する(S1228)。 Next, the priority determination unit 204 returns the hardware with the lowest priority to the hardware allocation unit 301 (S1228).
ハードウェア割り当て手段301は、返答のあった、優先度の一番低いハードウェアを含めたハードウェアを被起動OS700へ割り当てる(S1229)。
今回の場合は、ハードウェアとして、CPU=CPU102、メモリ=領域E、入出力装置=ネットワークを割り当てる。
The hardware assigning unit 301 assigns the hardware including the hardware with the lowest priority that has been replied to the booted OS 700 (S1229).
In this case, CPU = CPU 102, memory = area E, and input / output device = network are assigned as hardware.
S1216からS1225は図36のS1186からS1195までと同様のため、説明を割愛する。 Since S1216 to S1225 are the same as S1186 to S1195 in FIG. 36, description thereof will be omitted.
以上により、被起動OS700の起動が終了する。 Thus, the booting of the booted OS 700 is completed.
このように、本実施の形態では、ハードウェア割り当て手段301は、いずれの起動済みOSにおいても特定種類のハードウェア資源の空きがない場合に、各起動済みOSに割り当てられている特定種類のハードウェア資源に対する優先度に基づいて、いずれかの特定種類のハードウェア資源を被起動OSに割り当てる。 As described above, in the present embodiment, the hardware allocation unit 301 performs the specific type of hardware allocated to each activated OS when there is no free space of the specific type of hardware resources in any activated OS. Any specific type of hardware resource is allocated to the booted OS based on the priority for the hardware resource.
また、本実施の形態では、優先度判断手段204が、ハードウェア割り当て手段301からの問合せに従い、各起動済みOSについて、特定種類のハードウェア資源の割り当てを解除しても継続動作が可能か否かを、各起動済みOSの起動ハードウェア資源情報を参照して判断し、継続動作が可能な起動済みOSに割り当てられている特定種類のハードウェア資源の優先度を判断し、ハードウェア割り当て手段301は、優先度判断手段204による優先度の判断に基づいて、いずれかの特定種類のハードウェア資源を被起動OSに割り当てる。 Further, in the present embodiment, whether the priority determination unit 204 can continue the operation even if the allocation of a specific type of hardware resource is canceled for each activated OS in accordance with the inquiry from the hardware allocation unit 301. Is determined with reference to the activated hardware resource information of each activated OS, the priority of a specific type of hardware resource allocated to the activated OS capable of continuing operation is determined, and hardware allocation means 301 assigns any specific type of hardware resource to the booted OS based on the priority determination by the priority determination unit 204.
また、優先度判断手段204は、各起動済みOSの優先度、及び各起動済みOSにおいて特定種類のハードウェア資源が割り当てられているタスクの優先度の少なくともいずれかを用いて、特定種類のハードウェア資源の各々に対する優先度を判断する。 Further, the priority determination unit 204 uses at least one of the priority of each activated OS and the priority of a task to which a specific type of hardware resource is allocated in each activated OS. Determine the priority for each of the wear resources.
この実施の形態による、マルチコアを搭載した組込み機器の複数OS起動方式では、各OSの優先度と各OS内のタスクの優先度を保持する領域を備え、本情報に基づく優先度により、他OSが使用中のハードウェアを、被起動OSに割り当てるようにしたので、既に起動しているOSによりハードウェアが占有されている場合でも、被起動OSを起動することが可能となる。 In this embodiment, the multi-OS startup method for embedded devices equipped with a multi-core has an area for holding the priority of each OS and the priority of a task in each OS. Since the hardware being used is assigned to the booted OS, the booted OS can be booted even when the hardware is occupied by the already booted OS.
本実施の形態では、初期起動OS300がOSを起動するとしたが、被起動OS400、被起動OS600が被起動OS700を起動しても同様の効果を得られる。
また、優先度判断手段は、ハードウェアを削除すると動作が継続できないOSを判断してから、当該OSに割り当てられているハードウェアを除外して各ハードウェアの優先度を判断するようにしてもよいし、逆に、全てのハードウェアに対して優先度を判断してから、ハードウェアを削除すると動作が継続できないOSを判断し、当該OSに割り当てられているハードウェアを除外するようにしてもよい。
In this embodiment, the initial boot OS 300 boots the OS, but the same effect can be obtained even when the booted OS 400 and the booted OS 600 boot the booted OS 700.
The priority determination means may determine an OS that cannot operate when the hardware is deleted, and then determine the priority of each hardware by excluding the hardware assigned to the OS. Or, conversely, after determining the priority for all hardware, determine the OS that cannot continue operation if the hardware is deleted, and exclude the hardware assigned to the OS. Also good.
以上のように、本実施の形態では、各OSの優先度および、各OS上のタスクの情報を保持する優先度管理テーブルと、優先度管理テーブルの情報、及び、ハードウェアの優先度を算出するアルゴリズムを用いて、ハードウェアの優先度を決定する優先度判断手段とを有する組込み機器について説明した。 As described above, in the present embodiment, the priority of each OS, the priority management table that holds information on tasks on each OS, the information on the priority management table, and the hardware priority are calculated. The embedded device having the priority determination means for determining the priority of the hardware using the algorithm is described.
また、本実施の形態では、被起動OSに対して割り当てるハードウェアが足りない場合に、OSの最低動作要件の情報を保持する被起動OS用ハードウェア情報テーブルの情報から、既に起動しているOSからハードウェアを削除可能かどうかを判断し、既に起動しているOSに対して、最低動作要件よりも多くのハードウェアが割り当てられている場合には、OSがそのハードウェアを使用中であっても、強制的にハードウェアの割り当てを被起動OSに割り当てることで、被起動OS起動用のハードウェアが足りない場合にも、被起動OSを起動させる組込み機器について説明した。 Further, in this embodiment, when there is not enough hardware to be allocated to the booted OS, the boot has already been started from the information of the booted OS hardware information table that holds information on the minimum operating requirements of the OS. It is determined whether or not the hardware can be deleted from the OS. If more hardware than the minimum operation requirement is assigned to the OS that has already started, the OS is using the hardware. Even in such a case, the embedded device that starts the booted OS even when hardware for booting the booted OS is insufficient by forcibly assigning the hardware allocation to the booted OS has been described.
このように、本実施の形態では、ハードウェア管理テーブルに、管理元OSとハードウェア使用状況を格納する領域を設け、初期起動OSが管理中かつ未使用のハードウェアを被起動OSに割り当てることで、被起動OSを起動させる組込み機器について説明した。 As described above, in this embodiment, an area for storing the management source OS and the hardware usage status is provided in the hardware management table, and the hardware that is being managed by the initial boot OS and unused is allocated to the boot OS. Thus, the embedded device that starts the OS to be started has been described.
なお、実施の形態1〜8に係る組込み機器1は、図1,図9,図16,図25,図28又は図31の構成に加えて、例えば、通信ボード、表示装置、キーボード、マウス等を備えていてもよい。更に、FDD(Flexible Disk Drive)、コンパクトディスク装置(CDD)、メモリカード等と接続可能な構成としてもよい。 Note that the embedded device 1 according to the first to eighth embodiments includes, for example, a communication board, a display device, a keyboard, a mouse, and the like in addition to the configuration of FIG. 1, FIG. 9, FIG. 16, FIG. 25, FIG. May be provided. Furthermore, it may be configured to be connectable to an FDD (Flexible Disk Drive), a compact disk device (CDD), a memory card, or the like.
通信ボードを備える場合は、組込み機器1は、通信ボードにより、ネットワークに接続されていてもよい。例えば、通信ボードは、LAN(ローカルエリアネットワーク)、無線LAN、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。 When the communication board is provided, the embedded device 1 may be connected to the network by the communication board. For example, the communication board may be connected to a LAN (local area network), a wireless LAN, the Internet, a WAN (wide area network), or the like.
二次記憶装置121には、初期起動OSバイナリ122、被起動OSバイナリ123等の他に、ウィンドウシステム、プログラム群、ファイル群が記憶されている。プログラム群のアプリケーションプログラムは、CPU101、102、OS300、400、ウィンドウシステムにより実行される。 The secondary storage device 121 stores a window system, a program group, and a file group in addition to the initial boot OS binary 122, the booted OS binary 123, and the like. Application programs in the program group are executed by the CPUs 101 and 102, the OSs 300 and 400, and the window system.
ファイル群には、以上の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶される。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU101、102によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以上で説明したフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、メモリ111、二次記憶装置121、その他の記録媒体に記録される。また、データや信号は、バスや信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group, the result of the processing described in the above description as “determination of”, “calculation of”, “comparison of”, “evaluation of”, “update of”, etc. is shown. Information, data, signal values, variable values, and parameters are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPUs 101 and 102 via a read / write circuit, and extracted, searched, referenced, and Used for CPU operations such as comparison, calculation, calculation, processing, editing, output, printing, and display. Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
Also, the arrows in the flowchart described above mainly indicate input / output of data and signals, and the data and signal values are recorded in the memory 111, the secondary storage device 121, and other recording media. Data and signals are transmitted online via buses, signal lines, cables and other transmission media.
また、本実施の形態1〜8の説明において、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「〜部」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜手段」として説明しているものは、図1,図9,図16,図25,図28又は図31に示すように、ファームウェアで実現されていてもよいし、ソフトウェアで実現されていてもよい。或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM(Read Only Memory)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU101、102により読み出され、CPU101、102により実行される。すなわち、プログラムは、実施の形態1〜8の「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態1〜8の「〜手段」の手順や方法をコンピュータに実行させるものである。 In the description of the first to eighth embodiments, what is described as “to means” may be “to circuit”, “to device”, “to device”, and “to part”. Also, “˜step”, “˜procedure”, and “˜processing” may be used. That is, what is described as “to means” may be realized by firmware as shown in FIG. 1, FIG. 9, FIG. 16, FIG. 25, FIG. It may be. Alternatively, only hardware such as elements, devices, substrates, and wirings, or a combination of software and hardware, or a combination of firmware may be used. Firmware and software are stored as programs in a recording medium such as a ROM (Read Only Memory), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPUs 101 and 102 and executed by the CPUs 101 and 102. In other words, the program causes the computer to function as “means” in the first to eighth embodiments. Alternatively, the computer executes the procedures and methods of “means” in the first to eighth embodiments.
このように、実施の形態1〜8に示す組込み機器は、処理装置たるCPU、記憶装置たるメモリ、二次記憶装置、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。 As described above, the embedded devices shown in the first to eighth embodiments include a CPU as a processing device, a memory as a storage device, a secondary storage device, a keyboard as an input device, a mouse, a communication board, and the like, a display device as an output device, and a communication board. As described above, the function indicated as “means” is realized by using these processing devices, storage devices, input devices, and output devices.
1 組込み機器、100 ハードウェア、101 CPU、102 CPU、103 CPU、104 CPU、105 CPU、111 メモリ、121 二次記憶装置、122 初期起動OSバイナリ、123 被起動OSバイナリ、124 被起動OS起動用ユーザ設定ファイル、125 被起動OSバイナリ、126 被起動OS起動用ユーザ設定ファイル、127 初期起動OSハードウェア追加用ユーザ設定ファイル、128 被起動OSハードウェア削除用ユーザ設定ファイル、129 被起動OSバイナリ、130 被起動OS起動用ユーザ設定ファイル、131 入出力装置、200 ファームウェア、201 OS起動手段、202 初期起動OS起動手段、203 ハードウェア管理手段、251 初期起動OS起動情報テーブル、252 ハードウェア管理テーブル、253 被起動OS用ハードウェア情報テーブル、254 メモリ領域分割テーブル、255 ユーザ設定ハードウェア情報テーブル、256 優先度管理テーブル、300 初期起動OS、301 ハードウェア割り当て手段、302 ハードウェア起動/停止手段、304 ユーザ設定ハードウェア情報作成手段、351 優先度設定テーブル、400 被起動OS、401 ハードウェア起動/停止手段、402 ハードウェア割り当て手段、404 ユーザ設定ハードウェア情報作成手段、451 優先度設定テーブル、500 OS起動情報テーブル、600 被起動OS、601 ハードウェア起動/停止手段、602 ハードウェア割り当て手段、651 優先度設定テーブル、700 被起動OS、701 ハードウェア起動/停止手段。 1 embedded device, 100 hardware, 101 CPU, 102 CPU, 103 CPU, 104 CPU, 105 CPU, 111 memory, 121 secondary storage device, 122 initial boot OS binary, 123 boot OS binary, 124 boot OS startup User setting file, 125 booted OS binary, 126 booted OS boot user setting file, 127 initial boot OS hardware addition user setting file, 128 booted OS hardware deletion user setting file, 129 booted OS binary, 130 Booted OS boot user setting file, 131 I / O device, 200 firmware, 201 OS boot means, 202 initial boot OS boot means, 203 hardware management means, 251 initial boot OS boot information table, 2 2 hardware management table, 253 hardware information table for OS to be started, 254 memory area division table, 255 user setting hardware information table, 256 priority management table, 300 initial boot OS, 301 hardware allocation means, 302 hardware Start / stop means, 304 User setting hardware information creation means, 351 Priority setting table, 400 OS to be started, 401 Hardware start / stop means, 402 Hardware allocation means, 404 User setting hardware information creation means, 451 Priority Degree setting table, 500 OS boot information table, 600 booted OS, 601 hardware start / stop means, 602 hardware allocation means, 651 priority setting table, 700 booted OS, 70 Hardware start / stop means.
Claims (22)
ハードウェア資源の割り当て状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況を通知するハードウェア管理手段と、
いずれかのOSの起動が要求された場合に、起動に必要なハードウェア資源がOSごとに示されている起動ハードウェア資源情報を参照し、起動が要求された被起動OSの起動に必要なハードウェア資源を判断し、前記ハードウェア管理手段からハードウェア資源の割り当て状況を通知され、前記ハードウェア管理手段から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OSに割り当てるハードウェア割り当て手段と、
前記ハードウェア割り当て手段により割り当てられたハードウェア資源を用いて被起動OSを起動するOS起動手段とを有することを特徴とする情報処理装置。 An information processing apparatus having a plurality of OSs (Operating Systems) and hardware resources allocated to the plurality of OSs,
Hardware management means for managing the allocation status of hardware resources and notifying the allocation status of hardware resources when activation of any OS is requested;
When activation of any OS is requested, the hardware resources necessary for activation are referred to the activation hardware resource information indicated for each OS, and are necessary for activation of the booted OS requested to be activated. Hardware resources are determined, hardware resource allocation status is notified from the hardware management means, and hardware resource allocation status notified from the hardware management means and hardware resources required for booting the booted OS Hardware allocation means for selecting a hardware resource to be allocated to the booted OS based on the above, and allocating the selected hardware resource to the booted OS;
An information processing apparatus comprising: an OS activation unit that activates a booted OS using the hardware resource allocated by the hardware allocation unit.
前記複数のOSの中で最初に起動される初期起動OSが起動されて初期起動OSが通常動作状態になった後に他のいずれかのOSの起動が要求された場合に、起動が要求された被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OSに割り当てることを特徴とする請求項1に記載の情報処理装置。 The hardware allocating means is
When an initial startup OS that is started first among the plurality of OSs is started and the initial startup OS enters a normal operation state, startup of any other OS is requested, and startup is requested. The information processing apparatus according to claim 1, wherein a hardware resource to be allocated to the booted OS is selected, and the selected hardware resource is allocated to the booted OS.
ハードウェア資源の割り当て状況を示すハードウェア割り当て状況情報を管理し、
前記ハードウェア割り当て手段による被起動OSに対するハードウェア資源の割り当て後に、被起動OSに対するハードウェア資源の割り当てを反映させてハードウェア割り当て状況情報を更新することを特徴とする請求項1に記載の情報処理装置。 The hardware management means includes
Manage hardware allocation status information indicating the allocation status of hardware resources,
2. The information according to claim 1, wherein after the hardware resources are allocated to the booted OS by the hardware allocation unit, the hardware allocation status information is updated to reflect the allocation of the hardware resources to the booted OS. Processing equipment.
複数のOSの中で最初に起動される初期起動OSに、前記ハードウェア割り当て手段が含まれ、
前記初期起動OSは、自己の起動後に起動が要求された被起動OSに対して前記ハードウェア割り当て手段によりハードウェア資源を割り当てることを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus includes:
The hardware startup means is included in an initial startup OS that is started first among a plurality of OSs,
The information processing apparatus according to claim 1, wherein the initial boot OS allocates hardware resources by the hardware allocation unit to a booted OS that is requested to start after starting itself.
各OSに、前記ハードウェア割り当て手段が含まれ、
各OSは、自己の起動後に起動が要求された被起動OSに対して前記ハードウェア割り当て手段によりハードウェア資源を割り当てることを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus includes:
Each OS includes the hardware allocation means,
2. The information processing apparatus according to claim 1, wherein each OS allocates hardware resources by the hardware allocation unit to an OS to be activated that is requested to be activated after it is activated.
割り当てが要請されている要請ハードウェア資源がOSごとに示されている要請ハードウェア資源情報と前記起動ハードウェア資源情報とを比較し、被起動OSの要請ハードウェア資源で被起動OSの起動が可能であるか否かを判断するハードウェア資源判断手段を有し、
前記ハードウェア割り当て手段は、
前記ハードウェア資源判断手段により、被起動OSの要請ハードウェア資源で被起動OSの起動が可能であると判断された場合に、前記ハードウェア管理手段から通知されたハードウェア資源の割り当て状況と被起動OSの要請ハードウェア資源とに基づき被起動O
Sに割り当てるハードウェア資源を選択することを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus further includes:
The requested hardware resource information in which the requested hardware resource requested to be allocated is shown for each OS is compared with the activated hardware resource information, and the activated OS is activated by the requested hardware resource of the activated OS. A hardware resource judging means for judging whether or not it is possible;
The hardware allocating means is
When it is determined by the hardware resource determining means that the booted OS can be booted with the requested hardware resource of the booted OS, the allocation status of the hardware resource notified from the hardware management means and Based on the requested hardware resources of the booting OS
The information processing apparatus according to claim 1, wherein a hardware resource assigned to S is selected.
ハードウェア資源の割り当て状況及びハードウェア資源の使用状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況及びハードウェア資源の使用状況を通知し、
前記ハードウェア割り当て手段は、
前記ハードウェア管理手段からハードウェア資源の割り当て状況及びハードウェア資源の使用状況を通知され、前記ハードウェア管理手段から通知されたハードウェア資源の割り当て状況及びハードウェア資源の使用状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択することを特徴とする請求項1に記載の情報処理装置。 The hardware management means includes
Manages the allocation status of hardware resources and the usage status of hardware resources, and notifies the allocation status of hardware resources and the usage status of hardware resources when activation of any OS is requested,
The hardware allocating means is
The hardware management means is notified of the allocation status of hardware resources and the usage status of hardware resources, and the allocation status of hardware resources, the usage status of hardware resources, and the OS to be started notified from the hardware management means. The information processing apparatus according to claim 1, wherein a hardware resource to be allocated to the booted OS is selected based on a hardware resource necessary for booting.
既に他に割り当て済みであるが現在使用されていない状態にあるハードウェア資源を、被起動OSに割り当てるハードウェア資源として選択することを特徴とする請求項7に記載の情報処理装置。 The hardware allocating means is
8. The information processing apparatus according to claim 7, wherein a hardware resource that has already been assigned to another but is not currently used is selected as a hardware resource to be assigned to the booted OS.
マルチコアCPU(Central Processing Unit)構成の組込み機器であることを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus includes:
The information processing apparatus according to claim 1, wherein the information processing apparatus is an embedded device having a multi-core CPU (Central Processing Unit) configuration.
ハードウェア資源の割り当て状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況を通知するハードウェア管理ステップと、
いずれかのOSの起動が要求された場合に、起動に必要なハードウェア資源がOSごとに示されている起動ハードウェア資源情報を参照し、起動が要求された被起動OSの起動に必要なハードウェア資源を判断し、前記ハードウェア管理ステップからハードウェア資源の割り当て状況を通知され、前記ハードウェア管理ステップから通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OSに割り当てるハードウェア割り当てステップと、
前記ハードウェア割り当てステップにより割り当てられたハードウェア資源を用いて被起動OSを起動するOS起動ステップとを有することを特徴とするOS起動方法。 An OS activation method for activating an OS in an information processing apparatus having a plurality of OSs (Operating Systems) and having hardware resources allocated to the plurality of OSs,
A hardware management step for managing the allocation status of hardware resources and notifying the allocation status of hardware resources when activation of any OS is requested;
When activation of any OS is requested, the hardware resources necessary for activation are referred to the activation hardware resource information indicated for each OS, and are necessary for activation of the booted OS requested to be activated. Hardware resources are determined, hardware resource allocation status is notified from the hardware management step, hardware resource allocation status notified from the hardware management step, and hardware resources required for booting the booted OS A hardware allocation step of selecting a hardware resource to be allocated to the booted OS based on the above, and allocating the selected hardware resource to the booted OS;
An OS booting method comprising: an OS booting step of booting a booted OS using the hardware resource allocated in the hardware allocation step.
ハードウェア資源の割り当て状況を管理し、いずれかのOSの起動が要求された場合に、ハードウェア資源の割り当て状況を通知するハードウェア管理処理と、
いずれかのOSの起動が要求された場合に、起動に必要なハードウェア資源がOSごとに示されている起動ハードウェア資源情報を参照し、起動が要求された被起動OSの起動に必要なハードウェア資源を判断し、前記ハードウェア管理処理からハードウェア資源の割り当て状況を通知され、前記ハードウェア管理処理から通知されたハードウェア資源の割り当て状況と被起動OSの起動に必要なハードウェア資源とに基づき被起動OSに割り当てるハードウェア資源を選択し、選択したハードウェア資源を被起動OSに割り当てるハードウェア割り当て処理と、
前記ハードウェア割り当て処理により割り当てられたハードウェア資源を用いて被起動
OSを起動するOS起動処理とを実行させることを特徴とするプログラム。 A computer having a plurality of OSs (Operating Systems) and hardware resources allocated to the plurality of OSs.
A hardware management process for managing the allocation status of hardware resources and notifying the allocation status of hardware resources when activation of any OS is requested;
When activation of any OS is requested, the hardware resources necessary for activation are referred to the activation hardware resource information indicated for each OS, and are necessary for activation of the booted OS requested to be activated. Hardware resources are determined, hardware resource allocation status is notified from the hardware management processing, and hardware resource allocation status notified from the hardware management processing and hardware resources necessary for booting the booted OS Hardware allocation processing to select a hardware resource to be allocated to the booted OS based on the above, and to allocate the selected hardware resource to the booted OS;
A program for executing an OS boot process for booting a booted OS using the hardware resource allocated by the hardware allocation process.
前記被起動OSの起動が要求された際に既に起動されている起動済みOSが少なくとも一つ存在する場合に、前記起動済みOSに割り当て済みのハードウェア資源の前記起動済みOSにおける使用状況を前記ハードウェア管理手段に問合せ、前記ハードウェア管理手段からの応答に基づき、前記被起動OSに割り当てるハードウェア資源を選択し、
前記ハードウェア管理手段は、
前記ハードウェア割り当て手段からの問合せに対して、前記起動済みOSにおける割り当て済みのハードウェア資源の使用状況を調査し、調査結果を示す応答を前記ハードウェア割り当て手段に対して行うことを特徴とする請求項1に記載の情報処理装置。 The hardware allocating means is
When there is at least one activated OS that has already been activated when the activation of the activated OS is requested, the usage status of the hardware resources allocated to the activated OS in the activated OS is Inquires the hardware management means, selects a hardware resource to be allocated to the booted OS based on a response from the hardware management means,
The hardware management means includes
In response to an inquiry from the hardware allocating unit, the usage status of the allocated hardware resource in the booted OS is investigated, and a response indicating the investigation result is sent to the hardware allocating unit. The information processing apparatus according to claim 1.
前記ハードウェア管理手段から通知されたハードウェア資源の割り当て状況と前記被起動OSの起動に必要なハードウェア資源とを比較した結果、前記被起動OSの起動に必要なハードウェア資源の少なくとも一部が割り当てできないと判断した場合に、前記起動済みOSにおける割り当て済みのハードウェア資源の使用状況を前記ハードウェア管理手段に問合せることを特徴とする請求項12に記載の情報処理装置。 The hardware allocating means is
As a result of comparing the allocation status of the hardware resources notified from the hardware management means and the hardware resources necessary for booting the booted OS, at least a part of the hardware resources necessary for booting the booted OS 13. The information processing apparatus according to claim 12, wherein when it is determined that cannot be allocated, the hardware management unit is inquired about a usage status of the allocated hardware resource in the activated OS.
前記起動済みOSにおいて前記被起動OSの起動に必要なハードウェア資源が使用されていない場合に、前記起動済みOSにおいて使用されていないハードウェア資源を前記被起動OSに割り当てるハードウェア資源として選択することを特徴とする請求項12に記載の情報処理装置。 The hardware allocating means is
When a hardware resource necessary for starting the booted OS is not used in the booted OS, a hardware resource that is not used in the booted OS is selected as a hardware resource to be allocated to the booted OS. The information processing apparatus according to claim 12.
前記ハードウェア割り当て手段に対して、既に起動されている特定の起動済みOSに特定種類のハードウェア資源を追加割り当てするよう指示するハードウェア追加指示手段を有し、
前記ハードウェア割り当て手段は、
前記ハードウェア追加指示手段から前記特定の起動済みOSへの前記特定種類のハードウェア資源の追加割り当て指示があった場合であって、前記特定の起動済みOS以外に起動済みOSが存在する場合に、前記特定の起動済みOS以外の他の起動済みOSに割り当て済みのハードウェア資源の前記他の起動済みOSにおける使用状況を前記ハードウェア管理手段に問合せ、前記ハードウェア管理手段からの応答に基づき、前記特定の起動済みOSに追加割り当てをするハードウェア資源を選択し、
前記ハードウェア管理手段は、
前記ハードウェア割り当て手段からの問合せに対して、前記他の起動済みOSにおける割り当て済みのハードウェア資源の使用状況を調査し、調査結果を示す応答を前記ハードウェア割り当て手段に対して行うことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus further includes:
Hardware addition instruction means for instructing the hardware assignment means to additionally assign a specific type of hardware resource to a specific activated OS that has already been activated;
The hardware allocating means is
When there is an instruction to add the specific type of hardware resource to the specific booted OS from the hardware addition instruction means, and there is a booted OS other than the specific booted OS Inquiring of the hardware management means about the usage status of the hardware resources allocated to other activated OSs other than the specific activated OS in the other activated OS, and based on the response from the hardware managing means Select a hardware resource to be additionally allocated to the specific booted OS,
The hardware management means includes
In response to an inquiry from the hardware allocation unit, the usage status of the allocated hardware resource in the other booted OS is investigated, and a response indicating the investigation result is sent to the hardware allocation unit. The information processing apparatus according to claim 1.
前記他の起動済みOSにおいて前記特定種類のハードウェア資源が使用されていない場合に、前記他の起動済みOSにおいて使用されていない前記特定種類のハードウェア資源を前記特定の起動済みOSに追加割り当てをするハードウェア資源として選択することを特徴とする請求項15に記載の情報処理装置。 The hardware allocating means is
When the specific type of hardware resource is not used in the other booted OS, the specific type of hardware resource that is not used in the other booted OS is additionally allocated to the specific booted OS. The information processing apparatus according to claim 15, wherein the information processing apparatus is selected as a hardware resource that performs the processing.
既に起動されている特定の起動済みOSから特定種類のハードウェア資源の割り当てを解除しても前記特定の起動済みOSの継続動作が可能か否かを、前記特定の起動済みOSの起動ハードウェア資源情報を参照して判断し、前記特定種類のハードウェア資源の割り当てを解除しても前記特定の起動済みOSの継続動作が可能な場合に、前記ハードウェア割り当て手段に対して前記特定の起動済みOSにおける前記特定種類のハードウェア資源の割り当てを解除するよう指示するハードウェア解除指示手段を有し、
前記ハードウェア割り当て手段は、
前記ハードウェア解除指示手段からの指示に従い、前記特定の起動済みOSにおける前記特定種類のハードウェア資源の割り当てを解除することを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus further includes:
Whether the specific booted OS can continue to operate even if the allocation of a specific type of hardware resource from the specific booted OS that has already been booted is released, determines whether the boot hardware of the specific booted OS If the specific booted OS can continue to operate even if the allocation of the specific type of hardware resource is released by making a determination with reference to the resource information, the specific startup is performed with respect to the hardware allocation unit. Hardware release instructing means for instructing to release the allocation of the specific type of hardware resources in the completed OS,
The hardware allocating means is
2. The information processing apparatus according to claim 1, wherein the allocation of the specific type of hardware resources in the specific activated OS is canceled in accordance with an instruction from the hardware release instruction means.
少なくとも一つの起動済みOSにおいて複数の同種のハードウェア資源が使用されていないと判断され、前記複数の同種のハードウェア資源が前記被起動OSの起動に必要なハードウェア資源である場合に、前記複数の同種のハードウェア資源の各々に対する優先度に基づいて、前記複数の同種のハードウェア資源のうちのいずれかを前記被起動OSに割り当てることを特徴とする請求項12に記載の情報処理装置。 The hardware allocating means is
When it is determined that a plurality of hardware resources of the same kind are not used in at least one booted OS, and the plurality of hardware resources of the same kind are hardware resources necessary for booting the booted OS, 13. The information processing apparatus according to claim 12, wherein one of the plurality of hardware resources of the same type is allocated to the booted OS based on a priority for each of the plurality of hardware resources of the same type. .
前記ハードウェア割り当て手段からの問合せに従い、前記複数の同種のハードウェア資源の各々が割り当てられている起動済みOSの優先度、及び前記複数の同種のハードウェア資源の各々が割り当てられているタスクの優先度の少なくともいずれかを用いて、前記複数の同種のハードウェア資源の各々に対する優先度を判断する優先度判断手段を有し、
前記ハードウェア割り当て手段は、
前記優先度判断手段による優先度の判断に基づいて、前記複数の同種のハードウェア資源のうちのいずれかを前記被起動OSに割り当てることを特徴とする請求項18に記載の情報処理装置。 The information processing apparatus further includes:
In accordance with the inquiry from the hardware allocation means, the priority of the booted OS to which each of the plurality of similar hardware resources is allocated and the task to which each of the plurality of similar hardware resources is allocated Using priority determination means for determining a priority for each of the plurality of hardware resources of the same type using at least one of the priorities;
The hardware allocating means is
19. The information processing apparatus according to claim 18, wherein any one of the plurality of hardware resources of the same type is allocated to the booted OS based on the priority determination by the priority determination unit.
いずれの起動済みOSにおいても特定種類のハードウェア資源の空きがない場合に、各起動済みOSに割り当てられている前記特定種類のハードウェア資源に対する優先度に基づいて、いずれかの前記特定種類のハードウェア資源を前記被起動OSに割り当てることを特徴とする請求項12に記載の情報処理装置。 The hardware allocating means is
When there is no free space for a specific type of hardware resource in any of the activated OSs, any one of the specific types of the specific type is determined based on the priority for the specific type of hardware resources assigned to each activated OS. The information processing apparatus according to claim 12, wherein hardware resources are allocated to the booted OS.
前記ハードウェア割り当て手段からの問合せに従い、各起動済みOSについて、前記特定種類のハードウェア資源の割り当てを解除しても継続動作が可能か否かを、各起動済みOSの起動ハードウェア資源情報を参照して判断し、継続動作が可能な起動済みOSに割り当てられている前記特定種類のハードウェア資源に対する優先度を判断する優先度判断手段を有し、
前記ハードウェア割り当て手段は、
前記優先度判断手段による優先度の判断に基づいて、いずれかの前記特定種類のハードウェア資源を前記被起動OSに割り当てることを特徴とする請求項20に記載の情報処理装置。 The information processing apparatus further includes:
In accordance with the inquiry from the hardware allocating means, whether or not the continuous operation is possible even if the allocation of the specific type of hardware resource is released for each activated OS, and the activated hardware resource information of each activated OS. A priority determination unit that determines the priority for the specific type of hardware resource assigned to the activated OS that can be determined by referring to the activated OS;
The hardware allocating means is
21. The information processing apparatus according to claim 20, wherein one of the specific types of hardware resources is allocated to the booted OS based on the priority determination by the priority determination unit.
各起動済みOSの優先度、及び各起動済みOSにおいて前記特定種類のハードウェア資源が割り当てられているタスクの優先度の少なくともいずれかを用いて、前記特定種類のハードウェア資源の各々に対する優先度を判断することを特徴とする請求項21に記載の情報処理装置。 The priority determination means includes
Priority for each of the specific types of hardware resources using at least one of the priority of each activated OS and the priority of the task to which the specific type of hardware resource is allocated in each activated OS The information processing apparatus according to claim 21, wherein:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006321808A JP2008033877A (en) | 2006-06-29 | 2006-11-29 | Information processing apparatus, OS activation method, and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006178865 | 2006-06-29 | ||
| JP2006321808A JP2008033877A (en) | 2006-06-29 | 2006-11-29 | Information processing apparatus, OS activation method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008033877A true JP2008033877A (en) | 2008-02-14 |
Family
ID=39123178
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006321808A Pending JP2008033877A (en) | 2006-06-29 | 2006-11-29 | Information processing apparatus, OS activation method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008033877A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011039887A1 (en) * | 2009-10-01 | 2011-04-07 | 三菱電機株式会社 | Computer device |
| JP2012168846A (en) * | 2011-02-16 | 2012-09-06 | Nec Corp | Server device, processing execution method, and program |
| JP2012256117A (en) * | 2011-06-07 | 2012-12-27 | Mitsubishi Electric Corp | Multiprocessor system |
| JP2014178889A (en) * | 2013-03-14 | 2014-09-25 | Fujitsu Ltd | Information processing device, program, and storage area acquisition method |
| US9158551B2 (en) | 2012-01-05 | 2015-10-13 | Samsung Electronics Co., Ltd. | Activating and deactivating Operating System (OS) function based on application type in manycore system |
| CN118689548A (en) * | 2024-08-26 | 2024-09-24 | 惠州华阳通用电子有限公司 | A method and device for implementing an AMP system based on multi-core homogeneity |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0225936A (en) * | 1988-07-14 | 1990-01-29 | Nec Corp | Virtual computer system |
| JP2002041304A (en) * | 2000-07-28 | 2002-02-08 | Hitachi Ltd | Method for automatically assigning spare resources to logical partitions and logical partition type computer system |
| JP2004252988A (en) * | 2003-02-20 | 2004-09-09 | Internatl Business Mach Corp <Ibm> | Section-to-section dynamic processor redistribution in computer system |
| WO2005026947A2 (en) * | 2003-09-17 | 2005-03-24 | International Business Machines Corporation | Managing processing within computing environments including initiation of virtual machines |
| JP2006164281A (en) * | 2004-12-07 | 2006-06-22 | Internatl Business Mach Corp <Ibm> | Utilization ratio zone for automatic resource management |
-
2006
- 2006-11-29 JP JP2006321808A patent/JP2008033877A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0225936A (en) * | 1988-07-14 | 1990-01-29 | Nec Corp | Virtual computer system |
| JP2002041304A (en) * | 2000-07-28 | 2002-02-08 | Hitachi Ltd | Method for automatically assigning spare resources to logical partitions and logical partition type computer system |
| JP2004252988A (en) * | 2003-02-20 | 2004-09-09 | Internatl Business Mach Corp <Ibm> | Section-to-section dynamic processor redistribution in computer system |
| WO2005026947A2 (en) * | 2003-09-17 | 2005-03-24 | International Business Machines Corporation | Managing processing within computing environments including initiation of virtual machines |
| JP2006164281A (en) * | 2004-12-07 | 2006-06-22 | Internatl Business Mach Corp <Ibm> | Utilization ratio zone for automatic resource management |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011039887A1 (en) * | 2009-10-01 | 2011-04-07 | 三菱電機株式会社 | Computer device |
| JPWO2011039887A1 (en) * | 2009-10-01 | 2013-02-21 | 三菱電機株式会社 | Computer equipment |
| JP2012168846A (en) * | 2011-02-16 | 2012-09-06 | Nec Corp | Server device, processing execution method, and program |
| JP2012256117A (en) * | 2011-06-07 | 2012-12-27 | Mitsubishi Electric Corp | Multiprocessor system |
| US9158551B2 (en) | 2012-01-05 | 2015-10-13 | Samsung Electronics Co., Ltd. | Activating and deactivating Operating System (OS) function based on application type in manycore system |
| JP2014178889A (en) * | 2013-03-14 | 2014-09-25 | Fujitsu Ltd | Information processing device, program, and storage area acquisition method |
| CN118689548A (en) * | 2024-08-26 | 2024-09-24 | 惠州华阳通用电子有限公司 | A method and device for implementing an AMP system based on multi-core homogeneity |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4523965B2 (en) | Resource allocation method, resource allocation program, and operation management apparatus | |
| JP5466568B2 (en) | Resource management method, resource management program, and resource management apparatus | |
| US8458697B2 (en) | Method and device for eliminating patch duplication | |
| JP5728087B2 (en) | Storage management system and storage management method | |
| JP2012113660A (en) | Virtual machine migration system, virtual machine migration program, and virtual machine migration method | |
| JP2010102479A (en) | Computer system, storage device, and data updating method | |
| CN101165645B (en) | Setting method of computer system, management computer, and operation control information | |
| US20110029930A1 (en) | Distributed processing device and distributed processing method | |
| JP5396339B2 (en) | Resource control method and resource control system | |
| CN104572242A (en) | Method and device for expanding disk space of virtual machine and virtual machine system | |
| US8732427B2 (en) | Systems and methods for collapsing a derivative version of a primary storage volume | |
| JP2008033877A (en) | Information processing apparatus, OS activation method, and program | |
| JP5470594B2 (en) | Computer system and storage volume management method | |
| JP2012079245A (en) | Volume assignment method of virtual machine and computer system using method thereof | |
| JP5776776B2 (en) | Data processing system and data processing method | |
| JP2011221634A (en) | Computer system, logic section management method and logic division processing program | |
| JP5864534B2 (en) | Virtual computer system, memory management method, memory management program, recording medium, and integrated circuit | |
| JP2016051395A (en) | Image forming apparatus and resource management method | |
| JP5699665B2 (en) | Server apparatus, process execution method, and program | |
| JP5212216B2 (en) | Job processing device | |
| JPH06110717A (en) | Complex computer system | |
| JP2009037564A (en) | Disk management program, disk management method, and disk management apparatus | |
| KR20240164268A (en) | Method and system for managing database backup based on cloud | |
| JP5112376B2 (en) | Computer system and management method | |
| JP2005071158A (en) | Exclusive control method for file |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090826 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111213 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111220 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120410 |