JPS63113739A - Osのオ−バレイ方式 - Google Patents
Osのオ−バレイ方式Info
- Publication number
- JPS63113739A JPS63113739A JP25829486A JP25829486A JPS63113739A JP S63113739 A JPS63113739 A JP S63113739A JP 25829486 A JP25829486 A JP 25829486A JP 25829486 A JP25829486 A JP 25829486A JP S63113739 A JPS63113739 A JP S63113739A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- input
- area
- output
- register
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、仮想記憶制御機能(アドレス変換機能)を持
たない計算機システム好適な○Sのオーバレイ方式に関
する。
たない計算機システム好適な○Sのオーバレイ方式に関
する。
計算機システムにおいて、計算機に実装されたメモリよ
り大きなプログラムを動作させる方式については、従来
からOS(オペレーティング・システム)関係の各種テ
キス1へで論じられている。
り大きなプログラムを動作させる方式については、従来
からOS(オペレーティング・システム)関係の各種テ
キス1へで論じられている。
例えば、岩波1講座、情報料学−16「オペレーティン
グ・システ11の機能と構成」の第6章にその記述があ
り、スワップ、オーバレイ、仮想記憶等の方式、原理等
が記されている。
グ・システ11の機能と構成」の第6章にその記述があ
り、スワップ、オーバレイ、仮想記憶等の方式、原理等
が記されている。
然るに、上記のメモリ利用技術の多くは、メモリより大
きなアプリケーション(タスク)の動作方式に関するも
のが主であり、OSそのものの動作領域に関しては論じ
られていない。従来の仮想記憶方式をOSの動作に応用
することは容易であるが、この場合、動的アドレス変換
機4W(DAr; Dynamic Address
Translator)が必要である。
きなアプリケーション(タスク)の動作方式に関するも
のが主であり、OSそのものの動作領域に関しては論じ
られていない。従来の仮想記憶方式をOSの動作に応用
することは容易であるが、この場合、動的アドレス変換
機4W(DAr; Dynamic Address
Translator)が必要である。
本発明はDATを備えていない比較的小型の計算機シス
テムにおいて、通常のディスク・ドライバを用いて、O
Sを小さい実行領域で動作させることにある。
テムにおいて、通常のディスク・ドライバを用いて、O
Sを小さい実行領域で動作させることにある。
上記目的は、OSの1部である未ロードのドライバに対
する入出力要求を検出した時に、ロードし得る領域を獲
得し、起動をかけることにより達成される。本発明では
、他用途にも用いられるディスク・ドライバを用いてロ
ードするため、上記のタイミングでは、処理要求をシス
テムとして記憶しておき、ディスク・ドライバを使い得
るタイミングで当該ドライバのロード、起動を行なう。
する入出力要求を検出した時に、ロードし得る領域を獲
得し、起動をかけることにより達成される。本発明では
、他用途にも用いられるディスク・ドライバを用いてロ
ードするため、上記のタイミングでは、処理要求をシス
テムとして記憶しておき、ディスク・ドライバを使い得
るタイミングで当該ドライバのロード、起動を行なう。
入出力要求が未ロードのドライバに対して発行されると
、ドライバ管理部では、処理要求をFIFO(Firs
t I n First、 0ut) レジスタに
記憶する。多重割込が解消されると、スケジューラへ移
る前に、オーバレイ管理部を起動する。オーバレイ管理
では、ドライバの動作領域の管理と、ドライバのロード
、アンロードを行なう。オーバレイ管理部に制御が移る
と、上記FIFOレジスタを読み込み、必要なら動作し
ていないドライバをディスクに書き出し、空き領域を作
り、当該ドライバをロードし、ドライバとしての登録、
起動処理を行なう。
、ドライバ管理部では、処理要求をFIFO(Firs
t I n First、 0ut) レジスタに
記憶する。多重割込が解消されると、スケジューラへ移
る前に、オーバレイ管理部を起動する。オーバレイ管理
では、ドライバの動作領域の管理と、ドライバのロード
、アンロードを行なう。オーバレイ管理部に制御が移る
と、上記FIFOレジスタを読み込み、必要なら動作し
ていないドライバをディスクに書き出し、空き領域を作
り、当該ドライバをロードし、ドライバとしての登録、
起動処理を行なう。
以下、本発明の実施例を図面を参照して説明する。
第1図は、本発明を実現するためのソフトウェアの全体
構成を示す。本システムにおいて、ドライバ起動要求と
しては、入出力要求5VC2を通して行なわれるAP
(Application Progrom)■からの
要求と、入出力ドライバ4からの直接の起動要求とがあ
る。ドライバ管理部3は、ドライバの起動処理部と終了
処理部とからなっている。
構成を示す。本システムにおいて、ドライバ起動要求と
しては、入出力要求5VC2を通して行なわれるAP
(Application Progrom)■からの
要求と、入出力ドライバ4からの直接の起動要求とがあ
る。ドライバ管理部3は、ドライバの起動処理部と終了
処理部とからなっている。
5は、未ロードの入出力ドライバに対して発行された入
出力処理要求を記憶するためのFIFOレジスタ、6は
、オーバレイ管理部7が、未ロードのドライバをロード
しようとして失敗した場合に、FIFOレジスタ5から
読み出した入出力要求を待機させるためのFIFOレジ
スタである。オーバレイ管理部7は、レジスタ5から入
出力要求を読み出し、対応する入出力ドライバをディス
ク8からロードし、起動をかける。ロード失敗時には、
その入出力要求をレジスタ6に記憶させる。
出力処理要求を記憶するためのFIFOレジスタ、6は
、オーバレイ管理部7が、未ロードのドライバをロード
しようとして失敗した場合に、FIFOレジスタ5から
読み出した入出力要求を待機させるためのFIFOレジ
スタである。オーバレイ管理部7は、レジスタ5から入
出力要求を読み出し、対応する入出力ドライバをディス
ク8からロードし、起動をかける。ロード失敗時には、
その入出力要求をレジスタ6に記憶させる。
次に、処理の流れについて説明する。
ドライバ管理部3は、ドライバ起動要求がなされると、
通常のビジー・レディ処理を行ない、ドライバ4に制御
を移す直前に、対応するドライバがロードされているか
否かを判定し、未ロードの場合には起動要求に関する情
報をレジスタ5に記憶させて処理を終える。なお、既ロ
ード/未ロードは5後述するように、ドライバ・アドレ
スの登録、未登録により判定する。ドライバ管理部の処
理が終わると、そのコンチクストが多重割込か否かが判
定され、多重割込が解消されると、オーバレイ管理部7
が起動される。オーバレイ管理部7では、入出力要求を
記憶したレジスタ5より要求内容を読み取り、ドライバ
の動作領域内で対応するドライバをローディングするこ
とが可能な空き領域を探索しローディングする。探索に
失敗した場合は、レジスタ5から読み出した内容を待機
レジスタ6に記憶させる。ドライバ4の処理が終了する
と、ドライバ管理部3へ終了通知が送られ、ドライバ管
理部3で終了イベントの送信、タスクの再開等の終了処
理が行なわれる。この時点で。
通常のビジー・レディ処理を行ない、ドライバ4に制御
を移す直前に、対応するドライバがロードされているか
否かを判定し、未ロードの場合には起動要求に関する情
報をレジスタ5に記憶させて処理を終える。なお、既ロ
ード/未ロードは5後述するように、ドライバ・アドレ
スの登録、未登録により判定する。ドライバ管理部の処
理が終わると、そのコンチクストが多重割込か否かが判
定され、多重割込が解消されると、オーバレイ管理部7
が起動される。オーバレイ管理部7では、入出力要求を
記憶したレジスタ5より要求内容を読み取り、ドライバ
の動作領域内で対応するドライバをローディングするこ
とが可能な空き領域を探索しローディングする。探索に
失敗した場合は、レジスタ5から読み出した内容を待機
レジスタ6に記憶させる。ドライバ4の処理が終了する
と、ドライバ管理部3へ終了通知が送られ、ドライバ管
理部3で終了イベントの送信、タスクの再開等の終了処
理が行なわれる。この時点で。
終了したドライバはメモリ上に留める必要がなくなるた
め、待機レジスタ6に記憶されている入出力要求が入出
力要求レジスタ5へ移され、次にオーバレイ管理部7に
制御が移ったタイミングで、実行領域の探索及びローデ
ィング処理のりトライが行なわれる。
め、待機レジスタ6に記憶されている入出力要求が入出
力要求レジスタ5へ移され、次にオーバレイ管理部7に
制御が移ったタイミングで、実行領域の探索及びローデ
ィング処理のりトライが行なわれる。
次に、オーバレイ管理部の動作を第2図〜第3図により
説明する。
説明する。
オーバレイをするためのエリアは、ドライバ毎に第2図
に示すような情報を持つ管理テーブル21を用いて管理
される。
に示すような情報を持つ管理テーブル21を用いて管理
される。
第3図は、オーバレイ管理部7の制御手順を示すフロー
チャー1−であり、まず、ステップ31で、オーバレイ
のためのディスク・アクセスの有無を判定する。この場
合、例えば、ディスク・アクセス要求時に特定番地のフ
ラグをONにし、終了時にOFFにすれば、その番地の
0N10FFの判定でディスク・アクセスの有無を知る
ことができる。ディスク・アクセスがあればリターンし
、なければ次のステップ32に進んで、入出力要求レジ
スタ5を読み、どの入出力ドライバへ要求があったかを
判定する。これにより、第2図の管理テーブルを得るこ
とができる。次に、上記テーブル」二に定義されたドラ
イバのサイズに応じて、メモリ領域を獲得する(ステッ
プ33)。獲得に成功した場合には、管理テーブル(第
2図)にあるデータに基づいて、ディスクからプログラ
ムをロードしくステップ34)、管理テーブルのスター
ト・アドレスにアドレスを登録する(ステップ35)。
チャー1−であり、まず、ステップ31で、オーバレイ
のためのディスク・アクセスの有無を判定する。この場
合、例えば、ディスク・アクセス要求時に特定番地のフ
ラグをONにし、終了時にOFFにすれば、その番地の
0N10FFの判定でディスク・アクセスの有無を知る
ことができる。ディスク・アクセスがあればリターンし
、なければ次のステップ32に進んで、入出力要求レジ
スタ5を読み、どの入出力ドライバへ要求があったかを
判定する。これにより、第2図の管理テーブルを得るこ
とができる。次に、上記テーブル」二に定義されたドラ
イバのサイズに応じて、メモリ領域を獲得する(ステッ
プ33)。獲得に成功した場合には、管理テーブル(第
2図)にあるデータに基づいて、ディスクからプログラ
ムをロードしくステップ34)、管理テーブルのスター
ト・アドレスにアドレスを登録する(ステップ35)。
獲得できなかった場合には、他のドライバに対応する管
理テーブルを読み、ステータスがレディのもの(入出力
要求がないもの)について、管理テーブルのデータに従
って、プログラムを主記憶からディスクへ書き出しくス
テップ36)、¥I理子テーブル上スタート・アドレス
に「NULLJを埋め込むことにより登録抹消しくステ
ップ37)、領域を開放させ、再び、獲得操作を行なう
。レディ状態のドライバを全てディスクへ書き出しても
ロード不可能な場合には、入出力要求の内容を待fiF
IFoレジスタへ登録し処理を終える。
理テーブルを読み、ステータスがレディのもの(入出力
要求がないもの)について、管理テーブルのデータに従
って、プログラムを主記憶からディスクへ書き出しくス
テップ36)、¥I理子テーブル上スタート・アドレス
に「NULLJを埋め込むことにより登録抹消しくステ
ップ37)、領域を開放させ、再び、獲得操作を行なう
。レディ状態のドライバを全てディスクへ書き出しても
ロード不可能な場合には、入出力要求の内容を待fiF
IFoレジスタへ登録し処理を終える。
次に、本発明の他の実施例を第1図、第4図。
第5図により説明する。
この実施例は、処理の全体的な流れは第1の実施例と変
らない。但し、各ドライバの管理テーブルを第4図のよ
うに拡張し、対応するドライバが高速に処理をしなけれ
ばならない時には「○NJ。
らない。但し、各ドライバの管理テーブルを第4図のよ
うに拡張し、対応するドライバが高速に処理をしなけれ
ばならない時には「○NJ。
それ以外の時には「○FFJとなるよう制御する。
オーバレイ管理部7の流れを第5図に示す。処理内容は
基本的には第3図と同一であり、ドライバをディスクに
書き出す条件として、ステータスがレディであることに
加えて、ロック情報がOFFであることを確認するよう
にしている(ステップ51)。
基本的には第3図と同一であり、ドライバをディスクに
書き出す条件として、ステータスがレディであることに
加えて、ロック情報がOFFであることを確認するよう
にしている(ステップ51)。
以上の実施例では、FIFOIジスタを2つ用いること
により、ロード失敗時(領域獲得失敗時)の効率化を図
っているが、FIFOIジスタを1つにした場合、レジ
スタ6への登録処理をレジスタ5への登録処理に置き換
え、ドライバの終了処理では何もしないようにすればよ
い。
により、ロード失敗時(領域獲得失敗時)の効率化を図
っているが、FIFOIジスタを1つにした場合、レジ
スタ6への登録処理をレジスタ5への登録処理に置き換
え、ドライバの終了処理では何もしないようにすればよ
い。
また1本発明において、メモリ管理方式を、例えばビン
1〜・マツプ管理の如く、管理領域を管理データとして
用いない方式にした場合、当該ドライバのローディング
後に、破壊されなかったドライバをそのまま再登録して
1次の入出力に高速に応答できるようにすることが可能
である。
1〜・マツプ管理の如く、管理領域を管理データとして
用いない方式にした場合、当該ドライバのローディング
後に、破壊されなかったドライバをそのまま再登録して
1次の入出力に高速に応答できるようにすることが可能
である。
本発明によれば、アドレスを仮想化せず、しかもディス
ク入出力の空き時間を用いてドライバをオーバレイさせ
ることにより、小さい実行領域でのOSの効率的な動作
が可能となる。
ク入出力の空き時間を用いてドライバをオーバレイさせ
ることにより、小さい実行領域でのOSの効率的な動作
が可能となる。
第1図は本発明を実施するためのシステム全体構成図、
第2図はドライバ管理テーブルの1実施例を示す図、第
3図はオーバレイ管理部の処理フローチャート、第4図
はドライバ管理テーブルの他の実施例を示す図、第5図
はドライバ管理部の他の実施例を示す処理フローチャー
トである。 3・・・ドライバ管理部、5・・・入出力要求を記憶す
るFIFOIジスタ、6・・・待機入出力要求を記憶す
るFIFOレジスタ、7・・・オーバレイ管理部、8・
・・ドライバを格納した2次記憶装置。
第2図はドライバ管理テーブルの1実施例を示す図、第
3図はオーバレイ管理部の処理フローチャート、第4図
はドライバ管理テーブルの他の実施例を示す図、第5図
はドライバ管理部の他の実施例を示す処理フローチャー
トである。 3・・・ドライバ管理部、5・・・入出力要求を記憶す
るFIFOIジスタ、6・・・待機入出力要求を記憶す
るFIFOレジスタ、7・・・オーバレイ管理部、8・
・・ドライバを格納した2次記憶装置。
Claims (1)
- 1、電子計算機システムにおいて、入出力ドライバの動
作領域とそのコードを格納した2次記憶とを管理するオ
ーバレイ管理手段と、入出力要求を記憶するためのFI
FOレジスタを有し、入出力要求発生時に対応する入出
力ドライバが既ロードか否かを判定し、未ロードの場合
には上記FIFOレジスタにその旨を記憶させて当該入
出力に関する処理を終了させ、多重割込解消後、上記管
理部において上記FIFOレジスタを読み込み、当該入
出力ドライバをロードして動作させるようにしたことを
特徴とするOSのオーバレイ方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25829486A JPS63113739A (ja) | 1986-10-31 | 1986-10-31 | Osのオ−バレイ方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25829486A JPS63113739A (ja) | 1986-10-31 | 1986-10-31 | Osのオ−バレイ方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63113739A true JPS63113739A (ja) | 1988-05-18 |
Family
ID=17318259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25829486A Pending JPS63113739A (ja) | 1986-10-31 | 1986-10-31 | Osのオ−バレイ方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63113739A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9832592B2 (en) | 2013-11-21 | 2017-11-28 | Fujitsu Limited | Radio communication device and radio communication method |
-
1986
- 1986-10-31 JP JP25829486A patent/JPS63113739A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9832592B2 (en) | 2013-11-21 | 2017-11-28 | Fujitsu Limited | Radio communication device and radio communication method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3253303B2 (ja) | コンテキスト切り換え装置及び方法 | |
| US5127098A (en) | Method and apparatus for the context switching of devices | |
| JP3546678B2 (ja) | マルチos構成方法 | |
| KR970067231A (ko) | 씨디-롬 드라이브에서의 큐잉 제어방법 | |
| JPH05216692A (ja) | プログラム実行を管理する方法およびシステム | |
| EP1014264B1 (en) | A system and method for facilitating safepoint synchronization in a multithreaded computer system | |
| JP2004078322A (ja) | タスク管理システム、プログラム、記録媒体、及び制御方法 | |
| JP5131269B2 (ja) | マルチプロセッシングシステム | |
| US20210208928A1 (en) | Interrupt servicing in userspace | |
| JPS63113739A (ja) | Osのオ−バレイ方式 | |
| JP2001216172A (ja) | マルチos構成方法 | |
| JP2671160B2 (ja) | 例外処理方式 | |
| JPH0519179B2 (ja) | ||
| JP4149619B2 (ja) | 優先度変換システム | |
| JP3163196B2 (ja) | 仮想記憶制御における命令中断情報格納制御方法 | |
| JP2535568B2 (ja) | アプリケ―ションプログラムでの動的バッファ管理方式 | |
| JPH0756800A (ja) | メモリ領域の動的管理装置 | |
| JPH0554141B2 (ja) | ||
| JPS6218073B2 (ja) | ||
| JPS62221041A (ja) | 仮想計算機システムにおけるデイスパツチ制御装置 | |
| JP2003131893A (ja) | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 | |
| JPS63172346A (ja) | スタツク割当方法 | |
| JPH02129724A (ja) | プログラム実行方式 | |
| JPH05204676A (ja) | メモリ予約機能を有する計算機装置 | |
| JPS59163647A (ja) | タスク管理方法 |