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

メモリ管理方法

Info

Publication number
JP2001022640A
JP2001022640A JP11189373A JP18937399A JP2001022640A JP 2001022640 A JP2001022640 A JP 2001022640A JP 11189373 A JP11189373 A JP 11189373A JP 18937399 A JP18937399 A JP 18937399A JP 2001022640 A JP2001022640 A JP 2001022640A
Authority
JP
Japan
Prior art keywords
memory
segment
management
area
page
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
Application number
JP11189373A
Other languages
English (en)
Inventor
Shigeto Kawabata
成人 河端
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP11189373A priority Critical patent/JP2001022640A/ja
Publication of JP2001022640A publication Critical patent/JP2001022640A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 ページング方式によるメモリ管理に加えてセ
グメント方式によるメモリ管理を備えることにより入出
力データ転送効率を向上させ得るメモリ管理方法を提供
する。 【解決手段】 ユーザプロセスプログラムおよび汎用メ
モリアロケーションのメモリ管理にはページング方式に
よるメモリ管理を行い、ユーザプロセスからの大量の入
出力要求に対応するバッファとしてセグメント方式によ
る物理的に連続したメモリを確保し、この確保したメモ
リをユーザプロセスのメモリ空間上にマップすることに
より外部記憶装置および外部入出力装置を含む外部装置
からのデータ転送を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、仮想記憶方式によ
るマルチタスクを実現するオペレーティングシステムを
備えたコンピュータシステムにおけるメモリ管理方法に
関する。
【0002】
【従来の技術】従来、仮想記憶方式によるマルチタスク
を実現するオペレーティングシステムにおいてよく使用
される方法として、ページング方式によるメモリ管理が
ある。これは、オペレーティングシステムがメモリをペ
ージと呼ばれる小さい単位に分けて管理し、メモリ管理
装置を用いてプログラム上のリニアなアドレスをページ
管理テーブルに従って実際の物理メモリに変換すること
によりプログラムの実行やメモリの確保を行うものであ
る。
【0003】なお、この場合のページサイズは、通常シ
ステム全体、または1つのプロセスで唯一のユニークな
ものであり、例えば4〜8kbyte であることが多い。す
なわち、プログラム上ではリニアなアドレスでも、実際
に用いられる物理メモリはページサイズ単位に分割され
た不連続なメモリとなる。これらのメモリ管理方式で
は、基本的に一度の入出力単位はページサイズに制限さ
れる。
【0004】一方、近年では動画像や音声などの連続し
たストリームデータをコンピュータ上で扱う要求が増大
し、これらの入出力は一度に大量のDMA(Direct Mem
oryAccess)転送を必要とする場合が多い。
【0005】ページング方式による仮想記憶方式を実現
するオペレーティングシステムでは、このような一度の
大量のDMA転送の要求に対処するために、オペレーテ
ィングシステムの立ち上げときに、入出力を担当するデ
バイスドライバ内で静的に連続したバッファを確保し、
このバッファ内に一時的に転送した後、ユーザプログラ
ムエリアにコピーする方法が従来は採用されていた。
【0006】
【発明が解決しようとする課題】上述した従来の方法で
は、ユーザプログラムがそのデバイスを使用していない
時でも、常に一定のメモリが取られることになり、メモ
リ利用効率が悪いという問題がある。
【0007】また、カーネル内にメモリを確保するた
め、カーネル内バッファとユーザプログラムとの間で少
なくとも一度のメモリ転送を行う必要があり、入出力の
スループットを低下させるという問題がある。
【0008】本発明は、上記に鑑みてなされたもので、
その目的とするところは、ページング方式によるメモリ
管理に加えてセグメント方式によるメモリ管理を備える
ことにより入出力データ転送効率を向上させ得るメモリ
管理方法を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の本発明は、仮想記憶方式によるマル
チタスクを実現するオペレーティングシステムを備えた
コンピュータシステムにおいて、ユーザプロセスプログ
ラムおよび汎用メモリアロケーションによる小容量のメ
モリ要求に対してはページング方式によるメモリ管理を
行い、ユーザプロセスからの大容量のメモリ要求に対し
てはセグメント方式による物理的に連続したメモリ領域
を確保するメモリ管理を行うことを要旨とする。
【0010】請求項1記載の本発明にあっては、ユーザ
プロセスプログラムおよび汎用メモリアロケーションの
メモリ管理にはページング方式によるメモリ管理を行
い、ユーザプロセスからの大容量のメモリ要求に対して
はセグメント方式による物理的に連続したメモリを確保
し、この確保したメモリをユーザプロセスのメモリ空間
上にマップすることにより外部記憶装置および外部入出
力装置を含む外部装置からのデータ転送を行うため、ユ
ーザからの大量の入出力要求を効率的に行い、入出力転
送効率を向上することができる。
【0011】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。図1は、本発明の一実施形態に係る
メモリ管理方法を実施するコンピュータシステムの構成
を示す図である。同図において、1は中央演算装置、3
はメモリ管理装置、5は主記憶装置、7は二次記憶装
置、9は外部I/O装置、11はシステムバス、13は
I/Oバスであり、メモリ管理装置3は、ページング方
式によるメモリ管理を行うページ管理装置3aとセグメ
ント方式によるメモリ管理を行うセグメント管理装置3
bを有する。なお、図1に示すコンピュータシステム
は、仮想記憶方式によるマルチタスクを実現し得るオペ
レーティングシステムを備えているものである。
【0012】メモリ管理装置3は、ページ管理装置3a
によりページング方式によるメモリ管理を行うことに加
えて、セグメント管理装置3bによりセグメント方式に
よるセグメント管理を行うことができる。そして、ユー
ザプロセスプログラムや汎用メモリアロケーションのメ
モリ管理にはページング方式によるメモリ管理を行うと
ともに、またユーザプログラムが入出力用の大容量のメ
モリを要求した時には、この要求に対するバッファとし
て、カーネルはセグメント方式による物理的に連続した
メモリを確保し、この確保したメモリをユーザプロセス
のメモリ空間に直接マップし、これにより二次記憶装置
および外部入出力装置を含む外部装置からの大量のDM
A転送を可能にするとともに、また直接ユーザプログラ
ム上に外部装置からDMA転送を可能にし、入出力のス
ループットを向上させている。
【0013】上述したように、図1に示すコンピュータ
システムにおけるメモリ管理方法では、カーネルはユー
ザプログラムや通常のメモリアロケーション要求に対し
ては、ページング方式によって管理されたメモリを割り
付けるが、ユーザプログラムが入出力用に連続したメモ
リを要求した時には、カーネルはページング用メモリと
は別に、セグメント方式用に予め確保したメモリ領域よ
り空いているエリアを探して、このエリアを確保し、こ
のエリア情報をユーザプログラムに割り付けられた仮想
アドレスに返却する。しかしながら、要求された空き領
域がない場合には、使用可能な最大のサイズのエリアを
返す。そして、ユーザプログラムは必要に応じてこのエ
リアを確保する。
【0014】ここで一例として、 Segmemoryalloc
( )をメモリ確保の関数とし、入出力要求をIOrequest
( )とした場合の様子をプログラムで示すと次のように
なる。
【数1】 Uneigned char Ptr; Unsigned int size,Needsize; Needsize=N; If((Ptr=Segmemoryalloc(Needsize,& size)==NULL){ Needsize=size; Ptr=Segmemoryalloc(size,& size); } IOrequest(Ptr,Needsize); この時のメモリ管理装置は、ユーザプログラムのアドレ
スを図2に示すようにユーザプログラムのメモリアドレ
スの上位数ビットを用いて、ページング管理によるメモ
リ空間かまたはセグメント管理によるメモリ空間かを判
断し、それぞれページ管理テーブルまたはセグメント管
理テーブルを用いて、物理メモリである主記憶装置5上
の物理アドレスに変換する。
【0015】すなわち、図2に示すように、主記憶装置
5のメモリエリアはユーザプログラムのメモリアドレス
の上位数ビットでプログラムデータエリアかまたはセグ
メントI/Oエリアかに分けられ、プログラムデータエ
リアではプログラムページディレクトリからページ管理
テーブルを用いて物理メモリである主記憶装置5上に複
数のページメモリを画定し、これによりページング管理
メモリを形成し、またセグメントI/Oエリアではセグ
メント管理テーブルを用いて物理メモリである主記憶装
置5上に任意サイズの複数のセグメントメモリを画定
し、これによりセグメント管理メモリを形成している。
なお、各セグメントメモリのサイズN,Mなどは任意の
大きさであり、要求に応じて任意のサイズのセグメント
メモリを確保するが、この確保したセグメントメモリを
使用した後に空きとなった領域がセグメントメモリの末
尾に空き領域として図2ではサイズMのセグメントメモ
リの末尾に示されている。
【0016】セグメント管理によるメモリに対する例え
ばサイズNの入出力要求を受けたカーネルは、ドライバ
に対してサイズNだけの転送要求を出力する。転送終了
後はデータのユーザ空間へのコピーを行わずに直ちにユ
ーザプログラムに戻る。
【0017】
【発明の効果】以上説明したように、本発明によれば、
ユーザプロセスプログラムおよび汎用メモリアロケーシ
ョンのメモリ管理にはページング方式によるメモリ管理
を行い、ユーザプロセスからの大量の入出力要求に対応
するバッファとしてセグメント方式によるメモリ管理を
行い、ユーザプロセスのメモリ空間上にマップすること
により外部装置からのデータ転送を行うので、ユーザか
らの大量の入出力要求を効率的に行うことができ、入出
力転送効率を向上することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るメモリ管理方法を実
施するコンピュータシステムの構成を示す図である。
【図2】図1の実施形態におけるユーザプログラム空
間、ページ管理テーブル、セグメント管理テーブル、主
記憶装置の関連を示す説明図である。
【符号の説明】
1 中央演算装置 3 メモリ管理装置 3a ページ管理装置 3b セグメント管理装置 5 主記憶装置 7 二次記憶装置 9 外部I/O装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 仮想記憶方式によるマルチタスクを実現
    するオペレーティングシステムを備えたコンピュータシ
    ステムにおいて、 ユーザプロセスプログラムおよび汎用メモリアロケーシ
    ョンによる小容量のメモリ要求に対してはページング方
    式によるメモリ管理を行い、 ユーザプロセスからの大容量のメモリ要求に対してはセ
    グメント方式による物理的に連続したメモリ領域を確保
    するメモリ管理を行うことを特徴とするメモリ管理方
    法。
JP11189373A 1999-07-02 1999-07-02 メモリ管理方法 Pending JP2001022640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11189373A JP2001022640A (ja) 1999-07-02 1999-07-02 メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11189373A JP2001022640A (ja) 1999-07-02 1999-07-02 メモリ管理方法

Publications (1)

Publication Number Publication Date
JP2001022640A true JP2001022640A (ja) 2001-01-26

Family

ID=16240242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11189373A Pending JP2001022640A (ja) 1999-07-02 1999-07-02 メモリ管理方法

Country Status (1)

Country Link
JP (1) JP2001022640A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085393A (ja) * 2004-09-15 2006-03-30 National Institute Of Information & Communication Technology デバイスからの高速データ転送方法及びデータ処理装置
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構
US7676645B2 (en) 2004-01-09 2010-03-09 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP2013037589A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676645B2 (en) 2004-01-09 2010-03-09 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
JP2006085393A (ja) * 2004-09-15 2006-03-30 National Institute Of Information & Communication Technology デバイスからの高速データ転送方法及びデータ処理装置
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構
JP2013037589A (ja) * 2011-08-09 2013-02-21 Kyocera Document Solutions Inc 画像形成装置および画像形成プログラム

Similar Documents

Publication Publication Date Title
JP2625385B2 (ja) マルチプロセッサシステム
JP4805314B2 (ja) 入出力(i/o)仮想化動作のプロセッサへのオフロード
WO2016082196A1 (zh) 文件访问方法、装置及存储设备
WO2021244155A1 (zh) 一种进程间通信方法以及进程间通信装置
JP2005242598A5 (ja)
US20040107329A1 (en) Memory pool configuration system
JPH06187298A (ja) データ転送処理方法及びデータ転送処理装置
JP2774862B2 (ja) Dma制御装置および情報処理装置
US20210373955A1 (en) Methods and systems for hardware-based memory resource allocation
US7249241B1 (en) Method and apparatus for direct virtual memory address caching
US10331570B2 (en) Real time memory address translation device
KR20180041037A (ko) 멀티 코어 솔리드 스테이트 드라이브의 공유 분산 메모리 관리 방법
CN106295413B (zh) 半导体装置
JP2001022640A (ja) メモリ管理方法
US20110296135A1 (en) System and method for freeing memory
JP2001051958A (ja) 多重プロセッサ多成分アーキテクチャのための統一メモリ管理システム
JP2001134486A (ja) マイクロプロセッサおよび記憶装置
TWI284806B (en) Method for managing external memory of a processor and chip for managing external memory
CN111026680A (zh) 将第一标识符映射到第二标识符
JP3875358B2 (ja) 記憶装置、記憶方法および記録媒体
CN117389685B (zh) 虚拟机热迁移标脏方法及其装置、后端设备、芯片
JP3745909B2 (ja) ファイル管理方法
CN114461391A (zh) 一种可重映射的gpu主存访问管理方法和***
CN115543618A (zh) 一种内存分配方法、装置、设备及可读存储介质
JP2001022633A (ja) コンピュータシステムにおけるページ管理方法