JP5195997B2 - カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム - Google Patents
カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム Download PDFInfo
- Publication number
- JP5195997B2 JP5195997B2 JP2011243400A JP2011243400A JP5195997B2 JP 5195997 B2 JP5195997 B2 JP 5195997B2 JP 2011243400 A JP2011243400 A JP 2011243400A JP 2011243400 A JP2011243400 A JP 2011243400A JP 5195997 B2 JP5195997 B2 JP 5195997B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- partitioning
- storage unit
- source code
- kernel source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 132
- 238000005457 optimization Methods 0.000 title claims description 56
- 238000000638 solvent extraction Methods 0.000 claims description 203
- 230000008569 process Effects 0.000 claims description 106
- 230000004913 activation Effects 0.000 claims description 102
- 230000008707 rearrangement Effects 0.000 claims description 18
- 238000001994 activation Methods 0.000 description 107
- 230000006870 function Effects 0.000 description 24
- 238000005192 partition Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
そこで、本発明の目的は、デバイス起動待ち時間を考慮した順番で各デバイスを起動することにより、CPUが何も実行しない無駄な時間を極力少なくし、カーネル初期化処理に要する時間を短縮させることにある。
複数のデバイスと、該複数のデバイス毎のデバイスドライバと、カーネルソースコードが格納されたカーネルソースコード記憶部と、前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、区画化コード記憶部と、最適化コード記憶部とを備えたコンピュータによって前記カーネルソースコードを最適化するカーネルソースコード最適化方法であって、
前記コンピュータが、前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析ステップと、
前記コンピュータが、前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し、起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、該生成した最適化コードを前記最適化コード記憶部に格納する再配置ステップとを含むことを特徴とする。
前記区画化分析ステップでは、前記カーネルソースコード記憶部から入力したカーネルソースコードを関数呼び出し単位で区画化することにより、区画化コードを生成することを特徴とする。
前記コンピュータが、前記複数のデバイスそれぞれのデバイス起動待ち時間を測定し、測定したデバイス起動待ち時間を前記起動待ち時間記憶部に格納する情報採取ステップを含むことを特徴とする。
複数のデバイスと、
該複数のデバイス毎のデバイスドライバと、
カーネルソースコードが格納されたカーネルソースコード記憶部と、
前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、
区画化コード記憶部と、
最適化コード記憶部と、
前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析手段と、
前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し、起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、生成した最適化コードを前記最適化コード記憶部に格納する再配置手段とを備えたことを特徴とする。
前記区画化分析手段が、前記カーネルソースコード記憶部から入力したカーネルソースコードを関数呼び出し単位で区画化することにより、区画化コードを生成することを特徴とする。
前記複数のデバイスそれぞれのデバイス起動待ち時間を測定し、測定したデバイス起動待ち時間を前記起動待ち時間記憶部に格納する情報採取手段を備えたことを特徴とする。
複数のデバイスと、該複数のデバイス毎のデバイスドライバと、カーネルソースコードが格納されたカーネルソースコード記憶部と、前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、区画化コード記憶部と、最適化コード記憶部とを備えたコンピュータを、
前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析手段、
前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し、起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、生成した最適化コードを前記最適化コード記憶部に格納する再配置手段として機能させる。
カーネル起動処理において、コンピュータは、先ず、複数のデバイスをデバイス起動待ち時間が長いものから順に起動し、その後、起動が完了したデバイスに対応するデバイスドライバから順に初期化する。
本実施の形態は、カーネル初期化処理が高速化されるように、カーネルソースコードを最適化するものである。図1を参照すると、本実施の形態を適用したコンピュータ1は、カーネル10と、区画化分析手段20と、再配置手段30と、記憶装置40と、複数のデバイス50とを備えている。
・第2フェーズ(フェーズ2)…ドライバ構造体作成処理などのデバイスドライバ初期化処理を行うフェーズである。
・第3フェーズ(フェーズ3)…デバイス起動処理、デバイスドライバ初期化処理以外の初期化処理を行うフェーズである。
次に、本実施の形態の動作について詳細に説明する。
次に、図11を参照して、最適化コード400を利用したカーネル起動処理100について説明する。なお、カーネル起動処理100は、CPU(図示せず)が、最適化コード400をコンパイルしたオブジェクトコードを実行することにより行われるものであり、上記オブジェクトコードは、オブジェクトコード記憶部47に格納されている。
本実施の形態によれば、カーネル起動処理においてCPUが何も実行しない無駄な時間を極力少なくすることができ、その結果、カーネル起動処理に要する時間を短縮化することが可能になる。その理由は、コンピュータ1がカーネル起動処理100を行う際、先ず、複数のデバイスをデバイス起動待ち時間が長いものから順に起動し、その後、起動が完了したデバイスに対応するデバイスドライバから順に初期化するようにしているからである。
次に、本発明の第2の実施の形態について説明する。図15は本実施の形態にかかるカーネル起動方法を説明するための図であり、本実施の形態のカーネル起動処理100においては、第1フェーズ201、デバイスに非依存な初期化処理202、第1フェーズ完了判定処理203a、第2フェーズ204、デバイスに依存する初期化処理206が順次実行される。
本実施の形態によれば、カーネル起動処理においてCPUが何も実行しない無駄な時間を極めて少なくすることができ、その結果、カーネル起動処理に要する時間を短縮化することが可能になる。その理由は、各デバイス50をデバイス起動待ち時間が長いものから順に起動する第1フェーズ201の次に、デバイスに非依存な初期化処理202を行うようにしているからである。
本実施の形態は、カーネル起動処理において初期化の必要性が無いデバイスに関しては、カーネル起動処理の完了後に初期化を実施することにより、カーネル起動処理に要する時間を短縮化したことを特徴とする。
本実施の形態によれば、カーネル起動完了直後に使用しないデバイス、デバイスドライバに対する起動処理102−5、初期化処理102−6は、カーネル起動処理100の完了後に行うようにしているので、カーネル起動処理100に要する時間を短くすることができる。
本実施の形態は、CPUを複数有するコンピュータにおいて、各CPUが処理を並行して行うことにより、カーネル起動処理に要する時間を短縮化させることを特徴とする。
本実施の形態によれば、複数のCPUが並行してカーネル起動処理100を行うので、カーネル起動処理100に要する時間を短縮化することができる。
次に、本発明の第5の実施の形態について説明する。本実施の形態は、コンピュータが、ブートローダの実行時に、デバイスに対するデバイス起動処理を行うことにより、カーネル起動処理に要する時間を短縮化したことを特徴とする。
本実施の形態によれば、コンピュータがブートローダの実行時に、デバイスに対するデバイス起動処理102−1〜102−3を行うようにしているので、カーネル起動処理100に要する時間を短くすることができる。
10…カーネル
11…情報採取モジュール
12…デバイスドライバ
20…区画化分析手段
21…区画化手段
22…分析手段
30…再配置手段
40…記憶装置
41…カーネルソースコード記憶部
42…区画化コード記憶部
43…起動待ち時間記憶部
44…分類情報記憶部
45…分析結果記憶部
46…最適化コード記憶部
47…オブジェクトコード記憶部
Claims (7)
- 複数のデバイスと、該複数のデバイス毎のデバイスドライバと、カーネルソースコードが格納されたカーネルソースコード記憶部と、前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、区画化コード記憶部と、最適化コード記憶部とを備えたコンピュータによって前記カーネルソースコードを最適化するカーネルソースコード最適化方法であって、
前記コンピュータが、前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析ステップと、
前記コンピュータが、前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、該生成した最適化コードを前記最適化コード記憶部に格納する再配置ステップとを含むことを特徴とするカーネルソースコード最適化方法。 - 請求項1記載のカーネルソースコード最適化方法において、
前記区画化分析ステップでは、前記カーネルソースコード記憶部から入力したカーネルソースコードを関数呼び出し単位で区画化することにより、区画化コードを生成することを特徴とするカーネルソースコード最適化方法。 - 請求項1または2記載のカーネルソースコード最適化方法において、
前記コンピュータが、前記複数のデバイスそれぞれのデバイス起動待ち時間を測定し、測定したデバイス起動待ち時間を前記起動待ち時間記憶部に格納する情報採取ステップを含むことを特徴とするカーネルソースコード最適化方法。 - 複数のデバイスと、
該複数のデバイス毎のデバイスドライバと、
カーネルソースコードが格納されたカーネルソースコード記憶部と、
前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、
区画化コード記憶部と、
最適化コード記憶部と、
前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析手段と、
前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し、起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、生成した最適化コードを前記最適化コード記憶部に格納する再配置手段とを備えたことを特徴とするカーネルソースコード最適化装置。 - 請求項4記載のカーネルソースコード最適化装置において、
前記区画化分析手段が、前記カーネルソースコード記憶部から入力したカーネルソースコードを関数呼び出し単位で区画化することにより、区画化コードを生成することを特徴とするカーネルソースコード最適化装置。 - 請求項4または5記載のカーネルソースコード最適化装置において、
前記複数のデバイスそれぞれのデバイス起動待ち時間を測定し、測定したデバイス起動待ち時間を前記起動待ち時間記憶部に格納する情報採取手段を備えたことを特徴とするカーネルソースコード最適化装置。 - 複数のデバイスと、該複数のデバイス毎のデバイスドライバと、カーネルソースコードが格納されたカーネルソースコード記憶部と、前記複数のデバイス毎のデバイス起動待ち時間が格納された起動待ち時間記憶部と、区画化コード記憶部と、最適化コード記憶部とを備えたコンピュータを、
前記カーネルソースコード記憶部から前記カーネルソースコードを入力し、該入力したカーネルソースコードを、デバイスに対する起動処理を行うデバイス毎の区画化コードと、デバイスドライバに対する初期化処理を行うデバイスドライバ毎の区画化コードと、他の処理を行う区画化コードとに区画化して前記区画化コード記憶部に格納する区画化分析手段、
前記区画化コード記憶部から各区画化コードを入力し、該入力した区画化コードの内のデバイスに対する起動処理を行う区画化コードをデバイス起動待ち時間が長い順に配置し、その後ろに、前記複数のデバイス毎に起動が完了したか否かを判定し、起動が完了したと判定したデバイスに対応するデバイスドライバの初期化処理を開始させるコードを配置し、その後ろに、前記入力した区画化コードの内のデバイスドライバに対する初期化を行う区画化コードを配置した最適化コードを生成し、生成した最適化コードを前記最適化コード記憶部に格納する再配置手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011243400A JP5195997B2 (ja) | 2011-11-07 | 2011-11-07 | カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011243400A JP5195997B2 (ja) | 2011-11-07 | 2011-11-07 | カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007061279A Division JP5029076B2 (ja) | 2007-03-12 | 2007-03-12 | カーネル起動方法、カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012038341A JP2012038341A (ja) | 2012-02-23 |
JP5195997B2 true JP5195997B2 (ja) | 2013-05-15 |
Family
ID=45850194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011243400A Expired - Fee Related JP5195997B2 (ja) | 2011-11-07 | 2011-11-07 | カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5195997B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08159078A (ja) * | 1994-12-05 | 1996-06-18 | Bridgestone Corp | 少水量停止機能付回転数制御給水システム |
JPH11328823A (ja) * | 1998-05-15 | 1999-11-30 | Nec Eng Ltd | ディスクアレイ装置及びその起動方法並びにその制御プログラムを記録した記録媒体 |
JP4132623B2 (ja) * | 2000-09-29 | 2008-08-13 | 株式会社リコー | 電源投入後に立上制御を行う装置及びその立上制御方法並びにその立上制御プログラムを書き込んだ記憶媒体 |
JP2006093950A (ja) * | 2004-09-22 | 2006-04-06 | Canon Inc | システムの起動制御方法 |
-
2011
- 2011-11-07 JP JP2011243400A patent/JP5195997B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012038341A (ja) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338956B2 (en) | Application profiling job management system, program, and method | |
US9417935B2 (en) | Many-core process scheduling to maximize cache usage | |
US8046692B2 (en) | User interface mapping modules to deployment targets | |
US8271707B2 (en) | Method and system for PCI hybrid function | |
US20130231912A1 (en) | Method, system, and scheduler for simulating multiple processors in parallel | |
WO2013165459A1 (en) | Control flow graph operating system configuration | |
WO2014014532A1 (en) | Pattern matching process scheduler with upstream optimization | |
WO2014014487A1 (en) | Pattern extraction from executable code in message passing environments | |
JP2017117450A (ja) | 様々なケーパビリティを有するコアに関するスレッド及び/又は仮想マシンのスケジューリング | |
CN106445576A (zh) | 主机板及其计算机实现方法及非暂态计算机可读储存装置 | |
JP2007328782A (ja) | カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム | |
EP2847669A1 (en) | Hybrid operating system | |
US9990216B2 (en) | Providing hypercall interface for virtual machines | |
RU2010149889A (ru) | Конфигурируемое разделение для параллельных данных | |
US20190303172A1 (en) | Information processing apparatus, device assignment method, and computer readable medium | |
US20130036249A1 (en) | Preemptive guest merging for virtualization hypervisors | |
CN112965895A (zh) | 桌面应用程序自动化测试方法、装置、设备及存储介质 | |
Mao et al. | GreenPipe: a Hadoop based workflow system on energy-efficient clouds | |
JP5029076B2 (ja) | カーネル起動方法、カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム | |
JP5195997B2 (ja) | カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム | |
JP2009245409A (ja) | リソース自動構築システム及び自動構築方法並びにそのための管理用端末 | |
US9262184B2 (en) | Virtual computer system and I/O implementing method in virtual computer | |
CN115840617A (zh) | 一种调试方法、系统及相关装置 | |
JP5382624B2 (ja) | マルチプロセッサ制御装置、その方法及びそのプログラム | |
CN103870313A (zh) | 一种虚拟机任务调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20120711 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5195997 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |