JPS62251852A - ユ−ザ空間への物理アドレスの割り当て方式 - Google Patents
ユ−ザ空間への物理アドレスの割り当て方式Info
- Publication number
- JPS62251852A JPS62251852A JP61094367A JP9436786A JPS62251852A JP S62251852 A JPS62251852 A JP S62251852A JP 61094367 A JP61094367 A JP 61094367A JP 9436786 A JP9436786 A JP 9436786A JP S62251852 A JPS62251852 A JP S62251852A
- Authority
- JP
- Japan
- Prior art keywords
- user
- memory
- space
- divided
- physical address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000015654 memory Effects 0.000 claims abstract description 61
- 230000006870 function Effects 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
く技術分野〉
本発明はIJNIXを実行環境とするプロセスにおいて
ユーザ空間へ物理アドレスを割り当てる方式に関する。
ユーザ空間へ物理アドレスを割り当てる方式に関する。
〈従来の技術〉
マルチユーザ、マルチタスクのオペレーティングシステ
ムである[JNIXでは、任意の物理アドレスのメモリ
を任意のユーザ空間に割り付けることができず、ユーザ
プロセス間で共有メモリをもつこと及びユーザプロセス
よりO8のシステムコールを介さずにデバイスを直接コ
ントロールすることができなかった。したがって、デバ
イス等を扱うアプリケーションプログラムでは、O8を
経由しなければならず、処理速度が遅いことから、それ
らのアプリケーションの実現は不可能であった。
ムである[JNIXでは、任意の物理アドレスのメモリ
を任意のユーザ空間に割り付けることができず、ユーザ
プロセス間で共有メモリをもつこと及びユーザプロセス
よりO8のシステムコールを介さずにデバイスを直接コ
ントロールすることができなかった。したがって、デバ
イス等を扱うアプリケーションプログラムでは、O8を
経由しなければならず、処理速度が遅いことから、それ
らのアプリケーションの実現は不可能であった。
従来のUNIXシステムでは、ユーザプロセス空間を管
理するために、各プロセスをプログラムコード部分とプ
ログラムデータ部分に分割し、それぞれについて連続し
た物理メモリ領域を割り当てる。
理するために、各プロセスをプログラムコード部分とプ
ログラムデータ部分に分割し、それぞれについて連続し
た物理メモリ領域を割り当てる。
そして、上記2つの領域について、それぞれの開始論理
アドレス、開始物理メモリアドレス並びにサイズ情報を
用いて領域管理を行なう。
アドレス、開始物理メモリアドレス並びにサイズ情報を
用いて領域管理を行なう。
この方式では、
a、 領域のサイズを拡張するためには新しいサイズ分
の連続したメモリが必要となり、細分化された空メモリ
の有効利用ができず、処理速度の低下を招く。
の連続したメモリが必要となり、細分化された空メモリ
の有効利用ができず、処理速度の低下を招く。
b、 領域の拡張時に国領域から新領域へのメモリコピ
ーが必要となるので、処理速度の低下を招く。
ーが必要となるので、処理速度の低下を招く。
C1プログラムコード部分とプログラムデータ部分以外
の領域をユーザプロセス内にもつことができない といった欠点をも有していた。
の領域をユーザプロセス内にもつことができない といった欠点をも有していた。
〈発明の目的〉
本発明は上記事情に鑑みてなされたものであり、O3核
内のメモリ管理の変更及び任意の物理アドレスの任意の
ユーザ空間への割り付けを行なうシステムコールを形成
することにより、ユーザプロセス間で共有して資源を扱
うプログラムをアプリケーションレベルで作成できるよ
うにしたユーザ空間への物理アドレスの割り当て方式の
提供を目的とする。
内のメモリ管理の変更及び任意の物理アドレスの任意の
ユーザ空間への割り付けを行なうシステムコールを形成
することにより、ユーザプロセス間で共有して資源を扱
うプログラムをアプリケーションレベルで作成できるよ
うにしたユーザ空間への物理アドレスの割り当て方式の
提供を目的とする。
〈発明の要旨〉
本発明に係るユーザ空間への物理アドレスの割り当て方
式は、管理単位に分割したユーザプロセス空間のサイズ
分のメモリ管理テーブルをユーザプロセス毎にもち、ユ
ーザプロセスで使用する物理メモリをユーザプロセスの
論理アドレスに対応したメモリ管理テーブルに登録する
ことにより、ユーザ空間へ物理アドレスを割り当てる。
式は、管理単位に分割したユーザプロセス空間のサイズ
分のメモリ管理テーブルをユーザプロセス毎にもち、ユ
ーザプロセスで使用する物理メモリをユーザプロセスの
論理アドレスに対応したメモリ管理テーブルに登録する
ことにより、ユーザ空間へ物理アドレスを割り当てる。
〈実施例〉
第1図は本実施例の方式の概念的な構成を示す。
MMU (メモリ管理ユニット)1は、UlX上で仮想
記憶管理を実行する。領域管理ロジック2は、システム
のメモリ領域の生成、拡張、開放を制御する。プロセス
コントロールブロック3は、ユーザプロセスごとに設け
られ、それぞれは、各ユーザプロセスのサイズや処理の
優先度等のプロセスの制御情報を記憶するコントロール
情報領域4と、ページ単位に分割されたユーザプロセス
空間の各ページ毎の論理アドレスと物理アドレスとの対
応を記憶するメモリ管理情報テーブル5から構成される
。メモリ管理情報テーブル5は、各ユーザプロセスのサ
イズ分のページに対応したテーブルである。
記憶管理を実行する。領域管理ロジック2は、システム
のメモリ領域の生成、拡張、開放を制御する。プロセス
コントロールブロック3は、ユーザプロセスごとに設け
られ、それぞれは、各ユーザプロセスのサイズや処理の
優先度等のプロセスの制御情報を記憶するコントロール
情報領域4と、ページ単位に分割されたユーザプロセス
空間の各ページ毎の論理アドレスと物理アドレスとの対
応を記憶するメモリ管理情報テーブル5から構成される
。メモリ管理情報テーブル5は、各ユーザプロセスのサ
イズ分のページに対応したテーブルである。
空きメモリポインタ6は、空きメモリである物理メモリ
を指す。空きメモリ管理用ビットマツプ7は、物理メモ
リの0ページからnページまでを1ページについて1ビ
ツトで空きメモリかどうかの管理情報を保持する。
を指す。空きメモリ管理用ビットマツプ7は、物理メモ
リの0ページからnページまでを1ページについて1ビ
ツトで空きメモリかどうかの管理情報を保持する。
高速浮動小数点演算ボード8は、r7oボート9に割り
付けられ、ユーザプロセスの実行に使用される。
付けられ、ユーザプロセスの実行に使用される。
以下、実行の手順について説明する。
i)領域の生成と拡張
■ ユーザプロセス内のコード部などの領域を生成する
ときには、領域の開始論理アドレスとサイズをパラメー
タとして、領域管理ロジック2を起動する。
ときには、領域の開始論理アドレスとサイズをパラメー
タとして、領域管理ロジック2を起動する。
■ 領域管理ロジック2は、プロセスコントロールブロ
ック3のメモリ管理情報テーブル5においてその領域に
対応するエントリに物理メモリがあるかどうかをチェッ
クする。
ック3のメモリ管理情報テーブル5においてその領域に
対応するエントリに物理メモリがあるかどうかをチェッ
クする。
■ もし、未割り当てであれば、空きメモリポインタ6
で指される物理メモリをこのメモリ管理情報テーブル5
に割り当てると共に、空きメモリ管理用ビットマツプ7
においてこの物理メモリに対応したビットを使用中とす
る。
で指される物理メモリをこのメモリ管理情報テーブル5
に割り当てると共に、空きメモリ管理用ビットマツプ7
においてこの物理メモリに対応したビットを使用中とす
る。
■ 空きメモリポインタ6を空き状態となっているビッ
トまで進める。もし、空きメモリが見つからない場合は
、優先度の低いユーザプロセスをスワップアウトするス
ワツピングのロジックを使用して空きメモリを生成する
。
トまで進める。もし、空きメモリが見つからない場合は
、優先度の低いユーザプロセスをスワップアウトするス
ワツピングのロジックを使用して空きメモリを生成する
。
■ ■、■、■の手順を領域を構成する全ページについ
て実行する。
て実行する。
■ ユーザプロセスの新しいメモリ管理情報をMMU
1へ登録する。
1へ登録する。
ii )領域の開放
■ 開放する領域の開始論理アドレスとサイズをパラメ
ータとして、領域管理ロジック2を起動する。
ータとして、領域管理ロジック2を起動する。
■ メモリ管理情報テーブル5において上記管理アドレ
スに対応したエン1−りから物理メモリ情報を消去する
。
スに対応したエン1−りから物理メモリ情報を消去する
。
■ 空きメモリ管理用ビットマツプ7において上記物理
メモリに対応したビットを未使用とする。
メモリに対応したビットを未使用とする。
■ ■、■の手順を領域を構成する全ページについて実
行する。
行する。
■ このユーザプロセスの新しいメモリ管理情報をMM
U 1へ登録する。
U 1へ登録する。
本方式においては、UNIXの核内のメモリ管理の手法
を利用し、ユーザプロセスからメモリ管理情報を操作す
るための以下のような機能を有するシステムコールを形
成する。
を利用し、ユーザプロセスからメモリ管理情報を操作す
るための以下のような機能を有するシステムコールを形
成する。
■ 任意の物理アドレスのメモリを任意のユーザ空間に
割り付ける。
割り付ける。
■ 任意のユーザ空間のメモリを開放する。
■ 任意のユーザ空間に割り付けられたメモリの物理ア
ドレスを知る。
ドレスを知る。
■ I10ボートに対してデータを入出力する。
本方式では、上記機能で割り当てられたアドレスにアク
セスできるユーザプロセスの指定もでき、自分のプロセ
スのみ、指定したプロセス若しくは全てのユーザプロセ
スからのメモリアドレスへのアクセスができる。また、
割り付けられたアドレス空間の以下の動作モードが指定
可能である。
セスできるユーザプロセスの指定もでき、自分のプロセ
スのみ、指定したプロセス若しくは全てのユーザプロセ
スからのメモリアドレスへのアクセスができる。また、
割り付けられたアドレス空間の以下の動作モードが指定
可能である。
■ 読み出しと書き込みが可能なメモリ割り付け
■ 読み出しのみ可能なメモリ割り付けまた、物理アド
レスについては、以下の3種類のメモリが指定できる。
レスについては、以下の3種類のメモリが指定できる。
■ CPUが直接アクセスできるローカルメモリ
■ メインメモリ
■ I10ボート
上述の機能を用いて、第2図に示す手順でアプリケーシ
ョンプログラムを実行する。このアプリケーションプロ
グラムは、I10ボート9に割り付けられた高速浮動小
数点演算ボード8を使用する。 ゛ まず、I10ボート9のアドレスを任意のユーザ空間ア
ドレスに割り付け、割り付けられたアドレスより高速演
算ボード8ヘマイクロコードをロードする。そして、I
10ポート9ヘユーザプログラムより直接データを読み
書きすることにより、プログラムを実行する。処理が終
了すると、ユーザ空間に割り付けられたメモリを開放す
る。
ョンプログラムを実行する。このアプリケーションプロ
グラムは、I10ボート9に割り付けられた高速浮動小
数点演算ボード8を使用する。 ゛ まず、I10ボート9のアドレスを任意のユーザ空間ア
ドレスに割り付け、割り付けられたアドレスより高速演
算ボード8ヘマイクロコードをロードする。そして、I
10ポート9ヘユーザプログラムより直接データを読み
書きすることにより、プログラムを実行する。処理が終
了すると、ユーザ空間に割り付けられたメモリを開放す
る。
このように、cpuとは独立的に処理を実行する高速演
算ボード8をユーザプログラムから制御するため、I1
0ボート9のアドレスを任意のユーザ空間に割り付ける
。この場合、O8を介在させずにユーザプログラムから
高速演算ボード8を制御することができる。
算ボード8をユーザプログラムから制御するため、I1
0ボート9のアドレスを任意のユーザ空間に割り付ける
。この場合、O8を介在させずにユーザプログラムから
高速演算ボード8を制御することができる。
本方式は、上述の実施例以外に、日本語処理プログラム
等で辞書ROMを任意のユーザ空間に割り付けて処理を
行なう等、その用途は広い。
等で辞書ROMを任意のユーザ空間に割り付けて処理を
行なう等、その用途は広い。
〈発明の効果〉
以上説明したように本発明においては、UNIX上でユ
ーザプロセスからメモリ管理情報を操作するシステムコ
ールを形成したことにより、UNIX上で共有メモリ及
びデバイス等の資源を制御するアプリケーションプログ
ラムの作成が可能となる。
ーザプロセスからメモリ管理情報を操作するシステムコ
ールを形成したことにより、UNIX上で共有メモリ及
びデバイス等の資源を制御するアプリケーションプログ
ラムの作成が可能となる。
第1図は本発明の実施例の概念的な構成を示す図、第2
図は本発明の実施例の処理手順を示す流れ図である。 1−M M U 2・−領域管理ロシック 3−プロセスコンl−ロールブロック 4・−コントロール情報 5−メモリ管理情報テーブル 6・・−空きメモリポインタ 7−空きメモリ管理用ビットマツプ 特許出廓人 シャープ株式会社 代 理 人 弁理士 西1)新 第2図
図は本発明の実施例の処理手順を示す流れ図である。 1−M M U 2・−領域管理ロシック 3−プロセスコンl−ロールブロック 4・−コントロール情報 5−メモリ管理情報テーブル 6・・−空きメモリポインタ 7−空きメモリ管理用ビットマツプ 特許出廓人 シャープ株式会社 代 理 人 弁理士 西1)新 第2図
Claims (1)
- ユーザプロセス空間を管理単位に分割し、分割された上
記プロセス空間のサイズ分のメモリ管理テーブルをユー
ザプロセス毎にもち、ユーザプロセスで使用する物理メ
モリをユーザプロセスの論理アドレスに対応した上記メ
モリ管理テーブルに登録することにより、ユーザ空間へ
物理アドレスを割り当てることを特徴とするユーザ空間
への物理アドレスの割り当て方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61094367A JPS62251852A (ja) | 1986-04-23 | 1986-04-23 | ユ−ザ空間への物理アドレスの割り当て方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61094367A JPS62251852A (ja) | 1986-04-23 | 1986-04-23 | ユ−ザ空間への物理アドレスの割り当て方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62251852A true JPS62251852A (ja) | 1987-11-02 |
Family
ID=14108344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61094367A Pending JPS62251852A (ja) | 1986-04-23 | 1986-04-23 | ユ−ザ空間への物理アドレスの割り当て方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62251852A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008251036A (ja) * | 1997-09-24 | 2008-10-16 | Microsoft Corp | 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス |
WO2013111769A1 (ja) * | 2012-01-27 | 2013-08-01 | 京セラドキュメントソリューションズ株式会社 | メモリー管理装置および画像処理装置 |
-
1986
- 1986-04-23 JP JP61094367A patent/JPS62251852A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008251036A (ja) * | 1997-09-24 | 2008-10-16 | Microsoft Corp | 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス |
WO2013111769A1 (ja) * | 2012-01-27 | 2013-08-01 | 京セラドキュメントソリューションズ株式会社 | メモリー管理装置および画像処理装置 |
JP2013156781A (ja) * | 2012-01-27 | 2013-08-15 | Kyocera Document Solutions Inc | メモリー管理装置および画像処理装置 |
CN104081365A (zh) * | 2012-01-27 | 2014-10-01 | 京瓷办公信息系统株式会社 | 存储器管理装置和图像处理装置 |
EP2808798A4 (en) * | 2012-01-27 | 2015-07-22 | Kyocera Document Solutions Inc | MEMORY MANAGEMENT DEVICE AND IMAGE PROCESSING DEVICE |
CN104081365B (zh) * | 2012-01-27 | 2016-09-28 | 京瓷办公信息系统株式会社 | 存储器管理装置和图像处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dennis | Segmentation and the design of multiprogrammed computer systems | |
US4511964A (en) | Dynamic physical memory mapping and management of independent programming environments | |
JP4156033B2 (ja) | 連続するメモリのバッファを獲得し、ページテーブルを構築する方法 | |
US20230196502A1 (en) | Dynamic kernel memory space allocation | |
JPH07175698A (ja) | ファイルシステム | |
KR100470258B1 (ko) | 대용량메모리할당방법및장치 | |
JPS62251852A (ja) | ユ−ザ空間への物理アドレスの割り当て方式 | |
JPH11249916A (ja) | メモリ管理装置および記録媒体 | |
WO2023030174A1 (zh) | 一种资源管理的方法及相应装置 | |
JP4354583B2 (ja) | アクセス方法及びアクセス処理プログラムを記録した記録媒体 | |
US20240176640A1 (en) | Method and apparatus for managing memory | |
JP2000293476A (ja) | Pciデバイスへのリソース割当方式及びその方法 | |
JP2943401B2 (ja) | 仮想計算機の外部記憶装置割当処理方法 | |
JP2003248620A (ja) | 動的メモリ管理方法及び動的メモリ管理情報処理装置 | |
JPH04344549A (ja) | 計算機システムにおけるページ割り当て方式 | |
JPS62251851A (ja) | 電子計算機システムのオ−バレイ制御方式 | |
CN114461391A (zh) | 一种可重映射的gpu主存访问管理方法和系统 | |
JPH02270032A (ja) | ローディング方式 | |
JPS62192828A (ja) | フアイルスペ−ス割当て方式 | |
JPS61136131A (ja) | 情報処理装置 | |
JP2666785B2 (ja) | プロセス終了処理方法及びその装置 | |
CN115756843A (zh) | 一种动态内存容量调整方法、系统、电子设备及存储介质 | |
JP3585956B2 (ja) | 情報処理装置及びその方法 | |
KR890016452A (ko) | 가상 컴퓨터 시스템의 정보 이송방법 | |
JPH04288642A (ja) | メモリ空間の管理方式 |