JPH11306077A - メモリ管理方法 - Google Patents

メモリ管理方法

Info

Publication number
JPH11306077A
JPH11306077A JP10996898A JP10996898A JPH11306077A JP H11306077 A JPH11306077 A JP H11306077A JP 10996898 A JP10996898 A JP 10996898A JP 10996898 A JP10996898 A JP 10996898A JP H11306077 A JPH11306077 A JP H11306077A
Authority
JP
Japan
Prior art keywords
page
space
address space
entry
memory management
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.)
Withdrawn
Application number
JP10996898A
Other languages
English (en)
Inventor
Toshihiro Sonoda
俊浩 園田
Kiyomi Shibata
清己 柴田
Naoki Nishiguchi
直樹 西口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10996898A priority Critical patent/JPH11306077A/ja
Publication of JPH11306077A publication Critical patent/JPH11306077A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 OSが管理する情報を取得するためのシステ
ムコールを不要にする。 【解決手段】 カーネルは、ユーザプロセスからFORKコ
マンドを受け付けたとき、新規なプロセスの構造体を作
成し、また物理メモリ管理モジュール23によって、OS
すなわちカーネルのアドレス空間11内の所定のページと
対応付けるエントリ、例えばエントリ15b を設けたペー
ジテーブル15を生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数プロセスの同
時実行を可能になしたコンピュータにおいて、アドレス
空間の所定のページを複数のプロセス間で共有させるメ
モリ管理方法に関する。
【0002】
【従来の技術】仮想記憶とは、主記憶装置の実際の記憶
容量よりも大きい記憶領域の使用を可能にする記憶方式
である。具体的には、コンピュータに、その主記憶装置
より記憶容量が大きい2次記憶装置を設け、通常の読み
出し,書き込み命令に基づき両者間において相互方向の
データ転送を可能になしておき、また主記憶装置の記憶
領域を差し替え可能な複数のページに分割して管理すべ
くなしておく。
【0003】ページの管理は、プロセスがアクセス可能
な仮想的なアドレス空間と主記憶装置のメモリ空間との
ページ毎の対応付けを表すページテーブルに基づき行わ
れる。即ち、データの書き込みに際して主記憶装置の記
憶容量が不足したとき、適当なページの記憶内容を2次
記憶装置へ書き込んで前記ページの記憶容量を空き容量
として確保し、また主記憶装置に存在しないデータの読
み出しが発生したとき、該データを2次記憶装置から読
み出していずれかのページにマッピングする。
【0004】ところで、記憶方式として仮想記憶を採用
し、しかも複数のプロセスの同時実行を可能になしたコ
ンピュータにおいては、異なるプロセスのページテーブ
ルのエントリを主記憶装置の同一の物理アドレスに設定
することによって、前記物理アドレスにより規定される
ページにロードされたデータを複数のプロセス間で共有
することが可能である。このように、複数のプロセスに
より共有されるページのことを共有メモリという。以下
に、ページの共有に係るページテーブル設定手順につい
て説明する。
【0005】既にページを割り当てられている第1プロ
セスにおいて、共有に係るページを指定し、該ページを
識別するための共有IDをOSの主制御部(以下、カーネ
ルという)へ要求する。カーネルは、第1プロセスから
要求を受けて、指定されたページの共有IDを発行し、第
1プロセスへ与える。第1プロセスは、与えられた共有
IDを、前記ページを共有すべき第2プロセスへ与える。
第2プロセスは、与えられた共有IDにより識別されるペ
ージについて、その共有に係る手続きをカーネルへ要求
する。カーネルは、第2プロセスから要求を受けて、第
2プロセスが前記共有IDにより識別されるページを共有
するように第2プロセスのページテーブルを設定する。
【0006】図3は、前述の如き設定手順に基づき設定
された、従来のページテーブルを説明する説明図であ
る。図において、1および2は、それぞれ第1および第
2プロセスのアドレス空間を表しており、また、3およ
び4は、それぞれ第1および第2プロセスのページテー
ブルを表す。5は主記憶装置のメモリ空間を表す。第1
プロセスのページテーブル3のエントリ3aは、第1プロ
セスのアドレス空間1の斜線領域とメモリ空間5の斜線
領域とを対応付けている。また、第2プロセスのページ
テーブル4のエントリ4aは、第2プロセスのアドレス空
間2の斜線領域とメモリ空間5の斜線領域とを対応付け
ている。即ち、エントリ3aおよび4aには同一の物理アド
レスが設定されており、このことに基づいて両エントリ
に係るページが第1および第2プロセスの間で共有され
る。
【0007】共有メモリは、例えば、画像データ等の容
量が大きいデータをプロセス間転送する場面において効
果を発揮する。共有メモリを使用しない場合は、プロセ
ス間のメッセージ通信手順に基づいて予め伝送路を形成
しておく。そして、転送元のプロセスにおいて受け渡す
べきデータを前記伝送路に送出して、転送先のプロセス
に受信させる。一方、共有メモリを使用する場合は、予
めデータの受渡しに係るプロセス間で共有する共有メモ
リを設定しておき、転送元のプロセスにおいて受け渡す
べきデータを前記共有メモリに格納することによって目
的を達成するため、処理に係る手順を短縮することがで
きる。
【0008】また、多くのユーザが使用するプログラ
ム、例えばエディタのプログラムについて、通常は、ユ
ーザプロセスからエディタ起動指令を受け付ける都度、
前記プログラムを新たなページにロードするところを、
共有メモリによる場合は、最初のエディタ起動指令に応
じて前記プログラムをロードして、その後はエディタ起
動指令を受け付ける都度、既に前記プログラムをロード
してある記憶領域を共有する手続きを行うことによって
目的を達成するため、主記憶装置の記憶容量の無駄な消
費を低減することができる。
【0009】
【発明が解決しようとする課題】前記ページテーブルの
設定手順において、共有IDなどのOSが管理する情報を
取得するためにシステムコールが使用されている。シス
テムコールを使用する手順においては、コールゲートの
通過処理に係る手順を省略できないため、処理時間の短
縮に不利である。従って、処理時間を短縮するために
は、前述の如きシステムコールによらずOSが管理する
情報の取得を可能にすることが課題となる。
【0010】本発明は斯かる事情に鑑みてなされたもの
であって、ページを共有するための手続きを実行するプ
ロセスの、プロセス実行時の処理時間の短縮が可能なメ
モリ管理方法の提供を目的とする。
【0011】
【課題を解決するための手段】第1発明に係るメモリ管
理方法は、アクセス保護されたアドレス空間を有するプ
ロセスの生成を可能になしてあり、しかもアドレス空間
の所定の領域を複数のプロセス間で共有させることを可
能になしたコンピュータのメモリ管理方法において、プ
ロセスを生成するとき、該プロセスのアドレス空間の所
定の領域を既に存在する他のプロセスと共有させるべく
設定することを特徴とする。
【0012】図4は、本発明のメモリ管理方法に基づき
設定されるページテーブルを説明する説明図である。図
において、11はカーネルのアドレス空間を表す。また、
12および13は、それぞれ第1および第2プロセスのアド
レス空間を表す。また、14および15は、それぞれ第1お
よび第2プロセスのページテーブルを表す。16は主記憶
装置のメモリ空間を表す。第1プロセスのページテーブ
ル14のエントリ14a は、カーネルのアドレス空間11の斜
線領域とメモリ空間16の斜線領域とを対応付けている。
また、第1プロセスのページテーブル14のエントリ14b
には、エントリ14a と同一の物理アドレスが設定されて
おり、第1プロセスのアドレス空間12の斜線領域とメモ
リ空間16の斜線領域とを対応付けている。
【0013】第2プロセスのページテーブル15のエント
リ15a は、カーネルのアドレス空間11の斜線領域とメモ
リ空間16の斜線領域とを対応付けている。また、第2プ
ロセスのページテーブル15のエントリ15b には、エント
リ14a ,エントリ14b 及びエントリ15a と同一の物理ア
ドレスが設定されており、第2プロセスのアドレス空間
13の斜線領域とメモリ空間16の斜線領域とを対応付けて
いる。
【0014】以上の如く、新規なプロセスを生成すると
き、そのプロセスのページテーブルにOSが使用してい
るアドレス空間内の所定のページと対応付けるエントリ
を設けておくことによって、OSが管理する情報を取得
するためのシステムコールを不要にする。また、同様の
原理に基づいて、生成するプロセスのページテーブルに
所定のページと対応付けるエントリを設けておくことに
よって、複数のプロセス間で前記ページを共有する手続
きを不要にする。
【0015】
【発明の実施の形態】図1は、本発明のメモリ管理方法
の実施に係るシステムの主要部の構成を示すブロック図
である。図において、プロセスの生成に係る処理を行う
プロセス生成モジュール21及び仮想記憶に係る処理を行
うメモリ管理モジュール22はカーネル内に設けてあるプ
ログラムモジュールである。プロセス生成モジュール21
は、実行中のいずれかのプロセスからプロセス生成指令
を受け付けたとき、新規なプロセスの構造体を作成し、
またページテーブル生成指令をメモリ管理モジュール22
へ与える。メモリ管理モジュール22は、ページテーブル
の管理に係る処理を行う物理メモリ管理モジュール23を
備える。物理メモリ管理モジュール23は、既に生成され
ている各プロセスに対応するページテーブル23a ,23b
及び23c を管理する。また、ページテーブル生成指令を
受けて、新規なページテーブルを作成する。
【0016】プロセス指定レジスタ24はプロセス切替え
信号を受けて、実行すべきプロセスの設定を記憶するレ
ジスタであって、その記憶内容はメモリ管理ユニット25
から読み出される。メモリ管理ユニット25は、プロセス
指定レジスタ24の記憶内容に基づきページテーブル23a
,23b 及び23c の中から選択したページテーブルに従
って、アドレス空間を主記憶装置26のメモリ空間へマッ
ピングする。
【0017】図2は、本発明のメモリ管理方法に係る処
理手順を示すフローチャートである。カーネルは、ユー
ザプロセスからFORKコマンドを受け付けたとき、新規な
プロセスの構造体を作成する(S1)。そして、物理メモリ
管理モジュール23によって、図4に基づいて説明した如
く、OSが使用しているアドレス空間内の所定のページ
と対応付けるエントリを設けたページテーブルを生成す
る(S2)。
【0018】
【発明の効果】以上の如き本発明のメモリ管理方法によ
っては、プロセスを生成するとき、該プロセスのアドレ
ス空間の所定のページを既に存在するプロセス間と共有
させるべく設定することにより、必要に応じてなされて
いたページを共有するための手続きを不要にするため、
プロセス実行時の処理時間を短縮することができる。
【0019】また、共有させるべきページを、OSが使
用しているアドレス空間内に設定することによって、O
Sが管理する情報を取得するためのシステムコールを不
要にすることができる。
【図面の簡単な説明】
【図1】 本発明のメモリ管理方法の実施に係るシステ
ムの主要部の構成を示すブロック図である。
【図2】 本発明のメモリ管理方法に係る処理手順を示
すフローチャートである。
【図3】 従来のページテーブルを説明する説明図であ
る。
【図4】 本発明のメモリ管理方法に基づき設定される
ページテーブルを説明する説明図である。
【符号の説明】
11 カーネルのアドレス空間 12 第1プロセスのアドレス空間 13 第2プロセスのアドレス空間 14 第1プロセスのページテーブル 14a ,14b エントリ 15 第2プロセスのページテーブル 15a ,15b エントリ 16 メモリ空間 22 メモリ管理モジュール 23 物理メモリ管理モジュール 25 メモリ管理ユニット 26 主記憶装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アクセス保護されたアドレス空間を有す
    るプロセスの生成を可能になしてあり、しかもアドレス
    空間の所定の領域を複数のプロセス間で共有させること
    を可能になしたコンピュータのメモリ管理方法におい
    て、 プロセスを生成するとき、該プロセスのアドレス空間の
    所定の領域を既に存在する他のプロセスと共有させるべ
    く設定することを特徴とするメモリ管理方法。
JP10996898A 1998-04-20 1998-04-20 メモリ管理方法 Withdrawn JPH11306077A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10996898A JPH11306077A (ja) 1998-04-20 1998-04-20 メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10996898A JPH11306077A (ja) 1998-04-20 1998-04-20 メモリ管理方法

Publications (1)

Publication Number Publication Date
JPH11306077A true JPH11306077A (ja) 1999-11-05

Family

ID=14523733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10996898A Withdrawn JPH11306077A (ja) 1998-04-20 1998-04-20 メモリ管理方法

Country Status (1)

Country Link
JP (1) JPH11306077A (ja)

Similar Documents

Publication Publication Date Title
US5574862A (en) Multiprocessing system with distributed input/output management
US7617376B2 (en) Method and apparatus for accessing a memory
JP2625385B2 (ja) マルチプロセッサシステム
JPH04246745A (ja) 情報処理装置及びその方法
KR100630071B1 (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US6952761B2 (en) Bus interface selection by page table attributes
US7913059B2 (en) Information processing device, data transfer method, and information storage medium
KR20070122228A (ko) 외부 디바이스 액세스 장치
JPH0798663A (ja) 非同期i/o制御方式
JP2019164661A (ja) 情報処理装置、情報処理方法及びプログラム
JPH11306077A (ja) メモリ管理方法
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JPH09319653A (ja) 情報処理装置、情報処理システム及びその制御方法
JPH07271654A (ja) コントローラ
JP2003316589A (ja) 実記憶利用方法
JPH1091527A (ja) 記憶装置および記録媒体
JPH03252856A (ja) プログラムの処理方式
JPH0831069B2 (ja) 高速通信バスウインド制御装置
JPH0240760A (ja) 情報処理装置
JPS6368960A (ja) 共用記憶媒体の順次アクセス制御装置
JP2000330949A (ja) 仮想記憶システムのページング制御方法および装置
JPS6037933B2 (ja) 電子計算機のメモリ・アクセス方式
JPH10232819A (ja) メモリ制御装置およびメモリアクセス方法
JPH03134756A (ja) 複合計算機システムの記憶域管理方式
JPH0644192A (ja) データ共有方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050705