JP2016143108A - 情報処理装置およびメモリー管理プログラム - Google Patents

情報処理装置およびメモリー管理プログラム Download PDF

Info

Publication number
JP2016143108A
JP2016143108A JP2015016333A JP2015016333A JP2016143108A JP 2016143108 A JP2016143108 A JP 2016143108A JP 2015016333 A JP2015016333 A JP 2015016333A JP 2015016333 A JP2015016333 A JP 2015016333A JP 2016143108 A JP2016143108 A JP 2016143108A
Authority
JP
Japan
Prior art keywords
program
resident
memory
work area
securing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015016333A
Other languages
English (en)
Other versions
JP6354609B2 (ja
Inventor
知樹 親里
Tomoki Oyasato
知樹 親里
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2015016333A priority Critical patent/JP6354609B2/ja
Publication of JP2016143108A publication Critical patent/JP2016143108A/ja
Application granted granted Critical
Publication of JP6354609B2 publication Critical patent/JP6354609B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Memory System (AREA)

Abstract

【課題】適切にメモリを確保するためのオーバーヘッドを軽減する情報処理装置の提供。
【解決手段】プログラムの作業領域として用いられるメモリと、第1のモード時、メモリに常駐する常駐プログラムを検出し、当該常駐プログラムの識別情報を常駐プログラム情報としてメモリに記憶させ、第2のモード時、かつ作業領域の確保方法を切り替える必要がある時、作業領域の確保を要求した要求元プログラムが常駐プログラムであるか否かを、当該要求元プログラムの識別情報と常駐プログラム情報とを比較して判断し、常駐プログラムであると判断された要求元プログラムの作業領域の確保を、メモリの最高位アドレスおよび最低位アドレスのうち、いずれか一方を開始点として開始し、常駐プログラム以外であると判断された要求元プログラムの作業領域の確保を、メモリの最高位アドレスおよび最低位アドレスのうち、開始点と反対側を開始点として開始する制御部とを備える。
【選択図】図5

Description

本発明は、メモリー上へデータを配置する情報処理装置および当該情報処理装置で稼働するメモリー管理プログラムに関する。
従来より、効率的なメモリーの管理方法が求められてきた。例えば、空きメモリーの断片化を最小限に抑えるために、特許文献1に開示されたデータベース演算処理装置では、メモリーに格納するデータを、実際の処理データとその処理のために必要なパラメーターの2種類に分類している。
そして、これらのデータがメモリー上で混在しないように、一方を高位アドレスから配置し、もう一方を低位アドレスから配置するようにしている。こうすることにより、メモリー上での特性(確保されている期間など)が異なるデータ用のメモリー領域を分けることによりメモリーの断片化を低減させている。
また、例えば、特許文献2において開示されている技術では、決められたサイズより小さいメモリーの確保要求に対しては、メモリー空間を低アドレスから高アドレス方向に空き領域をサーチして、使用するメモリーを確保し、決められたサイズのり大きいメモリーの確保要求に対しては、メモリー空間を高アドレスから低アドレス方向に空き領域をサーチして、使用するメモリーを確保する。このことにより、メモリーのフラグメンテーションを抑制している。
特許文献3および特許文献4において開示されている技術も、要求されたメモリーのサイズにより、空き領域のサーチ方向を変更する点で、同様である。
特開平5−324431号公報 特開2000−047933号公報 特開2005−157714号公報 特開2005−316839号公報
しかし、特許文献1において開示されたデータベース演算処理装置は、データベース内の、実際の処理データおよび処理に必要なパラメーターという限定されたデータに対して、ソートなど限定された処理を行うものであり、汎用性が無かった。
また、メモリーを使用する一般的な情報処理装置において汎用性を持たせてメモリーの断片化を低減させるという効果を得る為には、メモリーを使用するプログラムのソースコードを改変する手間がかかってしまうという問題があった。逆に言うならば、改変するソースコードを入手できなければ、特許文献1の技術に汎用性を持たせることは出来なかった。
また、上記特許文献の技術はいずれも、要求されたメモリーの確保を行う前に、空き領域のサーチ方向を判断する処理が必要であり、その処理がメモリー確保のためのオーバーヘッドとなっていた。
以上のような事情に鑑み、本発明の目的は、メモリーフラグメンテーションを抑えて適切にメモリーを確保するためのオーバーヘッドを軽減できる情報処理装置および当該情報処理装置で稼働するメモリー管理プログラムを提供することにある。
上記目的を達成するため、本発明の一形態に係る情報処理装置は、プログラムの作業領域として用いられるメモリーと、第1のモードと第2のモードとの切り替えが可能であり、前記第1のモード時、前記メモリーに常駐する常駐プログラムを検出し、当該常駐プログラムの識別情報を常駐プログラム情報として前記メモリーに記憶させ、前記第2のモード時、かつ前記作業領域の確保方法を切り替える必要がある時、前記作業領域の確保を要求した要求元プログラムが前記常駐プログラムであるか否かを、当該要求元プログラムの識別情報と前記常駐プログラム情報とを比較して判断し、前記常駐プログラムであると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、いずれか一方を開始点として開始し、前記常駐プログラム以外であると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、前記開始点と反対側を開始点として開始する制御部とを備える。そのため、メモリーフラグメンテーションを抑えて適切にメモリーを確保するためのオーバーヘッドを軽減できる。
上記目的を達成するため、本発明の一形態に係る情報処理装置では、当該情報処理装置が起動してからの経過時間を計測する計時部をさらに備え、前記制御部は、前記作業領域の確保方法を切り替える必要があるか否かを、前記経過時間に基づいて判断する構成でもよい。
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記メモリーは、前記要求元プログラムが前記常駐プログラムである場合をカウントする常駐カウンターと、前記要求元プログラムが前記常駐プログラム以外である場合をカウントする非常駐カウンターとを記憶し、前記制御部は、前記要求元プログラムが前記常駐プログラムである場合、前記常駐カウンターをインクリメントし、前記非常駐カウンターをクリアし、前記要求元プログラムが前記常駐プログラム以外である場合、前記常駐カウンターをクリアし、前記非常駐カウンターをインクリメントし、前記作業領域の確保方法を切り替える必要があるか否かを、前記非常駐カウンターまたは前記非常駐カウンターの値が特定の値を超えたか否かに基づいて判断する構成でもよい。
上記目的を達成するため、本発明の一形態に係るメモリー管理プログラムは、第1のモード時、プログラムの作業領域として用いられるメモリーに常駐する常駐プログラムを検出し、当該常駐プログラムの識別情報を常駐プログラム情報として前記メモリーに記憶させ、第2のモード時、かつ前記作業領域の確保方法を切り替える必要がある時、前記作業領域の確保を要求した要求元プログラムが前記常駐プログラムであるか否かを、当該要求元プログラムの識別情報と前記常駐プログラム情報とを比較して判断し、前記常駐プログラムであると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、いずれか一方を開始点として開始し、前記常駐プログラム以外であると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、前記開始点と反対側を開始点として開始する手順をコンピューターに実行させる。
以上のように、本発明によれば、メモリーフラグメンテーションを抑えて適切にメモリーを確保するためのオーバーヘッドを軽減できる。
情報処理装置10として、一般的なコンピューターを用いた場合の構成図である。 作業領域が、常駐プログラムのもの(R1、R2、R3)と非常駐プログラムのもの(N1、N2)とで、大きく高位アドレス側と低位アドレス側とに分けられてRAM13上に配置された状態を示す図である。 図2の状態から、さらに常駐プログラム用の作業領域R4を確保した状態を示す図である。 常駐プログラム検出モードにおける処理の流れを説明するためのフローチャートである。 通常モードにおける処理の概略を説明するためのフローチャートである。 通常モードにおける処理の具体例を説明するためのフローチャートである。 情報処理装置10'の構成図である。 通常モードにおける処理の具体例を説明するためのフローチャートである。
以下、図面を参照しながら、本発明の実施形態を説明する。
<第1の実施形態>
[概要]
まず、本実施形態の概要について説明する。本実施形態では、情報処理装置として、主に一般的なコンピューター、特にPC(Personal Computer)を想定している。しかし、これに限らず、例えば画像形成装置(MFP、Multifunction Peripheral)などに組み込まれる制御部であってもよい。
本実施形態にかかる情報処理装置は、情報処理装置上で実行されるプログラムを常駐プログラムと非常駐プログラムの2種類に分類し、それぞれの種類ごとに、プログラムが要求する作業領域をメモリー上に確保する場所を分けることにより、メモリーの断片化を低減させる。なお、本明細書で「メモリーを確保する」という場合は、「メモリー上に作業領域を確保する」ことを指す。
そして、さらに、プログラムの種類ごとに、プログラムが要求する作業領域をメモリー上に確保する場所を分ける処理が過度のオーバーヘッドとならないように、必要な場合のみ、メモリー上に確保する場所を分ける処理を行うものである。
常駐プログラムではメモリー上に確保された作業領域が情報処理装置の起動から終了までの長期間に亘り使用されるのに対し、非常駐プログラムでは、ユーザーによりそのプログラムが明示的に起動されてから終了されるまでの短時間のみメモリー上に確保された作業領域が使用される。
すなわち、常駐プログラムと非常駐プログラムでは、メモリー上に確保される作業領域が長時間使用されるか、短時間使用されるかの違いがある。本実施形態では、この違いに着目し、常駐プログラムと非常駐プログラムとで、作業領域をメモリー上の異なる領域に確保することで、長時間使用される作業領域の間に短時間で解放される作業領域が挟まれることによる断片化を低減するようにしている。
そして、さらに、必要な場合のみ、断片化を低減する処理を行うことにより、メモリー確保の際の全般的なオーバーヘッドを低減させている。
なお、本実施形態では、非常駐プログラムは、ユーザーの指示などによりプログラムが終了する際、メモリー上に確保し使用していた作業領域を開放することを前提としている。
本実施形態の情報処理装置では、まず常駐プログラム検出モード(第1のモード)において常駐プログラムを検出し、常駐プログラムのリスト(常駐プログラム情報)を作成する。そして、常駐プログラム検出モードを終了後、情報処理装置を通常モード(第2のモード)に変更する。
通常モードでは、プログラムの種類によりメモリー上に確保する作業領域を分ける必要がある場合に、情報処理装置は作成されたリストに従い、常駐プログラムがメモリー上に確保する作業領域と、非常駐プログラムがメモリー上に確保する作業領域を分けることにより、メモリー上の作業領域の断片化を低減させながら、メモリーを確保する際のオーバーヘッドを低減させる。
なお、常駐プログラム検出モードから通常モードへの移行は、ユーザーからの明示的な指示により情報処理装置のモード設定を変更後、情報処理装置を再起動することにより行われてもよい。
以上、本実施形態の概要について説明した。
[常駐プログラムについて]
ここでは常駐プログラムについて説明する。
常駐プログラムとは、情報処理装置が稼働している間、常に実行されているプログラムのことであり、ユーザーが明示的に指示を与えて起動させなくても自動的に起動されるものである。
例えば、OS(Operating System)としてウィンドウズ(登録商標)が稼働するPCであれば、表示画面のGUI(Graphical User Interface)の一部として表示されるタスクトレイに一部の常駐プログラムのアイコンが表示される。
常駐プログラムの例としては、アンチウイルスソフトウェアやネットワーク経由でメッセージを遣り取りするためのメッセンジャーなどが挙げられる。
以上、常駐プログラムについて説明した。
[常駐プログラムの検出方法について]
ここでは、本実施形態の情報処理装置が行う、常駐プログラムの検出方法について幾つかの具体例を説明する。
(方法1)
CPU負荷の変動率から判断する。情報処理装置を起動し、ユーザーから明示的にプログラムを起動する指示は与えず、放置する。そして、一定期間、プログラムが実行されるCPUの負荷の変動率を監視し、その期間における変動率が特定の値以下に保たれたとき、情報処理装置の稼働状態が安定したと判断する。そして、その時点で稼働しているプログラムが常駐プログラムであると判定する。
(方法2)
CPU負荷から判断する。情報処理装置を起動し、ユーザーから明示的にプログラムを起動する指示は与えず、放置する。そして、一定期間、プログラムが実行されるCPUの負荷を監視し、その期間における負荷が特定の値以下に保たれたとき、情報処理装置の稼働状態が安定したと判断する。そして、その時点で稼働しているプログラムが常駐プログラムであると判定する。
(方法3)
情報処理装置のOSの設定から判断する。情報処理装置の起動時に自動的に起動されるように設定されたプログラムの一覧を、OSの自動起動設定ファイルから取得する。
以上、本実施形態の情報処理装置が行う、常駐プログラムの検出方法について幾つかの具体例を説明した。
[情報処理装置10の構成]
次に、情報処理装置10の構成について説明する。図1は、情報処理装置10として、一般的なコンピューターを用いた場合の構成図である。
図1に示すように、情報処理装置10は、CPU(Central Processing Unit)11(制御部)、ROM(Read Only Memory)12、RAM(Random Access Memory)13(メモリー)、操作入力部14、ネットワークインターフェイス部15、表示部16、記憶部17、および計時部19を有し、これら各ブロックがバス18を介して接続されている。なお、特に断らない限り、本実施形態の説明でメモリーという場合、RAM13のことを指している。
ROM12は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを固定的に記憶する。RAM13は、CPU11の作業用領域として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
記憶部17は、例えばHDD(Hard Disk Drive)や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部17には、OSや各種アプリケーション、各種データに加え、後述する常駐プログラム情報17aが記憶される。
ネットワークインターフェイス部15は、他のシステムと情報のやりとりを行う為のネットワークと結ばれており、他のシステムと情報の遣り取りをしたりする。
CPU11は、ROM12や記憶部17に記憶された複数のプログラムのうち、操作入力部14から与えられる命令に対応するプログラムをRAM13に展開し、この展開されたプログラムにしたがって、表示部16及び記憶部17を適宜制御する。
また、CPU11は、情報処理装置10が常駐プログラム検出モードにあるとき、常駐プログラムを検出し、検出結果を常駐プログラムの識別子の一覧として、記憶部17へ常駐プログラム情報として格納する。なお、ここでいう識別子とは、プログラム名やプログラムIDなどのことである。
操作入力部14は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
表示部16は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ、プラズマディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等である。表示部16は、情報処理装置10に内蔵されていてもよいし、外部接続されていてもよい。
計時部19は、情報処理装置10が起動されてからの経過時間を計測する。なお、計時部19は、特定のハードウェアとして実現されてもよいし、一般的なコンピューターにハードウェアとして通常備えられているタイマーと、起動時からの経過時間をカウントするプログラムとを用いて実現されてもよい。
以上、情報処理装置10の構成について説明した。
[RAM13上での作業領域を分ける方法について]
ここでは、プログラムからの作業領域確保要求に応じてRAM13上に確保される作業領域を、常駐プログラムと非常駐プログラムとで分ける方法について簡単に説明する。
なお、本実施形態でいう作業領域とは、プログラムを実行するために必要な命令コードや処理に必要なデータなどが置かれる領域のことである。
本発明では、どのような方法によりRAM13上の作業領域を分けてもよいが、本実施形態では特許文献1において開示された技術を応用して作業領域を分ける方法について説明する。
まず、図2において、作業領域が、常駐プログラムのもの(R1、R2、R3)と非常駐プログラムのもの(N1、N2)とで、大きく高位アドレス側と低位アドレス側とに分けられてRAM13上に配置された状態を示す。
図2では、RAM13のメモリーアドレスの最も高位のアドレス(一方の開始点)から常駐プログラムの作業領域R1、R2、およびR3が配置され、メモリーアドレスの最も低位のアドレス(反対側の開始点)から非常駐プログラムの作業領域N1およびN2が配置されている。
そして、作業領域として確保されていない空き領域F1、F2、F3、F4、およびF5があり、それらの位置は、高位アドレスから順に空き領域の位置を表す空き領域鎖RC1およびRC2と、低位アドレスから順に空き領域の位置を表す空き領域鎖NC1およびNC2により表されている。
空き領域F3は、高位アドレスから確保された作業領域と低位アドレスから確保された作業領域の中間に位置しており、空き領域鎖RC2およびNC2の両方から指し示された位置にある。
次に、図2の状態から、さらに常駐プログラム用の作業領域R4を確保した状態を図3に示す。
図3では、図2に示した空き領域F3の高位アドレス側に、常駐プログラム用の作業領域R4が確保されている。そして、空き領域F3を指し示す空き領域鎖RC2およびNC2に代わり、空き領域鎖RC2'およびNC2'が、新しい空き領域であるF3'を指し示す状態になっている。
なお、上述したように、RAM13を2種類に分けて使用する場合は、RAM13のアドレスの両側(最高位アドレスと最低位アドレス)から作業領域を確保していくと、RAM13内を効率的に利用することが出来る。
しかし、これに限らず、RAM13を3種類以上に分けて使用することも可能である。3種類以上に分ける場合とは、例えば、作業領域が使用される期間を、常駐プログラム用と非常駐プログラム用の2種類に分ける代わりに、期間の長さに応じて3種類以上に分けるような場合である。
以上、プログラムからの作業領域確保要求に応じてRAM13上に確保される作業領域を、常駐プログラムと非常駐プログラムとで分ける方法について簡単に説明した。
[処理の流れについて]
ここでは、本実施形態にかかる情報処理装置10における処理の流れについて説明する。説明は、常駐プログラム検出モードと通常モードに分けて行う。
最初に、常駐プログラム検出モードにおける処理の流れを説明する。図4は、常駐プログラム検出モードにおける処理の流れを説明するためのフローチャートである。
まず、情報処理装置10が常駐プログラム検出モードにて起動される(ステップS10)。起動は、ユーザーによる指示により行われてもよいし、タイマーなどにより自動的に行われてもよい。
次に、CPU11が、情報処理装置10が安定した状態になった後、常駐プログラムの検出を行う。そして、検出した全ての常駐プログラムの識別情報を常駐プログラム情報17aとして取得する(ステップS11)。なお、常駐プログラムの検出方法は、上述したとおりである。
最後に、CPU11が、前ステップで取得した常駐プログラム情報17aを記憶部17に保存する(ステップS12)。
以上が常駐プログラム検出モードにおける処理の流れである。
次に、通常モードにおける処理の流れを説明する。なお、以下の説明では、本発明のポイントとなる部分について概略を説明した後、概略に沿った具体例を説明する。図5は、通常モードにおける処理の概略を説明するためのフローチャートである。
まず、CPU11が、プログラムの種類を区別してメモリーを確保する方法を変える必要があるか否かを判断する(ステップS20)。
メモリーを確保する方法を変える必要がある場合(ステップS20のY)、CPU11は、プログラムの種類、すなわち、常駐プログラムか非常駐プログラムかにより、メモリー確保の方法、すなわち、空きメモリーを低位アドレスのほうから確保するか高位アドレスのほうからを切り替える(ステップS21)。
メモリーを確保する方法を変える必要がない場合(ステップS20のN)、CPU11は、プログラムの種類を判断したり、判断結果によりメモリー確保の方法を切り替えたりせず、特定のメモリー確保の方法、例えば低位アドレスのほうから空きメモリーを確保する方法を用いて一律にメモリーを確保する(ステップS22)。
以上、本発明のポイントとなる部分について概略を説明した。
次に、概略に沿った具体例を説明する。図6は、通常モードにおける処理の具体例を説明するためのフローチャートである。
まず、あるプログラムからメモリーを確保する要求が出されたものと仮定する。
次に、CPU11が、計時部19を参照し、情報処理装置10が起動してから特定の時間が経過したか否かを判断する(ステップS30)。なお、ステップS30が概略で述べたステップS20に相当する部分である。
特定の時間がまだ経過していない場合(ステップS30のN)、CPU11は、次に、記憶部17から常駐プログラム情報17aを取得する(ステップS31)。
次に、CPU11が、作業領域を要求した要求元のプログラムは常駐プログラムであるか否かを、取得した常駐プログラム情報17aと要求元のプログラムの識別情報とを比較することにより判断する(ステップS32)。
要求元プログラムが常駐プログラムである場合(ステップS32のY)、CPU11は、メモリー空間の最高位アドレスから空き領域鎖RC1、RC2を辿って、空き領域(空きメモリー)をサーチする(ステップS33)。
要求元プログラムが常駐プログラムではない場合(ステップS32のN)、CPU11は、メモリー空間の最低位アドレスから空き領域鎖NC1、NC2を辿って、空き領域(空きメモリー)をサーチする(ステップS34)。
最後に、CPU11は、サーチ結果として得られた空き領域に、必要なサイズの作業領域を確保する(ステップS35)。
なお、ステップS30において、特定の時間が経過したと判断された場合(ステップS30のY)、CPU11は、例えば、メモリー空間の最低位アドレスから空き領域鎖NC1、NC2を辿って、空き領域(空きメモリー)をサーチし(ステップS36)、サーチ結果として得られた空き領域に、必要なサイズの作業領域を確保する(ステップS35)。
以上が通常モードにおける処理の流れである。
なお、上記で説明した特定の時間とは、情報処理装置10の起動時に実行される常駐プログラムが全て起動し終わったことが推定される時間とすることが好ましい。
例えば、情報処理装置10が、画像形成装置の制御部である場合、画像形成装置の起動が完了し、ユーザーが画像形成装置を使える状態になると、画像形成装置の表示パネルに、画像形成装置がレディ状態になったことを示すメッセージが表示される。
そこで、特定の時間が経過したことにより、情報処理装置10の起動完了を判断する代わりに、レディ状態になったことを示すメッセージを表示パネル上に表示するプログラムが実行されたことに基づいて、メモリーを確保する方法を変える必要がないと判断してもよい。
なお、上記の説明では、特定の時間が経過すると、常駐プログラムの起動が完了するとして、特定の時間が経過した以降にメモリーを要求するプログラムは非常駐プログラムであろうということを前提にしている。
また、上記の説明では、メモリーを確保する方法を変える必要がないと判断した場合、最低位のメモリーアドレスから空きメモリーをサーチすることにしているが、逆に、最高位のメモリーアドレスからサーチしてもよい。
ここでのポイントは、メモリーフラグメンテーションを抑制することであり、同じ種類のプログラム(ここでは非常駐プログラム)がメモリーを連続的に確保できさえすれば、そのメモリーが最低位のメモリーアドレスのほうから確保されるか、最高位のメモリーアドレスのほうから確保されるかは問題ではない。
以上、本実施形態にかかる情報処理装置10における処理の流れについて説明した。
以上、第1の実施形態について説明した。
<第2の実施形態>
次に、第2の実施形態について説明する。第1の実施形態との相違は、第1の実施形態では、メモリーを確保する方法を変える必要があるか否かを判断するために、情報処理装置10の起動時からの経過時間を用いたのに対し、第2の実施形態では、メモリーを要求したプログラムが常駐プログラムか非常駐プログラムかをカウントするカウンターを用いる点である。
[情報処理装置10'の構成]
まず、情報処理装置10'の構成について説明する。図7は、情報処理装置10'の構成図である。なお、ここでは、第1の実施形態の情報処理装置10と異なる部分のみ説明する。
情報処理装置10'は、CPU11(制御部)、ROM12、RAM13(メモリー)、操作入力部14、ネットワークインターフェイス部15、表示部16、および記憶部17'を有し、これら各ブロックがバス18を介して接続されている。
記憶部17'には、常駐プログラム情報17aに加えて、後述する常駐カウンター17bおよび非常駐カウンター17cが記憶されている。
以上、情報処理装置10'の構成について説明した。
[処理の流れについて]
次に、情報処理装置10'における処理の流れについて説明する。なお、情報そり装置10'も、情報処理装置10と同様に、常駐プログラム検出モードと通常モードを持つが、常駐プログラム検出モードにおける処理の流れと、通常モードにおける処理の流れの概略は同様なので、説明を省略し、通常モードにおける具体例のみ説明する。
図8は、通常モードにおける処理の具体例を説明するためのフローチャートである。
なお、フローチャートには図示していないが、常駐カウンター17bおよび非常駐カウンター17cは、情報処理装置10'が通常モードで起動した際に、クリアされている者とする。
まず、あるプログラムからメモリーを確保する要求が出されたものと仮定する。
次に、CPU11は、常駐カウンター17bまたは非常駐カウンター17cの値が特定の値を超えたか否かを判断する(ステップS40)。なお、ステップS40が概略で述べたステップS20に相当する部分である。
いずれのカウンターも特定の値を超えていない場合(ステップS40のN)、CPU11は、次に、記憶部17から常駐プログラム情報17aを取得する(ステップS41)。
次に、CPU11が、作業領域を要求した要求元のプログラムは常駐プログラムであるか否かを、取得した常駐プログラム情報17aと要求元のプログラムの識別情報とを比較することにより判断する(ステップS42)。
要求元プログラムが常駐プログラムである場合(ステップS42のY)、CPU11は、メモリー空間の最高位アドレスから空き領域鎖RC1、RC2を辿って、空き領域(空きメモリー)をサーチする(ステップS43)。
次に、CPU11は、常駐カウンター17bをインクリメントする(ステップS44)。
次に、CPU11は、非常駐カウンター17cをクリアする(ステップS45)。
ステップS42において要求元プログラムが常駐プログラムではない場合(ステップS42のN)、CPU11は、メモリー空間の最低位アドレスから空き領域鎖NC1、NC2を辿って、空き領域(空きメモリー)をサーチする(ステップS46)。
次に、CPU11は、非常駐カウンター17cをインクリメントする(ステップS47)。
次に、CPU11は、常駐カウンター17bをクリアする(ステップS48)。
最後に、CPU11は、サーチ結果として得られた空き領域に、必要なサイズの作業領域を確保する(ステップS49)。
なお、ステップS40において、いずれかのカウンターの値が特定の値を超えた場合(ステップS40のY)、CPU11は、例えば、メモリー空間の最低位アドレスから空き領域鎖NC1、NC2を辿って、空き領域(空きメモリー)をサーチし(ステップS50)、サーチ結果として得られた空き領域に、必要なサイズの作業領域を確保する(ステップS49)。
以上が通常モードにおける処理の流れである。
なお、上記の処理では、作業領域の要求が、常駐プログラムと非常駐プログラムとから交互になされる状況では、メモリーのフラグメンテーションを抑制するために、メモリーの確保方法を切り替える必要があるという前提に立っている。
また、例えば、非常駐カウンターの値が特定の値を超えたことにより、非常駐プログラムによる作業領域の要求がある程度連続してなされていると判断された場合には、常駐プログラムの起動は完了しているとして、次に来る作業領域の要求も非常駐プログラムからのものであると考える。そのため、プログラムの種類によるメモリー確保の方法の切り替えは行わないようにして、メモリー確保時のオーバーヘッドを削減している。
以上、第2の実施形態について説明した。
[補足事項]
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
10、10'… 情報処理装置
11 … CPU
12 … ROM
13 … RAM
14 … 操作入力部
15 … ネットワークインターフェイス部
16 … 表示部
17、17'… 記憶部
17a… 常駐プログラム情報
17b… 常駐カウンター
17c… 非常駐カウンター
18 … バス
19 … 計時部

Claims (4)

  1. プログラムの作業領域として用いられるメモリーと、
    第1のモードと第2のモードとの切り替えが可能であり、
    前記第1のモード時、
    前記メモリーに常駐する常駐プログラムを検出し、
    当該常駐プログラムの識別情報を常駐プログラム情報として前記メモリーに記憶させ、
    前記第2のモード時、かつ前記作業領域の確保方法を切り替える必要がある時、
    前記作業領域の確保を要求した要求元プログラムが前記常駐プログラムであるか否かを、当該要求元プログラムの識別情報と前記常駐プログラム情報とを比較して判断し、
    前記常駐プログラムであると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、いずれか一方を開始点として開始し、
    前記常駐プログラム以外であると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、前記開始点と反対側を開始点として開始する
    制御部と
    を備えた情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    当該情報処理装置が起動してからの経過時間を計測する計時部をさらに備え、
    前記制御部は、
    前記作業領域の確保方法を切り替える必要があるか否かを、前記経過時間に基づいて判断する
    情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記メモリーは、前記要求元プログラムが前記常駐プログラムである場合をカウントする常駐カウンターと、前記要求元プログラムが前記常駐プログラム以外である場合をカウントする非常駐カウンターとを記憶し、
    前記制御部は、
    前記要求元プログラムが前記常駐プログラムである場合、前記常駐カウンターをインクリメントし、前記非常駐カウンターをクリアし、
    前記要求元プログラムが前記常駐プログラム以外である場合、前記常駐カウンターをクリアし、前記非常駐カウンターをインクリメントし、
    前記作業領域の確保方法を切り替える必要があるか否かを、前記非常駐カウンターまたは前記非常駐カウンターの値が特定の値を超えたか否かに基づいて判断する
    情報処理装置。
  4. 第1のモード時、
    プログラムの作業領域として用いられるメモリーに常駐する常駐プログラムを検出し、
    当該常駐プログラムの識別情報を常駐プログラム情報として前記メモリーに記憶させ、
    第2のモード時、かつ前記作業領域の確保方法を切り替える必要がある時、
    前記作業領域の確保を要求した要求元プログラムが前記常駐プログラムであるか否かを、当該要求元プログラムの識別情報と前記常駐プログラム情報とを比較して判断し、
    前記常駐プログラムであると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、いずれか一方を開始点として開始し、
    前記常駐プログラム以外であると判断された前記要求元プログラムの前記作業領域の確保を、前記メモリーの最高位アドレスおよび最低位アドレスのうち、前記開始点と反対側を開始点として開始する
    手順をコンピューターに実行させるメモリー管理プログラム。
JP2015016333A 2015-01-30 2015-01-30 情報処理装置およびメモリー管理プログラム Expired - Fee Related JP6354609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015016333A JP6354609B2 (ja) 2015-01-30 2015-01-30 情報処理装置およびメモリー管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015016333A JP6354609B2 (ja) 2015-01-30 2015-01-30 情報処理装置およびメモリー管理プログラム

Publications (2)

Publication Number Publication Date
JP2016143108A true JP2016143108A (ja) 2016-08-08
JP6354609B2 JP6354609B2 (ja) 2018-07-11

Family

ID=56570450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015016333A Expired - Fee Related JP6354609B2 (ja) 2015-01-30 2015-01-30 情報処理装置およびメモリー管理プログラム

Country Status (1)

Country Link
JP (1) JP6354609B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020041713A (ja) * 2018-09-06 2020-03-19 東芝ライフスタイル株式会社 冷蔵庫

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257644A (ja) * 1990-03-08 1991-11-18 Hitachi Ltd 主メモリ管理方法
JPH03273263A (ja) * 1990-03-23 1991-12-04 Ricoh Co Ltd 画像形成装置の制御方式
JPH04105128A (ja) * 1990-08-24 1992-04-07 Nec Corp 常駐化によるコマンド高速起動方式
JPH05324431A (ja) * 1992-05-26 1993-12-07 Toshiba Corp データ処理装置
JP2007328628A (ja) * 2006-06-08 2007-12-20 Toshiba Corp メモリ管理方法、メモリ管理プログラム、及び情報処理装置
JP2015187801A (ja) * 2014-03-27 2015-10-29 京セラドキュメントソリューションズ株式会社 情報処理装置およびメモリー管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257644A (ja) * 1990-03-08 1991-11-18 Hitachi Ltd 主メモリ管理方法
JPH03273263A (ja) * 1990-03-23 1991-12-04 Ricoh Co Ltd 画像形成装置の制御方式
JPH04105128A (ja) * 1990-08-24 1992-04-07 Nec Corp 常駐化によるコマンド高速起動方式
JPH05324431A (ja) * 1992-05-26 1993-12-07 Toshiba Corp データ処理装置
JP2007328628A (ja) * 2006-06-08 2007-12-20 Toshiba Corp メモリ管理方法、メモリ管理プログラム、及び情報処理装置
JP2015187801A (ja) * 2014-03-27 2015-10-29 京セラドキュメントソリューションズ株式会社 情報処理装置およびメモリー管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020041713A (ja) * 2018-09-06 2020-03-19 東芝ライフスタイル株式会社 冷蔵庫

Also Published As

Publication number Publication date
JP6354609B2 (ja) 2018-07-11

Similar Documents

Publication Publication Date Title
JP6615726B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR101733117B1 (ko) 멀티코어 시스템의 태스크 분배 방법 및 장치
CN104657380A (zh) 一种图片加载方法和装置
CN104077191A (zh) 一种用于管理内存资源的方法及装置
EP2784671A1 (en) Virtual machine management system and method
US20190114079A1 (en) Apparatus for managing disaggregated memory and method thereof
JP5977778B2 (ja) 情報処理装置およびメモリー管理方法
CN103761036A (zh) 一种用于启动应用的方法及装置
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
WO2016188102A1 (zh) 作业处理方法及装置
US10928883B2 (en) System management device
JP6354609B2 (ja) 情報処理装置およびメモリー管理プログラム
US10102104B2 (en) Thread dump viewer
CN112596820A (zh) 一种资源加载方法、装置、设备以及存储介质
JP6666553B2 (ja) 情報処理装置、ジョブ管理方法およびジョブ管理プログラム
US20180173540A1 (en) Program execution system and method for launching resident programs
EP2775400B1 (en) Ressource management system a method
US20160292010A1 (en) Electronic device that ensures simplified competition avoiding control, method and recording medium
CN111817895B (zh) 一种主控节点切换方法、装置、设备及存储介质
US9910627B2 (en) Remote maintenance system and remote maintenance method
JPWO2014027444A1 (ja) スケジューリング装置、及び、スケジューリング方法
JP4723465B2 (ja) ジョブ割当プログラム及びジョブ割当方法
CN104461636A (zh) 一种皮肤资源加载方法及电子设备
JP2020027554A (ja) 情報処理装置およびプログラム
JP2018067057A (ja) 制御プログラムの検証装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees