JP2572435B2 - デマンドページング計算機の命令実行方法 - Google Patents
デマンドページング計算機の命令実行方法Info
- Publication number
- JP2572435B2 JP2572435B2 JP63282581A JP28258188A JP2572435B2 JP 2572435 B2 JP2572435 B2 JP 2572435B2 JP 63282581 A JP63282581 A JP 63282581A JP 28258188 A JP28258188 A JP 28258188A JP 2572435 B2 JP2572435 B2 JP 2572435B2
- Authority
- JP
- Japan
- Prior art keywords
- user program
- program
- processing
- storage device
- demand paging
- 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
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、主記憶上にページ単位にローディングされ
るユーザプログラムがローディングや補助記憶との間で
スワッピングされることによるプログラム処理の中断を
回避するデマンドページング計算機の命令実行方法に関
する。
るユーザプログラムがローディングや補助記憶との間で
スワッピングされることによるプログラム処理の中断を
回避するデマンドページング計算機の命令実行方法に関
する。
デマンドページング計算機は、補助記憶上のユーザプ
ログラム(命令語とデータ部とより成る)を、OSの指令
により、主記憶上にページ単位にローディングする機能
を持つ計算機である。ここで、OSとはオペレーティング
システムを云う。
ログラム(命令語とデータ部とより成る)を、OSの指令
により、主記憶上にページ単位にローディングする機能
を持つ計算機である。ここで、OSとはオペレーティング
システムを云う。
デマンドページング計算機において、イベントに対す
るユーザプログラムの実行が、スワッピング待ちにより
中断されることがある。この中断によりユーザプログラ
ムの処理が遅れる。この遅れを防止するために、主記憶
上のユーザプログラムを補助記憶上へ転送禁止(スワッ
プアウト禁止)させる従来例がある(「UNIXシステムコ
ール・プログラミング」P.369〜P.370。株式会社アスキ
ー社発行)。
るユーザプログラムの実行が、スワッピング待ちにより
中断されることがある。この中断によりユーザプログラ
ムの処理が遅れる。この遅れを防止するために、主記憶
上のユーザプログラムを補助記憶上へ転送禁止(スワッ
プアウト禁止)させる従来例がある(「UNIXシステムコ
ール・プログラミング」P.369〜P.370。株式会社アスキ
ー社発行)。
尚、スワップアウトとは、主記憶上の内容を補助記憶
上へ退避させることを云い、スワップアウト禁止とは、
その退避を禁止させることを云う。また、スワップイン
なる用語もある。スワップインとは、スワップアウトの
逆であり、補助記憶から主記憶上へ補助記憶の内容を転
送させることを云う。
上へ退避させることを云い、スワップアウト禁止とは、
その退避を禁止させることを云う。また、スワップイン
なる用語もある。スワップインとは、スワップアウトの
逆であり、補助記憶から主記憶上へ補助記憶の内容を転
送させることを云う。
上記従来例は、主記憶上にユーザプログラムを一度ロ
ーディングした後で、このローディングしたユーザプロ
グラムのスワップアウトを禁止するが、どのようにして
主記憶上へユーザプログラムをローディングするかに関
しては関知していない。また、ローディング後にスワッ
プアウト禁止のシステムーコールを発行するが、このと
きにスワッピング待ちが発生することもある。従って、
ユーザプログラムによる最初のイベントに対しては、プ
ログラムの実行が即座に行えない場合がある。
ーディングした後で、このローディングしたユーザプロ
グラムのスワップアウトを禁止するが、どのようにして
主記憶上へユーザプログラムをローディングするかに関
しては関知していない。また、ローディング後にスワッ
プアウト禁止のシステムーコールを発行するが、このと
きにスワッピング待ちが発生することもある。従って、
ユーザプログラムによる最初のイベントに対しては、プ
ログラムの実行が即座に行えない場合がある。
また、ユーザプログラムの主記憶への最初のローディ
ングをOSが自動的に行うようにすることも可能である
が、これはOSの負担が大きくなるため、避けたい場合が
ある。
ングをOSが自動的に行うようにすることも可能である
が、これはOSの負担が大きくなるため、避けたい場合が
ある。
本発明の目的は、ユーザプログラムの実行を中断させ
ることのないデマンドページング計算機の命令実行方法
を提供するものである。
ることのないデマンドページング計算機の命令実行方法
を提供するものである。
上記目的は、演算処理装置と、主記憶装置と、プログ
ラムを格納した補助記憶装置と、プログラムを実行する
際に該プログラムの命令とデータのうち前記演算処理装
置が参照する箇所のみ随時,ページ単位に前記補助記憶
装置から前記主記憶装置にローディングするデマンドペ
ージング処理を管理するOSとを備えるデマンドページン
グ計算機の命令実行方法において、ユーザプログラムを
前記補助記憶装置から前記主記憶装置にローディングす
るときの該ローディング先の位置を求める第1処理ステ
ップと、前記補助記憶装置上の前記ユーザプログラムを
前記デマンドページング処理によりリードアクセスし該
ユーザプログラムの全ページを前記主記憶装置上の前記
第1処理ステップで求めた位置にローディングさせる第
2処理ステップと、該第2処理ステップでローディング
されたユーザプログラムのスワップアウトを禁止するシ
ステムコールを前記OSに発行する第3処理ステップとを
当該ユーザプログラムに付加しておき、前記第1,第2,第
3処理ステップが付加されたユーザプログラムが実行さ
れ該ユーザプログラムの前記付加された第1,第2,第3処
理ステップの実行で該第1,第2,第3処理ステップの付加
されたユーザプログラムの全ページが前記主記憶装置上
にローディングされた後は、該ユーザプログラムの命令
とデータに関して、前記デマンドページング処理による
ローディングをなくすことで、達成される。
ラムを格納した補助記憶装置と、プログラムを実行する
際に該プログラムの命令とデータのうち前記演算処理装
置が参照する箇所のみ随時,ページ単位に前記補助記憶
装置から前記主記憶装置にローディングするデマンドペ
ージング処理を管理するOSとを備えるデマンドページン
グ計算機の命令実行方法において、ユーザプログラムを
前記補助記憶装置から前記主記憶装置にローディングす
るときの該ローディング先の位置を求める第1処理ステ
ップと、前記補助記憶装置上の前記ユーザプログラムを
前記デマンドページング処理によりリードアクセスし該
ユーザプログラムの全ページを前記主記憶装置上の前記
第1処理ステップで求めた位置にローディングさせる第
2処理ステップと、該第2処理ステップでローディング
されたユーザプログラムのスワップアウトを禁止するシ
ステムコールを前記OSに発行する第3処理ステップとを
当該ユーザプログラムに付加しておき、前記第1,第2,第
3処理ステップが付加されたユーザプログラムが実行さ
れ該ユーザプログラムの前記付加された第1,第2,第3処
理ステップの実行で該第1,第2,第3処理ステップの付加
されたユーザプログラムの全ページが前記主記憶装置上
にローディングされた後は、該ユーザプログラムの命令
とデータに関して、前記デマンドページング処理による
ローディングをなくすことで、達成される。
本発明では、処理が中断されては困るユーザプログラ
ム自身に、当該ユーザプログラムの全ページを主記憶上
にローディングさせるステップや、このユーザプログラ
ムがスワップアウトされないようにシステムコールを発
行するステップを付加してあるため、これらステップが
付加されたユーザプログラムの実行に際しては、ページ
単位のローディングやスワッピングによる処理の中断が
なくなる。
ム自身に、当該ユーザプログラムの全ページを主記憶上
にローディングさせるステップや、このユーザプログラ
ムがスワップアウトされないようにシステムコールを発
行するステップを付加してあるため、これらステップが
付加されたユーザプログラムの実行に際しては、ページ
単位のローディングやスワッピングによる処理の中断が
なくなる。
以下、本発明の一実施例を図面を参照して説明する。
第1図は、本発明のプログラムローディングのための
実施例図である。この実施例は、主記憶101,補助記憶10
3,演算処理装置102より成る。主記憶101は、ページ単位
に分割管理される。この管理は、管理テーブル105によ
って行う。ページは、#P1〜#Pnで示す。管理テーブル
105もページ単位で扱った例を示してある。
実施例図である。この実施例は、主記憶101,補助記憶10
3,演算処理装置102より成る。主記憶101は、ページ単位
に分割管理される。この管理は、管理テーブル105によ
って行う。ページは、#P1〜#Pnで示す。管理テーブル
105もページ単位で扱った例を示してある。
補助記憶103には、ユーザプログラム106を構成する命
令部とデータ部とが格納されている。このユーザプログ
ラム106はOS(オペレーティングシステム)の管理を受
けて、演算処理装置102がページ単位に、補助記憶103上
から主記憶101上へローディングして移し変える。この
ローディングがデマンドページングであり、かかる処理
を行う故に、第1図のシステムは、デマンドページング
計算機と呼ばれる。
令部とデータ部とが格納されている。このユーザプログ
ラム106はOS(オペレーティングシステム)の管理を受
けて、演算処理装置102がページ単位に、補助記憶103上
から主記憶101上へローディングして移し変える。この
ローディングがデマンドページングであり、かかる処理
を行う故に、第1図のシステムは、デマンドページング
計算機と呼ばれる。
正確には、デマンドページングとは、プログラムの実
行途中に、(i)リードアクセス,(ii)ライトアクセ
ス,(iii)命令実行されたプログラムの一部分を補助
記憶から主記憶へページ枠単位にローディングする機構
である。本実施例のように、ユーザプログラム内でプロ
グラムの命令部とデータ部をリードアクセスすると、デ
マンドページング処理がOSによって行われ、リードアク
セスされたプログラムの命令部とデータ部とが主記憶10
1にローディングされる。即ち、補助記憶103に格納され
たプログラム106を実行する際は、該プログラムの命令
やデータを演算処理装置102が参照する箇所のみ随時主
記憶101へページ単位にローディングされる(デマンド
ページング処理)。主記憶101上のどの位置へプログラ
ムの命令部とデータ部がローディングされるかのデータ
は、管理テーブル105に格納されており、このデータは
演算処理装置102を介して主記憶上のプログラム104から
参照されてローディングに使用される。
行途中に、(i)リードアクセス,(ii)ライトアクセ
ス,(iii)命令実行されたプログラムの一部分を補助
記憶から主記憶へページ枠単位にローディングする機構
である。本実施例のように、ユーザプログラム内でプロ
グラムの命令部とデータ部をリードアクセスすると、デ
マンドページング処理がOSによって行われ、リードアク
セスされたプログラムの命令部とデータ部とが主記憶10
1にローディングされる。即ち、補助記憶103に格納され
たプログラム106を実行する際は、該プログラムの命令
やデータを演算処理装置102が参照する箇所のみ随時主
記憶101へページ単位にローディングされる(デマンド
ページング処理)。主記憶101上のどの位置へプログラ
ムの命令部とデータ部がローディングされるかのデータ
は、管理テーブル105に格納されており、このデータは
演算処理装置102を介して主記憶上のプログラム104から
参照されてローディングに使用される。
この様なデマンドページング処理で、従来は、そのユ
ーザプログラム処理の途中において処理を中断しなけれ
ばならないことがあった。OSがデマンドページング処理
を管理するためである。そこで、本実施例では、この処
理の中断をなくすために、ユーザプログラム106内に当
該ユーザプログラムを主記憶に全ページローディングす
ると共に該ローディング後にOSに対してスワップアウト
禁止のシステムコールを発行する手段を設けることにし
た。
ーザプログラム処理の途中において処理を中断しなけれ
ばならないことがあった。OSがデマンドページング処理
を管理するためである。そこで、本実施例では、この処
理の中断をなくすために、ユーザプログラム106内に当
該ユーザプログラムを主記憶に全ページローディングす
ると共に該ローディング後にOSに対してスワップアウト
禁止のシステムコールを発行する手段を設けることにし
た。
このシステムコール発行は、主記憶へのローディング
の完了の前後どちらでもよい。かくして、ユーザプログ
ラム本来の処理実行中に、プログラム処理の中断はなく
なる。
の完了の前後どちらでもよい。かくして、ユーザプログ
ラム本来の処理実行中に、プログラム処理の中断はなく
なる。
第2図にその処理フローを示す。ステップ201〜203が
システムコール発行までの手順を示し、ステップ204,20
5が主記憶上へローディングされた後の手順を示す。
システムコール発行までの手順を示し、ステップ204,20
5が主記憶上へローディングされた後の手順を示す。
さて、第2図で先ずプログラム106の主記憶101上での
ローディング先の位置を、主記憶101上の管理テーブル1
05にて得る(ステップ201)。
ローディング先の位置を、主記憶101上の管理テーブル1
05にて得る(ステップ201)。
次に、該テーブル105の内容に従ってプログラム106の
命令部とデータ部を含む全てのページにリードアクセス
する(ステップ202)。このステップ202を実行すると、
演算処理装置102は、OSによってデマンドページング処
理を行い、プログラム106の命令部とデータ部の全ペー
ジを主記憶101へローディングする。
命令部とデータ部を含む全てのページにリードアクセス
する(ステップ202)。このステップ202を実行すると、
演算処理装置102は、OSによってデマンドページング処
理を行い、プログラム106の命令部とデータ部の全ペー
ジを主記憶101へローディングする。
さらに、主記憶101にローディングされたプログラム1
04が、実行途中に補助記憶103へスワップアウトされな
いように、スワップアウト禁止のためのシステムコール
をOSへ発行する(ステップ203)。OSはこれを受けて、
この格納領域のスワップアウト禁止登録をする(例えば
管理テーブル105上に登録)。
04が、実行途中に補助記憶103へスワップアウトされな
いように、スワップアウト禁止のためのシステムコール
をOSへ発行する(ステップ203)。OSはこれを受けて、
この格納領域のスワップアウト禁止登録をする(例えば
管理テーブル105上に登録)。
以上により、補助記憶103には格納されたプログラム1
06の命令部とデータ部は、主記憶101に全てローディン
グされ、なおかつスワップアウトされることがなくなる
ので、プログラムの本処理であるステップ205の実行途
中に主記憶の空き待ちやローディング待ちにより中断さ
れることなく、速やかに処理が終了することとなる(ス
テップ204,205)。
06の命令部とデータ部は、主記憶101に全てローディン
グされ、なおかつスワップアウトされることがなくなる
ので、プログラムの本処理であるステップ205の実行途
中に主記憶の空き待ちやローディング待ちにより中断さ
れることなく、速やかに処理が終了することとなる(ス
テップ204,205)。
次に、別の実施例を説明する。ユーザプログラムに、
本来のユーザプログラムによる本処理に先立って、本処
理と同等の処理を実行する手段を設けておく。これによ
り、本処理に先立って主記憶上には、必要なユーザプロ
グラムがローディングされていることになる。
本来のユーザプログラムによる本処理に先立って、本処
理と同等の処理を実行する手段を設けておく。これによ
り、本処理に先立って主記憶上には、必要なユーザプロ
グラムがローディングされていることになる。
第3図はその処理フローを示す。先ず、ユーザプログ
ラムの本処理(ステップ404)で実行する内容と同等の
処理をステップ401で行う。このステップ401によれば、
通常のデマンドページング処理のもとで補助記憶103上
のユーザプログラムは次々に主記憶上へローディングさ
れる。即ち、各イベントがプログラムに発行されたこと
を想定して本処理(ステップ404)で動作するフロー
を、ステップ401で実行する。これよって、ステップ401
で実行された命令を含むページとアクセスされたデータ
を含むページがアクセスされるので、演算処理装置102
は、デマンドページング処理を行い、プログラムの命令
部とデータ部を主記憶へローディングする。
ラムの本処理(ステップ404)で実行する内容と同等の
処理をステップ401で行う。このステップ401によれば、
通常のデマンドページング処理のもとで補助記憶103上
のユーザプログラムは次々に主記憶上へローディングさ
れる。即ち、各イベントがプログラムに発行されたこと
を想定して本処理(ステップ404)で動作するフロー
を、ステップ401で実行する。これよって、ステップ401
で実行された命令を含むページとアクセスされたデータ
を含むページがアクセスされるので、演算処理装置102
は、デマンドページング処理を行い、プログラムの命令
部とデータ部を主記憶へローディングする。
さらに、ステップ402では、主記憶101にローディング
された該プログラムが実行途中に補助記憶にスワップア
ウトされぬように、スワップアウト禁止のためのシステ
ムコールを発行する。
された該プログラムが実行途中に補助記憶にスワップア
ウトされぬように、スワップアウト禁止のためのシステ
ムコールを発行する。
これによって、主記憶上では、必要なユーザプログラ
ムが本処理に先立ってローディングされ,且つスワップ
アウト禁止となるために、ステップ403を経てのステッ
プ404では、本処理を即座に実行できる。
ムが本処理に先立ってローディングされ,且つスワップ
アウト禁止となるために、ステップ403を経てのステッ
プ404では、本処理を即座に実行できる。
本発明によれば、第1,第2,第3処理ステップが付加さ
れたユーザプログラムにおいては、毎回のイベントに対
するプログラムの実行がローディングにより中断される
ことがなくなり、毎回のイベントに対する処理を即座に
終えることができるので、プログラムの実行性能が向上
できると共に、リアルタイム処理向きのプログラムを実
現できる。
れたユーザプログラムにおいては、毎回のイベントに対
するプログラムの実行がローディングにより中断される
ことがなくなり、毎回のイベントに対する処理を即座に
終えることができるので、プログラムの実行性能が向上
できると共に、リアルタイム処理向きのプログラムを実
現できる。
第1図は本発明のデマンド計算機のシステム構成図、第
2図は本発明の第1の実施例のフローチャート,第3図
は本発明の第2の実施例のフローチャートである。 101……主記憶、102……演算処理装置、103……補助記
憶。
2図は本発明の第1の実施例のフローチャート,第3図
は本発明の第2の実施例のフローチャートである。 101……主記憶、102……演算処理装置、103……補助記
憶。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 笠嶋 広和 茨城県日立市大みか町5丁目2番1号 株式会社日立製作所大みか工場内 (56)参考文献 特開 昭54−76026(JP,A) 特開 昭62−256059(JP,A) 特開 昭63−147228(JP,A) 江村潤朗「オペレーティング・システ ムへの構造的アプローチ(下巻)」5版 (昭57−7−10)日本コンピュータ協会 P.1007−1014
Claims (1)
- 【請求項1】演算処理装置と、主記憶装置と、プログラ
ムを格納した補助記憶装置と、プログラムを実行する際
に該プログラムの命令とデータのうち前記演算処理装置
が参照する箇所のみ随時,ページ単位に前記補助記憶装
置から前記主記憶装置にローディングするデマンドペー
ジング処理を管理するOSとを備えるデマンドページング
計算機の命令実行方法において、ユーザプログラムを前
記補助記憶装置から前記主記憶装置にローディングする
ときの該ローディング先の位置を求める第1処理ステッ
プと、前記補助記憶装置上の前記ユーザプログラムを前
記デマンドページング処理によりリードアクセスし該ユ
ーザプログラムの全ページを前記主記憶装置上の前記第
1処理ステップで求めた位置にローディングさせる第2
処理ステップと、該第2処理ステップでローディングさ
れたユーザプログラムのスワップアウトを禁止するシス
テムコールを前記OSに発行する第3処理ステップとを当
該ユーザプログラムに付加しておき、前記第1,第2,第3
処理ステップが付加されたユーザプログラムが実行され
該ユーザプログラムの前記付加された第1,第2,第3処理
ステップの実行で該第1,第2,第3処理ステップの付加さ
れたユーザプログラムの全ページが前記主記憶装置上に
ローディングされた後は、該ユーザプログラムの命令と
データに関して、前記デマンドページング処理によるロ
ーディングをなくしたことを特徴とするデマンドページ
ング計算機の命令実行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63282581A JP2572435B2 (ja) | 1988-11-10 | 1988-11-10 | デマンドページング計算機の命令実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63282581A JP2572435B2 (ja) | 1988-11-10 | 1988-11-10 | デマンドページング計算機の命令実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02129725A JPH02129725A (ja) | 1990-05-17 |
JP2572435B2 true JP2572435B2 (ja) | 1997-01-16 |
Family
ID=17654359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63282581A Expired - Fee Related JP2572435B2 (ja) | 1988-11-10 | 1988-11-10 | デマンドページング計算機の命令実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2572435B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6961349B2 (ja) | 2017-01-24 | 2021-11-05 | キヤノン株式会社 | 不揮発性記憶装置を有する情報処理装置、制御方法 |
-
1988
- 1988-11-10 JP JP63282581A patent/JP2572435B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
江村潤朗「オペレーティング・システムへの構造的アプローチ(下巻)」5版(昭57−7−10)日本コンピュータ協会P.1007−1014 |
Also Published As
Publication number | Publication date |
---|---|
JPH02129725A (ja) | 1990-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0538817B1 (en) | High-speed processor capable of handling multiple interrupts | |
US5701493A (en) | Exception handling method and apparatus in data processing systems | |
JP3074178B2 (ja) | プログラム・モジュール・ロード及び実行方法 | |
US5386563A (en) | Register substitution during exception processing | |
KR100848603B1 (ko) | 데이터 처리장치와 복귀상태의 저장방법 | |
JPH05265861A (ja) | 仮想記憶方式のデータ処理装置及び方法 | |
KR100419682B1 (ko) | 액세스 제어 장치 및 액세스 방법 | |
JP2572435B2 (ja) | デマンドページング計算機の命令実行方法 | |
IE61307B1 (en) | Method to execute two instruction sequences in an order determined in advance | |
US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
JP2671160B2 (ja) | 例外処理方式 | |
JPH02146646A (ja) | 仮想記憶制御装置 | |
JPS63121950A (ja) | キヤツシユメモリの管理制御方式 | |
EP0382529B1 (en) | Microprocessor having store buffer | |
EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
JPS6074033A (ja) | 命令読出し方式 | |
JPS62169243A (ja) | プログラムロ−ド方式 | |
JP2584528Y2 (ja) | 情報処理装置 | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JPH07152574A (ja) | プログラムローディング方式 | |
JPS63155342A (ja) | バツフア記憶装置の制御方法 | |
JPH05265846A (ja) | メモリ管理方式 | |
JPH02304624A (ja) | 情報処理装置 | |
JPH039431A (ja) | 割込み処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |