JP2003263366A - スワッピング制御方法及びその実施装置並びにその処理プログラム - Google Patents
スワッピング制御方法及びその実施装置並びにその処理プログラムInfo
- Publication number
- JP2003263366A JP2003263366A JP2002066279A JP2002066279A JP2003263366A JP 2003263366 A JP2003263366 A JP 2003263366A JP 2002066279 A JP2002066279 A JP 2002066279A JP 2002066279 A JP2002066279 A JP 2002066279A JP 2003263366 A JP2003263366 A JP 2003263366A
- Authority
- JP
- Japan
- Prior art keywords
- pages
- swap
- area
- program
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 スワッピングを行う際のデータ転送の絶対量
を低減させ、それにより実業務のスループット及び応答
時間を向上させることが可能な技術を提供する。 【解決手段】 スワップアウトが要求された際に主記憶
装置の空きページ数が所定の閾値未満である場合に、そ
の所定の閾値と主記憶装置の空きページ数との差分をス
ワップアウト対象のページ数として設定するステップ
と、スワップアウト要求に対して必要に応じてスワップ
アウト対象のプログラムの処理を停止させて当該プログ
ラムをCPUの割り当てが行われない状態にするステッ
プと、前記設定されたページ数のページのスワップアウ
ト領域への退避及びその退避された主記憶装置上のペー
ジの解放を行うステップと、スワップインが要求された
場合に、主記憶装置上のページの確保及び前記スワップ
アウト領域へ退避されたページの回復を行うステップ
と、スワップイン対象のプログラムの処理を再開させて
当該プログラムをCPUの割り当てが行われる状態にす
るステップとを有するものである。
を低減させ、それにより実業務のスループット及び応答
時間を向上させることが可能な技術を提供する。 【解決手段】 スワップアウトが要求された際に主記憶
装置の空きページ数が所定の閾値未満である場合に、そ
の所定の閾値と主記憶装置の空きページ数との差分をス
ワップアウト対象のページ数として設定するステップ
と、スワップアウト要求に対して必要に応じてスワップ
アウト対象のプログラムの処理を停止させて当該プログ
ラムをCPUの割り当てが行われない状態にするステッ
プと、前記設定されたページ数のページのスワップアウ
ト領域への退避及びその退避された主記憶装置上のペー
ジの解放を行うステップと、スワップインが要求された
場合に、主記憶装置上のページの確保及び前記スワップ
アウト領域へ退避されたページの回復を行うステップ
と、スワップイン対象のプログラムの処理を再開させて
当該プログラムをCPUの割り当てが行われる状態にす
るステップとを有するものである。
Description
【0001】
【発明の属する技術分野】本発明は主記憶装置と補助記
憶装置とを具備し、仮想記憶方式におけるスワッピング
を制御する計算機システムに関し、特にアドレス幅が拡
張された場合のスワッピングを効率的に行う計算機シス
テムに適用して有効な技術に関するものである。
憶装置とを具備し、仮想記憶方式におけるスワッピング
を制御する計算機システムに関し、特にアドレス幅が拡
張された場合のスワッピングを効率的に行う計算機シス
テムに適用して有効な技術に関するものである。
【0002】
【従来の技術】従来の計算機システムでは、そのシステ
ム上で実行する業務処理の効率化の為に、アドレス幅を
拡張し、システム上に展開できる仮想記憶サイズの拡大
や、システム上で利用できる実記憶サイズの拡大を図っ
ている。
ム上で実行する業務処理の効率化の為に、アドレス幅を
拡張し、システム上に展開できる仮想記憶サイズの拡大
や、システム上で利用できる実記憶サイズの拡大を図っ
ている。
【0003】計算機システム上に展開される仮想記憶の
総容量が、実装された実記憶装置の容量よりも小さけれ
ば、全ての仮想記憶域を実記憶装置上に配置することが
できるが、一般的には仮想記憶容量の方が大きい。
総容量が、実装された実記憶装置の容量よりも小さけれ
ば、全ての仮想記憶域を実記憶装置上に配置することが
できるが、一般的には仮想記憶容量の方が大きい。
【0004】そこで、仮想記憶容量が実記憶容量よりも
大きいシステムにおいて、オペレーティングシステム
は、仮想記憶を実記憶装置と補助記憶装置を用いて展開
し、個々のプログラムの実行時に必要な仮想記憶域を実
記憶装置上に配置し、不要な仮想記憶域を補助記憶装置
上に配置する仮想記憶方式を採用している。この様な仮
想記憶域の動的な配置は、ページングやスワッピングと
いった操作によって実現される。ここで、ページングと
は、実記憶装置の管理サイズ単位に、実記憶装置と補助
記憶装置との間でデータを転送する操作であり、また、
スワッピングとは、多重の仮想記憶空間を配置すること
が可能な計算機システムにおいて、個々の空間単位に動
的に配置場所を決定する操作である。
大きいシステムにおいて、オペレーティングシステム
は、仮想記憶を実記憶装置と補助記憶装置を用いて展開
し、個々のプログラムの実行時に必要な仮想記憶域を実
記憶装置上に配置し、不要な仮想記憶域を補助記憶装置
上に配置する仮想記憶方式を採用している。この様な仮
想記憶域の動的な配置は、ページングやスワッピングと
いった操作によって実現される。ここで、ページングと
は、実記憶装置の管理サイズ単位に、実記憶装置と補助
記憶装置との間でデータを転送する操作であり、また、
スワッピングとは、多重の仮想記憶空間を配置すること
が可能な計算機システムにおいて、個々の空間単位に動
的に配置場所を決定する操作である。
【0005】この様な仮想記憶方式では、複数存在する
仮想記憶空間を特開昭62−296237号公報で示さ
れる様な多重度制御によりスワッピングを行い、複数の
プログラムの実行が可能な環境を提供している。
仮想記憶空間を特開昭62−296237号公報で示さ
れる様な多重度制御によりスワッピングを行い、複数の
プログラムの実行が可能な環境を提供している。
【0006】しかし、総仮想記憶容量と実装実記憶容量
の比を一定としたままでシステム規模を拡大すると、上
記ページングや上記スワッピングといった実記憶装置と
補助記憶装置間でのデータ転送の絶対量が増加し、オペ
レーティングシステムの処理オーバーヘッドは膨大なも
のになる。特に、急激にページングやスワッピング量が
増加すると、それに伴い実業務のスループットや応答時
間を急激に劣化させる要因となる為、これを回避しなけ
ればならない。
の比を一定としたままでシステム規模を拡大すると、上
記ページングや上記スワッピングといった実記憶装置と
補助記憶装置間でのデータ転送の絶対量が増加し、オペ
レーティングシステムの処理オーバーヘッドは膨大なも
のになる。特に、急激にページングやスワッピング量が
増加すると、それに伴い実業務のスループットや応答時
間を急激に劣化させる要因となる為、これを回避しなけ
ればならない。
【0007】すなわち、上述した様な、アドレス幅を拡
張し、規模を拡大した計算機システムでは、ページング
やスワッピングによる実記憶装置と補助記憶装置間のデ
ータ転送に関して、これらデータ転送の絶対量を軽減す
る手法や、データ転送の発生頻度を分散させる手法が必
要となる。
張し、規模を拡大した計算機システムでは、ページング
やスワッピングによる実記憶装置と補助記憶装置間のデ
ータ転送に関して、これらデータ転送の絶対量を軽減す
る手法や、データ転送の発生頻度を分散させる手法が必
要となる。
【0008】こうした技術課題を解決する為の手法とし
て、特開平5−61774号公報に記載の技術がある。
特開平5−61774号公報では、スワップアウトする
仮想記憶空間の仮想記憶域を、複数のグループに分割
し、そのグループ単位に分けて補助記憶装置にデータ転
送することにより、スワップアウトの負荷を分散する方
法を開示している。
て、特開平5−61774号公報に記載の技術がある。
特開平5−61774号公報では、スワップアウトする
仮想記憶空間の仮想記憶域を、複数のグループに分割
し、そのグループ単位に分けて補助記憶装置にデータ転
送することにより、スワップアウトの負荷を分散する方
法を開示している。
【0009】同様に、上記課題を解決する為の手法とし
て、特開平5−94315号公報に記載されている論理
スワッピングがある。特開平5−94315号公報で
は、予め、スワップアウト可能な仮想記憶空間の候補を
挙げておき、実記憶装置の利用率が高くなった時に、実
際に当該仮想記憶空間が利用している実記憶域のデータ
を補助記憶装置にデータ転送する方法を開示している。
て、特開平5−94315号公報に記載されている論理
スワッピングがある。特開平5−94315号公報で
は、予め、スワップアウト可能な仮想記憶空間の候補を
挙げておき、実記憶装置の利用率が高くなった時に、実
際に当該仮想記憶空間が利用している実記憶域のデータ
を補助記憶装置にデータ転送する方法を開示している。
【0010】
【発明が解決しようとする課題】前記の様にアーキテク
チャの拡張によりアドレス幅が拡張されると仮想記憶容
量の増加によりプログラムサイズが大きくなってスワッ
ピングの際のデータ転送の絶対量が増大する。また、シ
ステム規模が拡大されると、プログラムが処理するため
に実記憶装置上に配置するデータの増加により、前記同
様スワッピングの際のデータ転送の絶対量が増大する。
上記の従来の技術では、これらの場合のスワッピング量
増大化を抑制する為の考慮がなされていなかった。
チャの拡張によりアドレス幅が拡張されると仮想記憶容
量の増加によりプログラムサイズが大きくなってスワッ
ピングの際のデータ転送の絶対量が増大する。また、シ
ステム規模が拡大されると、プログラムが処理するため
に実記憶装置上に配置するデータの増加により、前記同
様スワッピングの際のデータ転送の絶対量が増大する。
上記の従来の技術では、これらの場合のスワッピング量
増大化を抑制する為の考慮がなされていなかった。
【0011】またアドレス幅が拡張されたシステムで、
拡張前に作成されたプログラムを変更せずに動作させる
為には、そのプログラムが動作時にアクセスする領域
を、そのプログラムが表現できるアドレス幅の領域に配
置しなければならない。特に、プログラムが利用する仮
想記憶域を実記憶装置上に常駐化して当該領域を実記憶
装置上のアドレスでアクセスする様な場合に備え、常駐
化が行われる場合にはそのプログラムがアクセスできる
アドレス幅の領域に当該ページを配置しなければならな
い。
拡張前に作成されたプログラムを変更せずに動作させる
為には、そのプログラムが動作時にアクセスする領域
を、そのプログラムが表現できるアドレス幅の領域に配
置しなければならない。特に、プログラムが利用する仮
想記憶域を実記憶装置上に常駐化して当該領域を実記憶
装置上のアドレスでアクセスする様な場合に備え、常駐
化が行われる場合にはそのプログラムがアクセスできる
アドレス幅の領域に当該ページを配置しなければならな
い。
【0012】この様に、実記憶及び仮想記憶のアドレス
幅が拡張されたとしても、全てのプログラムが拡張され
た領域を制限無く利用できるわけではない。特に、実記
憶に関しては、アドレス幅の拡張を行う前に作成された
プログラムの動作を保証する為に、小さなアドレス幅で
表現できる第一の領域の利用率が、それ以外の第二の領
域に比べて高くなることが想定できる。
幅が拡張されたとしても、全てのプログラムが拡張され
た領域を制限無く利用できるわけではない。特に、実記
憶に関しては、アドレス幅の拡張を行う前に作成された
プログラムの動作を保証する為に、小さなアドレス幅で
表現できる第一の領域の利用率が、それ以外の第二の領
域に比べて高くなることが想定できる。
【0013】そして、大きなアドレス幅で表現する領域
の利用率が低いにもかかわらず、こうした局所的な負荷
の増加の為にスワッピングが発生し、システム全体とし
ては、この操作の為の入出力動作が増大化するという課
題が発生する。
の利用率が低いにもかかわらず、こうした局所的な負荷
の増加の為にスワッピングが発生し、システム全体とし
ては、この操作の為の入出力動作が増大化するという課
題が発生する。
【0014】本発明の目的は上記問題を解決し、スワッ
ピングを行う際のデータ転送の絶対量を低減させ、それ
により実業務のスループット及び応答時間を向上させる
ことが可能な技術を提供することにある。
ピングを行う際のデータ転送の絶対量を低減させ、それ
により実業務のスループット及び応答時間を向上させる
ことが可能な技術を提供することにある。
【0015】本発明の他の目的は特定のアドレス幅で表
現される特定の領域のみで動作可能なプログラムのスワ
ッピングに必要なデータ転送時間を短縮し、それにより
実業務のスループット及び応答時間を向上させることが
可能な技術を提供することにある。
現される特定の領域のみで動作可能なプログラムのスワ
ッピングに必要なデータ転送時間を短縮し、それにより
実業務のスループット及び応答時間を向上させることが
可能な技術を提供することにある。
【0016】
【課題を解決するための手段】本発明は、主記憶装置と
補助記憶装置とを具備し、仮想記憶方式におけるスワッ
ピングを制御する計算機システムにおいて、スワッピン
グが要求された場合に所定の閾値と主記憶装置の空きペ
ージ数との差分で設定されたページ数のページについて
スワッピングを行うものである。
補助記憶装置とを具備し、仮想記憶方式におけるスワッ
ピングを制御する計算機システムにおいて、スワッピン
グが要求された場合に所定の閾値と主記憶装置の空きペ
ージ数との差分で設定されたページ数のページについて
スワッピングを行うものである。
【0017】本発明の計算機システムでは、スワップア
ウトが要求されると、主記憶装置の空きページ数が所定
の閾値未満であるかどうかを調べ、前記空きページ数が
所定の閾値未満である場合には、その所定の閾値と主記
憶装置の空きページ数との差分をスワップアウト対象の
ページ数として設定する。
ウトが要求されると、主記憶装置の空きページ数が所定
の閾値未満であるかどうかを調べ、前記空きページ数が
所定の閾値未満である場合には、その所定の閾値と主記
憶装置の空きページ数との差分をスワップアウト対象の
ページ数として設定する。
【0018】次に、スワップアウト要求に対して必要に
応じてスワップアウト対象のプログラムの処理を停止さ
せて当該プログラムをCPUの割り当てが行われない状
態にした後、前記設定されたページ数のページをスワッ
プアウト領域へ退避すると共に、その退避された主記憶
装置上のページの解放を行う。
応じてスワップアウト対象のプログラムの処理を停止さ
せて当該プログラムをCPUの割り当てが行われない状
態にした後、前記設定されたページ数のページをスワッ
プアウト領域へ退避すると共に、その退避された主記憶
装置上のページの解放を行う。
【0019】そして、スワップインが要求された場合に
は、主記憶装置上のページを確保した後、前記スワップ
アウト領域へ退避されたページをその確保した主記憶装
置上のページへ回復し、スワップイン対象のプログラム
の処理を再開させて当該プログラムをCPUの割り当て
が行われる状態にする。
は、主記憶装置上のページを確保した後、前記スワップ
アウト領域へ退避されたページをその確保した主記憶装
置上のページへ回復し、スワップイン対象のプログラム
の処理を再開させて当該プログラムをCPUの割り当て
が行われる状態にする。
【0020】前記の様に本発明では、主記憶装置の空き
ページ不足を解消する為に必要なページ数分のデータを
スワッピング領域に退避し、一部のページについては引
き続き主記憶装置上に保持するので、スワッピングを行
う場合に、データ転送の絶対量を低減させ、それにより
実業務のスループット及び応答時間を向上させることが
できる。
ページ不足を解消する為に必要なページ数分のデータを
スワッピング領域に退避し、一部のページについては引
き続き主記憶装置上に保持するので、スワッピングを行
う場合に、データ転送の絶対量を低減させ、それにより
実業務のスループット及び応答時間を向上させることが
できる。
【0021】また本発明では、スワップアウトが要求さ
れた際に、特定のアドレス幅で表現される主記憶装置の
第一の領域における空きページ数が所定の閾値未満であ
り、前記第一の領域よりも上位のアドレスに位置する第
二の領域における空きページ数が前記設定されたページ
数以上である場合にスワップアウト領域を前記第二の領
域とし、スワップアウト対象のページを第二の領域の空
きページへ移動させる中間スワッピングを行う。
れた際に、特定のアドレス幅で表現される主記憶装置の
第一の領域における空きページ数が所定の閾値未満であ
り、前記第一の領域よりも上位のアドレスに位置する第
二の領域における空きページ数が前記設定されたページ
数以上である場合にスワップアウト領域を前記第二の領
域とし、スワップアウト対象のページを第二の領域の空
きページへ移動させる中間スワッピングを行う。
【0022】この様に本発明では、特定のアドレス幅で
表現される主記憶装置の第一の領域の空きが不足し、そ
れ以外の第二の領域に空きがある場合に、第一の領域の
ページを第二の領域に移動させる中間スワッピングを行
うので、特定のアドレス幅で表現される第一の領域のみ
で動作可能なプログラムのスワッピングに必要なデータ
転送時間を短縮し、それにより実業務のスループット及
び応答時間を向上させることができる。
表現される主記憶装置の第一の領域の空きが不足し、そ
れ以外の第二の領域に空きがある場合に、第一の領域の
ページを第二の領域に移動させる中間スワッピングを行
うので、特定のアドレス幅で表現される第一の領域のみ
で動作可能なプログラムのスワッピングに必要なデータ
転送時間を短縮し、それにより実業務のスループット及
び応答時間を向上させることができる。
【0023】以上の様に本発明の計算機システムによれ
ば、スワッピングが要求された場合に所定の閾値と主記
憶装置の空きページ数との差分で設定されたページ数の
ページについてスワッピングを行うので、スワッピング
を行う際のデータ転送の絶対量を低減させ、それにより
実業務のスループット及び応答時間を向上させることが
可能である。
ば、スワッピングが要求された場合に所定の閾値と主記
憶装置の空きページ数との差分で設定されたページ数の
ページについてスワッピングを行うので、スワッピング
を行う際のデータ転送の絶対量を低減させ、それにより
実業務のスループット及び応答時間を向上させることが
可能である。
【0024】
【発明の実施の形態】以下に主記憶装置と補助記憶装置
とを具備し、仮想記憶方式におけるスワッピングを制御
する一実施形態の計算機システムについて説明する。本
実施形態では、スワップアウトの際に補助記憶に出力す
る従来のスワップアウトを物理スワップアウト、本発明
で新設した、主記憶装置上の第一の領域から第二の領域
へ移動させるスワップアウトを中間スワップアウトと呼
ぶものとして説明を行う。また、スワッピングに伴って
空間に割り当てられたページの退避・回復を補助記憶に
対して行い、必要に応じて主記憶装置のページの解放・
確保を行う処理は、従来のスワッピングの中で行ってい
た処理と同様であり、スワッピングの要求を出す処理に
ついては、従来技術で示したものと同様であるものとす
る。
とを具備し、仮想記憶方式におけるスワッピングを制御
する一実施形態の計算機システムについて説明する。本
実施形態では、スワップアウトの際に補助記憶に出力す
る従来のスワップアウトを物理スワップアウト、本発明
で新設した、主記憶装置上の第一の領域から第二の領域
へ移動させるスワップアウトを中間スワップアウトと呼
ぶものとして説明を行う。また、スワッピングに伴って
空間に割り当てられたページの退避・回復を補助記憶に
対して行い、必要に応じて主記憶装置のページの解放・
確保を行う処理は、従来のスワッピングの中で行ってい
た処理と同様であり、スワッピングの要求を出す処理に
ついては、従来技術で示したものと同様であるものとす
る。
【0025】図1は本実施形態の計算機システムの概略
構成を示す図である。図1に示す様に本実施形態の計算
機1000は、スワッピング管理部600と、空間非活
性化部700と、主記憶割り当て部800と、空間活性
化部900とを有している。
構成を示す図である。図1に示す様に本実施形態の計算
機1000は、スワッピング管理部600と、空間非活
性化部700と、主記憶割り当て部800と、空間活性
化部900とを有している。
【0026】スワッピング管理部600は、スワップア
ウトが要求された際に主記憶装置の空きページ数が所定
の閾値未満である場合に、その所定の閾値と主記憶装置
の空きページ数との差分をスワップアウト対象のページ
数として設定する処理部である。
ウトが要求された際に主記憶装置の空きページ数が所定
の閾値未満である場合に、その所定の閾値と主記憶装置
の空きページ数との差分をスワップアウト対象のページ
数として設定する処理部である。
【0027】空間非活性化部700は、スワップアウト
要求に対して必要に応じてスワップアウト対象のプログ
ラムの処理を停止させて当該プログラムをCPU110
0の割り当てが行われない状態にする処理部である。
要求に対して必要に応じてスワップアウト対象のプログ
ラムの処理を停止させて当該プログラムをCPU110
0の割り当てが行われない状態にする処理部である。
【0028】主記憶割り当て部800は、スワップアウ
トが要求された場合に、前記設定されたページ数のペー
ジのスワップアウト領域への退避及びその退避された主
記憶装置上のページの解放を行い、スワップインが要求
された場合に、主記憶装置上のページの確保及び前記ス
ワップアウト領域へ退避されたページの回復を行う処理
部である。空間活性化部900は、スワップイン対象の
プログラムの処理を再開させて当該プログラムをCPU
1100の割り当てが行われる状態にする処理部であ
る。
トが要求された場合に、前記設定されたページ数のペー
ジのスワップアウト領域への退避及びその退避された主
記憶装置上のページの解放を行い、スワップインが要求
された場合に、主記憶装置上のページの確保及び前記ス
ワップアウト領域へ退避されたページの回復を行う処理
部である。空間活性化部900は、スワップイン対象の
プログラムの処理を再開させて当該プログラムをCPU
1100の割り当てが行われる状態にする処理部であ
る。
【0029】スワッピング管理部600は、入力パラメ
タ200を基に中間スワップアウト等の処理の切り分け
を行う。空間非活性化部700は、中間スワップアウト
要求であった場合にスワッピング管理部600から処理
を渡され、対象となる空間で発生した処理中の入出力を
停止させ、ジョブを停止させてCPU1100の割り当
てが行われない様にし、スワップアウトできる状態にす
る。
タ200を基に中間スワップアウト等の処理の切り分け
を行う。空間非活性化部700は、中間スワップアウト
要求であった場合にスワッピング管理部600から処理
を渡され、対象となる空間で発生した処理中の入出力を
停止させ、ジョブを停止させてCPU1100の割り当
てが行われない様にし、スワップアウトできる状態にす
る。
【0030】主記憶割り当て部800は、空間非活性化
部700またはスワッピング管理部600から処理を渡
され、対象となる空間に割り当てられたページの情報の
退避又は回復を補助記憶装置1600に対して行い、そ
れに合わせてページの解放又は確保を行う。空間活性化
部900は、スワップイン要求であった場合に主記憶割
り当て部800の後に処理を渡され、対象となる空間で
実行中のジョブを再開させてCPU1100の割り当て
を可能にし、空間非活性化部700で処理を停止させた
入出力を再開させる。
部700またはスワッピング管理部600から処理を渡
され、対象となる空間に割り当てられたページの情報の
退避又は回復を補助記憶装置1600に対して行い、そ
れに合わせてページの解放又は確保を行う。空間活性化
部900は、スワップイン要求であった場合に主記憶割
り当て部800の後に処理を渡され、対象となる空間で
実行中のジョブを再開させてCPU1100の割り当て
を可能にし、空間非活性化部700で処理を停止させた
入出力を再開させる。
【0031】計算機1000をスワッピング管理部60
0、空間非活性化部700、主記憶割り当て部800及
び空間活性化部900として機能させる為のプログラム
は、CD−ROM等の記録媒体に記録され磁気ディスク
等に格納された後、メモリにロードされて実行されるも
のとする。なお前記プログラムを記録する記録媒体はC
D−ROM以外の他の記録媒体でも良い。また前記プロ
グラムを当該記録媒体から情報処理装置にインストール
して使用しても良いし、ネットワークを通じて当該記録
媒体にアクセスして前記プログラムを使用するものとし
ても良い。
0、空間非活性化部700、主記憶割り当て部800及
び空間活性化部900として機能させる為のプログラム
は、CD−ROM等の記録媒体に記録され磁気ディスク
等に格納された後、メモリにロードされて実行されるも
のとする。なお前記プログラムを記録する記録媒体はC
D−ROM以外の他の記録媒体でも良い。また前記プロ
グラムを当該記録媒体から情報処理装置にインストール
して使用しても良いし、ネットワークを通じて当該記録
媒体にアクセスして前記プログラムを使用するものとし
ても良い。
【0032】図1では本実施形態の計算機システムの構
成を表しており、計算機1000は、CPU1100及
び主記憶装置1200から成っている。また、計算機1
000は補助記憶装置1600を有し、主記憶装置12
00上に配置しきれない情報を補助記憶装置1600に
保持しておく。
成を表しており、計算機1000は、CPU1100及
び主記憶装置1200から成っている。また、計算機1
000は補助記憶装置1600を有し、主記憶装置12
00上に配置しきれない情報を補助記憶装置1600に
保持しておく。
【0033】主記憶装置1200上に配置されたOS1
300は、CPU1100で実行され、仮想記憶空間1
500上のジョブ(ユーザープログラム)を起動し、仮
想記憶空間1500の資源管理を行う等の作業をする。
仮想記憶空間1500は、主記憶装置1200上に複数
配置することが可能である。
300は、CPU1100で実行され、仮想記憶空間1
500上のジョブ(ユーザープログラム)を起動し、仮
想記憶空間1500の資源管理を行う等の作業をする。
仮想記憶空間1500は、主記憶装置1200上に複数
配置することが可能である。
【0034】また、計算機1000は初期設定パラメタ
1700を格納した補助記憶装置1601を有してお
り、主記憶装置1200を不足と判定する為の閾値とい
ったOS1300が動作するのに必要な初期設定値を、
初期設定パラメタ1700で指定することができる。
1700を格納した補助記憶装置1601を有してお
り、主記憶装置1200を不足と判定する為の閾値とい
ったOS1300が動作するのに必要な初期設定値を、
初期設定パラメタ1700で指定することができる。
【0035】主記憶装置1200は、特定のアドレス幅
で表現される第一の領域1201と、第一の領域120
1よりも上位のアドレスに位置する第二の領域1202
から成る。例えば、32ビットのアドレス幅を64ビッ
トに拡張した場合、32ビットのアドレス幅で表現され
る領域が第一の領域1201となり、64ビットのアド
レス幅で表現される領域の内、第一の領域1201を除
いた領域が第二の領域1202となる。
で表現される第一の領域1201と、第一の領域120
1よりも上位のアドレスに位置する第二の領域1202
から成る。例えば、32ビットのアドレス幅を64ビッ
トに拡張した場合、32ビットのアドレス幅で表現され
る領域が第一の領域1201となり、64ビットのアド
レス幅で表現される領域の内、第一の領域1201を除
いた領域が第二の領域1202となる。
【0036】仮想記憶空間1500は、第一の領域12
01上に配置しなければならない第一種のページ150
1と、主記憶装置1200上のいずれの領域でも配置可
能な第二種のページ1502から成る。また、仮想記憶
空間1500に割り当てたページの管理をする為の情報
を格納した主記憶割り当て管理テーブル500が空間毎
に用意されている。ここで第一の領域1201上に配置
しなければならない第一種のページ1501とは、第一
の領域1201のアドレス幅を前提として作成されたプ
ログラムの内、仮想記憶領域の実記憶装置上への常駐化
が行われるI/O処理プログラム等、拡張前のアドレス
幅のアドレスを直接扱う処理を含むプログラムのページ
を指すものとし、第一種のページ1501は、その動作
を保証する為に第一の領域1201上への配置が行われ
るものとする。
01上に配置しなければならない第一種のページ150
1と、主記憶装置1200上のいずれの領域でも配置可
能な第二種のページ1502から成る。また、仮想記憶
空間1500に割り当てたページの管理をする為の情報
を格納した主記憶割り当て管理テーブル500が空間毎
に用意されている。ここで第一の領域1201上に配置
しなければならない第一種のページ1501とは、第一
の領域1201のアドレス幅を前提として作成されたプ
ログラムの内、仮想記憶領域の実記憶装置上への常駐化
が行われるI/O処理プログラム等、拡張前のアドレス
幅のアドレスを直接扱う処理を含むプログラムのページ
を指すものとし、第一種のページ1501は、その動作
を保証する為に第一の領域1201上への配置が行われ
るものとする。
【0037】OS1300上には、スワッピング要求を
出すスワッピング起動部1400、スワッピング要求を
スワッピング部100が受け取る為の入力パラメタ20
0、主記憶装置1200の使用状況情報を保持している
空きページ数情報300、主記憶装置1200の負荷状
況を判断する為の閾値400、上記の主記憶割り当て管
理テーブル500と、スワッピング部100が配置され
ている。本実施形態のスワッピング部100は、スワッ
ピング管理部600、空間非活性化部700、主記憶割
り当て部800、空間活性化部900から成っている。
出すスワッピング起動部1400、スワッピング要求を
スワッピング部100が受け取る為の入力パラメタ20
0、主記憶装置1200の使用状況情報を保持している
空きページ数情報300、主記憶装置1200の負荷状
況を判断する為の閾値400、上記の主記憶割り当て管
理テーブル500と、スワッピング部100が配置され
ている。本実施形態のスワッピング部100は、スワッ
ピング管理部600、空間非活性化部700、主記憶割
り当て部800、空間活性化部900から成っている。
【0038】図2は本実施形態の入力パラメタ200の
構成を示す図である。図2の様に入力パラメタ200に
は、スワッピング要求の対象となっている空間のスワッ
ピングに関する情報が格納されている。
構成を示す図である。図2の様に入力パラメタ200に
は、スワッピング要求の対象となっている空間のスワッ
ピングに関する情報が格納されている。
【0039】スワッピング空間指定領域201は、スワ
ッピング要求の対象となっている空間を識別する為の空
間識別子を格納した領域である。スワッピング種別20
2は、要求がスワップアウトであるかスワップインであ
るかを指定した情報を格納した領域である。
ッピング要求の対象となっている空間を識別する為の空
間識別子を格納した領域である。スワッピング種別20
2は、要求がスワップアウトであるかスワップインであ
るかを指定した情報を格納した領域である。
【0040】移動対象ページの種類203は、第一種の
ページ1501を移動するか、第二種のページ1502
を移動するか、両方を対象とするかを指定した情報を格
納する領域である。移動先204は、移動対象ページの
種類203により指定されたページを、どこに出力する
かを指定した情報を格納する領域である。第一種のペー
ジ1501を第二の領域1202に移動させる場合は、
第二の領域1202を示す情報が指定され、それ以外の
場合には補助記憶装置1600を示す情報が指定され
る。移動させるページ数205は、移動させて解放する
ページ数を格納する領域である。
ページ1501を移動するか、第二種のページ1502
を移動するか、両方を対象とするかを指定した情報を格
納する領域である。移動先204は、移動対象ページの
種類203により指定されたページを、どこに出力する
かを指定した情報を格納する領域である。第一種のペー
ジ1501を第二の領域1202に移動させる場合は、
第二の領域1202を示す情報が指定され、それ以外の
場合には補助記憶装置1600を示す情報が指定され
る。移動させるページ数205は、移動させて解放する
ページ数を格納する領域である。
【0041】スワッピング空間指定領域201とスワッ
ピング種別202は、スワッピング起動部1400によ
り指定される。それ以外の情報はスワッピング管理部6
00で記述する。
ピング種別202は、スワッピング起動部1400によ
り指定される。それ以外の情報はスワッピング管理部6
00で記述する。
【0042】図3は本実施形態の空きページ数情報30
0の構成を示す図である。図3に示す様に空きページ数
情報300は、主記憶装置1200の第一の領域120
1の空きページ数を第一の領域の空きページ数301に
保持し、主記憶装置1200の第二の領域1202の空
きページ数を、第二の領域の空きページ数302に保持
している。
0の構成を示す図である。図3に示す様に空きページ数
情報300は、主記憶装置1200の第一の領域120
1の空きページ数を第一の領域の空きページ数301に
保持し、主記憶装置1200の第二の領域1202の空
きページ数を、第二の領域の空きページ数302に保持
している。
【0043】図4は本実施形態の閾値400の構成を示
す図である。図4に示す様に閾値400は、主記憶装置
1200の第一の領域1201を不足と見做す空きペー
ジ数の閾値を第一の領域の閾値401に保持し、主記憶
装置1200の第二の領域1202を不足と見做す空き
ページ数の閾値を、第二の領域の閾値402に保持して
いる。
す図である。図4に示す様に閾値400は、主記憶装置
1200の第一の領域1201を不足と見做す空きペー
ジ数の閾値を第一の領域の閾値401に保持し、主記憶
装置1200の第二の領域1202を不足と見做す空き
ページ数の閾値を、第二の領域の閾値402に保持して
いる。
【0044】図5は本実施形態の主記憶割り当て管理テ
ーブル500の構成を示す図である。図5に示す様に主
記憶割り当て管理テーブル500は、空間単位に設けら
れ、使用している記憶資源の管理を行う為の情報を格納
している。図5の空間識別子501は、その管理テーブ
ルがどの空間に対応しているかを示しており、スワッピ
ング状態情報格納領域502は、その空間がスワップイ
ンしている状態であるか、またはスワップアウトされて
いる状態であるかを示している。
ーブル500の構成を示す図である。図5に示す様に主
記憶割り当て管理テーブル500は、空間単位に設けら
れ、使用している記憶資源の管理を行う為の情報を格納
している。図5の空間識別子501は、その管理テーブ
ルがどの空間に対応しているかを示しており、スワッピ
ング状態情報格納領域502は、その空間がスワップイ
ンしている状態であるか、またはスワップアウトされて
いる状態であるかを示している。
【0045】第一種のページのページ数503は、その
空間に第一種のページ1501として割り当てられてい
る第一の領域1201のページ数を格納している。第一
種のページのページ管理テーブルの先頭保持領域504
は、その空間に第一種のページ1501として割り当て
られている第一の領域1201のページの、ページ管理
テーブルの先頭を指し示すポインタを格納する領域であ
り、次のテーブルへのポインタを各テーブルに格納する
ことにより複数のページ管理テーブルを順次指し示すも
のとする。またこのページ管理テーブルには、仮想記憶
上のページが実記憶上のどのページに割り当てられてい
るかを示す情報を格納しているものとする。
空間に第一種のページ1501として割り当てられてい
る第一の領域1201のページ数を格納している。第一
種のページのページ管理テーブルの先頭保持領域504
は、その空間に第一種のページ1501として割り当て
られている第一の領域1201のページの、ページ管理
テーブルの先頭を指し示すポインタを格納する領域であ
り、次のテーブルへのポインタを各テーブルに格納する
ことにより複数のページ管理テーブルを順次指し示すも
のとする。またこのページ管理テーブルには、仮想記憶
上のページが実記憶上のどのページに割り当てられてい
るかを示す情報を格納しているものとする。
【0046】第二種のページのページ数505は、その
空間に第二種のページ1502として割り当てられてい
るページ数を格納している。第二種のページのページ管
理テーブルの先頭保持領域506は、その空間に第二種
のページ1502として割り当てられているページのペ
ージ管理テーブルの先頭を指し示すアドレスを格納する
領域である。
空間に第二種のページ1502として割り当てられてい
るページ数を格納している。第二種のページのページ管
理テーブルの先頭保持領域506は、その空間に第二種
のページ1502として割り当てられているページのペ
ージ管理テーブルの先頭を指し示すアドレスを格納する
領域である。
【0047】移動した第一種のページのページ数507
は、その空間に第一種のページ1501として割り当て
られ、第二の領域1202へ中間スワップアウトされた
ページのページ数を格納している。移動した第一種のペ
ージのページ管理テーブルの先頭保持領域508は、そ
の空間に第一種のページ1501として割り当てられ、
第二の領域1202へ中間スワップアウトされたページ
の、ページ管理テーブルの先頭を指し示すアドレスを格
納する領域である。
は、その空間に第一種のページ1501として割り当て
られ、第二の領域1202へ中間スワップアウトされた
ページのページ数を格納している。移動した第一種のペ
ージのページ管理テーブルの先頭保持領域508は、そ
の空間に第一種のページ1501として割り当てられ、
第二の領域1202へ中間スワップアウトされたページ
の、ページ管理テーブルの先頭を指し示すアドレスを格
納する領域である。
【0048】図6は本実施形態のスワッピング管理処理
の処理手順を示すフローチャートである。図6に示す様
に計算機1000のスワッピング管理部600は、スワ
ップアウトが要求された際に、特定のアドレス幅で表現
される主記憶装置の第一の領域1201における空きペ
ージ数が第一の領域の閾値401未満であり、第二の領
域1202における空きページ数がスワップアウト対象
のページ数以上である場合にスワップアウト領域を第二
の領域1202とする処理を行う。
の処理手順を示すフローチャートである。図6に示す様
に計算機1000のスワッピング管理部600は、スワ
ップアウトが要求された際に、特定のアドレス幅で表現
される主記憶装置の第一の領域1201における空きペ
ージ数が第一の領域の閾値401未満であり、第二の領
域1202における空きページ数がスワップアウト対象
のページ数以上である場合にスワップアウト領域を第二
の領域1202とする処理を行う。
【0049】計算機1000のスワッピング起動部14
00は、主記憶装置1200にロードされたプログラム
のI/O待ち時間が所定の値に達したり、リソースの使
用率が所定の割合に達すると、スワッピング部100に
対してスワッピングを要求する。
00は、主記憶装置1200にロードされたプログラム
のI/O待ち時間が所定の値に達したり、リソースの使
用率が所定の割合に達すると、スワッピング部100に
対してスワッピングを要求する。
【0050】ステップ601でスワッピング部100の
スワッピング管理部600は、スワッピング起動部14
00からスワッピング要求を受け取ると、入力パラメタ
200のスワッピング種別202から、その要求がスワ
ップアウトであるか否かを判定し、上記判定の結果が真
であった場合にはステップ602へ進む。
スワッピング管理部600は、スワッピング起動部14
00からスワッピング要求を受け取ると、入力パラメタ
200のスワッピング種別202から、その要求がスワ
ップアウトであるか否かを判定し、上記判定の結果が真
であった場合にはステップ602へ進む。
【0051】ステップ602では、第一の領域の閾値4
01と第一の領域の空きページ数301との比較及び第
二の領域の閾値402と第二の領域の空きページ数30
2との比較を行って、第一の領域1201のみがメモリ
不足であるか否かを判定し、上記判定の結果が真であっ
た場合にはステップ603へ進む。
01と第一の領域の空きページ数301との比較及び第
二の領域の閾値402と第二の領域の空きページ数30
2との比較を行って、第一の領域1201のみがメモリ
不足であるか否かを判定し、上記判定の結果が真であっ
た場合にはステップ603へ進む。
【0052】ステップ603では、移動対象ページの種
類203に、第一の領域1201であることを示す情報
を設定する。次にステップ604では、第一の領域の閾
値401と第一の領域の空きページ数301の差分か
ら、第一の領域の空きページ数301を第一の領域の閾
値401以上にするのに必要なページ数を算出し、移動
させるページ数205に設定する。
類203に、第一の領域1201であることを示す情報
を設定する。次にステップ604では、第一の領域の閾
値401と第一の領域の空きページ数301の差分か
ら、第一の領域の空きページ数301を第一の領域の閾
値401以上にするのに必要なページ数を算出し、移動
させるページ数205に設定する。
【0053】ステップ607では、第二の領域の空きペ
ージ数302と移動させるページ数205とを比較し
て、移動させる為に必要な空きページが第二の領域12
02にあるか否かを判定し、上記判定の結果が真であっ
た場合にはステップ608へ進む。ステップ608で
は、移動先204に第二の領域1202であることを示
す情報を設定し、その後、ステップ610以降の処理を
継続する。
ージ数302と移動させるページ数205とを比較し
て、移動させる為に必要な空きページが第二の領域12
02にあるか否かを判定し、上記判定の結果が真であっ
た場合にはステップ608へ進む。ステップ608で
は、移動先204に第二の領域1202であることを示
す情報を設定し、その後、ステップ610以降の処理を
継続する。
【0054】一方、ステップ602の判定の結果が偽で
あった場合にはステップ605へ進み、移動対象ページ
の種類203に、第一の領域1201及び第二の領域1
202であることを示す情報を設定する。
あった場合にはステップ605へ進み、移動対象ページ
の種類203に、第一の領域1201及び第二の領域1
202であることを示す情報を設定する。
【0055】ステップ606では、第一の領域の閾値4
01と第一の領域の空きページ数301の差分から、第
一の領域の空きページ数301を第一の領域の閾値40
1以上にするのに必要なページ数を算出し、また第二の
領域の閾値402と第二の領域の空きページ数302の
差分から、第二の領域の空きページ数302を第二の領
域の閾値402以上にするのに必要なページ数を算出
し、移動させるページ数205に設定する。
01と第一の領域の空きページ数301の差分から、第
一の領域の空きページ数301を第一の領域の閾値40
1以上にするのに必要なページ数を算出し、また第二の
領域の閾値402と第二の領域の空きページ数302の
差分から、第二の領域の空きページ数302を第二の領
域の閾値402以上にするのに必要なページ数を算出
し、移動させるページ数205に設定する。
【0056】ステップ606の後、又は、ステップ60
7の判定の結果が偽であった場合にはステップ609へ
進み、移動先204に補助記憶装置1600であること
を示す情報を設定する。
7の判定の結果が偽であった場合にはステップ609へ
進み、移動先204に補助記憶装置1600であること
を示す情報を設定する。
【0057】ステップ610では、スワッピング空間指
定領域201で示されたスワッピング対象となる空間の
主記憶割り当て管理テーブル500内のスワッピング状
態情報格納領域502を参照して、その空間がスワップ
インしている状態であるか、すなわちまだ非活性化され
ていない状態であるかを判定し、上記判定の結果が真で
あった場合にはステップ611へ進み、空間非活性化処
理をコールする。またステップ610における判定の結
果が偽であった場合はステップ612へ進み、主記憶割
り当て処理をコールする。以上でスワッピング管理処理
を終了する。
定領域201で示されたスワッピング対象となる空間の
主記憶割り当て管理テーブル500内のスワッピング状
態情報格納領域502を参照して、その空間がスワップ
インしている状態であるか、すなわちまだ非活性化され
ていない状態であるかを判定し、上記判定の結果が真で
あった場合にはステップ611へ進み、空間非活性化処
理をコールする。またステップ610における判定の結
果が偽であった場合はステップ612へ進み、主記憶割
り当て処理をコールする。以上でスワッピング管理処理
を終了する。
【0058】図7は本実施形態の空間非活性化処理の処
理手順を示すフローチャートである。図7に示す様に計
算機1000の空間非活性化部700は、スワップアウ
ト要求に対して必要に応じてスワップアウト対象のプロ
グラムの処理を停止させて当該プログラムをCPU11
00の割り当てが行われない状態にする処理を行う。
理手順を示すフローチャートである。図7に示す様に計
算機1000の空間非活性化部700は、スワップアウ
ト要求に対して必要に応じてスワップアウト対象のプロ
グラムの処理を停止させて当該プログラムをCPU11
00の割り当てが行われない状態にする処理を行う。
【0059】ステップ701で計算機1000の空間非
活性化部700は、当該空間が非活性化され、スワップ
アウトされた状態であることを示す情報をスワッピング
状態情報格納領域502に設定する。
活性化部700は、当該空間が非活性化され、スワップ
アウトされた状態であることを示す情報をスワッピング
状態情報格納領域502に設定する。
【0060】次にステップ702では、非活性化の対象
となる空間から発行されている処理中の入出力処理を停
止させる。ステップ703では、非活性化の対象となる
空間で動作しているジョブの実行を止め、当該空間にC
PU資源の割り当てが行われない様にする。そしてステ
ップ704では、主記憶割り当て処理をコールする。以
上で空間非活性化処理を終了する。
となる空間から発行されている処理中の入出力処理を停
止させる。ステップ703では、非活性化の対象となる
空間で動作しているジョブの実行を止め、当該空間にC
PU資源の割り当てが行われない様にする。そしてステ
ップ704では、主記憶割り当て処理をコールする。以
上で空間非活性化処理を終了する。
【0061】図8は本実施形態の主記憶割り当て処理の
処理手順を示すフローチャートである。図8に示す様に
計算機1000の主記憶割り当て部800は、スワップ
アウトが要求された場合に、移動させるページ数205
に設定されたページ数のページを移動先204のスワッ
プアウト領域へ退避した後にその退避された主記憶装置
上のページの解放を行い、スワップインが要求された場
合に、主記憶装置上のページの確保及び前記スワップア
ウト領域へ退避されたページの回復を行う。
処理手順を示すフローチャートである。図8に示す様に
計算機1000の主記憶割り当て部800は、スワップ
アウトが要求された場合に、移動させるページ数205
に設定されたページ数のページを移動先204のスワッ
プアウト領域へ退避した後にその退避された主記憶装置
上のページの解放を行い、スワップインが要求された場
合に、主記憶装置上のページの確保及び前記スワップア
ウト領域へ退避されたページの回復を行う。
【0062】ステップ801で計算機1000の主記憶
割り当て部800は、入力パラメタ200のスワッピン
グ種別202から、その要求がスワップアウトであるか
否かを判定し、上記判定の結果が真であった場合にはス
テップ802へ進む。
割り当て部800は、入力パラメタ200のスワッピン
グ種別202から、その要求がスワップアウトであるか
否かを判定し、上記判定の結果が真であった場合にはス
テップ802へ進む。
【0063】ステップ802では、移動対象ページの種
類203が第一種のページ1501であり、かつ、移動
先204が第二の領域1202であるかを判定し、上記
判定の結果が真であった場合、以下の処理を行う。
類203が第一種のページ1501であり、かつ、移動
先204が第二の領域1202であるかを判定し、上記
判定の結果が真であった場合、以下の処理を行う。
【0064】すなわちステップ803では、移動させる
ページ数205で指定された数の、第二の領域1202
のページを確保し、主記憶割り当て管理テーブル500
中の移動した第一種のページのページ数507の値を、
その確保したページ数だけ増分する。そして、前記確保
したページのページ管理テーブルを、移動した第一種の
ページのページ管理テーブルの先頭保持領域508のポ
インタを辿って得られるページ管理テーブル列の最後に
繋ぐ。
ページ数205で指定された数の、第二の領域1202
のページを確保し、主記憶割り当て管理テーブル500
中の移動した第一種のページのページ数507の値を、
その確保したページ数だけ増分する。そして、前記確保
したページのページ管理テーブルを、移動した第一種の
ページのページ管理テーブルの先頭保持領域508のポ
インタを辿って得られるページ管理テーブル列の最後に
繋ぐ。
【0065】次にステップ804では、移動させるペー
ジ数205で指定されたページ数の第一種のページ15
01の内容を、ステップ803で確保したページに複写
する。そしてその複写した仮想記憶上の第一種のページ
1501が実記憶上の第二の領域1202のどのページ
に中間スワップアウトされたかを示す情報を、前記確保
したページ管理テーブルに格納する。
ジ数205で指定されたページ数の第一種のページ15
01の内容を、ステップ803で確保したページに複写
する。そしてその複写した仮想記憶上の第一種のページ
1501が実記憶上の第二の領域1202のどのページ
に中間スワップアウトされたかを示す情報を、前記確保
したページ管理テーブルに格納する。
【0066】次にステップ805では、ステップ804
で内容の複写された第一種のページ1501に割り当て
られていた主記憶装置上のページを解放した後、第一種
のページのページ数503を減算し、第一種のページの
ページ管理テーブルの先頭保持領域504内のポインタ
を辿って得られるページ管理テーブル列から、前記解放
されたページのページ管理テーブルを外す。
で内容の複写された第一種のページ1501に割り当て
られていた主記憶装置上のページを解放した後、第一種
のページのページ数503を減算し、第一種のページの
ページ管理テーブルの先頭保持領域504内のポインタ
を辿って得られるページ管理テーブル列から、前記解放
されたページのページ管理テーブルを外す。
【0067】一方、ステップ802の判定の結果が偽で
あった場合にはステップ806へ進み、移動対象ページ
の種類203で指定されたページから、移動させるペー
ジ数205で指定されたページ数だけ補助記憶装置16
00に出力し、それらのページを解放する。
あった場合にはステップ806へ進み、移動対象ページ
の種類203で指定されたページから、移動させるペー
ジ数205で指定されたページ数だけ補助記憶装置16
00に出力し、それらのページを解放する。
【0068】またステップ801の判定の結果が偽であ
った場合にはステップ807へ進み、以下の処理を行
う。すなわちステップ807では、第二の領域1202
に中間スワップアウトされている第一種のページ150
1を第一の領域1201に戻す。すなわち、移動した第
一種のページのページ管理テーブルの先頭保持領域50
8のポインタを辿って得られるページ管理テーブル列を
参照し、第二の領域1202に中間スワップアウトされ
ている第一種のページ1501の格納場所を読み出し
て、移動した第一種のページのページ数507の第一種
のページ1501を第二の領域1202から第一の領域
1201に複写して戻す。また第一種のページ1501
が補助記憶装置1600に物理スワップアウトされてい
る場合は、そこから第一の領域1201に戻す。
った場合にはステップ807へ進み、以下の処理を行
う。すなわちステップ807では、第二の領域1202
に中間スワップアウトされている第一種のページ150
1を第一の領域1201に戻す。すなわち、移動した第
一種のページのページ管理テーブルの先頭保持領域50
8のポインタを辿って得られるページ管理テーブル列を
参照し、第二の領域1202に中間スワップアウトされ
ている第一種のページ1501の格納場所を読み出し
て、移動した第一種のページのページ数507の第一種
のページ1501を第二の領域1202から第一の領域
1201に複写して戻す。また第一種のページ1501
が補助記憶装置1600に物理スワップアウトされてい
る場合は、そこから第一の領域1201に戻す。
【0069】次にステップ808では、補助記憶装置1
600に物理スワップアウトされている第二種のページ
1502を第二の領域1202に戻し、最後にステップ
809で、空間活性化処理をコールする。以上で主記憶
割り当て処理を終了する。
600に物理スワップアウトされている第二種のページ
1502を第二の領域1202に戻し、最後にステップ
809で、空間活性化処理をコールする。以上で主記憶
割り当て処理を終了する。
【0070】図9は本実施形態の空間活性化処理の処理
手順を示すフローチャートである。図9に示す様に計算
機1000の空間活性化部900は、スワップイン対象
のプログラムの処理を再開させて当該プログラムをCP
U1100の割り当てが行われる状態にする処理を行
う。
手順を示すフローチャートである。図9に示す様に計算
機1000の空間活性化部900は、スワップイン対象
のプログラムの処理を再開させて当該プログラムをCP
U1100の割り当てが行われる状態にする処理を行
う。
【0071】ステップ901で計算機1000の空間活
性化部900は、活性化の対象となる空間で動作してい
たジョブの実行を再開させ、当該空間にCPU資源が割
り当てられる様にする。
性化部900は、活性化の対象となる空間で動作してい
たジョブの実行を再開させ、当該空間にCPU資源が割
り当てられる様にする。
【0072】次にステップ902では、空間非活性化処
理のステップ702で停止させた、活性化の対象となる
空間で処理中の入出力処理を再開させ、ステップ903
では、スワッピング状態情報格納領域502に、当該空
間が活性化されてスワップインの状態となっていること
を示す情報を設定する。以上で空間活性化処理を終了す
る。
理のステップ702で停止させた、活性化の対象となる
空間で処理中の入出力処理を再開させ、ステップ903
では、スワッピング状態情報格納領域502に、当該空
間が活性化されてスワップインの状態となっていること
を示す情報を設定する。以上で空間活性化処理を終了す
る。
【0073】以上説明した様に本実施形態の計算機シス
テムによれば、スワッピングが要求された場合に所定の
閾値と主記憶装置の空きページ数との差分で設定された
ページ数のページについてスワッピングを行うので、ス
ワッピングを行う際のデータ転送の絶対量を低減させ、
それにより実業務のスループット及び応答時間を向上さ
せることが可能である。
テムによれば、スワッピングが要求された場合に所定の
閾値と主記憶装置の空きページ数との差分で設定された
ページ数のページについてスワッピングを行うので、ス
ワッピングを行う際のデータ転送の絶対量を低減させ、
それにより実業務のスループット及び応答時間を向上さ
せることが可能である。
【0074】また本実施形態の計算機システムによれ
ば、特定のアドレス幅で表現される主記憶装置の第一の
領域の空きが不足している場合に、第一の領域のページ
を第二の領域に移動させる中間スワッピングを行うの
で、特定のアドレス幅で表現される特定の領域のみで動
作可能なプログラムのスワッピングに必要なデータ転送
時間を短縮し、それにより実業務のスループット及び応
答時間を向上させることが可能である。
ば、特定のアドレス幅で表現される主記憶装置の第一の
領域の空きが不足している場合に、第一の領域のページ
を第二の領域に移動させる中間スワッピングを行うの
で、特定のアドレス幅で表現される特定の領域のみで動
作可能なプログラムのスワッピングに必要なデータ転送
時間を短縮し、それにより実業務のスループット及び応
答時間を向上させることが可能である。
【0075】
【発明の効果】本発明によればスワッピングが要求され
た場合に所定の閾値と主記憶装置の空きページ数との差
分で設定されたページ数のページについてスワッピング
を行うので、スワッピングを行う際のデータ転送の絶対
量を低減させ、それにより実業務のスループット及び応
答時間を向上させることが可能である。また本発明によ
れば、特定のアドレス幅で表現される主記憶装置の第一
の領域の空きが不足している場合に、第一の領域のペー
ジを第二の領域に移動させる中間スワッピングを行うの
で、特定のアドレス幅で表現される特定の領域のみで動
作可能なプログラムのスワッピングに必要なデータ転送
時間を短縮し、それにより実業務のスループット及び応
答時間を向上させることが可能である。
た場合に所定の閾値と主記憶装置の空きページ数との差
分で設定されたページ数のページについてスワッピング
を行うので、スワッピングを行う際のデータ転送の絶対
量を低減させ、それにより実業務のスループット及び応
答時間を向上させることが可能である。また本発明によ
れば、特定のアドレス幅で表現される主記憶装置の第一
の領域の空きが不足している場合に、第一の領域のペー
ジを第二の領域に移動させる中間スワッピングを行うの
で、特定のアドレス幅で表現される特定の領域のみで動
作可能なプログラムのスワッピングに必要なデータ転送
時間を短縮し、それにより実業務のスループット及び応
答時間を向上させることが可能である。
【図1】本実施形態の計算機システムの概略構成を示す
図である。
図である。
【図2】本実施形態の入力パラメタ200の構成を示す
図である。
図である。
【図3】本実施形態の空きページ数情報300の構成を
示す図である。
示す図である。
【図4】本実施形態の閾値400の構成を示す図であ
る。
る。
【図5】本実施形態の主記憶割り当て管理テーブル50
0の構成を示す図である。
0の構成を示す図である。
【図6】本実施形態のスワッピング管理処理の処理手順
を示すフローチャートである。
を示すフローチャートである。
【図7】本実施形態の空間非活性化処理の処理手順を示
すフローチャートである。
すフローチャートである。
【図8】本実施形態の主記憶割り当て処理の処理手順を
示すフローチャートである。
示すフローチャートである。
【図9】本実施形態の空間活性化処理の処理手順を示す
フローチャートである。
フローチャートである。
100…スワッピング部、200…入力パラメタ、30
0…空きページ数情報、400…閾値、500…主記憶
割り当て管理テーブル、1000…計算機、1100…
CPU、1200…主記憶装置、1201…第一の領
域、1202…第二の領域、1300…OS、1400
…スワッピング起動部、1500…仮想記憶空間、15
01…第一種のページ、1502…第二種のページ、1
600…補助記憶装置、1601…補助記憶装置、17
00…初期設定パラメタ、600…スワッピング管理
部、700…空間非活性化部、800…主記憶割り当て
部、900…空間活性化部、201…スワッピング空間
指定領域、202…スワッピング種別、203…移動対
象ページの種類、204…移動先、205…移動させる
ページ数、301…第一の領域の空きページ数、302
…第二の領域の空きページ数、401…第一の領域の閾
値、402…第二の領域の閾値、501…空間識別子、
502…スワッピング状態情報格納領域、503…第一
種のページのページ数、504…第一種のページのペー
ジ管理テーブルの先頭保持領域、505…第二種のペー
ジのページ数、506…第二種のページのページ管理テ
ーブルの先頭保持領域、507…移動した第一種のペー
ジのページ数、508…移動した第一種のページのペー
ジ管理テーブルの先頭保持領域。
0…空きページ数情報、400…閾値、500…主記憶
割り当て管理テーブル、1000…計算機、1100…
CPU、1200…主記憶装置、1201…第一の領
域、1202…第二の領域、1300…OS、1400
…スワッピング起動部、1500…仮想記憶空間、15
01…第一種のページ、1502…第二種のページ、1
600…補助記憶装置、1601…補助記憶装置、17
00…初期設定パラメタ、600…スワッピング管理
部、700…空間非活性化部、800…主記憶割り当て
部、900…空間活性化部、201…スワッピング空間
指定領域、202…スワッピング種別、203…移動対
象ページの種類、204…移動先、205…移動させる
ページ数、301…第一の領域の空きページ数、302
…第二の領域の空きページ数、401…第一の領域の閾
値、402…第二の領域の閾値、501…空間識別子、
502…スワッピング状態情報格納領域、503…第一
種のページのページ数、504…第一種のページのペー
ジ管理テーブルの先頭保持領域、505…第二種のペー
ジのページ数、506…第二種のページのページ管理テ
ーブルの先頭保持領域、507…移動した第一種のペー
ジのページ数、508…移動した第一種のページのペー
ジ管理テーブルの先頭保持領域。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 清井 雅広
神奈川県川崎市麻生区王禅寺1099番地 株
式会社日立製作所システム開発研究所内
(72)発明者 大辻 彰
神奈川県横浜市戸塚区戸塚町5030番地 株
式会社日立製作所ソフトウェア事業部内
(72)発明者 池ヶ谷 直子
神奈川県川崎市麻生区王禅寺1099番地 株
式会社日立製作所システム開発研究所内
Fターム(参考) 5B005 JJ12 MM31 VV02
Claims (6)
- 【請求項1】 主記憶装置と補助記憶装置とを具備し、
仮想記憶方式におけるスワッピングを制御するスワッピ
ング制御方法において、 スワップアウトが要求された際に主記憶装置の空きペー
ジ数が所定の閾値未満である場合に、その所定の閾値と
主記憶装置の空きページ数との差分をスワップアウト対
象のページ数として設定するステップと、スワップアウ
ト要求に対して必要に応じてスワップアウト対象のプロ
グラムの処理を停止させて当該プログラムをCPUの割
り当てが行われない状態にするステップと、前記設定さ
れたページ数のページのスワップアウト領域への退避及
びその退避された主記憶装置上のページの解放を行うス
テップと、 スワップインが要求された場合に、主記憶装置上のペー
ジの確保及び前記スワップアウト領域へ退避されたペー
ジの回復を行うステップと、スワップイン対象のプログ
ラムの処理を再開させて当該プログラムをCPUの割り
当てが行われる状態にするステップとを有することを特
徴とするスワッピング制御方法。 - 【請求項2】 スワップアウトが要求された際に、特定
のアドレス幅で表現される主記憶装置の第一の領域にお
ける空きページ数が所定の閾値未満である場合に、その
所定の閾値と第一の領域の空きページ数との差分をスワ
ップアウト対象のページ数として設定し、 前記第一の領域よりも上位のアドレスに位置する第二の
領域における空きページ数が前記設定されたページ数以
上である場合に、その設定されたページ数のページのス
ワップアウト領域を前記第二の領域とすることを特徴と
する請求項1に記載されたスワッピング制御方法。 - 【請求項3】 前記第二の領域の空きページ数が所定の
閾値未満である場合に、その所定の閾値と第二の領域の
空きページ数との差分をスワップアウト対象のページ数
として設定し、その設定されたページ数のページのスワ
ップアウト領域を補助記憶装置上の領域とすることを特
徴とする請求項2に記載されたスワッピング制御方法。 - 【請求項4】 当該プログラムに対して前記CPUの割
り当てが行われない状態にするステップが実行されたか
どうかを示す情報を保持する領域を参照し、前記CPU
の割り当てが行われない状態にするステップが実行され
ていないことを前記領域の情報が示している場合に、当
該プログラムに対して前記CPUの割り当てが行われな
い状態にするステップを行うことを特徴とする請求項1
乃至請求項3のいずれか1項に記載されたスワッピング
制御方法。 - 【請求項5】 主記憶装置と補助記憶装置とを具備し、
仮想記憶方式におけるスワッピングを制御する計算機シ
ステムにおいて、 スワップアウトが要求された際に主記憶装置の空きペー
ジ数が所定の閾値未満である場合に、その所定の閾値と
主記憶装置の空きページ数との差分をスワップアウト対
象のページ数として設定するスワッピング管理部と、ス
ワップアウト要求に対して必要に応じてスワップアウト
対象のプログラムの処理を停止させて当該プログラムを
CPUの割り当てが行われない状態にする空間非活性化
部と、 スワップアウトが要求された場合に、前記設定されたペ
ージ数のページのスワップアウト領域への退避及びその
退避された主記憶装置上のページの解放を行い、スワッ
プインが要求された場合に、主記憶装置上のページの確
保及び前記スワップアウト領域へ退避されたページの回
復を行う主記憶割り当て部と、スワップイン対象のプロ
グラムの処理を再開させて当該プログラムをCPUの割
り当てが行われる状態にする空間活性化部とを備えるこ
とを特徴とする計算機システム。 - 【請求項6】 主記憶装置と補助記憶装置とを具備し、
仮想記憶方式におけるスワッピングを制御する計算機シ
ステムとしてコンピュータを機能させる為のプログラム
において、 スワップアウトが要求された際に主記憶装置の空きペー
ジ数が所定の閾値未満である場合に、その所定の閾値と
主記憶装置の空きページ数との差分をスワップアウト対
象のページ数として設定するスワッピング管理部と、ス
ワップアウト要求に対して必要に応じてスワップアウト
対象のプログラムの処理を停止させて当該プログラムを
CPUの割り当てが行われない状態にする空間非活性化
部と、 スワップアウトが要求された場合に、前記設定されたペ
ージ数のページのスワップアウト領域への退避及びその
退避された主記憶装置上のページの解放を行い、スワッ
プインが要求された場合に、主記憶装置上のページの確
保及び前記スワップアウト領域へ退避されたページの回
復を行う主記憶割り当て部と、スワップイン対象のプロ
グラムの処理を再開させて当該プログラムをCPUの割
り当てが行われる状態にする空間活性化部としてコンピ
ュータを機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002066279A JP2003263366A (ja) | 2002-03-12 | 2002-03-12 | スワッピング制御方法及びその実施装置並びにその処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002066279A JP2003263366A (ja) | 2002-03-12 | 2002-03-12 | スワッピング制御方法及びその実施装置並びにその処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003263366A true JP2003263366A (ja) | 2003-09-19 |
Family
ID=29198144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002066279A Pending JP2003263366A (ja) | 2002-03-12 | 2002-03-12 | スワッピング制御方法及びその実施装置並びにその処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003263366A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008236615A (ja) * | 2007-03-23 | 2008-10-02 | Kyocera Mita Corp | 画像形成装置及びメモリ資源確保方法 |
KR101392062B1 (ko) | 2009-09-22 | 2014-05-07 | 내셔널 충 쳉 유니버시티 | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 |
CN103946815A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于区域访问控制的方法、***和装置 |
WO2019194394A1 (ko) * | 2018-04-06 | 2019-10-10 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
JP2020123263A (ja) * | 2019-01-31 | 2020-08-13 | Necソリューションイノベータ株式会社 | 情報処理装置、情報処理方法、プログラム |
-
2002
- 2002-03-12 JP JP2002066279A patent/JP2003263366A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008236615A (ja) * | 2007-03-23 | 2008-10-02 | Kyocera Mita Corp | 画像形成装置及びメモリ資源確保方法 |
KR101392062B1 (ko) | 2009-09-22 | 2014-05-07 | 내셔널 충 쳉 유니버시티 | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 |
CN103946815A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于区域访问控制的方法、***和装置 |
US9268712B2 (en) | 2011-09-30 | 2016-02-23 | Intel Corporation | Method, system and apparatus for region access control |
CN103946815B (zh) * | 2011-09-30 | 2017-02-15 | 英特尔公司 | 用于区域访问控制的方法、存储设备和装置 |
WO2019194394A1 (ko) * | 2018-04-06 | 2019-10-10 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
KR20190117294A (ko) * | 2018-04-06 | 2019-10-16 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
US11409648B2 (en) | 2018-04-06 | 2022-08-09 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method for performing memory swapping to reduce resource usage |
KR102533726B1 (ko) * | 2018-04-06 | 2023-05-18 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
JP2020123263A (ja) * | 2019-01-31 | 2020-08-13 | Necソリューションイノベータ株式会社 | 情報処理装置、情報処理方法、プログラム |
JP7197131B2 (ja) | 2019-01-31 | 2022-12-27 | Necソリューションイノベータ株式会社 | 情報処理装置、情報処理方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1717645B (zh) | 用于多线程处理器性能控制的装置和方法 | |
US7127557B2 (en) | RAID apparatus and logical device expansion method thereof | |
WO2022089281A1 (zh) | 基于容器的应用管理方法和装置 | |
WO2015169145A1 (zh) | 内存管理方法和设备 | |
KR20090079012A (ko) | 가상 머신의 상태를 저장, 복원하는 방법 및 장치 | |
JP4902501B2 (ja) | 電力制御方法、計算機システム、及びプログラム | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
US6848021B2 (en) | Efficient data backup using a single side file | |
JP2007108981A (ja) | ストレージ装置及びボリューム間のデータ交換方法 | |
US20110107344A1 (en) | Multi-core apparatus and load balancing method thereof | |
JP2007188499A (ja) | デマンドページング技法を適用したシステムでページ置換実行時間を短縮させる方法および装置 | |
US20130097382A1 (en) | Multi-core processor system, computer product, and control method | |
JP2002196960A (ja) | ファイル入出力制御方法、ファイル管理サーバ及び並列計算機システム | |
JPH11338749A (ja) | 動的ramディスク | |
CN114063894A (zh) | 一种协程执行方法及装置 | |
US20100005275A1 (en) | Multiprocessing system | |
JP2003263366A (ja) | スワッピング制御方法及びその実施装置並びにその処理プログラム | |
CN113010453A (zh) | 一种内存管理的方法、***、设备及可读存储介质 | |
KR20070090418A (ko) | 복수의 레지스터 파일을 이용한 문맥 교환 방법 및 시스템 | |
US5918243A (en) | Computer mechanism for reducing DASD arm contention during parallel processing | |
JPH11312092A (ja) | タスク切り替え方法及びデータ処理装置 | |
KR102565873B1 (ko) | Numa 시스템에서 메모리 버스에 연결하여 사용하는 저장장치의 할당 방법 | |
JP4207775B2 (ja) | 計算機システムの凍結・解凍プログラム、その記録媒体、及び計算機システムの凍結・解凍方法 | |
JP2009026310A (ja) | データ記憶方法 | |
JP2003330737A (ja) | 計算機システム |