JP2007257259A - 情報処理装置、記憶領域クリーンアップ方法およびプログラム - Google Patents

情報処理装置、記憶領域クリーンアップ方法およびプログラム Download PDF

Info

Publication number
JP2007257259A
JP2007257259A JP2006080356A JP2006080356A JP2007257259A JP 2007257259 A JP2007257259 A JP 2007257259A JP 2006080356 A JP2006080356 A JP 2006080356A JP 2006080356 A JP2006080356 A JP 2006080356A JP 2007257259 A JP2007257259 A JP 2007257259A
Authority
JP
Japan
Prior art keywords
storage area
cpu core
cleanup
cpu
switching
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
JP2006080356A
Other languages
English (en)
Inventor
Satoshi Hieda
諭士 稗田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006080356A priority Critical patent/JP2007257259A/ja
Publication of JP2007257259A publication Critical patent/JP2007257259A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】メモリリークやゾンビプロセスなどが原因で不正なデータが蓄積された主記憶領域を、プログラム言語に依存することなく、また一つのCPUに負荷を掛けすぎることなく、安全にクリーンアップすることを目的とする。
【解決手段】メモリ使用量が閾値を超えている場合、待機状態のCPUコアと主記憶領域とを用いてバックグラウンド処理で現用系サブシステムと同じプログラムを起動した待機系サブシステムを起動して、端末がクリーンアップを行っても弊害が生じない定常状態であるかを確認後、その待機系サブシステムの主記憶領域を現用系サブシステムから使用することで、もしくは待機系サブシステムを現用系サブシステムとして使用することで、ユーザの視点からは短時間で安全に主記憶がクリーンアップされたように見せることができる。
【選択図】 図1

Description

本発明は主記憶クリーンアップシステム、主記憶クリーンアップ方法および主記憶クリーンアッププログラムに関し、特にマルチコアCPUを用いて高速な主記憶クリーンアップを可能にした、主記憶クリーンアップシステム、主記憶クリーンアップ方法および主記憶クリーンアッププログラムに関する。
長時間稼動している計算機システムでは、システム上で動作するプログラムがメモリリークを起こしたり、終了したはずのプログラム情報が主記憶から正常に削除されていないことなどが原因で主記憶上に不要なデータが蓄積してしまい、結果として計算機システム全体の動作が不安定になったりするという問題がある。
この問題を解決するための1つの方法が、計算機システムのユーザが定期的に計算機システムを再起動するということである。しかし携帯電話端末などの計算機システムでは、ユーザが必ずしも定期的に計算機システムを再起動するわけではなく、長時間電源が入ったままの状態で使用され続けることがある。
そのため、携帯電話端末などのように長時間電源を入れたままで使用する計算機システムでは、計算機システム側で自動的に主記憶内に蓄積された不要なデータを削除する、すなわち自動的に主記憶をクリーンアップする仕組みが必要とされている。
従来の主記憶を自動クリーンアップする手法の一例が、Java(登録商標)の仮想マシンなどで用いられているガベージコレクションである。ガベージコレクションとは、プログラムが確保したメモリ領域のうち、今後使用されない領域を自動的に解放する仕組みであり、Javaのように言語処理系に組み込まれて提供されるものもあれば、ライブラリとして提供されるものもある。
また、主記憶を自動的にクリーンアップする手法として、自動的に計算機システムを再起動する手法と高速にシステムを再起動する方法とを組み合わせることも考えられる。これは特許文献1又は特許文献2に記載されている。
特許文献1では、自動的に計算機システムを再起動する方法について述べられており、CPU(中央演算装置)の負荷と主記憶装置の使用量とを監視した上で、主記憶装置の使用量が所定の値を超える時期を予測し、その時期に近づくと、CPUの使用負荷が小さい時間帯を利用し再起動処理を行う計算機システムについて記載されている。
特許文献2では、計算機システムを高速に起動する方法について述べられており、計算機システム起動後の主記憶イメージをあらかじめ不揮発性の記憶領域に保存しておき、計算機システム起動時には、その主記憶イメージに書き込み要求があった時だけ、書き込み要求のあった領域のデータを主記憶装置上に展開することが記載されている。
また、主記憶装置を自動的にクリーンアップする手法として、計算機システムに複数の主記憶領域を用意しておき、CPUから使用されずに待機状態にある主記憶領域上に、あらかじめクリーンアップ後の主記憶データを作成しておき、ある時点でその主記憶装置を計算機システムの現用系の主記憶領域として使用する手法が考えられる。これは特許文献3に記載されている。
特許文献3では、CPUとメモリバンク切替え回路と複数のメモリバンクとを備えた計算機システムについて述べられている。この計算機システムでは、それぞれのメモリバンクでOSが起動しており、メモリバンク切替え回路によってアクティブなメモリバンクを切替えることで、計算機システム全体のOSを決定できる計算機システムが記載されている。この計算機システムを利用し、アクティブなメモリバンクに不正なデータが蓄積された時にアクティブなメモリバンクの切替えを行い、新しくアクティブになったメモリバンク上に元々アクティブだったメモリバンクと同一のOS、プログラムを起動させたとする。すると、まだ不正なデータが蓄積されていないメモリバンクを現用系の主記憶として使用することができ、現用系の主記憶装置をクリーンアップしたことになる。
また、メモリリークを検出してクリーンアップを行う技術が特許文献4に記載されている。
特許文献4では、端末の電源ONと同時に現用系と待機系とのシステムを起動させ、メモリリークを監視してメモリ使用量が閾値を超えるとすぐにクリーンアップを開始する技術について述べられている。
特開2004−005305 特開2005−010897 特開昭63−158635 特開2004‐213122
しかしながら、上述した従来の主記憶装置の自動クリーンアップ方式では、次のような問題点があった。
第1の問題点は、クリーンアップ対象となるプログラムの種類が限定されてしまうことである。これは、ガベージコレクションによる主記憶装置のクリーンアップ方式の問題点である。
その理由は、ガベージコレクションは、Java言語などの特定のプログラミング言語もしくは特定のライブラリに依存し、例えばOS上で直接実行される一般的なC言語プログラムについては、ガベージコレクションつまり主記憶装置クリーンアップの対象にはならないためである。
第2の問題点は、計算機システムの中断時間が長くなってしまうことである。これは、特許文献1、特許文献2に記載された方式の問題点である。
その理由は、これらの方式では再起動が完了するまでに数秒以上の時間が掛かることが予想され、もし中断時間内に外部周辺装置からハードウェア割り込みなどの処理要求が来た場合、その要求を処理することができなくなってしまうからである。
第3の問題点は、CPUに掛かる負荷が大きくなってしまうことである。これは、特許文献3に記載された方式の問題点である。
その理由は、待機状態にあるメモリバンク上にあらかじめ切替え後のOSを起動し主記憶データを作成しておく必要があるが、それはシングルCPUのアイドル時間を用いて行う必要があり、使用中の主記憶領域を用いて高負荷の処理が実行されていた場合、切替え後のOSを起動するためにCPU時間を割り当てることができず、切り替え後のOSを起動するために長い時間が掛かる可能性があるためである。
第4の問題点は、電力がかかってしまうことである。
その理由は、端末の電源ONと同時に現用系と待機系とのシステムを起動させ、メモリ使用量が閾値を超えるとすぐにクリーンアップを開始するように構成されているからである。携帯端末等の組込機器では省電力化が重要となっており、例えば特許文献4の技術では常に高い電力が機器に負担をかけていることになる。
第5の問題点は、ユーザの作業中のデータが消えてしまうことである。
その理由は、メモリ使用量が閾値を超えると、端末の状態を確認せずにすぐにクリーンアップを開始するように構成されているからである。このような場合、例えばユーザがメールを作成中であった場合、その作業中のデータも消えてしまうからである。
そこで、本発明は上記問題点を解決するためになされたものであって、第1の目的は実行されるプログラムの種類に限定されない主記憶装置クリーンアップシステムを提供することである。
本発明の第2の目的は、計算機システムの中断時間の短い主記憶装置クリーンアップシステムを提供することである。
本発明の第3の目的は、1つのCPUに掛かる負荷を軽減した主記憶装置クリーンアップシステムを提供することである。
本発明の第4の目的は、省電力化が図れる主記憶装置クリーンアップシステムを提供することである。
本発明の第5の目的は、ユーザの作業中のデータが消えてしまうことを防止する主記憶装置クリーンアップシステムを提供することである。
上記課題を解決するための第1の発明は、第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する処理装置であって、
前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視手段と、
前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動手段と、
前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替え手段と、
前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップ手段と
を有することを特徴とする。
上記課題を解決するための第2の発明は、上記第1の発明において、前記記憶領域状態監視手段は、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が前もって指定された閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すように構成されていることを特徴とする。
上記課題を解決するための第3の発明は、上記第1の発明において、前記記憶領域状態監視手段は、定期的に前記第1の記憶領域のクリーンアップ要求を出すように構成されていることを特徴とする。
上記課題を解決するための第4の発明は、上記第1から第3のいずれかの発明において、前記待機系システム起動手段は、
前記第2のCPUコアを起動するCPU起動手段と、
前記待機系システムが起動完了後に前記切替え手段に起動完了通知を行う起動完了通知手段と
を有することを特徴とする。
上記課題を解決するための第5の発明は、上記第1から第4のいずれかの発明において、前記切替え手段からの通知を受け、各CPUコアへの割り込みを禁止するように設定する割り込み管理手段と、
前記切替え手段からの通知を受け、前記第1のCPUコアの動作を停止する状態へと切替えるモード管理手段と
を有することを特徴とする。
上記課題を解決するための第6の発明は、上記第1から第5のいずれかの発明において、前記記憶領域クリーンアップ手段は、
前記第1の記憶領域と前記第2の記憶領域とを管理する記憶管理手段に対して現用系システムの記憶領域を前記第2の記憶領域に切替えるよう通知する記憶領域変更手段と、
前記切替えが完了した後に前記第1のCPUコアが動作するにあたって必要となるCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更手段と
を有することを特徴とする。
上記課題を解決するための第7の発明は、上記第1から第5のいずれかの発明において、前記記憶領域クリーンアップ手段は、
各CPUコアへの割り込みを管理する割り込み管理手段及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理手段に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする。
上記課題を解決するための第8の発明は、上記第1から第7のいずれかの発明において、前記切替え手段は、クリーンアップ終了後に割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知することを特徴とする。
上記課題を解決するための第9の発明は、第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する処理装置の記憶領域クリーンアップ方法であって、
前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視ステップと、
前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動ステップと、
前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替えステップと、
前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップステップと
を有することを特徴とする。
上記課題を解決するための第10の発明は、上記第9の発明において、前記記憶領域状態監視ステップは、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする。
上記課題を解決するための第11の発明は、上記第9の発明において、前記記憶領域状態監視ステップは、定期的に前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする。
上記課題を解決するための第12の発明は、上記第9から第11のいずれかの発明において、前記待機系システム起動ステップは、
前記第2のCPUコアを起動し、前記待機系システムが起動完了後に起動完了通知を行うことを特徴とする。
上記課題を解決するための第13の発明は、上記第9から第12のいずれかの発明において、前記切替えステップは、
前記通知を受け、各CPUコアへの割り込みを禁止するように設定するステップと、
前記通知を受け、前記第1のCPUコアの動作を停止する状態へと切替えるステップと
を有することを特徴とする。
上記課題を解決するための第14の発明は、上記第9から第13のいずれかの発明において、前記記憶領域クリーンアップステップは、
前記第1の記憶領域と前記第2の記憶領域とを管理している記憶管理部に対して現用系システムの記憶領域を前記第2の記憶領域に切り替えるよう通知する記憶領域変更ステップと、
前記切替えが完了した後に前記第1のCPUコアが動作するにあたって必要となるCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更ステップと
を有することを特徴とする。
上記課題を解決するための第15の発明は、上記第9から第13のいずれかの発明において、前記記憶領域クリーンアップステップは、
各CPUコアへの割り込みを管理する割り込み管理部及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理部に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする。
上記課題を解決するための第16の発明は、上記第9から第15のいずれかの発明において、前記クリーンアップ終了後に、割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知するステップを有することを特徴とする。
上記課題を解決するための第17の発明は、第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置を、
前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視手段と、
前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動手段と、
前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替え手段と、
前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップ手段と
して機能させることを特徴とする。
上記課題を解決するための第18の発明は、上記第17の発明において、前記記憶領域状態監視手段は、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする。
上記課題を解決するための第19の発明は、上記第17の発明において、前記記憶領域状態監視手段は、定期的に前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする。
上記課題を解決するための第20の発明は、上記第17から第19のいずれかの発明において、前記待機系システム起動手段は、
前記第2のCPUコアを起動するCPU起動手段と、
前記待機系システムが起動完了後に前記割り込み管理手段に起動完了通知を行う起動完了通知手段と
を有することを特徴とする。
上記課題を解決するための第21の発明は、上記第17から第20のいずれかの発明において、前記切替え手段からの通知を受け、各CPUコアへの割り込みを禁止するように設定する割り込み管理手段と、
前記切替え手段からの通知を受け、前記第1のCPUコアの動作を停止する状態へと切替えるモード管理手段と
を有することを特徴とする。
上記課題を解決するための第22の発明は、前記記憶領域クリーンアップ手段は、
前記第1の記憶領域と前記第2の記憶領域とを管理する記憶管理手段に対して現用系システムの記憶領域を前記第2の記憶領域に切替えるよう通知する記憶領域変更手段と、
前記切替えが完了した後に前記第1が動作するにあたって必要となるCPUコアのCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更手段と
を有することを特徴とする。
上記課題を解決するための第23の発明は、上記第17から第21のいずれかの発明において、前記記憶領域クリーンアップ手段は、
各CPUコアへの割り込みを管理する割り込み管理手段及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理手段に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする。
上記課題を解決するための第24の発明は、上記第17から第23のいずれかの発明において、前記切替え手段は、クリーンアップ終了後に割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知することを特徴とする。
本発明の主記憶装置クリーンアップシステムは、現用系サブシステムとして動作するCPUコア(A)11と主記憶領域(A)161を、待機系サブシステムとして動作するCPUコア(B)12と主記憶領域(B)162を備え、CPUコア(A)11は、自身の実行モードがCPUコアや主記憶装置などの全装置が通常の処理を行っている状態である通常モードかもしくは、各装置が本来の処理を中断し主記憶装置クリーンアップのために待機している状態であるクリーンアップモードであることを管理している実行モード管理手段111と、自身が使用している主記憶領域の使用量を監視している主記憶状態監視手段112を備え、CPUコア(B)12は、CPUコア(A)11と同様の実行モード管理手段121と、待機系サブシステムが起動完了した段階で通知を行う起動完了通知手段122を備えていることを基本とする。
また、図1を参照すると、第1の主記憶装置クリーンアップシステムは、上記の基本のシステム構成に加えて更に、主記憶状態監視手段112からのクリーンアップ要求を受け待機系サブシステムのCPUコア(B)12を起動させるCPU起動手段131と、各CPUコアやハードウェア割り込みマスクの設定に対してシステムモードの切替えを通知する実行モード切替え手段132と、各サブシステムに割り当てる主記憶領域の切替え通知を行う主記憶変更手段133と、各CPUコアの情報(レジスタ、キャッシュなど)を変更するCPU変更手段134と、各CPUコアのハードウェア割り込み設定を管理するハードウェア割り込み管理手段14と、各CPUコアに割り当てる主記憶領域を管理する主記憶領域管理手段15を備える。
このような構成において、現用系サブシステムの主記憶装置の使用量がメモリリークやゾンビプロセスなどが原因で増加した時に、CPUコア(A)11の主記憶状態監視手段112が待機系サブシステムの起動要求を出し、それを受けたCPU起動手段131が待機系サブシステムを起動し、CPUコア(B)12の起動完了通知手段122が起動完了を通知すると、その通知を受けた実行モード切替え手段132がハードウェア割り込み管理手段14や各CPUコアにクリーンアップモードへの変更を通知した上で、主記憶変更手段133が現用系サブシステムと待機系サブシステムの主記憶領域を入れ替え、更にCPU変更手段134がCPUコア(A)11のCPU情報を適切に設定し、最後に実行モード切替え手段132が実行モードを通常モードに変更することで、本発明の目的を達成している。
図9を参照すると、本発明の第2の主記憶装置クリーンアップシステムは、上記の基本のシステム構成に加え更に、主記憶状態監視手段112からのクリーンアップ要求を受け待機系サブシステムのCPUコア(B)12を起動させるCPU起動手段131と、各CPUコアやハードウェア割り込みマスクの設定に対してシステムモードの切替えを通知する実行モード切替え手段132と、現用系サブシステムと待機系サブシステムを切替える現用系サブシステム変更手段135と、各CPUコアのハードウェア割り込み設定を管理するハードウェア割り込み管理手段14と、各CPUコアと各周辺機器の間でのアクセス許可/不許可を管理するI/O管理手段17を備える。
このような構成において、現用系サブシステムの主記憶領域の使用量がメモリリークやゾンビプロセスなどが原因で増加した時に、CPUコア(A)11の主記憶状態監視手段112が待機系サブシステムの起動要求を出し、それを受けたCPU起動手段131が待機系サブシステムを起動し、CPUコア(B)12の起動完了通知手段122が起動完了を通知すると、それに基づき実行モード切替え手段132がハードウェア割り込み管理手段14や各CPUコアにクリーンアップモードへの変更を通知した上で、現用系サブシステム変更手段135が従来の待機系システムを新現用系サブシステムとして使用されるようハードウェア割り込み管理手段14やI/O管理手段17に通知し、最後に実行モード切替え手段132が実行モードを通常モードに変更することで、本発明の目的を達成している。
第1の効果は、実行されるプログラムの種類に限定されずに主記憶装置のクリーンアップをすることができることである。その理由は、プログラムや処理系ごとに備わっているクリーンアップ機能に依存するのではなく、現用系サブシステムで使用する主記憶領域自体を入れ替えることでクリーンアップを行うからである。
第2の効果は、計算機システムの主記憶装置を短期間でクリーンアップできることである。その理由は、待機状態のCPUコアと主記憶領域を用いてバックグラウンド処理で現用系サブシステムと同じプログラムを起動した待機系サブシステムを起動しておき、その待機系サブシステムの主記憶領域を現用系サブシステムから使用することで、ユーザの視点からは短時間で主記憶装置がクリーンアップされたように見えるからである。
第3の効果は、1つのCPUに掛かる負荷を分散して主記憶装置をクリーンアップすることができることである。その理由は、現用系サブシステムが通常モードで動作している時に、バックグラウンド処理で別のCPUコアを用いて待機系サブシステムを起動するからである。
第4の効果は、計算機システムを瞬間的に再起動できることである。その理由は、たとえ主記憶領域のクリーンアップは必要なくただ再起動処理を行いたい時であっても、第2の効果と同じ理由で、ユーザの視点からは短期間で計算機システムが再起動したように見せることができるからである。
第5の効果は、主記憶のクリーンアップ処理の省電力化を図ることができることである。その理由は、待機系サブシステムは初期状態で電源が入っていない状態であり、クリーンアップ処理が必要な時になって初めて起動されるからである。この効果は、携帯端末など組込機器の省電力化を考慮すべき計算機システムにおいて特に有用である。
第6の効果は、ユーザの作業中のデータがクリーンアップによって消えてしまうことを防止することができることである。これはクリーンアップが必要と判断された後、更に現在の端末の状態を確認して、クリーンアップを開始しても問題が無いかを確認しているからである。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態は、データ処理装置1とキーボード等の入力装置2と、ディスプレイ等の出力装置3と、補助記憶装置4と、その他周辺機器5とを有する。
データ処理装置1は、少なくともCPUコア(A)11と、CPUコア(B)12と、CPU起動手段131と、実行モード切替え手段132と、主記憶変更手段133と、CPU変更手段134と、ハードウェア割り込み管理手段14と、主記憶領域管理手段15と、主記憶部16とを有する。
CPUコア(A)11は、主記憶領域(A)161とともに現用系サブシステムを構成する中央演算装置であり、キーボード、ディスプレイなどの周辺機器はCPUコア(A)11から使用できる状態にある。このCPUコア(A)11は、内部に少なくとも実行モード管理手段111と主記憶状態監視手段112とを備えている。また、図示していないが、CPUコア(A)11はCPUコア(B)12と同様に起動完了通知手段も有する。これは、CPUコア(A)11が待機系サブシステムになる場合があるからである。
実行モード管理手段111は、各CPUの実行モードを管理する。ここで想定される実行モードは、通常モードとクリーンアップモードとである。通常モードとは、CPUコアや主記憶部などの全装置が通常の処理を行っている状態である。またクリーンアップモードとは、CPUコアや主記憶部などの各装置において通常モードで実行されている本来の処理を中断して主記憶部のクリーンアップのために待機している状態のことを意味する。
主記憶状態監視手段112は、主記憶領域(A)161のクリーンアップが必要な状態であるかどうかを監視する。クリーンアップが必要であると判断した場合はCPU起動手段131に対してクリーンアップ要求を出す。また主記憶状態監視手段112は、「1日に1回」や「1週間に1回」などのように、定期的にクリーンアップ要求を出しても良い。
尚、ここでクリーンアップが必要な状態とは、システム全体が定常状態であり、かつ現用サブシステムの主記憶領域の使用量が前もって指定された閾値を超えてしまっている状態のことを指す。
また、定常状態とは、クリーンアップを行っても周辺機器とのI/O(入出力)のようにシステム全体やユーザに弊害が及ばない状態のことを指す。例えば、計算機システムのユーザによってブラウザやメーラなどのプログラムが起動されておらず、尚且つシステムによって自動的に起動されるプログラムのみがシステム上で実行されている状態は、定常状態の一例である。また計算機システムとして携帯電話端末を想定した場合、計算機システム上でユーザが起動したプログラムが実行されておらず、尚且つ充電器上に置かれて充電中の時なども定常状態の一例である。
このように、定常状態にはいくつかのパターンが考えられるが、そのうちの任意のパターンをあらかじめ主記憶状態監視手段112に設定しておき、現用系システムが設定された状態になった時に主記憶状態監視手段112は定常状態になったと判断する。なおこの定常状態のパターンはシステムであらかじめ設定されていても良いし、ユーザが好みのパターンを任意に選択できても良い。
また閾値とは、クリーンアップアップ処理が必要であると判断される主記憶領域使用量のことであり、前もって主記憶状態監視手段112に設定されている。現用系サブシステムで処理を行っていくうちに、メモリリークやゾンビプロセスなどが原因で現用系サブシステムの主記憶領域上に不正なデータが残ってしまい主記憶領域使用量が増加することが考えられるが、これが原因となって増加した主記憶領域使用量がこの閾値に達した段階でクリーンアップ処理が行われることになる。
一方、CPUコア(B)12は、主記憶領域(B)162とともに待機系サブシステムを構成する中央演算装置で、特に起動要求がない限り、電源OFFの状態もしくは低電力が供給され待機状態にある。このCPUコア(B)12は内部に少なくとも実行モード管理手段121と起動完了通知手段122とを備えている。また、図示していないが、CPUコア(B)12はCPUコア(A)11と同様に主記憶状態監視手段も有する。これは、CPUコア(B)12が現用系サブシステムになる場合があるからである。
起動完了通知手段122は、CPUコア(B)12で待機系サブシステムが起動完了し定常状態になったら、起動完了通知を実行モード切替え手段132に通知する。
CPU起動手段131は、主記憶状態監視手段112からクリーンアップ要求が届くと待機状態にあるCPUコア(B)12に対して起動要求を出す。
実行モード切替え手段132は、起動完了通知手段122から起動完了通知を受け取ると、各CPUコアとハードウェア割り込み管理手段14に対して、実行モードを通常モードからクリーンアップモードに切替えるよう通知する。また一連のクリーンアップ処理が終了した段階で、各CPUコアとハードウェア割り込み管理手段14に対して、クリーンアップモードから通常モードに戻ることを通知する。
主記憶変更手段133は、主記憶領域管理手段15に対して、CPUコア(A)11からアクセス可能な主記憶領域(A)161と、CPUコア(B)12からアクセス可能な主記憶領域(B)162を切替えるように通知する。
CPU変更手段134は、CPUコア(A)11のCPU情報(レジスタ値、CPUキャッシュなどCPUが動作するにあたって必要となる情報)をCPUコア(B)12のCPU情報をもとに設定する。レジスタ値の設定方法としては、CPUコア(B)12のCPUのレジスタ値をCPUコア(A)11のCPUのレジスタにコピーする方法や、CPUコア(A)11のCPUのレジスタ値を適切なレジスタ値に設定するための軽量なブートストラップを実行する方法などがある。またキャッシュの設定方法については、レジスタ値と同様にCPUコア(B)12からコピーする方法や、CPUコア(A)11のキャッシュ自体をフラッシュして無効にする方法などがある。
ハードウェア割り込み管理手段14は、周辺機器からハードウェア割り込みが発生した時にその割り込みをどのCPUコアに伝達するかを管理している。また、実行モード切替え手段132からクリーンアップモードへの切替えが通知されると、周辺機器からのハードウェア割り込みがどのCPUコアにも伝わらないよう割り込みマスクの設定を行う。
主記憶領域管理手段15は、各CPUコアに割り当てる主記憶領域の範囲を管理する。管理方法は、主記憶領域(A)161と主記憶領域(B)162が主記憶部内でどのように分割されているかに依存するが、例えば図9のように、1つの物理アドレス空間を分割し、そのうち下位空間を主記憶領域(A)161として使用し上位空間を主記憶領域(B)162として使用しているのであれば、CPUコア(B)12から主記憶領域(B)162にアクセス要求があった場合は、主記憶領域管理手段15が、アクセスのあった物理アドレスの値にオフセット値分(0x02000000)を加算し、加算後のアドレスにアクセスさせることになる。CPUコア(A)11から主記憶領域(A)161にアクセス要求があった場合は、主記憶領域管理手段15で加算処理を行う必要はなく、要求のあった物理アドレスにそのままアクセスさせることになる。
主記憶部16は、主記憶領域(A)161と主記憶領域(B)162から構成されている。主記憶領域(A)161はCPUコア(A)11から使用される主記憶領域であり、主記憶領域(B)162はCPUコア(B)12から使用される主記憶領域である。またCPUコア(A)11から使用されている主記憶領域(A)161は、メモリリークやゾンビプロセスなどが原因で不正なデータが蓄積されており、クリーンアップが必要な状況であるものとする。
補助記憶装置4は、プログラムコードやユーザデータなどが格納される記憶媒体である。ハードディスクやフラッシュROM(Read Only Memory)などの記憶装置がこれに該当する。
続いて、図1−図8を参照して、本実施の形態の全体の動作について説明する。
まず前提として、現用系サブシステムが稼動している状態である。
そこでまず図3で示したように、CPUコア(A)11内の主記憶状態監視手段112が、現用系サブシステムが定常状態にあるかどうかを調べる(ステップA11)。
もし定常状態でないならば(ステップA1でNO)、再びステップA1に戻り、現用系サブシステムが定常状態であるかを調べる。
もし定常状態であるならば(ステップA1でYES)、次に主記憶状態監視手段112は、現用系サブシステムの主記憶領域の使用量が前もって設定された閾値を越えているかどうかを判断する(ステップA12)。
もし閾値を超えていないのであれば(ステップA2でNO)、再びステップA1に戻り、現用系サブシステムが定常状態であるかを調べる。
もし閾値を超えているのであれば(ステップA12でYES)、クリーンアップ必要状態であると判断し、CPU起動手段131にクリーンアップ要求を出す(ステップA13)。
続いて、図4に示すように、CPU起動手段131は、待機状態にあるCPUコア(B)12に対して起動要求を出し(ステップA21)、CPUコア(B)12は起動処理を開始する(ステップA22)。なおCPUコア(B)12が起動することで、待機系サブシステムが起動することになる。待機系サブシステムが起動し定常状態になると、起動完了通知手段122は実行モード切替え手段132に起動完了通知を行う(ステップA23)。
続いて、図5に示すように、実行モード切替え手段132が、ハードウェア割り込み管理手段14に対してクリーンアップモードへの切替えを通知する(ステップA31)。
するとハードウェア割り込み管理手段14は、周辺機器からのハードウェア割り込みがどのCPUコアにも伝わらないよう割り込みマスクの設定を行う(ステップA32)。次に実行モード切替え手段132は、各CPUコアに対してクリーンアップモードへの切替えを通知する(ステップA33)。すると各CPUコアの実行モード管理手段111、121は、自身の実行モードを通常モードからクリーンアップモードへ切替える(ステップA34)。
続いて、図6に続いて、主記憶変更手段133は、主記憶領域管理手段15にCPUコア(A)11とCPUコア(B)12からアクセス可能な主記憶領域を切替えるように通知する(ステップA41)。すると主記憶領域管理手段15は、CPUコア(A)11からアクセスできる主記憶領域は主記憶領域(B)162、CPUコア(B)12からアクセスできる主記憶領域は主記憶領域(A)161となるように変更する(ステップA42)。これにより図7で示すように、現用系サブシステムが使用する主記憶領域は主記憶領域(B)162に、待機系サブシステムが使用する主記憶領域は主記憶領域(A)161に切り替わることになる。次にCPU変更手段134が、CPUコア(A)11のレジスタ値、キャッシュを適切に設定する(ステップA43)。
続いて、図8に示すように、実行モード切替え手段132が、各CPUコアに対して通常モードへの切替えを通知する(ステップA51)。すると各CPUコアの実行モード管理手段111、121は、自身の実行モードをクリーンアップモードから通常モードへ切替える(ステップA52)。次に実行モード切替え手段132は、ハードウェア割り込み管理手段14に対して通常モードへの切替えを通知する(ステップA53)。するとハードウェア割り込み管理手段14は、周辺機器からのハードウェア割り込みをクリーンアップモードに切替える前の通常モードの設定に戻し、CPUコア(B)が終了して待機系サブシステムも終了する(ステップA54)。
以上の動作により、計算機システムは再び通常モードで動作することになるが、主記憶領域(B)162を使用する新現用系サブシステムでは、更に各周辺機器との整合性を取るための処理が行われる(ステップA55)。
続いて、本実施の形態の効果について説明する。
本実施の形態では、待機系サブシステムの主記憶領域(B)162に定常状態の主記憶状態を作成しておき、クリーンアップモードに移った時に、その主記憶領域(B)162が現用系サブシステムの主記憶領域となるよう主記憶領域を切替えることで、短時間で主記憶装置をクリーンアップすることができる。
次に、本発明の第2の発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図9を参照すると、本発明の第2の発明を実施するための最良の形態は図1に示された第1の実施の形態と比較し、データ処理装置6が主記憶変更手段133とCPU変更手段134、主記憶領域管理手段15を有しておらず、現用系サブシステム変更手段135とI/O管理手段17を有する点で異なる。尚、上記実施の形態と同様の構成については同一の番号を付し、詳細な説明を省略する。
現用系サブシステム変更手段135は、現用系サブシステムと待機系サブシステムを切替える時に、ハードウェア割り込み管理手段14とI/O管理手段17に対して、その旨を通知する。本実施の形態の場合では、新たにCPUコア(B)12、主記憶領域(B)が新現用系サブシステムとなることを通知する。
I/O管理手段17は、周辺機器と各CPUコア間の入出力を管理しており、どのCPUコアがどの周辺機器にアクセスする権限があるかを管理している。
続いて、図9−図14を参照して本実施の形態の動作を詳細に説明する。なお図10〜図12及び図13に記載されている主記憶状態監視手段112の動作(ステップB11〜ステップB13)と、CPU起動手段の動作(ステップB21〜ステップB23)と、実行モード切替え手段132の動作(ステップB31〜B34)と、実行モード切替え手段121の動作(ステップB51〜ステップB55)とについては、それぞれ本発明の第1の実施の形態におけるステップA11−A34とステップA51−A55と同じ動作を行うため説明は省略し、ここでは変更のあるステップB41−B44についてのみ説明する。
図13を参照すると、現用系サブシステム変更手段135は、ハードウェア割り込み管理手段14に現用系サブシステムと待機系サブシステムのCPUコアの切替えを通知する(ステップB41)。するとハードウェア割り込み管理手段14は、通常モードに復帰した時点で使用するCPUコア(A)11の割り込みマスクと、CPUコア(B)12が使用する割り込みマスクの設定を入れ替える(ステップB42)。次に現用系サブシステム変更手段135は、I/O管理手段17に対して現用系サブシステムと待機系サブシステムの入れ替えを通知する(ステップB43)。するとI/O管理手段17は、CPUコア(A)11から各周辺機器へのアクセス許可設定をCPUコア(B)12から各周辺機器のアクセス許可設定と入れ替える(ステップB44)。これにより旧現用系サブシステムのCPUコアであるCPUコア(A)11で使用されていた割り込みマスクや周辺機器へのアクセス権限が、新現用系サブシステムのCPUコアであるCPUコア(B)12に受け継がれることになる。
続いて、本発明の形態の効果について説明する。
本実施の形態では、第1の実施の形態と異なり、一連のクリーンアップ処理においてCPU情報の書き換え処理を行わない代わりに、より短時間で処理が済む現用系サブシステムと待機系サブシステムの切替えを行うことで、第1の実施の形態より短時間で一連のクリーンアップ処理を終えることができる。
次に、本発明の第3の発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図15を参照すると、本発明の第3の発明を実施するための最良の形態は、図1お呼び図9に示された第1の実施及び第2の実施の形態と同様、データ処理装置8と、入力装置2と、出力装置3と、補助記憶装置4とその他周辺機器5から構成される。
主記憶装置クリーンアップ用プログラム7はデータ処理装置8に読み込まれ、データ処理装置8の動作を制御する。データ処理装置8は、主記憶装置クリーンアップ用プログラム7の制御により、第1および第2の実施の形態におけるデータ処理装置1および6による処理と同一の処理を実行する。
次に、本発明の第1の実施例を、図面を用いて説明する。かかる実施例は本発明の第1の実施の形態に対応するものである。
本実施例は、データ処理装置として3つのCPUコアを備えた携帯電話端末の処理部を、入力装置としてキーボードを、出力装置としてディスプレイを、補助記憶装置としてフラッシュROMを備えており、各装置はバスで接続されている。
また携帯電話端末の処理部の内部では、CPUコア(A)の機能を担う第1のCPUコア、CPUコア(B)の機能を担う第2のCPUコア、CPU起動手段からCPU変更手段までの各機能を担う第3のCPUコアが担う。更にハードウェア割り込み管理手段はハードウェア割り込み管理回路で、主記憶領域管理手段は主記憶領域管理回路で実装されている。
以上まとめると、本実施例は図16のように実装されている。
このような実施例において、現用系サブシステムと待機系サブシステムについて詳細を説明する。
現用系サブシステムは第1のCPUコアと主記憶領域(A)から構成される。第1のCPUコア起動時には補助記憶装置からLinux OSが主記憶領域(A)にロードされ、以降現用系サブシステムのOSとして動作する。このLinux OS上ではブラウザやJava VM、メーラ、X Window Systemなどのプログラムが実行されており、主記憶状態監視手段も主記憶状態監視プログラムとしてLinux OS上で実行される。また実行モード管理手段は専用の回路として第1のCPUコア内で実装される。
なお主記憶状態監視プログラム内に設定されている閾値、つまり現用系サブシステムの定常状態での正常な現用系サブシステムの主記憶領域の使用量は30MBであるとする。
ここで主記憶状態監視プログラムは、図17のようなユーザインタフェースを持ち、ユーザは主記憶装置のクリーンアップを行う定常状態を選択できる。
待機系サブシステムは第2のCPUコアと主記憶領域(B)から構成される。初期状態では電源OFFの状態にあり起動要求待ちであるが、第2のCPUコアに対する起動要求があると、補助記憶装置からLinux OSが主記憶領域(B)にロードされ、以降待機系サブシステムのOSとして動作する。また待機系サブシステムは現用系サブシステムと同じプログラム群を実行されており、更に追加して起動完了通知手段も起動完了通知プログラムとして待機系サブシステムのLinux OS上で実行される。なおこの起動完了通知プログラムは、現用系サブシステムで実行されていても良い。また実行モード管理手段は第1のCPUコアと同様、専用の回路として第2のCPUコア内で実装される。
このような構成において、携帯電話端末のユーザが現用系サブシステムを操作している時に、ブラウザやJava VMなどのアプリケーションを終了し、待ち受け画面が表示される定常状態に戻ったが、主記憶領域(A)にはメモリリークやゾンビプロセスなどが原因で不正なデータが蓄積されており、現用系サブシステムの主記憶領域の使用量が31MBになってしまったとする。
すると、現用系サブシステム上の主記憶状態監視プログラムが、現在の主記憶領域の使用量(31MB)が閾値(30MB)を超えていることを認識し、第3のCPUコアに対してクリーンアップ要求を電気信号として送信する。すると第3のCPUコアは第2のCPUコアに対して起動要求を電気信号として送信する。するとそれまで待機状態であった第2のCPUコアが起動し、主記憶領域(B)内に待機系サブシステムを構築する。そして待機系サブシステムが起動完了し定常状態になった段階で、起動完了通知プログラムが第3のCPUコアに対して起動完了通知を電気信号で送信する。なおこの時点で待機系サブシステムの主記憶領域の使用量は30MBであり、現用系サブシステムの本来の主記憶領域の使用量と同じ値である。
次に第3のCPUコアがクリーンアップモードへの切替え処理を行う。第3のCPUコアはまず、ハードウェア割り込み回路に対してクリーンアップモードへの切替えを電気信号で通知し、ハードウェア割り込み管理回路で切替え処理を行う。例えば図18のようなハードウェア割り込みマスクの設定になっていた場合、これをすべて無効にする。これにより第1および第2のCPUコアにハードウェア割り込みが伝達されない状態となる。次に、第1および第2のCPUコアに対してクリーンアップモードへの切替えを電気信号で通知すると、第1および第2のCPUコアはそれまでの処理を中断しクリーンアップモード状態になる。
こうしてクリーンアップモードへの切替え処理が完了した段階で、次に第3のCPUコアは主記憶管理回路に対して主記憶領域(A)と主記憶領域(B)を切替えるよう電気信号で通知し、主記憶領域管理回路では図19のように切替え処理を行う。これにより現用系サブシステムと待機系サブシステムのそれぞれの主記憶領域が切り替わり、現用系サブシステムから見ると主記憶領域のクリーンアップが行われたことになる。これに伴い第1のCPUコアは主記憶領域(B)にアクセスすることになるが、その際アクセス先アドレスに矛盾が生じないよう、第3のCPUコアが、第1のCPUコアのレジスタを第2のCPUコアからコピーし、またキャッシュ領域をフラッシュさせる。
これらの処理が終わった段階で、第3のCPUコアが通常モードへの切替え処理を行う。第3のCPUコアはまず、第1および第2のCPUコアに対して通常モードへの切替えを通知すると、第1および第2のCPUコアはクリーンアップモードから通常モードへ復帰する。次に第3のCPUコアはハードウェア割り込み回路に対して通常モードへの切替えを通知すると、図20のように今まで無効になっていたハードウェア割り込みを前の状態に復帰させ、待機系サブシステムも終了する。これにより、クリーンアップモードに切り替わる前のようにハードウェア割り込みが各CPUコアに伝達されることになる。
こうして計算機システム全体としては通常モードに復帰することになるが、復帰直後に、新現用系サブシステムと周辺機器間で整合性をとるために、新現用系サブシステムのLinux OSは各デバイスドライバに対して整合回復処理を指示する。この処理を受けたデバイスドライバでは、デバイスの特性を踏まえ必要な整合性処理を行う。
次に、本発明の第2の実施例を、図面を用いて説明する。尚、かかる実施例は本発明の第2の実施の形態に対応するものである。
本実施例は図21のように、第1の実施例と構成と大部分において同じとするが、データ処理装置内において差異がある。まず第3のCPUコアが主記憶変更手段とCPU変更手段としての機能を持たず、代わりに現用系サブシステム変更手段とCPUコア切替え通知手段としての機能を持つ点において異なる。また主記憶領域管理回路は持たず、代わりにI/O管理手段として機能するI/O管理回路を持つことにおいて異なる。
ここで第1の実施例と同様に現用系サブシステムの定常状態での主記憶領域の使用量が31MBであったとすると、第1のCPUコアの主記憶状態監視プログラムが不正なデータが主記憶領域(A)上に残っていると認識し、一連のクリーンアップ処理が開始されることになるが、本実施例ではクリーンアップモードへの切替え処理が完了した段階で、まず第3のCPUコアがハードウェア割り込み管理回路に対して、現用系サブシステムと待機系サブシステムのCPUコアの切替えを通知し、ハードウェア割り込み回路では図22のように通常モードで使用するCPUコア(A)の割り込みマスクと、CPUコア(B)が使用する割り込みマスクの設定を入れ替える。これにより従来の現用系サブシステムのCPUコアに割り当てられていたハードウェア割り込みマスク設定を、新現用系サブシステムのCPUコアに引き継ぐことができる。次に第3のCPUコアは、I/O管理回路に対して現用系サブシステムと待機系サブシステムの切替えを通知し、I/O管理手段では図23のようにI/O管理テーブルにおけるCPUコア(A)から周辺機器のアクセス許可設定をCPUコア(B)から周辺機器のアクセス許可設定と入れ替える。これにより従来の現用系サブシステムのCPUコアに割り当てられていた周辺機器とのI/O権限を、新現用系サブシステムのCPUコアに引き継ぐことができる。
これ以外の処理の流れは、第1の実施例と同じであるので、ここでは説明は省略する。
なお第1および第2の実施例において、補助記憶装置としてフラッシュROMを使用したがハードディスクなど電子的に読み書きできる媒体であれば何であっても良い。
また第1の実施例において、CPU起動手段、実行モード切替え手段、主記憶変更手段、CPU変更手段を第3のCPUコアで実装していたが、それぞれ個別の回路で実現しても良い。
また第2の実施例において、CPU起動手段、実行モード切替え手段、現用系サブシステム変更手段を第3のCPUコアで実装していたが、それぞれ個別の回路で実現しても良い。
また第1および第2の実施例において、3つのCPUコアを備えたデータ処理装置を使用したが、2つ以上のCPUコアを備えたデータ処理装置であれば何であっても良い。
本発明によれば、携帯電話端末などの組み込み機器における主記憶装置クリーンアップ方法として適用できる。そのような組込み機器では、搭載可能な主記憶装置量も制限されるため、メモリリークやゾンビプロセスが原因で主記憶領域に不正なデータが蓄積されてしまうと、システム全体の挙動が不安定になるという問題があった。
また、搭載可能な主記憶装置量への制約が組込み機器ほど厳しくない、パーソナルコンピュータやワークステーションなどの計算機システムにおいても適用可能である。
本発明の第1の発明を実施するための最良の形態の構成を示すブロック図である。 主記憶部の構成を示す図である。 第1の実施の形態の動作を示す図(1)である。 第1の実施の形態の動作を示す図(2)である。 第1の実施の形態の動作を示す図(3)である。 第1の実施の形態の動作を示す図(4)である。 現用系サブシステムと待機系サブシステムとの間での主記憶領域切替えの様子を示す図である。 第1の実施の形態の動作を示す図(5)である。 本発明の第2の発明を実施するための最良の形態の構成を示すブロック図である。 第2の発明を実施するための最良の形態の動作の具体例を示す図(1)である。 第2の発明を実施するための最良の形態の動作の具体例を示す図(2)である。 第2の発明を実施するための最良の形態の動作の具体例を示す図(3)である。 第2の発明を実施するための最良の形態の動作の具体例を示す図(4)である。 第2の発明を実施するための最良の形態の動作の具体例を示す図(5)である。 本発明の第3の発明を実施するための最良の形態の構成を示すブロック図である。 第1の実施例の構成を示すブロック図である。 主記憶状態監視プログラムのユーザインタフェースを示した図である。 第1の実施例において、割り込みマスクの設定をクリーンアップモードに変更している様子を示す図である。 第1の実施例において、主記憶領域切替えの様子を示す図である。 第1の実施例において、割り込みマスクの設定を通常モードに変更している様子を示す図である。 第2の実施例の構成を示すブロック図である。 第2の実施例において、割り込みマスクの設定を第1のCPUコア用と第2のCPUコア用で入れ替えている様子を示す図である。 第2の実施例において、I/O管理テーブルの設定を第1のCPUコア用と第2のCPUコア用で入れ替えている様子を示す図である。
符号の説明
1 データ処理装置
2 入力装置
3 出力装置
4 補助記憶装置
5 その他周辺機器
6 データ処理装置
7 主記憶クリーンアップ用プログラム
8 データ処理装置
11 CPUコア(A)
12 CPUコア(B)
14 ハードウェア割り込み管理手段
15 主記憶領域管理手段
16 主記憶部
111 実行モード管理手段
112 主記憶状態監視手段
121 実行モード管理手段
122 起動完了通知手段
131 CPU起動手段
132 実行モード切替え手段
133 主記憶変更手段
134 CPU変更手段
135 現用系サブシステム変更手段
161 主記憶領域(A)
162 主記憶領域(B)

Claims (24)

  1. 第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する処理装置であって、
    前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視手段と、
    前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動手段と、
    前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替え手段と、
    前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップ手段と
    を有することを特徴とする情報処理装置。
  2. 前記記憶領域状態監視手段は、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すように構成されていることを特徴とする請求項1に記載の情報処理装置。
  3. 前記記憶領域状態監視手段は、定期的に前記第1の記憶領域のクリーンアップ要求を出すように構成されていることを特徴とする請求項1に記載の情報処理装置。
  4. 前記待機系システム起動手段は、
    前記第2のCPUコアを起動するCPU起動手段と、
    前記待機系システムが起動完了後に前記切替え手段に起動完了通知を行う起動完了通知手段と
    を有することを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。
  5. 前記切替え手段からの通知を受け、各CPUコアへの割り込みを禁止するように設定する割り込み管理手段と、
    前記切替え手段からの通知を受け、前記第1のCPUコアの動作を停止する状態へと切り替えるモード管理手段と
    を有することを特徴とする請求項1から請求項4のいずれかに記載の情報処理装置。
  6. 前記記憶領域クリーンアップ手段は、
    前記第1の記憶領域と前記第2の記憶領域とを管理する記憶管理手段に対して現用系システムの記憶領域を前記第2の記憶領域に切替えるよう通知する記憶領域変更手段と、
    前記切替えが完了した後に前記第1のCPUコアが動作するにあたって必要となるCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更手段と
    を有することを特徴とする請求項1から請求項5のいずれかに記載の情報処理装置。
  7. 前記記憶領域クリーンアップ手段は、
    各CPUコアへの割り込みを管理する割り込み管理手段及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理手段に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする請求項1から請求項5のいずれかに記載の情報処理装置。
  8. 前記切替え手段は、クリーンアップ終了後に割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知することを特徴とする請求項1から請求項7のいずれかに記載の情報処理装置。
  9. 第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する処理装置の記憶領域クリーンアップ方法であって、
    前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視ステップと、
    前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動ステップと、
    前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替えステップと、
    前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップステップと
    を有することを特徴とする記憶領域クリーンアップ方法。
  10. 前記記憶領域状態監視ステップは、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする請求項9に記載の記憶領域クリーンアップ方法。
  11. 前記記憶領域状態監視ステップは、定期的に前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする請求項9に記載の記憶領域クリーンアップ方法。
  12. 前記待機系システム起動ステップは、
    前記第2のCPUコアを起動し、前記待機系システムが起動完了後に起動完了通知を行うことを特徴とする請求項9から請求項11のいずれかに記載の記憶領域クリーンアップ方法。
  13. 前記切替えステップは、
    前記通知を受け、各CPUコアへの割り込みを禁止するように設定するステップと、
    前記通知を受け、前記第1のCPUコアの動作を停止する状態へと切替えるステップと
    を有することを特徴とする請求項9から請求項12のいずれかに記載の記憶領域クリーンアップ方法。
  14. 前記記憶領域クリーンアップステップは、
    前記第1の記憶領域と前記第2の記憶領域とを管理している記憶管理部に対して現用系システムの記憶領域を前記第2の記憶領域に切り替えるよう通知する記憶領域変更ステップと、
    前記切替えが完了した後に前記第1のCPUコアが動作するにあたって必要となるCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更ステップと
    を有することを特徴とする請求項9から請求項13のいずれかに記載の記憶領域クリーンアップ方法。
  15. 前記記憶領域クリーンアップステップは、
    各CPUコアへの割り込みを管理する割り込み管理部及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理部に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする請求項9から請求項13のいずれかに記載の記憶領域クリーンアップ方法。
  16. 前記クリーンアップ終了後に、割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知するステップを有することを特徴とする請求項9から請求項15のいずれかに記載の記憶領域クリーンアップ方法。
  17. 第1のCPUコアと第1の記憶領域とを有する現用系システムと、第2のCPUコアと第2の記憶領域とを有する待機系システムとを有する情報処理装置のプログラムであって、前記プログラムは、前記情報処理装置を、
    前記第1の記憶領域のクリーンアップが必要であるかを監視し、クリーンアップが必要な場合は前記第1の記憶領域のクリーンアップ要求を出す記憶領域状態監視手段と、
    前記クリーンアップ要求を受けて、前記待機系システムを起動する待機系システム起動手段と、
    前記待機系システムの起動が完了した後、各CPUコアへの割り込みを禁止し、かつ前記第1のCPUコアの動作を停止する状態へと切替えるように通知する切替え手段と、
    前記切替え後、前記第1の記憶領域をクリーンアップする記憶領域クリーンアップ手段と
    して機能させることを特徴とするプログラム。
  18. 前記記憶領域状態監視手段は、前記第1のCPUコアがクリーンアップを行っても弊害が生じない定常状態であり、かつ前記第1の記憶領域の使用量が閾値を超えていると判断した時に、前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする請求項17に記載のプログラム。
  19. 前記記憶領域状態監視手段は、定期的に前記第1の記憶領域のクリーンアップ要求を出すことを特徴とする請求項17に記載のプログラム。
  20. 前記待機系システム起動手段は、
    前記第2のCPUコアを起動するCPU起動手段と、
    前記待機系システムが起動完了後に前記割り込み管理手段に起動完了通知を行う起動完了通知手段と
    を有することを特徴とする請求項17から請求項19のいずれかに記載のプログラム。
  21. 前記切替え手段からの通知を受け、各CPUコアへの割り込みを禁止するように設定する割り込み管理手段と、
    前記切替え手段からの通知を受け、前記第1のCPUコアの動作を停止する状態へと切り替えるモード管理手段と
    を有する特徴とする請求項17から請求項20のいずれかに記載のプログラム。
  22. 前記記憶領域クリーンアップ手段は、
    前記第1の記憶領域と前記第2の記憶領域とを管理する記憶管理手段に対して現用系システムの記憶領域を前記第2の記憶領域に切替えるよう通知する記憶領域変更手段と、
    前記切替えが完了した後に前記第1のCPUコアが動作するにあたって必要となるCPU情報を、前記第2のCPUコアが動作するにあたって必要となるCPU情報に基づいて設定し直すCPU変更手段と
    を有することを特徴とする請求項17から請求項21のいずれかに記載のプログラム。
  23. 前記記憶領域クリーンアップ手段は、
    各CPUコアへの割り込みを管理する割り込み管理手段及び各CPUコアへのアクセス許可及び不許可を管理する入出力管理手段に対して、前記待機系システムを現用系システムとして使用するように設定することを特徴とする請求項17から請求項21のいずれかに記載のプログラム。
  24. 前記切替え手段は、クリーンアップ終了後に割り込み禁止を解除し、かつ前記第1のCPUコアの動作の再開を通知することを特徴とする請求項17から請求項23のいずれかに記載のプログラム。
JP2006080356A 2006-03-23 2006-03-23 情報処理装置、記憶領域クリーンアップ方法およびプログラム Pending JP2007257259A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006080356A JP2007257259A (ja) 2006-03-23 2006-03-23 情報処理装置、記憶領域クリーンアップ方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006080356A JP2007257259A (ja) 2006-03-23 2006-03-23 情報処理装置、記憶領域クリーンアップ方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2007257259A true JP2007257259A (ja) 2007-10-04

Family

ID=38631451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006080356A Pending JP2007257259A (ja) 2006-03-23 2006-03-23 情報処理装置、記憶領域クリーンアップ方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2007257259A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093311A (ja) * 2007-10-05 2009-04-30 Oki Semiconductor Co Ltd ノンストッププログラムシステムおよびそのメモリ断片化回避方法
JP2014010731A (ja) * 2012-07-02 2014-01-20 Hitachi Ltd 計算機、計算機システム、及びioデバイス構成の引継ぎ方法
JP2014170477A (ja) * 2013-03-05 2014-09-18 Mitsubishi Electric Corp 高可用性システム
KR20170003967A (ko) * 2014-05-07 2017-01-10 마벨 월드 트레이드 리미티드 저전력 분산형 메모리 네트워크
CN113419864A (zh) * 2021-07-16 2021-09-21 北京字节跳动网络技术有限公司 一种应用内存管理方法、装置、设备以及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04280551A (ja) * 1991-03-08 1992-10-06 Fujitsu Ltd 交換システムにおける障害情報収集方式
JPH0540649A (ja) * 1991-08-05 1993-02-19 Nec Corp 冗長切り換え方式
JPH0588927A (ja) * 1991-09-27 1993-04-09 Fujitsu Ltd 割込み制御方式
JPH05204690A (ja) * 1992-01-23 1993-08-13 Nec Corp 冗長切替が可能な非対称冗長構成を持つ通信装置
JPH06222943A (ja) * 1993-01-21 1994-08-12 Mitsubishi Electric Corp 情報処理連続運転方法
JPH08137709A (ja) * 1994-11-15 1996-05-31 Fujitsu Ltd 情報処理システム
JPH1195804A (ja) * 1997-09-24 1999-04-09 Toshiba Corp プラントデータ監視システム
JP2001318901A (ja) * 2000-05-09 2001-11-16 Nec Corp 2重化マルチプロセッサ方式
JP2002245022A (ja) * 2001-02-20 2002-08-30 Nec Corp マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
JP2004005305A (ja) * 2002-06-03 2004-01-08 Hitachi Ltd メモリ使用容量の監視方法及び計算機システム
JP2004213122A (ja) * 2002-12-27 2004-07-29 Idemitsu Kosan Co Ltd クライアント/サーバによる制御システムの安定稼働方法及びそのプログラム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04280551A (ja) * 1991-03-08 1992-10-06 Fujitsu Ltd 交換システムにおける障害情報収集方式
JPH0540649A (ja) * 1991-08-05 1993-02-19 Nec Corp 冗長切り換え方式
JPH0588927A (ja) * 1991-09-27 1993-04-09 Fujitsu Ltd 割込み制御方式
JPH05204690A (ja) * 1992-01-23 1993-08-13 Nec Corp 冗長切替が可能な非対称冗長構成を持つ通信装置
JPH06222943A (ja) * 1993-01-21 1994-08-12 Mitsubishi Electric Corp 情報処理連続運転方法
JPH08137709A (ja) * 1994-11-15 1996-05-31 Fujitsu Ltd 情報処理システム
JPH1195804A (ja) * 1997-09-24 1999-04-09 Toshiba Corp プラントデータ監視システム
JP2001318901A (ja) * 2000-05-09 2001-11-16 Nec Corp 2重化マルチプロセッサ方式
JP2002245022A (ja) * 2001-02-20 2002-08-30 Nec Corp マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
JP2004005305A (ja) * 2002-06-03 2004-01-08 Hitachi Ltd メモリ使用容量の監視方法及び計算機システム
JP2004213122A (ja) * 2002-12-27 2004-07-29 Idemitsu Kosan Co Ltd クライアント/サーバによる制御システムの安定稼働方法及びそのプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093311A (ja) * 2007-10-05 2009-04-30 Oki Semiconductor Co Ltd ノンストッププログラムシステムおよびそのメモリ断片化回避方法
JP2014010731A (ja) * 2012-07-02 2014-01-20 Hitachi Ltd 計算機、計算機システム、及びioデバイス構成の引継ぎ方法
JP2014170477A (ja) * 2013-03-05 2014-09-18 Mitsubishi Electric Corp 高可用性システム
KR20170003967A (ko) * 2014-05-07 2017-01-10 마벨 월드 트레이드 리미티드 저전력 분산형 메모리 네트워크
KR102345613B1 (ko) 2014-05-07 2021-12-30 마벨 아시아 피티이 엘티디. 저전력 분산형 메모리 네트워크
CN113419864A (zh) * 2021-07-16 2021-09-21 北京字节跳动网络技术有限公司 一种应用内存管理方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
US7293183B2 (en) System for storing working context in a non-volatile memory while in a power-off suspend mode and restoring the working context when the power-off suspend mode is released
JP4938080B2 (ja) マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
JP4515093B2 (ja) Cpuのパワーダウン方法及びそのための装置
US6243831B1 (en) Computer system with power loss protection mechanism
JPH04362717A (ja) システム再起動装置
KR20160146937A (ko) 지속성 있는 메모리 저장을 갖는 펌웨어 인터페이스
JP2007257259A (ja) 情報処理装置、記憶領域クリーンアップ方法およびプログラム
JP2011095916A (ja) 電子機器
JP2008108075A (ja) タスク切替え制御方法及びコンピュータシステム
CN112199681A (zh) 基于多编码模式cpu的代码注入型攻击防护方法及装置
JP2010044460A (ja) 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体
JP2008225859A (ja) Sramシステムおよびsramシステムの制御方法
JP2010108253A (ja) 不揮発性メモリを主記憶に用いた装置
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
JP2005100034A (ja) 情報処理制御システム
JP4698724B2 (ja) プログラム実行装置
JP2006099702A (ja) 情報処理装置およびデータ転送制御方法
US20200285584A1 (en) Cache flush abort controller system and method
CN115993996B (zh) 一种基于rtos实现休眠模式的方法和系统
JP2003216449A (ja) パッチ処理システム
WO2019104479A1 (zh) 判断加载程序的方法以及电子系统
JP2013109559A (ja) 情報処理装置、データ復帰方法
JP2004086556A (ja) マイクロコントローラ
CN111796939B (zh) 一种处理方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110706