JP2011227598A - Information processor and information processing program - Google Patents

Information processor and information processing program Download PDF

Info

Publication number
JP2011227598A
JP2011227598A JP2010094738A JP2010094738A JP2011227598A JP 2011227598 A JP2011227598 A JP 2011227598A JP 2010094738 A JP2010094738 A JP 2010094738A JP 2010094738 A JP2010094738 A JP 2010094738A JP 2011227598 A JP2011227598 A JP 2011227598A
Authority
JP
Japan
Prior art keywords
allocation
resource
computer resources
computer
usage status
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
Application number
JP2010094738A
Other languages
Japanese (ja)
Inventor
Seitaro Miyamoto
正太郎 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2010094738A priority Critical patent/JP2011227598A/en
Publication of JP2011227598A publication Critical patent/JP2011227598A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To allocate computer resources to an operating system at its startup according to the computer resource usage per-operating system, in an environment where a plurality of operating systems are running on a single information processor.SOLUTION: Resource usage acquiring means 110 acquires usage data for computer resources per operating system and store the usage data in a resource usage storing means 120. Resource allocation calculating means 130 calculates an allocation of computer resources for at least one of operating systems based on the acquired usage data. Resource allocating means 170 sets an allocation of computer resources for an operating system at the operating system's startup based on the calculated allocation of computer resources.

Description

本発明は、情報処理装置及び情報処理プログラムに関する。   The present invention relates to an information processing apparatus and an information processing program.

1つの計算機の上で複数のオペレーティングシステムを動作させる技術がある。
これに関連する技術として、例えば、特許文献1には、開発効率を向上させることが可能な撮像装置を提供することを課題とし、複数の機能を備えたデジタルカメラは、複数の機能手段と、ハードウェアリソースを仮想化して、複数の論理区画に分割するハイパーバイザとを備え、前記複数の論理区画のそれぞれは、異なる機能手段に割り当てられていて、リアルタイム性が要求される機能と、リアルタイム性が要求されない機能との間に優先順位を与えて調停しており、また、ハイパーバイザを使用する共用リソース管理方法及び撮像装置のためのプログラムを提供することが開示されている。
There is a technique for operating a plurality of operating systems on one computer.
As a technology related to this, for example, Patent Document 1 aims to provide an imaging device capable of improving development efficiency, and a digital camera having a plurality of functions includes a plurality of functional means, A hypervisor that virtualizes hardware resources and divides the hardware resources into a plurality of logical partitions, and each of the plurality of logical partitions is assigned to different functional means, and a function that requires real-time capability and real-time capability It is disclosed that mediation is performed by giving priority to functions that are not required, and a shared resource management method using a hypervisor and a program for an imaging apparatus are provided.

また、例えば、特許文献2には、仮想計算機システムの負荷を反映して、各仮想計算機LPAR(Logical Partition)への物理資源配分を自動的に決定し、LPARの再構成を実行することは困難であったことを課題とし、物理計算機を構成する物理資源を、排他的に又は時分割的に論理的に分割することにより複数のLPARが動作し、各LPAR間で物理資源の割り当てを動的に変更する再構成手段とを持つ仮想計算機システムにおいて、各LPARのアプリケーションやOSで計測された負荷状況に基づき、各LPARへの物理資源の配分を決定し、LPARの再構成を行うことが開示されている。   Further, for example, in Patent Document 2, it is difficult to automatically determine physical resource allocation to each virtual machine LPAR (Logical Partition) and perform LPAR reconfiguration by reflecting the load of the virtual machine system. Multiple LPARs operate by logically dividing physical resources constituting a physical computer exclusively or in a time-sharing manner, and dynamically assigning physical resources among the LPARs. In a virtual machine system having reconfiguration means for changing to LPAR, the allocation of physical resources to each LPAR is determined based on the load status measured by each LPAR application and OS, and the LPAR is reconfigured. Has been.

特開2009−064303号公報JP 2009-064303 A 特開2002−202959号公報JP 2002-202959 A

本発明は、1つの情報処理装置で複数のオペレーティングシステムが動作する場合にあって、オペレーティングシステム毎の計算機資源の使用状況に応じて、オペレーティングシステムを立ち上げるときに計算機資源の配分を設定するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。   According to the present invention, when a plurality of operating systems operate on one information processing apparatus, the allocation of computer resources is set when the operating system is started up according to the usage status of the computer resources for each operating system. An object is to provide an information processing apparatus and an information processing program.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、1つの情報処理装置で複数のオペレーティングシステムが動作しており、該オペレーティングシステム毎に計算機資源の使用状況を取得する取得手段と、前記取得手段によって取得された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出する算出手段と、前記オペレーティングシステムを立ち上げるときに、前記算出手段によって算出された計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する設定手段を具備することを特徴とする情報処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
According to the first aspect of the present invention, a plurality of operating systems are operating in one information processing apparatus, and an acquisition unit that acquires a usage status of a computer resource for each operating system, and a computer resource acquired by the acquisition unit Based on usage, a calculation unit that calculates a distribution of computer resources to be allocated to one or more of the operating systems, and a distribution of computer resources calculated by the calculation unit when the operating system is started up An information processing apparatus comprising setting means for setting a distribution of computer resources of the operating system.

請求項2の発明は、前記算出手段は、前記情報処理装置を電源断するときに、前記計算機資源の配分を算出し、該計算機資源の配分を不揮発性の記憶装置に記憶させ、前記設定手段は、前記情報処理装置の電源を入れたときに、前記記憶装置に記憶されている前記計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する
ことを特徴とする請求項1に記載の情報処理装置である。
According to a second aspect of the present invention, when the information processing apparatus is powered off, the calculation unit calculates the computer resource allocation, stores the computer resource allocation in a nonvolatile storage device, and the setting unit. The computer resource allocation of the operating system is set based on the computer resource allocation stored in the storage device when the information processing apparatus is turned on. It is an information processing apparatus as described in.

請求項3の発明は、前記算出手段は、前記オペレーティングシステムを停止状態にするときに、該オペレーティングシステムの計算機資源の配分を算出し、該計算機資源の配分を記憶装置に記憶させ、前記設定手段は、前記オペレーティングシステムを再開したときに、前記記憶装置に記憶されている前記計算機資源の配分に基づいて、該オペレーティングシステムの計算機資源の配分を設定することを特徴とする請求項1に記載の情報処理装置である。   According to a third aspect of the present invention, the calculation means calculates the allocation of computer resources of the operating system when storing the operating system, stores the allocation of the computer resources in a storage device, and sets the setting means. 2. The computer resource allocation of the operating system is set based on the computer resource allocation stored in the storage device when the operating system is restarted. Information processing apparatus.

請求項4の発明は、前記取得手段は、取得した計算機資源の使用状況を記憶装置に記憶させ、取得した計算機資源の使用状況が該記憶装置に記憶されている前回取得した計算機資源の使用状況と予め定められた範囲内にある場合は、該記憶装置に今回取得した計算機資源の使用状況を記憶させず、前記算出手段は、前記記憶装置に記憶された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置である。   According to a fourth aspect of the present invention, the acquisition means stores the acquired usage status of the computer resource in a storage device, and the acquired usage status of the computer resource is stored in the storage device. And within the predetermined range, the storage unit does not store the usage status of the computer resource acquired this time, and the calculation means is based on the usage status of the computer resource stored in the storage device, The information processing apparatus according to claim 1, wherein an allocation of computer resources to be allocated to one or more of the operating systems is calculated.

請求項5の発明は、情報処理装置を、1つの前記情報処理装置で複数のオペレーティングシステムが動作しており、該オペレーティングシステム毎に計算機資源の使用状況を取得する取得手段と、前記取得手段によって取得された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出する算出手段と、前記オペレーティングシステムを立ち上げるときに、前記算出手段によって算出された計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する設定手段として機能させることを特徴とする情報処理プログラムである。   According to a fifth aspect of the present invention, an information processing apparatus includes a plurality of operating systems operating on one information processing apparatus, an acquisition unit that acquires a usage status of computer resources for each operating system, and the acquisition unit. Based on the obtained usage status of the computer resource, a calculation unit that calculates a distribution of the computer resource to be allocated to one or more of the operating systems, and calculated by the calculation unit when starting up the operating system An information processing program that functions as a setting unit that sets the allocation of computer resources of the operating system based on the allocation of computer resources.

請求項1の情報処理装置によれば、1つの情報処理装置で複数のオペレーティングシステムが動作する場合にあって、オペレーティングシステム毎の計算機資源の使用状況に応じて、オペレーティングシステムを立ち上げるときに計算機資源の配分を設定することができる。   According to the information processing apparatus of claim 1, when a plurality of operating systems are operated by one information processing apparatus, the computer is started up when the operating system is started up according to the usage status of the computer resources for each operating system. Resource allocation can be set.

請求項2の情報処理装置によれば、情報処理装置の電源を入れたときに、オペレーティングシステムの計算機資源の配分を設定することができる。   According to the information processing apparatus of the second aspect, when the information processing apparatus is turned on, it is possible to set the distribution of computer resources of the operating system.

請求項3の情報処理装置によれば、オペレーティングシステムを再開したときに、オペレーティングシステムの計算機資源の配分を設定することができる。   According to the information processing apparatus of the third aspect, when the operating system is restarted, it is possible to set the distribution of the computer resources of the operating system.

請求項4の情報処理装置によれば、前回取得した計算機資源の使用状況と予め定めた範囲内にある計算機資源の使用状況の重みが大きくなりすぎることを抑制して、オペレーティングシステムの計算機資源の配分を算出することができる。   According to the information processing apparatus of claim 4, it is possible to suppress the weight of the usage status of the computer resource acquired last time and the usage status of the computer resource within a predetermined range from being excessively increased, and The distribution can be calculated.

請求項5の情報処理プログラムによれば、1つの情報処理装置で複数のオペレーティングシステムが動作する場合にあって、オペレーティングシステム毎の計算機資源の使用状況に応じて、オペレーティングシステムを立ち上げるときに計算機資源の配分を設定することができる。   According to the information processing program of claim 5, when a plurality of operating systems operate on one information processing apparatus, the computer is started up when the operating system is started up according to the usage status of computer resources for each operating system. Resource allocation can be set.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 本実施の形態を実現するハードウェアとオペレーティングシステムとの関係例を示す説明図である。It is explanatory drawing which shows the example of a relationship between the hardware which implement | achieves this Embodiment, and an operating system. 本実施の形態による使用状況の取得処理例を示す説明図である。It is explanatory drawing which shows the example of an acquisition process of the usage condition by this Embodiment. 本実施の形態による使用状況の取得処理例を示すフローチャートである。It is a flowchart which shows the example of an acquisition process of the usage condition by this Embodiment. 現リソース配分テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of the current resource allocation table. リソース使用状況テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a resource usage condition table. 次回リソース配分テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a next resource allocation table. リソースメモリ内容の表示例を示す説明図である。It is explanatory drawing which shows the example of a display of the resource memory content. 本実施の形態による使用状況の記憶処理例を示す説明図である。It is explanatory drawing which shows the example of a storage process of the usage condition by this Embodiment. 本実施の形態による電源オフ又は省電力モードへの移行の際の処理例を示す説明図である。It is explanatory drawing which shows the example of a process in the case of the power-off by this Embodiment, or the transfer to a power saving mode. 本実施の形態による電源オフ又は省電力モードへの移行の際の処理例を示すフローチャートである。It is a flowchart which shows the example of a process in the case of the power-off by this Embodiment, or transfer to a power saving mode. リソースメモリ内容の表示例を示す説明図である。It is explanatory drawing which shows the example of a display of the resource memory content. 本実施の形態によるサブ電源オン又は省電力モードからの復帰の際の処理例を示す説明図である。It is explanatory drawing which shows the process example at the time of the sub power supply ON by this Embodiment, or the return from power saving modes. 本実施の形態によるサブ電源オン又は省電力モードからの復帰の際の処理例を示すフローチャートである。It is a flowchart which shows the process example at the time of the sub power supply ON by this Embodiment, or the return from power saving mode. リソースメモリ内容の表示例を示す説明図である。It is explanatory drawing which shows the example of a display of the resource memory content. 本実施の形態によるシャットダウンの際の処理例を示す説明図である。It is explanatory drawing which shows the example of a process in the case of shutdown by this Embodiment. 本実施の形態によるシャットダウン後に起動した際の処理例を示す説明図である。It is explanatory drawing which shows the process example at the time of starting after the shutdown by this Embodiment. 本実施の形態によるシャットダウンの際の処理例及びシャットダウン後に起動した際の処理例を示すフローチャートである。It is a flowchart which shows the example of a process at the time of the shutdown by this Embodiment, and the example of a process at the time of starting after a shutdown. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of the present embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment is a computer program for causing these modules to function (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a function for each computer. This also serves as an explanation of the program and system and method for realizing the above. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. It is the control to be stored in the device. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, etc.). “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. In addition, if it is before the target processing, it is used in accordance with the situation / state at that time or with the intention to be decided according to the situation / state up to that point.
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc. The case where it implement | achieves by etc. is also included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement.
In addition, when performing a plurality of processes in each module or in each module, the target information is read from the storage device for each process, and the processing result is written to the storage device after performing the processing. is there. Therefore, description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Here, the storage device may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

本実施の形態である情報処理装置は、1つの計算機のハードウェア資源の上で複数のオペレーティングシステム(以下、OS、ゲストOSともいう)を動作させるものであって、図1の例に示すように、リソース使用状況取得モジュール110、リソース使用状況記憶モジュール120、リソース配分算出モジュール130、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150、初期化モジュール160、リソース配分モジュール170を有している。   The information processing apparatus according to the present embodiment operates a plurality of operating systems (hereinafter also referred to as OS and guest OS) on hardware resources of one computer, as shown in the example of FIG. The resource usage status acquisition module 110, the resource usage status storage module 120, the resource allocation calculation module 130, the current resource allocation storage module 140, the next resource allocation storage module 150, the initialization module 160, and the resource allocation module 170. .

リソース使用状況取得モジュール110は、リソース使用状況記憶モジュール120と接続されており、OS毎に計算機資源の使用状況を取得する。具体的には、例えば、計算機資源(以下、リソースともいう)の使用状況として、CPU使用率(予め定めた期間(例えば、前回の使用状況の計測の時点から今回の計測の時点までの間。以下、使用状況の予め定めた期間において同じ)内において、OSがCPUを使った時間の割合)、メモリ使用率(予め定めた時間内において、OSがメモリに常駐させているページの割合)、タスク実行待ち時間(予め定めた時間内において、OS内のタスクの実行が待たされた時間)、ページフォルト数(予め定めた期間内において、実メモリ内にない仮想メモリがアクセスされた回数)等がある。なお、CPU使用率、メモリ使用率のように、計算機資源の使用状況として「率」とあるものは、そのOSに割り当てられた計算機資源内の割合となる。また、計算機資源の使用状況を取得するときは、予め定められた期間毎であってもよいし、期間は定められておらず間欠的であってもよい。例えば、前回とは異なる期間で計算機資源の使用状況を取得してもよいし、計算機資源の使用状況が予め定められた値以上となった場合に取得するようにしてもよい。   The resource usage status acquisition module 110 is connected to the resource usage status storage module 120 and acquires the usage status of computer resources for each OS. Specifically, for example, as a usage status of a computer resource (hereinafter also referred to as a resource), a CPU usage rate (a predetermined period (for example, from the time of measurement of the previous usage status to the time of the current measurement). Hereinafter, the same during a predetermined period of usage)) the percentage of time that the OS used the CPU), the memory usage (the percentage of pages that the OS resides in the memory within the predetermined time), Task execution waiting time (time for which execution of a task in the OS was waited within a predetermined time), page fault count (number of times virtual memory not in real memory was accessed within a predetermined period), etc. There is. Note that the usage rate of a computer resource such as a CPU usage rate and a memory usage rate is a rate in the computer resource allocated to the OS. Further, when the usage status of the computer resource is acquired, it may be every predetermined period, or may be intermittent without being determined. For example, the usage status of the computer resource may be acquired in a period different from the previous time, or may be acquired when the usage status of the computer resource exceeds a predetermined value.

また、リソース使用状況取得モジュール110は、取得した計算機資源の使用状況をリソース使用状況記憶モジュール120に記憶させ、取得した計算機資源の使用状況がリソース使用状況記憶モジュール120に記憶されている前回取得した計算機資源の使用状況と予め定められた範囲内にある場合は、リソース使用状況記憶モジュール120に今回取得した計算機資源の使用状況を記憶させないように制御してもよい。計算機資源の使用状況の変化が少ない場合(変化が無い場合、つまり、前回と同じ値の場合も含む。以下、同じ)は、その使用状況をリソース使用状況記憶モジュール120には記憶させないようにするものである。
また、リソース使用状況取得モジュール110は、取得した計算機資源の使用状況が予め定められた値以下又は未満であって、さらに、その取得した計算機資源の使用状況がリソース使用状況記憶モジュール120に記憶されている前回取得した計算機資源の使用状況と予め定めた範囲内にある場合は、リソース使用状況記憶モジュール120に今回取得した計算機資源の使用状況を記憶させないように制御してもよい。計算機資源の使用状況が低レベル(例えば、スリープ状態にある場合)であって、計算機資源の使用状況の変化が少ない場合は、その使用状況をリソース使用状況記憶モジュール120には記憶させないようにするものである。
Further, the resource usage status acquisition module 110 stores the acquired computer resource usage status in the resource usage status storage module 120, and the acquired computer resource usage status is stored in the resource usage status storage module 120 previously acquired. If the usage status of the computer resource is within a predetermined range, the resource usage status storage module 120 may be controlled not to store the usage status of the computer resource acquired this time. When there is little change in the usage status of computer resources (when there is no change, that is, including the same value as the previous time, the same applies hereinafter), the usage status is not stored in the resource usage status storage module 120. Is.
Further, the resource usage status acquisition module 110 stores the acquired computer resource usage status in the resource usage status storage module 120, where the usage status of the acquired computer resource is less than or less than a predetermined value. If the computer resource usage status acquired last time is within a predetermined range, the resource usage status storage module 120 may be controlled not to store the computer resource usage status acquired this time. If the usage status of the computer resource is low (for example, in the sleep state) and the change in the usage status of the computer resource is small, the usage status is not stored in the resource usage status storage module 120. Is.

リソース使用状況記憶モジュール120は、リソース使用状況取得モジュール110、リソース配分算出モジュール130と接続されており、リソース使用状況取得モジュール110によって取得された計算機資源の使用状況をOS毎に記憶する。例えば、揮発性のメモリであってもよいし、不揮発性のメモリであってもよい。
リソース使用状況記憶モジュール120は、現リソース配分記憶モジュール140又は次回リソース配分記憶モジュール150と同じ記憶装置であってもよいし、異なる記憶装置であってもよい。
The resource usage status storage module 120 is connected to the resource usage status acquisition module 110 and the resource allocation calculation module 130, and stores the usage status of the computer resources acquired by the resource usage status acquisition module 110 for each OS. For example, it may be a volatile memory or a non-volatile memory.
The resource usage status storage module 120 may be the same storage device as the current resource allocation storage module 140 or the next resource allocation storage module 150, or may be a different storage device.

リソース配分算出モジュール130は、リソース使用状況記憶モジュール120、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150と接続されており、リソース使用状況取得モジュール110によって取得された計算機資源の使用状況(又はリソース使用状況記憶モジュール120に記憶されている計算機資源の使用状況)に基づいて、OSのうちの一つ以上に割り当てる計算機資源の配分を算出する。つまり、本情報処理装置上で動作可能な複数のOSのうちの少なくとも一つのOSに割り当てる計算機資源の配分を算出する。   The resource allocation calculation module 130 is connected to the resource usage status storage module 120, the current resource allocation storage module 140, and the next time resource allocation storage module 150, and uses the computer resource usage status acquired by the resource usage status acquisition module 110 (or Based on the computer resource usage status stored in the resource usage status storage module 120, the allocation of computer resources to be allocated to one or more of the OSs is calculated. That is, the allocation of computer resources allocated to at least one OS among a plurality of OSs operable on the information processing apparatus is calculated.

また、リソース配分算出モジュール130は、情報処理装置を電源断するときに、計算機資源の配分を算出し、その算出した計算機資源の配分を不揮発性の記憶装置である次回リソース配分記憶モジュール150に記憶させてもよい。ここで、情報処理装置を電源断するとは、揮発性のメモリに記憶されている情報が保持できなくなる状態になることをいい、例えば、主電源をオフにしたとき、前述の状態になるのであればサブ電源をオフにしたときであってもよいし、ハイバネーションといわれるスリープ状態(揮発性のメモリの内容をハードディスク等に退避して電源をオフの状態又は休止状態)にすることであってもよい。   The resource allocation calculation module 130 calculates the allocation of computer resources when the information processing apparatus is powered off, and stores the calculated allocation of computer resources in the next resource allocation storage module 150 that is a nonvolatile storage device. You may let them. Here, turning off the power of the information processing device means that the information stored in the volatile memory cannot be retained. For example, when the main power is turned off, the information processing device may be in the state described above. For example, it may be when the sub power supply is turned off, or in a sleep state called hibernation (the contents of the volatile memory are saved to a hard disk or the like and the power is turned off or hibernate). Good.

また、リソース配分算出モジュール130は、OSを停止状態にするときに、OSの計算機資源の配分を算出し、その算出した計算機資源の配分を次回リソース配分記憶モジュール150に記憶させてもよい。ここで、OSを停止状態にするとは、揮発性のメモリに記憶されている情報は保持できているが、省電力の状態にすることをいい、例えば、サスペンド又はスタンバイといわれるスリープ状態にすることである。OSの動作を一時的に停止させ、節電状態で待機させているが、揮発性のメモリは稼動させたままとなっており、ハードディスクなどへの給電を停止したりする。   Further, the resource allocation calculation module 130 may calculate the allocation of computer resources of the OS when the OS is stopped, and store the calculated allocation of computer resources in the next resource allocation storage module 150. Here, when the OS is stopped, the information stored in the volatile memory can be retained, but it means a power saving state, for example, a sleep state called suspend or standby. It is. The operation of the OS is temporarily stopped and kept in a power-saving state, but the volatile memory remains operating, and power supply to the hard disk or the like is stopped.

リソース配分算出モジュール130は、さらに現リソース配分記憶モジュール140に記憶されている現在のOSに設定されている計算機資源の配分に基づいて、OSの計算機資源の配分を算出し、その算出した計算機資源の配分を次回リソース配分記憶モジュール150に記憶させてもよい。   The resource allocation calculation module 130 further calculates the allocation of the OS computer resources based on the allocation of the computer resources set in the current OS stored in the current resource allocation storage module 140, and the calculated computer resources. May be stored in the resource allocation storage module 150 next time.

現リソース配分記憶モジュール140は、リソース配分算出モジュール130、リソース配分モジュール170と接続されており、リソース配分モジュール170によって、OSに計算機資源の配分が設定された場合に、その計算機資源の配分を記憶する。つまり、現在動作しているOSに設定されている計算機資源の配分を記憶する。例えば、揮発性のメモリであってもよいし、不揮発性のメモリであってもよい。
次回リソース配分記憶モジュール150は、リソース配分算出モジュール130、リソース配分モジュール170と接続されており、リソース配分算出モジュール130によって算出された各OSに割り当てる計算機資源の配分を記憶する。例えば、揮発性のメモリであってもよいし、不揮発性のメモリであってもよい。
初期化モジュール160は、リソース配分モジュール170と接続されており、情報処理装置の電源を入れたとき、又はOSを停止状態にした後に再開したとき、リソース配分モジュール170を起動させる。また、情報処理装置又はOSを初期化状態にすることも行う。
ここで、情報処理装置の電源を入れるとは、具体的には、例えば、主電源を入れること、サブ電源を入れること、前述のハイバネーションといわれるスリープ状態からの復帰のいずれであってもよい。OSを停止状態にした後に再開するとは、具体的には、例えば、サスペンド又はスタンバイといわれるスリープ状態から復帰することであってもよい。
The current resource allocation storage module 140 is connected to the resource allocation calculation module 130 and the resource allocation module 170, and stores the allocation of computer resources when the allocation of computer resources is set in the OS by the resource allocation module 170. To do. That is, the computer resource allocation set in the currently operating OS is stored. For example, it may be a volatile memory or a non-volatile memory.
The next resource allocation storage module 150 is connected to the resource allocation calculation module 130 and the resource allocation module 170, and stores the allocation of computer resources allocated to each OS calculated by the resource allocation calculation module 130. For example, it may be a volatile memory or a non-volatile memory.
The initialization module 160 is connected to the resource distribution module 170, and activates the resource distribution module 170 when the information processing apparatus is turned on or restarted after the OS is stopped. Also, the information processing apparatus or OS is initialized.
Here, specifically, turning on the information processing apparatus may be, for example, turning on the main power, turning on the sub power, or returning from the sleep state called hibernation described above. Specifically, the restart after the OS is stopped may be, for example, returning from a sleep state called suspend or standby.

リソース配分モジュール170は、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150、初期化モジュール160と接続されており、OSを立ち上げるときに、リソース配分算出モジュール130によって算出された計算機資源の配分(又は次回リソース配分記憶モジュール150に記憶されている計算機資源の配分)に基づいて、OSの計算機資源の配分を設定する。そして、その設定した計算機資源の配分を現リソース配分記憶モジュール140に記憶させる。
また、リソース配分モジュール170は、前記情報処理装置の電源を入れたときに、不揮発性の記憶装置である次回リソース配分記憶モジュール150に記憶されている計算機資源の配分に基づいて、OSの計算機資源の配分を設定するようにしてもよい。
また、リソース配分モジュール170は、OSを再開したときに、次回リソース配分記憶モジュール150に記憶されている計算機資源の配分に基づいて、OSの計算機資源の配分を設定するようにしてもよい。
The resource allocation module 170 is connected to the current resource allocation storage module 140, the next resource allocation storage module 150, and the initialization module 160, and the allocation of computer resources calculated by the resource allocation calculation module 130 when the OS is started up. Based on (or allocation of computer resources stored in the resource allocation storage module 150 next time), allocation of OS computer resources is set. Then, the computer resource allocation thus set is stored in the current resource allocation storage module 140.
Further, the resource allocation module 170, when the information processing apparatus is turned on, based on the allocation of the computer resources stored in the next resource allocation storage module 150 which is a non-volatile storage device, May be set.
Further, when the OS is restarted, the resource allocation module 170 may set the allocation of the OS computer resources based on the allocation of the computer resources stored in the resource allocation storage module 150 next time.

図2は、本実施の形態を実現するハードウェアとOSとの関係例を示す説明図である。
ハードウェア210を下位層とし、ハードウェア210とゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236等のOSを上位層とし、その間に中間層であるハイパーバイザーOS220がある。ゲストOS−A 232等のOS上では、アプリケーションが動作することとなる。なお、ここでの下位、上位とは概念的な上下関係を示しているにすぎない。
FIG. 2 is an explanatory diagram showing an example of the relationship between the hardware that implements the present embodiment and the OS.
The hardware 210 is a lower layer, the hardware 210 and an OS such as a guest OS-A 232, a guest OS-B 234, and a guest OS-C 236 are upper layers, and there is a hypervisor OS 220 that is an intermediate layer therebetween. An application runs on an OS such as the guest OS-A 232. Note that the terms “lower” and “upper” only indicate a conceptual vertical relationship.

ハードウェア210は、不揮発性メモリ212、ブートローダーモジュール214を有している。
不揮発性メモリ212は、図1に例示のリソース使用状況記憶モジュール120、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150のいずれか又はこれらの組み合わせを実現するメモリである。特に、次回リソース配分記憶モジュール150を実現するのに用いられる。具体的には、EPROM、EEPROM、フラッシュ・メモリー、ハードディスク等が該当する。
ブートローダーモジュール214は、図1に例示の初期化モジュール160の機能部分を具現化し、具体的には、主電源投入後、最初に呼び出され、ハードウェア210の初期化を行い、ハイパーバイザーOS220内のハイパーローダーモジュール222を呼び出す。
なお、ハードウェア210内には、これらの他に、CPU(Central Processing Unit)、一般的なメモリ(揮発性のメモリであるRAM(Random Access Memory))、入出力デバイス等がある。また、図1に例示のリソース使用状況記憶モジュール120、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150のいずれか又はこれらの組み合わせを実現するメモリは、ハードウェア210内の一般的なメモリであってもよい。
The hardware 210 includes a nonvolatile memory 212 and a boot loader module 214.
The nonvolatile memory 212 is a memory that realizes any one of the resource usage status storage module 120, the current resource allocation storage module 140, and the next resource allocation storage module 150 illustrated in FIG. 1 or a combination thereof. In particular, it is used to implement the next resource allocation storage module 150. Specifically, EPROM, EEPROM, flash memory, hard disk and the like are applicable.
The boot loader module 214 embodies the functional part of the initialization module 160 illustrated in FIG. 1. Specifically, the boot loader module 214 is called first after the main power is turned on, initializes the hardware 210, and is stored in the hypervisor OS 220. The hyper loader module 222 is called.
In addition to these, the hardware 210 includes a CPU (Central Processing Unit), a general memory (RAM (Random Access Memory) which is a volatile memory), an input / output device, and the like. In addition, a memory that realizes any one or a combination of the resource usage status storage module 120, the current resource allocation storage module 140, and the next resource allocation storage module 150 illustrated in FIG. 1 is a general memory in the hardware 210. There may be.

ハイパーバイザーOS220は、ハイパーローダーモジュール222、リソースメモリ224、リソースマネージャーモジュール226を有している。ハイパーバイザーOS220は、ハードウェア210を制御して複数のOSを動作させるものであり、ハードウェア210を仮想的に見せるためのマイクロOSである。この場合、3つのOS(ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236)がお互いに独立に動作することができるように、ハイパーバイザーOS220が制御する。また、ハイパーバイザーOS220は、図1に例示のリソース配分モジュール170の機能部分を具現化する。具体的には、ハイパーローダーモジュール222からの通知された内容を基にしてゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236のいずれか又はこれらの組み合わせの初期化を行い、計算機資源の配分を設定する。   The hypervisor OS 220 includes a hyper loader module 222, a resource memory 224, and a resource manager module 226. The hypervisor OS 220 controls the hardware 210 to operate a plurality of OSs, and is a micro OS for making the hardware 210 appear virtually. In this case, the hypervisor OS 220 controls so that three OSs (guest OS-A 232, guest OS-B 234, and guest OS-C 236) can operate independently of each other. The hypervisor OS 220 embodies the functional part of the resource distribution module 170 illustrated in FIG. Specifically, based on the contents notified from the hyper loader module 222, one of the guest OS-A 232, guest OS-B 234, guest OS-C 236, or a combination thereof is initialized, and the computer Set resource allocation.

ハイパーローダーモジュール222は、図1に例示の初期化モジュール160又はリソース配分モジュール170の機能部分を具現化する。具体的には、ブートローダーモジュール214からの呼び出しによって起動し、ハイパーバイザーOS220の初期化を行い、リソースメモリ224又は設定ファイルからOSの資源配分をハイパーバイザーOS220に通知する。   The hyper loader module 222 embodies the functional part of the initialization module 160 or the resource allocation module 170 illustrated in FIG. Specifically, it is activated by a call from the boot loader module 214, initializes the hypervisor OS 220, and notifies the hypervisor OS 220 of the OS resource allocation from the resource memory 224 or the setting file.

リソースメモリ224は、図1に例示のリソース使用状況記憶モジュール120、現リソース配分記憶モジュール140、次回リソース配分記憶モジュール150のいずれか又はこれらの組み合わせを実現するメモリである。もちろんのことながら、リソースメモリ224のハードウェアとしての具現化は、ハードウェア210内の一般的なメモリ又は不揮発性メモリ212によって行われる。   The resource memory 224 is a memory that realizes any one of the resource usage status storage module 120, the current resource allocation storage module 140, and the next resource allocation storage module 150 illustrated in FIG. Of course, the realization of the resource memory 224 as hardware is performed by a general memory or the non-volatile memory 212 in the hardware 210.

リソースマネージャーモジュール226は、図1に例示のリソース使用状況取得モジュール110又はリソース配分算出モジュール130の機能を具現化する。具体的には、ハイパーバイザーOS220を初期化するときに生成されるタスクであり、OS(ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236)毎に計算機資源の使用状況を取得(トレース)する。そして、そのトレース結果をリソースメモリ224に記憶させ、トレース結果に基づいて、OS(ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236のいずれか1つ又はこれらの組み合わせ)に割り当てる計算機資源の配分を算出する。そして、算出した計算機資源の配分をリソースメモリ224又は不揮発性メモリ212に記憶させる。   The resource manager module 226 embodies the functions of the resource usage status acquisition module 110 or the resource allocation calculation module 130 illustrated in FIG. Specifically, it is a task generated when the hypervisor OS 220 is initialized, and obtains the usage status of computer resources for each OS (guest OS-A 232, guest OS-B 234, guest OS-C 236). (Trace). Then, the trace result is stored in the resource memory 224 and assigned to an OS (any one of guest OS-A 232, guest OS-B 234, guest OS-C 236, or a combination thereof) based on the trace result. Calculate the allocation of computer resources. Then, the calculated distribution of computer resources is stored in the resource memory 224 or the nonvolatile memory 212.

ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236は、ハイパーバイザーOS220上で独立して(他のOSとは無関係に)動作し、それぞれのアプリケーションを動作させる。例えば、Linux(登録商標)、Wind River(登録商標)社のVxWorks(登録商標)等がある。同じOSであってもよいし、異なるOSが含まれていてもよい。   The guest OS-A 232, the guest OS-B 234, and the guest OS-C 236 operate independently on the hypervisor OS 220 (regardless of other OSs) and operate their respective applications. For example, there are Linux (registered trademark), VxWorks (registered trademark) of Wind River (registered trademark), and the like. The same OS or different OSs may be included.

図3は、本実施の形態による使用状況の取得処理例を示す説明図である。図4は、本実施の形態による使用状況の取得処理例を示すフローチャートである。図3、図4を用いて、本実施の形態による使用状況の取得処理例を説明する。   FIG. 3 is an explanatory diagram showing an example of usage status acquisition processing according to the present embodiment. FIG. 4 is a flowchart showing an example of usage status acquisition processing according to this embodiment. A usage status acquisition process example according to this embodiment will be described with reference to FIGS. 3 and 4.

ステップS402では、リソースマネージャーモジュール226が、監視時か否かを判断し、監視時の場合はステップS404へ進み、それ以外の場合はステップS402へ戻る。例えば、予め定められた期間毎に監視時が到来するように設定してもよい。
ステップS404では、リソースマネージャーモジュール226が、OS毎にCPU使用率を取得する。つまり、ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236それぞれのCPU使用率を計測する。
ステップS406では、リソースメモリ224が、OS毎にメモリ使用率を取得する。つまり、ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236それぞれのメモリ使用率を計測する。
ステップS408では、リソースメモリ224が、OS毎にタスク実行待ち時間を取得する。つまり、ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236それぞれのタスク実行待ち時間を計測する。
In step S402, the resource manager module 226 determines whether or not the monitoring is being performed. If the monitoring is being performed, the process proceeds to step S404. Otherwise, the process returns to step S402. For example, it may be set so that the monitoring time comes every predetermined period.
In step S404, the resource manager module 226 acquires the CPU usage rate for each OS. That is, the CPU usage rates of the guest OS-A 232, guest OS-B 234, and guest OS-C 236 are measured.
In step S406, the resource memory 224 acquires the memory usage rate for each OS. That is, the memory usage rates of the guest OS-A 232, guest OS-B 234, and guest OS-C 236 are measured.
In step S408, the resource memory 224 acquires a task execution waiting time for each OS. That is, the task execution waiting times of the guest OS-A 232, guest OS-B 234, and guest OS-C 236 are measured.

ステップS410では、リソースマネージャーモジュール226が、各値は閾値以下であり、前回の値と同じか否かを判断し、同じ場合はステップS402の処理へ戻り、それ以外の場合はステップS412へ進む。閾値は、CPU使用率、メモリ使用率、タスク実行待ち時間毎にあり、予め定められた値である。ステップS404、ステップS406、ステップS408でそれぞれ取得した値(CPU使用率、メモリ使用率、タスク実行待ち時間)と各閾値とを比較し、さらに、前回取得した値と今回取得した値とが同じか否かを判断する。なお、前回の値と同じか否かは、同一の値であるか否かを含み、また予め定められた範囲内に収まる場合も同じであると判断してもよい。ステップS410の処理については、図9の例を用いて後述する。
ステップS412では、リソースマネージャーモジュール226が、ステップS402からステップS408までで取得した計算機資源の使用状況をリソースメモリ224のリソース使用状況テーブル600に記憶させ、ステップS402の処理へ戻る。
In step S410, the resource manager module 226 determines whether each value is equal to or less than a threshold value and is the same as the previous value. If the value is the same, the process returns to step S402. Otherwise, the process proceeds to step S412. The threshold value is a predetermined value for each CPU usage rate, memory usage rate, and task execution waiting time. The values acquired in step S404, step S406, and step S408 (CPU usage rate, memory usage rate, task execution waiting time) are compared with each threshold value, and whether the previously acquired value and the current acquired value are the same Judge whether or not. Note that whether or not the value is the same as the previous value includes whether or not the value is the same, and may be determined to be the same when the value falls within a predetermined range. The process of step S410 will be described later using the example of FIG.
In step S412, the resource manager module 226 stores the use status of the computer resource acquired in steps S402 to S408 in the resource use status table 600 of the resource memory 224, and the process returns to step S402.

図5は、現リソース配分テーブル500のデータ構造例を示す説明図である。現リソース配分テーブル500は、リソースメモリ224に記憶されている。ハイパーバイザーOS220によって、各OSが後述する次回リソース配分テーブル700又は設定ファイルによる資源配分に基づいて起動された後に、その計算機資源の配分を現リソース配分テーブル500に記憶させる。したがって、各OSは、その計算機資源の配分下で現状動作していることを示している。
現リソース配分テーブル500は、列方向にCPU割り当て欄512、メモリ割り当て欄514、タスクプライオイティ欄516を有しており、行方向にゲストOS−A欄522、ゲストOS−B欄524、ゲストOS−C欄526を有している。つまり、現在動作している各OSに対応して、計算機資源の配分が記憶されている。
FIG. 5 is an explanatory diagram showing an example of the data structure of the current resource allocation table 500. The current resource allocation table 500 is stored in the resource memory 224. After each OS is started by the hypervisor OS 220 based on the resource allocation by the next resource allocation table 700 or the setting file described later, the allocation of the computer resources is stored in the current resource allocation table 500. Therefore, each OS indicates that it is currently operating under the allocation of the computer resources.
The current resource allocation table 500 includes a CPU allocation column 512, a memory allocation column 514, and a task priority column 516 in the column direction, and a guest OS-A column 522, a guest OS-B column 524, and a guest OS in the row direction. -C column 526 is included. That is, the computer resource allocation is stored corresponding to each OS currently operating.

図6は、リソース使用状況テーブル600のデータ構造例を示す説明図である。リソース使用状況テーブル600は、リソースメモリ224に記憶されている。リソースマネージャーモジュール226によって、各OS毎の計算機資源の使用状況が計測され、その計測結果をリソース使用状況テーブル600に記憶させる(図4に例示のステップS412)。
リソース使用状況テーブル600は、列方向に取得値記憶欄612、取得値記憶欄614、取得値記憶欄616等を有しており、行方向にゲストOS−A CPU使用率欄622、ゲストOS−Aメモリ使用率欄624、ゲストOS−Aタスク実行待ち欄626、ゲストOS−B CPU使用率欄632、ゲストOS−Bメモリ使用率欄634、ゲストOS−Bタスク実行待ち欄636、ゲストOS−C CPU使用率欄642、ゲストOS−Cメモリ使用率欄644、ゲストOS−Cタスク実行待ち欄646を有している。列方向のデータは、計算機資源の使用状況が計測される毎に時系列で増える(いわゆるFIFO(First−In First−Out)管理)。なお、CPU使用率、メモリ使用率は、そのOSに配分された計算機資源の下での率を表している。
FIG. 6 is an explanatory diagram showing an example of the data structure of the resource usage status table 600. The resource usage status table 600 is stored in the resource memory 224. The resource manager module 226 measures the usage status of computer resources for each OS, and stores the measurement result in the resource usage status table 600 (step S412 illustrated in FIG. 4).
The resource usage status table 600 has an acquired value storage column 612, an acquired value storage column 614, an acquired value storage column 616, etc. in the column direction, and a guest OS-A CPU usage rate column 622, a guest OS- A memory usage rate column 624, guest OS-A task execution waiting column 626, guest OS-B CPU usage rate column 632, guest OS-B memory usage rate column 634, guest OS-B task execution waiting column 636, guest OS- It has a C CPU usage rate column 642, a guest OS-C memory usage rate column 644, and a guest OS-C task execution waiting column 646. The data in the column direction increases in time series every time the usage status of computer resources is measured (so-called FIFO (First-In First-Out) management). Note that the CPU usage rate and the memory usage rate represent the rates under the computer resources allocated to the OS.

図7は、次回リソース配分テーブル700のデータ構造例を示す説明図である。次回リソース配分テーブル700は、リソースメモリ224又は不揮発性メモリ212に記憶されている。リソースマネージャーモジュール226によって、リソース使用状況テーブル600内のデータを用いた(さらに現リソース配分テーブル500内のデータを用いてもよい)、各OS毎の計算機資源の配分が算出され、その算出結果を次回リソース配分テーブル700に記憶させる。次回リソース配分テーブル700内のデータに基づいて、次回OSが初期化された場合に、計算機資源の配分が設定されることになる。
次回リソース配分テーブル700は、列方向にCPU割り当て欄712、メモリ割り当て欄714、タスクプライオリティ欄716を有しており、行方向にゲストOS−A欄722、ゲストOS−B欄724、ゲストOS−C欄726を有している。データ構造としては、現リソース配分テーブル500と同等であるが、次回リソース配分テーブル700は、各OSに対応して、次回起動した場合の計算機資源の配分が記憶されている。
FIG. 7 is an explanatory diagram showing an example of the data structure of the next resource allocation table 700. The next resource allocation table 700 is stored in the resource memory 224 or the nonvolatile memory 212. The resource manager module 226 uses the data in the resource usage status table 600 (and may use the data in the current resource allocation table 500), and calculates the allocation of computer resources for each OS. The next resource allocation table 700 is stored. Based on the data in the next resource allocation table 700, the next time the OS is initialized, the allocation of computer resources is set.
The next resource allocation table 700 has a CPU allocation column 712, a memory allocation column 714, and a task priority column 716 in the column direction, and a guest OS-A column 722, a guest OS-B column 724, and a guest OS- in the row direction. C column 726 is included. Although the data structure is the same as that of the current resource allocation table 500, the resource allocation table 700 for the next time stores the allocation of computer resources for the next startup corresponding to each OS.

図8は、リソースメモリ内容800の表示例を示す説明図である。リソースメモリ内容800は、現リソース配分欄810、リソース使用状況欄820、次回リソース配分欄830を有している。現リソース配分欄810は現リソース配分テーブル500の内容を表示したものであり、リソース使用状況欄820はリソース使用状況テーブル600の内容を表示したものであり、次回リソース配分欄830は次回リソース配分テーブル700の内容を表示したものである。初めての状態(前回OSの動作がない状態)であるので、次回リソース配分欄830は空である。   FIG. 8 is an explanatory diagram showing a display example of the resource memory contents 800. The resource memory content 800 has a current resource allocation column 810, a resource usage status column 820, and a next resource allocation column 830. The current resource allocation column 810 displays the contents of the current resource allocation table 500, the resource usage status column 820 displays the contents of the resource usage status table 600, and the next resource allocation column 830 indicates the next resource allocation table. The contents of 700 are displayed. Since this is the first state (the state where there is no previous OS operation), the next resource allocation column 830 is empty.

図9は、本実施の形態による使用状況の記憶処理例を示す説明図である。図4に例示したステップS410の処理を説明するものである。リソース使用状況欄820には、各OSにおける計算機資源の使用状況が表示されている。これは、リソース使用状況テーブル600の内容を表示しているものである。
リソースマネージャーモジュール226は、各OSにおける計算機資源の使用状況を計測し(図4に例示のステップS404からステップS408)、図9に例示の計測結果911から計測結果912まではステップS410でNと判断し、リソース使用状況テーブル600に記憶させる。次の計算機資源の使用状況の計測結果913は、ステップS410でYと判断されるものである。したがって、計測結果913は、リソース使用状況テーブル600内に記憶されないこととなる。
なお、ここでは、全ての計測結果が記憶されないが、各計測結果毎又は各OS毎にステップS410の判断を行い、その各計測結果毎又は各OS毎にリソース使用状況テーブル600へ記憶させるか否かを判断するようにしてもよい。
FIG. 9 is an explanatory diagram showing an example of a usage status storage process according to the present embodiment. The process of step S410 illustrated in FIG. 4 will be described. The resource usage status column 820 displays the usage status of computer resources in each OS. This shows the contents of the resource usage status table 600.
The resource manager module 226 measures the usage status of computer resources in each OS (steps S404 to S408 illustrated in FIG. 4), and the measurement results 911 to 912 illustrated in FIG. 9 are determined to be N in step S410. And stored in the resource usage status table 600. The measurement result 913 of the next computer resource usage status is determined as Y in step S410. Therefore, the measurement result 913 is not stored in the resource usage status table 600.
Although not all measurement results are stored here, the determination in step S410 is performed for each measurement result or for each OS, and whether or not the measurement result is stored in the resource usage status table 600 for each measurement result or for each OS. You may make it judge.

図10は、本実施の形態による電源オフ(主電源オフ又はサブ電源オフ)又は省電力モードへの移行の際(つまり、全てのOSをシャットダウンする前)の処理例を示す説明図である。図11は、本実施の形態による電源オフ又は省電力モードへの移行の際の処理例を示すフローチャートである。図10、図11を用いて、本実施の形態による電源オフ又は省電力モードへの移行の際の処理例を説明する。   FIG. 10 is an explanatory diagram showing a processing example when the power is turned off (main power is turned off or the sub power is turned off) or the mode is changed to the power saving mode (that is, before all OSs are shut down) according to the present embodiment. FIG. 11 is a flowchart showing a processing example when the power is turned off or the mode is shifted to the power saving mode according to the present embodiment. A processing example at the time of powering off or shifting to the power saving mode according to the present embodiment will be described with reference to FIGS. 10 and 11.

ステップS1102では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたCPU使用状況からサブ電源オン(主電源オンを含む、以下同じ)時、又は省電力モードからの復帰時に設定するCPU割り当て率を計算する。
ステップS1104では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたメモリ使用状況からサブ電源オン時、又は省電力モードからの復帰時に設定するメモリ割り当て率を計算する。
ステップS1106では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたタスク実行待ち状況からサブ電源オン時、又は省電力モードからの復帰時に設定するタスクプライオリティを計算する。ステップS1102からステップS1106までの計算結果は、リソースメモリ224内の次回リソース配分テーブル700に記憶させる。また、現リソース配分テーブル500内のデータを消去してもよい。
In step S1102, when the resource manager module 226 performs sub power on (including main power on, the same applies below) from the CPU usage stored in the resource usage table 600 of the resource memory 224, or when returning from the power saving mode. The CPU allocation rate to be set is calculated.
In step S <b> 1104, the resource manager module 226 calculates a memory allocation rate set when the sub power is turned on or when returning from the power saving mode from the memory usage status stored in the resource usage status table 600 of the resource memory 224.
In step S1106, the resource manager module 226 calculates a task priority to be set when the sub power is turned on or when returning from the power saving mode based on the task execution waiting status stored in the resource usage status table 600 of the resource memory 224. The calculation results from step S1102 to step S1106 are stored in the next resource allocation table 700 in the resource memory 224. Further, the data in the current resource allocation table 500 may be deleted.

例えば、CPU割り当て率の計算について説明する。
OS数 = m、リソース使用状況テーブル600に格納されている各OSのCPU使用率の数(リソース使用状況テーブル600内でデータが記憶されている取得値記憶欄の数) = nとする。
(1−1)各OSのCPU平均使用率を計算する。
OS1の平均使用率(A1) = (OS1取得値記憶欄1内の値 + OS1取得値記憶欄2内の値 + −−− + OS1取得値記憶欄n内の値 ) / n
OS2の平均使用率(A2) = (OS2取得値記憶欄1内の値 + OS2取得値記憶欄2内の値 + −−− + OS2取得値記憶欄n内の値 ) / n

OSmの平均使用率(Am) = (OSm取得値記憶欄1内の値 + OSm取得値記憶欄2内の値 + −−− + OSm取得値記憶欄n内の値 ) / n
なお、各式でnを用いているが、図4に例示のステップS410での判断が各OS毎に行われた場合は、各OSで異なる場合がある(以下、同じ)。
(1−2)全体のCPUにおける各OSのCPU平均使用率を計算する。なお、現在のOSのCPU割り当て率は、現リソース配分テーブル500のCPU割り当て欄512内のデータである。
OS1の全体における平均使用率(B1) = 現在のOS1のCPU割り当て率 × A1
OS2の全体における平均使用率(B2) = 現在のOS2のCPU割り当て率 × A2

OSmの全体における平均使用率(Bm) = 現在のOSmのCPU割り当て率 × Am
(1−3)各OSのCPU割り当て率を計算する。
OS1のCPU割り当て率(C1) = B1/(B1+B2+−−−+Bm)×100
OS2のCPU割り当て率(C2) = B2/(B1+B2+−−−+Bm)×100

OSmのCPU割り当て率(Cm) = Bm/(B1+B2+−−−+Bm)×100
For example, calculation of the CPU allocation rate will be described.
The number of OS = m, the number of CPU usage rates of each OS stored in the resource usage status table 600 (the number of acquired value storage columns in which data is stored in the resource usage status table 600) = n.
(1-1) The CPU average usage rate of each OS is calculated.
Average usage rate of OS1 (A1) = (value in OS1 acquisition value storage column 1 + value in OS1 acquisition value storage column 2 + −−− + value in OS1 acquisition value storage column n) / n
Average usage rate of OS2 (A2) = (value in OS2 acquisition value storage column 1 + value in OS2 acquisition value storage column 2 + −−− + value in OS2 acquisition value storage column n) / n
:
Average usage rate of OSm (Am) = (value in OSm acquired value storage column 1 + value in OSm acquired value storage column 2 + −−− + value in OSm acquired value storage column n) / n
In addition, although n is used in each equation, when the determination in step S410 illustrated in FIG. 4 is performed for each OS, the OS may be different (the same applies hereinafter).
(1-2) The CPU average usage rate of each OS in the entire CPU is calculated. The current OS CPU allocation rate is the data in the CPU allocation column 512 of the current resource allocation table 500.
Average usage rate (B1) of OS1 as a whole = CPU allocation rate of current OS1 × A1
Average usage rate (B2) of OS2 as a whole = Current CPU2 allocation rate of OS2 x A2
:
Average usage rate (Bm) of the entire OSm = CPU allocation rate of the current OSm × Am
(1-3) The CPU allocation rate of each OS is calculated.
CPU allocation rate of OS1 (C1) = B1 / (B1 + B2 + −−− + Bm) × 100
OS2 CPU allocation ratio (C2) = B2 / (B1 + B2 + --- + Bm) × 100
:
CPU allocation rate of OSm (Cm) = Bm / (B1 + B2 + --- + Bm) × 100

また、次のように行ってもよい。
(2−1)各OSのCPU使用率の最高値を計算する。なお、max()関数は、引数内の最高値を算出する関数である。
OS1の最高使用率(D1) = max(OS1取得値記憶欄1内の値,OS1取得値記憶欄2内の値,−−−,OS1取得値記憶欄n内の値 )
OS2の最高使用率(D2) = max(OS2取得値記憶欄1内の値,OS2取得値記憶欄2内の値,−−−,OS2取得値記憶欄n内の値 )

OSmの最高使用率(Dm) = max(OSm取得値記憶欄1内の値,OSm取得値記憶欄2内の値,−−−,OSm取得値記憶欄n内の値 )
(2−2)全体のCPUにおける各OSのCPU最高使用率を計算する。なお、現在のOSのCPU割り当て率は、現リソース配分テーブル500のCPU割り当て欄512内のデータである。
OS1の全体における平均使用率(E1) = 現在のOS1のCPU割り当て率 × D1
OS2の全体における平均使用率(E2) = 現在のOS2のCPU割り当て率 × D2

OSmの全体における平均使用率(Em) = 現在のOSmのCPU割り当て率 × Dm
(2−3)各OSのCPU割り当て率を計算する。
OS1のCPU割り当て率(F1) = E1/(E1+E2+−−−+Em)×100
OS2のCPU割り当て率(F2) = E2/(E1+E2+−−−+Em)×100

OSmのCPU割り当て率(Fm) = Em/(E1+E2+−−−+Em)×100
Moreover, you may perform as follows.
(2-1) The highest CPU usage rate of each OS is calculated. The max () function is a function that calculates the maximum value in the argument.
Maximum usage rate of OS1 (D1) = max (value in OS1 acquisition value storage column 1, value in OS1 acquisition value storage column 2, ---, value in OS1 acquisition value storage column n)
Maximum usage rate of OS2 (D2) = max (value in OS2 acquisition value storage column 1, value in OS2 acquisition value storage column 2, ---, value in OS2 acquisition value storage column n)
:
Maximum usage rate of OSm (Dm) = max (value in OSm acquisition value storage column 1, value in OSm acquisition value storage column 2, ---, value in OSm acquisition value storage column n)
(2-2) The CPU maximum usage rate of each OS in the entire CPU is calculated. The current OS CPU allocation rate is the data in the CPU allocation column 512 of the current resource allocation table 500.
Average usage rate (E1) of OS1 as a whole = CPU allocation rate of current OS1 × D1
Average usage rate (E2) of the entire OS2 = CPU allocation rate of the current OS2 × D2
:
Average usage rate (Em) of the entire OSm = CPU allocation rate of the current OSm × Dm
(2-3) Calculate the CPU allocation rate of each OS.
OS1 CPU allocation ratio (F1) = E1 / (E1 + E2 + −−− + Em) × 100
OS2 CPU allocation ratio (F2) = E2 / (E1 + E2 + −−− + Em) × 100
:
OSm CPU allocation rate (Fm) = Em / (E1 + E2 + −−− + Em) × 100

現在のOSのCPU割り当て率を用いずに(つまり、(1−2)、(2−2)の処理を行わずに)、各OSのCPU割り当て率を計算するようにしてもよい。この場合、(1−3)におけるB1,B2,・・・,Bmは、A1,A2,・・・,Amとなり、(2−3)におけるE1,E2,・・・,Emは、D1,D2,・・・,Dmとなる。
また、メモリ使用率についても、CPU割り当て率と同等の計算を行ってもよい。つまり、前述のCPU割り当て率の計算におけるCPU平均使用率等とあるのをメモリ平均使用率等とすればよい。
The CPU allocation rate of each OS may be calculated without using the current CPU allocation rate of the OS (that is, without performing the processes (1-2) and (2-2)). In this case, B1, B2, ..., Bm in (1-3) are A1, A2, ..., Am, and E1, E2, ..., Em in (2-3) are D1, D2,..., Dm.
Also, the memory usage rate may be calculated in the same way as the CPU allocation rate. That is, the CPU average usage rate or the like in the above-described calculation of the CPU allocation rate may be the memory average usage rate or the like.

また、タスクプライオリティについては、リソース使用状況テーブル600内のタスク実行待ち時間の統計値と予め定められた閾値とを比較して、タスクプライオリティを決定するようにしてもよい。例えば、リソース使用状況テーブル600内のタスク実行待ち時間の合計値(平均値、中央値、最頻値等でもよい)が予め定められた閾値以上(又は未満)である場合は、現在のOSにおけるタスクプライオリティの順位を1つ上げる(又は下げる)ようにしてもよい。また、現在のOSにおける順位が隣合うタスクプライオリティ間のリソース使用状況テーブル600内のタスク実行待ち時間の合計値(平均値、中央値、最頻値等でもよい)の差が予め定められた閾値以上である場合は、OSにおけるタスクプライオリティの順位を入れ替えるようにしてもよい。   As for the task priority, the task priority may be determined by comparing the statistical value of the task execution waiting time in the resource usage status table 600 with a predetermined threshold. For example, if the total value of task execution waiting times in the resource usage status table 600 (which may be an average value, median value, mode value, etc.) is equal to or greater than (or less than) a predetermined threshold, The task priority rank may be increased (or decreased) by one. In addition, a difference between the total values of task execution wait times (may be an average value, a median value, a mode value, etc.) in the resource usage status table 600 between task priorities adjacent in the order of the current OS is a predetermined threshold value. If this is the case, the order of task priority in the OS may be switched.

ステップS1108では、リソースマネージャーモジュール226が、OS毎のリジューム情報(OSのシャットダウン前の状態情報)を不揮発性メモリ212に退避させる。このリジューム情報として、次回リソース配分テーブル700を含む。ステップS1108はサブ電源オフ時だけの処理であり、省電力モードへの移行時は行わなくてもよい。ただし、省電力モードへ移行することによって、リソースメモリ224内のデータが保持できなくなる場合は、ステップS1108の処理も行う。
ステップS1110では、ハイパーバイザーOS220が、OSをシャットダウンする。
In step S <b> 1108, the resource manager module 226 saves resume information for each OS (status information before the OS is shut down) in the nonvolatile memory 212. As the resume information, the next resource allocation table 700 is included. Step S1108 is a process only when the sub power is off, and may not be performed when shifting to the power saving mode. However, if the data in the resource memory 224 cannot be retained by shifting to the power saving mode, the process of step S1108 is also performed.
In step S1110, the hypervisor OS 220 shuts down the OS.

図12は、リソースメモリ内容800の表示例を示す説明図である。ステップS1106後の状態では、リソースメモリ内容800の次回リソース配分欄830には、ステップS1102からステップS1106までの計算結果(次回リソース配分テーブル700が記憶しているデータ)が表示されることになる。   FIG. 12 is an explanatory diagram showing a display example of the resource memory contents 800. In the state after step S1106, the calculation result from step S1102 to step S1106 (data stored in the next resource allocation table 700) is displayed in the next resource allocation column 830 of the resource memory content 800.

図13は、本実施の形態によるサブ電源オン又は省電力モードからの復帰の際(つまり、全てのOSを初期化して実行する際)の処理例を示す説明図である。図14は、本実施の形態によるサブ電源オン又は省電力モードからの復帰の際の処理例を示すフローチャートである。図13、図14を用いて、本実施の形態によるサブ電源オン又は省電力モードからの復帰の際の処理例を説明する。なお、この処理例は、図10、図11を用いて説明した電源オフ又は省電力モードへの移行が行われた後のものである。   FIG. 13 is an explanatory diagram illustrating a processing example when the sub power supply is turned on or the power saving mode is restored (that is, when all the OSs are initialized and executed) according to the present embodiment. FIG. 14 is a flowchart showing a processing example when the sub power supply is turned on or the power saving mode is restored according to the present embodiment. A processing example at the time of returning from the sub power-on or power saving mode according to the present embodiment will be described with reference to FIGS. 13 and 14. This processing example is after the power-off or transition to the power saving mode described with reference to FIGS. 10 and 11 is performed.

ステップS1402では、ブートローダーモジュール214を実行する。つまり、ブートローダーモジュール214は、ハードウェア210の初期化及びハイパーローダーモジュール222の呼び出しを行う。
ステップS1404では、ハイパーローダーモジュール222を実行する。つまり、ハイパーローダーモジュール222は、省電力モードから復帰する場合はリソースメモリ224内の次回リソース配分テーブル700を読み込み、サブ電源オンの場合は不揮発性メモリ212内の次回リソース配分テーブル700を読み込む。もちろん、省電力モードへ移行することによって、リソースメモリ224内のデータが保持できなくなる場合は、省電力モードから復帰する場合であっても、不揮発性メモリ212内の次回リソース配分テーブル700を読み込む。
ステップS1406では、ハイパーローダーモジュール222は、リソースメモリ224又は不揮発性メモリ212の次回リソース配分テーブル700内にデータがあるか否かを判断し、ある場合はステップS1410へ進み、それ以外の場合はステップS1408へ進む。
In step S1402, the boot loader module 214 is executed. That is, the boot loader module 214 initializes the hardware 210 and calls the hyper loader module 222.
In step S1404, the hyper loader module 222 is executed. That is, the hyper loader module 222 reads the next resource allocation table 700 in the resource memory 224 when returning from the power saving mode, and reads the next resource allocation table 700 in the nonvolatile memory 212 when the sub power supply is on. Of course, if the data in the resource memory 224 cannot be retained by shifting to the power saving mode, the next resource allocation table 700 in the non-volatile memory 212 is read even when returning from the power saving mode.
In step S1406, the hyper loader module 222 determines whether or not there is data in the next resource allocation table 700 of the resource memory 224 or the non-volatile memory 212. If there is data, the process proceeds to step S1410; The process proceeds to S1408.

ステップS1408では、ハイパーローダーモジュール222は、外部ファイルを読み込み、各OSに配分する計算機資源をハイパーバイザーOS220に設定する。ここで、外部ファイルとは、次回リソース配分テーブル700以外の例えばハードディスク等の記憶装置に記憶されているファイルのことを指し、予め定められた規定値である各OSの計算機資源の配分を記憶している。
ステップS1410では、リソースメモリ224の次回リソース配分テーブル700を読み込み、各OSに配分する計算機資源をハイパーバイザーOS220に設定する。
ステップS1412では、ハイパーバイザーOS220を実行する。つまり、ハイパーバイザーOS220内を初期化する。
ステップS1414では、ハイパーバイザーOS220を実行する。つまり、ステップS1408又はステップS1410の設定に基づいて、各OSを計算機資源の配分に基づいて初期化する。そして、リソースメモリ224内の現リソース配分テーブル500に各OSの計算機資源の配分を記憶させる。
ステップS1416では、ハイパーバイザーOS220は、各OS(ゲストOS−A 232、ゲストOS−B 234、ゲストOS−C 236)を実行する。
In step S1408, the hyper loader module 222 reads the external file and sets computer resources to be distributed to each OS in the hypervisor OS 220. Here, the external file refers to a file stored in a storage device such as a hard disk other than the next resource allocation table 700, and stores the allocation of computer resources of each OS, which is a predetermined specified value. ing.
In step S1410, the next resource allocation table 700 in the resource memory 224 is read, and the computer resource allocated to each OS is set in the hypervisor OS 220.
In step S1412, the hypervisor OS 220 is executed. That is, the inside of the hypervisor OS 220 is initialized.
In step S1414, the hypervisor OS 220 is executed. That is, based on the setting in step S1408 or step S1410, each OS is initialized based on the allocation of computer resources. Then, the allocation of computer resources of each OS is stored in the current resource allocation table 500 in the resource memory 224.
In step S1416, the hypervisor OS 220 executes each OS (guest OS-A 232, guest OS-B 234, guest OS-C 236).

図15は、リソースメモリ内容800の表示例を示す説明図である。これは、ステップS1416後の状態を表示したものである。
各OSは動作していないので、リソース使用状況欄820は空欄である。そして、現リソース配分欄810(現リソース配分テーブル500内のデータ)は、次回リソース配分欄830(次回リソース配分テーブル700内のデータ)が複写されている。
FIG. 15 is an explanatory diagram illustrating a display example of the resource memory contents 800. This is a display of the state after step S1416.
Since each OS is not operating, the resource usage status column 820 is blank. In the current resource allocation column 810 (data in the current resource allocation table 500), the next resource allocation column 830 (data in the next resource allocation table 700) is copied.

図16は、本実施の形態によるシャットダウンの際の処理例を示す説明図である。図17は、本実施の形態によるシャットダウン後に起動した際の処理例を示す説明図である。図18は、本実施の形態によるシャットダウンの際の処理例及びシャットダウン後に起動した際の処理例を示すフローチャートである。図16、図17、図18を用いて、本実施の形態によるシャットダウンの際の処理例及びシャットダウン後に起動した際の処理例を説明する。図10、図11に示した例は、全てのOSをシャットダウンする場合について示したが、図16(図18内のステップS1802からステップS1810まで)に示す例は、2つ以上のOSをシャットダウンし、1つ以上のOSは継続して動作している場合についてである。   FIG. 16 is an explanatory diagram showing an example of processing at the time of shutdown according to the present embodiment. FIG. 17 is an explanatory diagram showing an example of processing when starting after shutdown according to the present embodiment. FIG. 18 is a flowchart showing an example of processing at the time of shutdown and an example of processing at the time of starting after shutdown according to the present embodiment. A processing example at the time of shutdown and a processing example at the time of startup after shutdown according to the present embodiment will be described with reference to FIGS. The examples shown in FIGS. 10 and 11 show the case where all the OSs are shut down, but the example shown in FIG. 16 (from step S1802 to step S1810 in FIG. 18) shuts down two or more OSs. One or more OSs are operating continuously.

ステップS1802では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたCPU使用状況からOS起動時に設定するCPU割り当て率を計算する。
ステップS1804では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたメモリ使用状況からOS起動時に設定するメモリ割り当て率を計算する。
ステップS1806では、リソースマネージャーモジュール226がリソースメモリ224のリソース使用状況テーブル600内に格納されたタスク実行待ち状況からOS起動時に設定するタスクプライオリティを計算する。ステップS1802からステップS1806までの計算結果は、リソースメモリ224内の次回リソース配分テーブル700に記憶させる。また、現リソース配分テーブル500内のデータを消去してもよい。
In step S1802, the resource manager module 226 calculates a CPU allocation rate to be set at the time of OS startup from the CPU usage status stored in the resource usage status table 600 of the resource memory 224.
In step S 1804, the resource manager module 226 calculates the memory allocation rate set at the time of OS startup from the memory usage status stored in the resource usage status table 600 of the resource memory 224.
In step S 1806, the resource manager module 226 calculates a task priority set at the time of OS startup from the task execution waiting status stored in the resource usage status table 600 of the resource memory 224. The calculation results from step S1802 to step S1806 are stored in the next resource allocation table 700 in the resource memory 224. Further, the data in the current resource allocation table 500 may be deleted.

CPU割り当て率等の計算は、前述したものに準ずる。ただし、1つ以上のOSは継続して動作しているので、そのOSの計算機資源の配分は変更させないようにする。したがって、シャットダウンするOSの計算機資源の配分を計算する。そのために、継続して動作しているOSの計算機資源の配分を除いた計算機資源を分け合うようにする。より具体的には、OS1だけが継続して動作している場合は、前述の(1−3)は以下のようになる。
OS2のCPU割り当て率(C2) = B2/(B2+−−−+Bm)×(100−B1)

OSmのCPU割り当て率(Cm) = Bm/(B2+−−−+Bm)×(100−B1)
また、メモリ使用率についても、CPU割り当て率と同等の計算を行う。
また、タスクプライオリティについては、シャットダウンするOSのタスクプライオリティ間で変更させる。
The calculation of the CPU allocation rate and the like is based on the above-described one. However, since one or more OSs continue to operate, the allocation of computer resources of the OSs is not changed. Therefore, the allocation of computer resources of the OS to be shut down is calculated. For this purpose, the computer resources other than the allocation of the computer resources of the operating OS are shared. More specifically, when only the OS 1 is continuously operating, the above-described (1-3) is as follows.
OS2 CPU allocation ratio (C2) = B2 / (B2 + --- + Bm) × (100-B1)
:
OSm CPU allocation ratio (Cm) = Bm / (B2 + --- + Bm) × (100-B1)
Also, the memory usage rate is calculated in the same way as the CPU allocation rate.
The task priority is changed between the task priorities of the OS to be shut down.

ステップS1808では、リソースマネージャーモジュール226が、シャットダウンするOSのリジューム情報をハイパーバイザーOS220内のメモリに退避させる。
ステップS1810では、ハイパーバイザーOS220が、そのOSをシャットダウンする。
In step S1808, the resource manager module 226 saves the resume information of the OS to be shut down in the memory in the hypervisor OS 220.
In step S1810, the hypervisor OS 220 shuts down the OS.

ステップS1822以降の処理は、シャットダウンしたOSを起動する場合の処理である。
ステップS1822では、ハイパーバイザーOS220からハイパーローダーモジュール222を呼び出す。
ステップS1824では、リソースメモリ224の次回リソース配分テーブル700を読み出す。
ステップS1826では、読み出した計算機資源の配分をハイパーバイザーOS220に設定する。
ステップS1828では、ハイパーバイザーOS220のOS初期化プログラムを実行して、シャットダウンしたOSを計算機資源の配分に基づいて初期化する。
ステップS1830では、ハイパーバイザーOS220内に退避させたシャットダウンしたOSのリジューム情報を起動したOSのメモリに復帰させる。
The processing after step S1822 is processing for starting up the shut down OS.
In step S1822, the hyperloader module 222 is called from the hypervisor OS 220.
In step S1824, the next resource allocation table 700 in the resource memory 224 is read.
In step S 1826, the read computer resource allocation is set in the hypervisor OS 220.
In step S1828, the OS initialization program of the hypervisor OS 220 is executed to initialize the shutdown OS based on the allocation of computer resources.
In step S1830, the resume information of the shutdown OS saved in the hypervisor OS 220 is restored to the memory of the activated OS.

図19を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図19に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1917と、プリンタなどのデータ出力部1918を備えたハードウェア構成例を示している。   A hardware configuration example of the information processing apparatus according to the present embodiment will be described with reference to FIG. The configuration illustrated in FIG. 19 is configured by, for example, a personal computer (PC), and illustrates a hardware configuration example including a data reading unit 1917 such as a scanner and a data output unit 1918 such as a printer.

CPU(Central Processing Unit)1901は、前述の実施の形態において説明した各種のモジュール、すなわちリソース使用状況取得モジュール110、リソース配分算出モジュール130、初期化モジュール160、リソース配分モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。   A CPU (Central Processing Unit) 1901 executes various modules described in the above-described embodiments, that is, the modules such as the resource usage acquisition module 110, the resource allocation calculation module 130, the initialization module 160, and the resource allocation module 170. It is a control part which performs the process according to the computer program which described the sequence.

ROM(Read Only Memory)1902は、CPU1901が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1903は、CPU1901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1904により相互に接続されている。   A ROM (Read Only Memory) 1902 stores programs, calculation parameters, and the like used by the CPU 1901. A RAM (Random Access Memory) 1903 stores programs used in the execution of the CPU 1901, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 1904 including a CPU bus.

ホストバス1904は、ブリッジ1905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1906に接続されている。   The host bus 1904 is connected to an external bus 1906 such as a peripheral component interconnect / interface (PCI) bus through a bridge 1905.

キーボード1908、マウス等のポインティングデバイス1909は、操作者により操作される入力デバイスである。ディスプレイ1910は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。   A keyboard 1908 and a pointing device 1909 such as a mouse are input devices operated by an operator. The display 1910 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text or image information.

HDD(Hard Disk Drive)1911は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1901によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、リソースの使用状況等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。   An HDD (Hard Disk Drive) 1911 includes a hard disk, drives the hard disk, and records or reproduces a program executed by the CPU 1901 and information. The hard disk stores resource usage and the like. Further, various computer programs such as various other data processing programs are stored.

ドライブ1912は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1913に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1907、外部バス1906、ブリッジ1905、及びホストバス1904を介して接続されているRAM1903に供給する。リムーバブル記録媒体1913も、ハードディスクと同様のデータ記録領域として利用可能である。   The drive 1912 reads out data or a program recorded in a removable recording medium 1913 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out as an interface 1907 and an external bus 1906. , A bridge 1905, and a RAM 1903 connected via the host bus 1904. The removable recording medium 1913 can also be used as a data recording area similar to the hard disk.

接続ポート1914は、外部接続機器1915を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1914は、インタフェース1907、及び外部バス1906、ブリッジ1905、ホストバス1904等を介してCPU1901等に接続されている。通信部1916は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1917は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1918は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。   The connection port 1914 is a port for connecting the external connection device 1915 and has a connection unit such as USB or IEEE1394. The connection port 1914 is connected to the CPU 1901 and the like via the interface 1907, the external bus 1906, the bridge 1905, the host bus 1904, and the like. A communication unit 1916 is connected to a network and executes data communication processing with the outside. The data reading unit 1917 is a scanner, for example, and executes document reading processing. The data output unit 1918 is, for example, a printer, and executes document data output processing.

なお、図19に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図19に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図19に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよいし、画像処理システム以外に家電、自動車、エレベーター等に利用してもよい。   Note that the hardware configuration of the information processing apparatus illustrated in FIG. 19 illustrates one configuration example, and the present embodiment is not limited to the configuration illustrated in FIG. 19, and the modules described in the present embodiment are executed. Any configuration is possible. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected via a communication line Further, a plurality of systems shown in FIG. 19 may be connected to each other through communication lines so as to cooperate with each other. Further, it may be incorporated in a copying machine, a fax machine, a scanner, a printer, a multifunction machine (an image processing apparatus having any two or more functions of a scanner, a printer, a copying machine, a fax machine, etc.) In addition to the image processing system, it may be used for home appliances, automobiles, elevators, and the like.

前述の実施の形態においては、1つの情報処理装置上で主に3つのOSを動作させる場合を示したが、2つのOS又は4つ以上のOSを動作させるようにしてもよい。   In the above-described embodiment, the case where three OSs are mainly operated on one information processing apparatus has been described. However, two OSs or four or more OSs may be operated.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray Disc (registered trademark), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM), flash Includes memory, random access memory (RAM), etc. .
The program or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, etc., or wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

110…リソース使用状況取得モジュール
120…リソース使用状況記憶モジュール
130…リソース配分算出モジュール
140…現リソース配分記憶モジュール
150…次回リソース配分記憶モジュール
160…初期化モジュール
170…リソース配分モジュール
210…ハードウェア
212…不揮発性メモリ
214…ブートローダーモジュール
220…ハイパーバイザーOS
222…ハイパーローダーモジュール
224…リソースメモリ
226…リソースマネージャーモジュール
232…ゲストOS−A
234…ゲストOS−B
236…ゲストOS−C
110 ... Resource usage status acquisition module 120 ... Resource usage status storage module 130 ... Resource allocation calculation module 140 ... Current resource allocation storage module 150 ... Next resource allocation storage module 160 ... Initialization module 170 ... Resource allocation module 210 ... Hardware 212 ... Nonvolatile memory 214 ... Boot loader module 220 ... Hypervisor OS
222 ... Hyper loader module 224 ... Resource memory 226 ... Resource manager module 232 ... Guest OS-A
234 ... Guest OS-B
236 ... Guest OS-C

Claims (5)

1つの情報処理装置で複数のオペレーティングシステムが動作しており、該オペレーティングシステム毎に計算機資源の使用状況を取得する取得手段と、
前記取得手段によって取得された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出する算出手段と、
前記オペレーティングシステムを立ち上げるときに、前記算出手段によって算出された計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する設定手段
を具備することを特徴とする情報処理装置。
A plurality of operating systems are operating in one information processing apparatus, and acquisition means for acquiring the usage status of computer resources for each operating system;
Calculation means for calculating a distribution of computer resources to be allocated to one or more of the operating systems based on the usage status of the computer resources acquired by the acquisition means;
An information processing apparatus comprising: setting means for setting the allocation of computer resources of the operating system based on the allocation of computer resources calculated by the calculation means when starting up the operating system.
前記算出手段は、前記情報処理装置を電源断するときに、前記計算機資源の配分を算出し、該計算機資源の配分を不揮発性の記憶装置に記憶させ、
前記設定手段は、前記情報処理装置の電源を入れたときに、前記記憶装置に記憶されている前記計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する
ことを特徴とする請求項1に記載の情報処理装置。
The calculation means calculates the allocation of the computer resources when the information processing apparatus is powered off, stores the allocation of the computer resources in a nonvolatile storage device,
The setting unit sets the allocation of computer resources of the operating system based on the allocation of the computer resources stored in the storage device when the information processing apparatus is turned on. The information processing apparatus according to claim 1.
前記算出手段は、前記オペレーティングシステムを停止状態にするときに、該オペレーティングシステムの計算機資源の配分を算出し、該計算機資源の配分を記憶装置に記憶させ、
前記設定手段は、前記オペレーティングシステムを再開したときに、前記記憶装置に記憶されている前記計算機資源の配分に基づいて、該オペレーティングシステムの計算機資源の配分を設定する
ことを特徴とする請求項1に記載の情報処理装置。
The calculation means calculates the allocation of computer resources of the operating system when the operating system is stopped, and stores the allocation of computer resources in a storage device.
The said setting means sets the allocation of computer resources of the operating system based on the allocation of the computer resources stored in the storage device when the operating system is restarted. The information processing apparatus described in 1.
前記取得手段は、取得した計算機資源の使用状況を記憶装置に記憶させ、取得した計算機資源の使用状況が該記憶装置に記憶されている前回取得した計算機資源の使用状況と予め定められた範囲内にある場合は、該記憶装置に今回取得した計算機資源の使用状況を記憶させず、
前記算出手段は、前記記憶装置に記憶された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出する
ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
The acquisition means stores the acquired usage status of the computer resource in a storage device, and the acquired usage status of the computer resource is stored in the storage device within a predetermined range with the previously acquired usage status of the computer resource. If not, do not store the usage status of the computer resource acquired this time in the storage device,
4. The calculation unit according to claim 1, wherein the calculation unit calculates an allocation of computer resources to be allocated to one or more of the operating systems based on a usage state of the computer resources stored in the storage device. 5. The information processing apparatus according to any one of claims.
情報処理装置を、
1つの前記情報処理装置で複数のオペレーティングシステムが動作しており、該オペレーティングシステム毎に計算機資源の使用状況を取得する取得手段と、
前記取得手段によって取得された計算機資源の使用状況に基づいて、前記オペレーティングシステムのうちの一つ以上に割り当てる計算機資源の配分を算出する算出手段と、
前記オペレーティングシステムを立ち上げるときに、前記算出手段によって算出された計算機資源の配分に基づいて、前記オペレーティングシステムの計算機資源の配分を設定する設定手段
として機能させることを特徴とする情報処理プログラム。
Information processing device
A plurality of operating systems are operating on the one information processing apparatus, and an acquisition unit that acquires the usage status of computer resources for each operating system;
Calculation means for calculating a distribution of computer resources to be allocated to one or more of the operating systems based on the usage status of the computer resources acquired by the acquisition means;
An information processing program that functions as setting means for setting the allocation of computer resources of the operating system based on the allocation of computer resources calculated by the calculation means when the operating system is started up.
JP2010094738A 2010-04-16 2010-04-16 Information processor and information processing program Pending JP2011227598A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010094738A JP2011227598A (en) 2010-04-16 2010-04-16 Information processor and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010094738A JP2011227598A (en) 2010-04-16 2010-04-16 Information processor and information processing program

Publications (1)

Publication Number Publication Date
JP2011227598A true JP2011227598A (en) 2011-11-10

Family

ID=45042889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010094738A Pending JP2011227598A (en) 2010-04-16 2010-04-16 Information processor and information processing program

Country Status (1)

Country Link
JP (1) JP2011227598A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045596A (en) * 2014-08-20 2016-04-04 株式会社東芝 Information processing device, method, and program
US11188140B2 (en) 2019-04-05 2021-11-30 Fujifilm Business Innovation Corp. Information processing system
US11526380B2 (en) 2019-12-19 2022-12-13 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
US11630698B2 (en) * 2019-12-19 2023-04-18 Google Llc Resource management unit for capturing operating system configuration states and swapping memory content

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045596A (en) * 2014-08-20 2016-04-04 株式会社東芝 Information processing device, method, and program
US11188140B2 (en) 2019-04-05 2021-11-30 Fujifilm Business Innovation Corp. Information processing system
US11526380B2 (en) 2019-12-19 2022-12-13 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
US11630698B2 (en) * 2019-12-19 2023-04-18 Google Llc Resource management unit for capturing operating system configuration states and swapping memory content
US11782761B2 (en) 2019-12-19 2023-10-10 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks

Similar Documents

Publication Publication Date Title
US9396009B2 (en) Optimized global capacity management in a virtualized computing environment
US8645733B2 (en) Virtualized application power budgeting
RU2569805C2 (en) Virtual non-uniform memory architecture for virtual machines
US7765428B2 (en) Replacing a failing physical processor
US8423811B2 (en) Transparently increasing power savings in a power management environment
US8799892B2 (en) Selective memory donation in virtual real memory environment
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
US20150277779A1 (en) Method of migrating virtual machines between non-uniform memory access nodes within an information handling system
US10481932B2 (en) Auto-scaling virtual switches
JP2008530706A (en) Method, apparatus and system for dynamically reallocating memory from one virtual machine to another
US8205207B2 (en) Method of automated resource management in a partition migration capable environment
US20110145555A1 (en) Controlling Power Management Policies on a Per Partition Basis in a Virtualized Environment
US20180203739A1 (en) Dynamic resource allocation with forecasting in virtualized environments
US20130047152A1 (en) Preserving, From Resource Management Adjustment, Portions Of An Overcommitted Resource Managed By A Hypervisor
US20100100892A1 (en) Managing hosted virtualized operating system environments
US8458431B2 (en) Expanding memory size
US9513952B2 (en) Sharing resources allocated to an entitled virtual machine
JP2011227598A (en) Information processor and information processing program
US20060143204A1 (en) Method, apparatus and system for dynamically allocating sequestered computing resources
US8799625B2 (en) Fast remote communication and computation between processors using store and load operations on direct core-to-core memory
US9183056B2 (en) Expanding memory size