JPH06103158A - メモリデバイスの用途決定方法及びシステム - Google Patents

メモリデバイスの用途決定方法及びシステム

Info

Publication number
JPH06103158A
JPH06103158A JP5153956A JP15395693A JPH06103158A JP H06103158 A JPH06103158 A JP H06103158A JP 5153956 A JP5153956 A JP 5153956A JP 15395693 A JP15395693 A JP 15395693A JP H06103158 A JPH06103158 A JP H06103158A
Authority
JP
Japan
Prior art keywords
memory
page
calculating
operating system
pages
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
JP5153956A
Other languages
English (en)
Inventor
Samuel L Emrick
リー エムリック サムエル
Jimmie Earl Dewitt
アール デウィット ジミー
James Hoyet Summers
ホイェット サマーズ ジェームズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06103158A publication Critical patent/JPH06103158A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 単一の処理によって使用されるRAM の量を迅
速に決定できる機能を提供する。 【構成】 データ処理システムで実行する複数の処理の
内の選択された1つの処理によってシステム内に含まれ
るメモリデバイスの用途を決定する方法は、システムで
実行するオペレーティングシステムと対話するとき選択
された処理によって使用されるメモリ位置の第1数を計
算するステップと、選択された処理に専用のメモリ位置
の第2数を計算するステップと、選択された処理によっ
て複数の処理の内の少なくとも他の一処理と共有され、
選択された処理によって発信されるメモリ位置の第3数
を計算するステップと、第1数、第2数及び第3数を表
示装置に表示するステップと、から成る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は対話式データ処理システ
ムに関し、特に、ユーザが、単一処理によって使用され
るランダムアクセスメモリ(RAM) の量、或いは、オペレ
ーティングシステム及びシステムで実行する全処理によ
って使用されるRAM の量を決定することが可能なシステ
ムに関する。
【0002】
【従来の技術】コンピュータプログラムの品質及び効率
を高めるため、幾つかのタイプのメモリ用途ツールが開
発された。例えば、Operating System/2(オペレーティ
ングシステム/2)バージョン1.2 (Operating System/2
/2及びOS/2はIBM 社の登録商標)のTHESEUS プログラム
では、システムはシステムにおける全ての処理によって
使用されるRAM を計算した。しかしながら、システムは
対象となる1処理のみによって使用されるRAM を計算す
ることができなかった。システムは、全処理で使用され
るRAM を計算し、処理の用途情報の全てを表示し、ユー
ザに対象となる処理及びその関連情報を決定させた。更
に、システムにおいて全処理のメモリ割当ての全てを解
析する必要があったため、この解析が終了するのにまる
1分かかった。先述のメモリ用途プログラムはシステム
における全ての物理的なメモリの走査を行って、全処理
及びオペレーティングシステムのメモリ用途を決定し
た。
【0003】OS/2システムにおいてメモリ用途の解析を
行うとき、システムにおける特定の1処理が使用してい
るメモリを知る必要がしばしばある。更に、処理によっ
てメモリ用途の解析を迅速に(リアルタイムで)行うこ
とができるのは非常に大切である。更に、その処理にメ
モリ用途を構成する幾つかのメモリオブジェクトの正確
な目的を決定するのは望ましく且つ必要である。この情
報は、次に、処理がシステムメモリを効率的に使用して
いるかどうかを決定するのに使用することができる。
【0004】
【発明が解決しようとする課題】本発明の目的は、先行
技術に対して、単一の処理によって使用中のRAM の量を
迅速に決定できる機能を提供することによってプログラ
ムの対話式メモリ解析の先述の問題を解決することであ
る。
【0005】本発明の目的は、更に、完全なオペレーテ
ィングシステム及び全処理によって使用されるRAM の量
を決定できる機能を提供することである。
【0006】本発明の目的は、使用中の各メモリオブジ
ェクトの目的を表示することも可能な機能を提供するこ
とである。
【0007】
【課題を解決するための手段と作用】データ処理システ
ムで実行する複数の処理の内の選択された1つの処理に
よって前記データ処理システム内に含まれるメモリデバ
イスの用途を決定するための方法は、前記データ処理シ
ステムで実行するオペレーティングシステムと対話する
とき前記選択された1つの処理によって使用されるメモ
リ位置の第1数を計算するステップと、前記選択された
1つの処理だけに専用のメモリ位置の第2数を計算する
ステップと、前記選択された1つの処理によって前記複
数の処理の内の少なくとも他の一処理と共有され、前記
選択された1つの処理によって発信されるメモリ位置の
第3数を計算するステップと、前記第1数、前記第2
数、及び前記第3数を表示装置に表示するステップと、
から成る。
【0008】データ処理システムで実行する複数の処理
の内の選択された1つの処理によって前記データ処理シ
ステム内に含まれるメモリデバイスの用途を決定するシ
ステムは、前記データ処理システムで実行するオペレー
ティングシステムと対話するとき前記選択された1つの
処理によって使用されるメモリ位置の第1数を計算する
ための手段と、前記選択された1つの処理だけに専用の
メモリ位置の第2数を計算するための手段と、前記選択
された1つの処理によって前記複数の処理の内の少なく
とも他の一処理と共有され、前記選択された1つの処理
によって発信されるメモリ位置の第3数を計算するため
の手段と、前記第1数、前記第2数、及び前記第3数を
表示装置に表示するための手段と、から成る。
【0009】概して、本発明は全処理及びオペレーティ
ングシステムに割り当てられるメモリのページを検査し
(RAM 用途の総計を決定するため)、個々の処理に割り
当てられるメモリのページを検査する(特定の処理に対
するRAM 用途を決定するため)ことによってこれらの機
能を達成する。全処理及びオペレーティングシステムへ
のRAM 用途の総計を決定するため、使用される全メモリ
ページをカウントするページフレームテーブルが使用さ
れる。特に、システムページ、全処理ページ及び割り当
てられていないページが、特定のマーキング処理を用い
てテーブルでマークされる。次に、これらのマークされ
たページが合計され、特定の用途、即ち、フリーメモ
リ、システムメモリ又は処理メモリに分類される。次
に、この情報がユーザがシステム資源を割り当てるのを
助けるために表示される。
【0010】特定の処理でのRAM 用途を決定するのが所
望ならば、本発明は特定の処理に割り当てられるオペレ
ーティングシステム制御ブロックでのRAM 用途を計算す
る。次に、処理によって使用される私用メモリ域が処理
によって所有される各メモリオブジェクトと関連するペ
ージから決定され、各オブジェクトの使用中のページを
合計する。次に共用メモリ域が、特定の処理に関連する
幾つかの処理によって共用される各メモリオブジェクト
のページから決定されて、実際に使用中のページを合計
する。次に制御ブロック、私用メモリ、及び共用メモリ
の上記小計が加算されて、特定の処理における使用中の
RAM の総計を決定する。次にこの情報がユーザに表示さ
れる。
【0011】
【実施例】図1を参照すると、本発明に関連して使用さ
れる一般的なデータ処理システムが示されている。イン
テル(Intel)X86プロセッサの内の1プロセッサ等の中央
処理装置(CPU) が提供されて、システムバス12によっ
て他のさまざまな構成要素と相互接続される。読取り専
用メモリ(ROM) 16はバス12を介してCPU 10に接続
され、基本的なコンピュータ機能を制御する基本入出力
システム(BIOS)を備える。ランダムアクセスメモリ(RA
M) 14、入出力(I/O) アダプタ18及び通信アダプタ
34もまたシステムバス12と相互接続される。入出力
アダプタ18は、ディスク記憶装置20と連結する小型
コンピュータシステムインタフェース(SCSI)アダプタで
あってもよい。通信アダプタ34はバス12を外部のネ
ットワークと相互接続し、データ処理システムが他の当
該システムと通信するのを可能にする。入出力デバイス
もまたユーザインタフェースアダプタ22及びディスプ
レイアダプタ36を介してシステムバス12に接続され
る。キーボード24、トラックボール32、マウス26
及びスピーカー28は、全てユーザインタフェースアダ
プタ22を介してバス12と相互接続される。ディスプ
レイモニター38は、ディスプレイアダプタ36によっ
てシステムバス12に接続される。このようにして、ユ
ーザはキーボード24、トラックボール32又はマウス
26を介してシステムに入力し、スピーカー28及びデ
ィスプレイ38を介してシステムから出力を受信するこ
とができる。更に、DOS 又はOS/2システム(OS/2はIBM
社の登録商標)等のオペレーティングシステムが使用さ
れて、図1に示されるさまざまな構成要素の機能を調整
する。
【0012】図2は、本発明を使用する計算環境におけ
る構成要素のブロック図である。図1に示されるデータ
処理システムは参照番号100で示され、ソフトウェア
オペレーティングシステム102が処理システム100
と共に実行して基本的機能を制御する。好ましい実施例
において、オペレーティングシステムはIBM 社から入手
可能なOS/2システムである。しかしながら、ディスクオ
ペレーティングシステム(DOS) 等の他のオペレーティン
グシステムが本発明の範囲で考えられることに注意した
い。システム性能モニター(SPM)104は、オペレーテ
ィングシステムで実行し、制御機能を使用してシステム
性能を監視するために処理システムハードウェア、この
場合RAM 14、と対話するプログラムアプリケーション
である。本発明はSPM 内に含まれ、オペレーティングシ
ステム102によって解釈及び実行される呼出し、コマ
ンド等を介して、データ処理システム100のさまざま
なハードウェア構成要素の制御及び対話が可能である。
【0013】図3及び図4を参照すると、RAM 用途の総
計を決定するための本発明によって使用される方法が記
載されている。ステップ1において方法が開始され、次
にステップ2において、ユーザは全処理及びオペレーテ
ィングシステムによってRAMの用途を検査するためにデ
ィスプレイから選択する。好ましい実施例では、本発明
は処理が資源の所有者であるOS/2環境において記載され
る。各アプリケーションはこれら処理の内の少なくとも
1つから構成され、各処理は .EXE (実行可能)プログ
ムの名前を有する。処理は処理ID(識別)によってOS/2
内で独自に識別される。ステップ3において、機械のRA
M の各ページでの入力を含むアレイ(配列)が初期化さ
れる。当業者は、ページがメモリの4Kバイトセグメント
として定義されることを理解する。このアレイはPF(ペ
ージフレーム)−並列と称され、メモリにおける各ペー
ジの状態をトラッキング(追跡)し、(もしあれば)ど
の処理が各ページの所有者であるかをトラックするため
に使用される。このようにして、本発明はメモリの各ペ
ージが少なくとも一度カウントされるが、一度を越えて
カウントされないのを保証する。
【0014】ステップ4において、ページフレームテー
ブルの私用コピーが作成され、私用−PFとしてラベル付
けされる。このテーブルは物理的アドレスページの各ベ
ージへの入力を有し、640Kバイトと1メガバイトの間に
配置される入出力(I/O) アドレス空間及びROM 空間と共
に、機械に実RAM の全てを含む。ページフレームテーブ
ルは、各物理的ページの内容のトラックを保持するのに
使用される。テーブルの私用コピー(私用−PF)が作成
されることで、この処理が実行される間に発生するペー
ジテーブルの状態でのいかなる変化も、結果に影響を及
ぼすことがない。ステップ5において、ROM である全て
のページとメモリマッピングされた入出力に専用に使用
される全てのRAM ページが、PF−並列アレイに独自にマ
ークされる。ステップ6において、私用−PFテーブルか
ら解放されると決定された全てのページがテーブルに独
自に解放とマークされる。同様に、私用−PFから遊休と
決定された全てのページ(最近使用されていないが、オ
ペレーティングシステムによって使用に適するとマーク
されたページ)も、テーブルに独自に遊休とマークされ
る。
【0015】アリーナは、リニアアドレス空間をマッピ
ングするアリーナレコードの二重にリンクされた循環連
鎖である。共用アリーナにおいてメモリオブジェクトに
アクセス可能な各処理のコンテキストレコードがある。
アリーナレコードは、割り当てられたリニアアドレス空
間を有するシステムの各メモリオブジェクトにある。メ
モリオブジェクトはメモリの論理的割当てユニットであ
る。アプリケーションは、DOSALLOCMEM 機能又はDOSALL
OCSHAREDMEM 機能を介してメモリオブジェクトを割り当
てる。
【0016】各処理は、その処理に独自のリニアアドレ
ス空間をマッピングする「私用アリーナ(private aren
a) 」を有する。「共用アリーナ(shared arena)」は、
複数の処理間で共用されるメモリオブジェクトを保持す
る空間をマッピングする。「システムアリーナ(system
arena)」は、オペレーティングシステムによって使用さ
れるメモリオブジェクトを保持する。ステップ7におい
て、アリーナレコードがシステムアリーナにあるかどう
かを決定し、もしあるならばMARKPRESENTPAGES (MPP)ル
ーチンが呼び出され、図7及び図8に示されるように実
行される(ステップ8)。もしアリーナレコードがシス
テムアリーナにないならば、本発明の方法はステップ9
に続き、メモリページがコンピュータシステムで実行す
るオペレーティングシステム以外に処理(プログラム)
で検査されているかどうかを決定する。検査されている
ならば、ステップ10においてMPP ルーチンが私用アリ
ーナのアリーナレコードに対して実行され、本発明の方
法はステップ11に進む。プログラムのメモリが検査さ
れていなければ、次に本方法はステップ11に直接進
み、アリーナレコードが共用アリーナにあるかどうかが
決定される。もしあるならば、ステップ12において、
コンテキストレコードポインターがあるかどうかが決定
される。コンテキストレコードポインターは、共用アリ
ーナのメモリオブジェクトにアクセス可能な各処理にあ
るコンテキストレコードを識別するのに使用される。コ
ンテキストレコードポインターがあるならば、次にステ
ップ13がオリジネータ(発信元)、即ち、メモリオブ
ジェクトを最初に生成した処理、と示されているプログ
ラムを探し出す。ステップ13に続いて、MPP ルーチン
がオリジネータ処理と関連するメモリページで実行され
る(ステップ15)。もし、ステップ12において、コ
ンテキストレコードポインターがないならば、次にMPP
ルーチンが、コンピュータシステムで実行する少なくと
も1つの処理によって使用されるルーチンのダイナミッ
クリンクライブラリー(DLL)で実行される(ステップ1
4)。
【0017】次に、ステップ16において、本発明の方
法における先行のステップ(ステップ5及び6)によっ
て割り当てられたり、独自にマークされなかったPF−並
列アレイへの入力があるかどうかが決定される。もしあ
るならば、オブジェクトレコードポインターが私用−PF
テーブルから得られる。オブジェクトレコードポインタ
ーは、メモリオブジェクトが私用−PFテーブルの特定の
ページと関連するレコード(オブジェクトレコード)を
示す(ステップ17)。アリーナレコードからのオブジ
ェクトレコード及びリニアアドレスは、次に、どの処理
にそのページが入れられるべきかを決定するために使用
される(ステップ18)。ステップ16において、PF−
並列アレイにマークされていない、或いは、割り当てら
れていない入力がなかったならば、また、ステップ18
に続いて、本発明の方法はステップ19に進み、PF−並
列アレイへの各入力で、ページカウントが適切な範疇に
追加される。すなわち、ページカウントがフリーメモ
リ、オペレーティングシステムメモリ、又は特定の処理
で使用されるメモリに追加される。次にこの情報はシス
テムの私用メモリ及び共用メモリを含むさまざまな範疇
と、現在作動する各処理を示すように表示される(ステ
ップ20)。次に、本発明の方法がステップ21に進ん
で終了する。
【0018】上記のように、RAM 用途の総計を決定する
方法に関連して実行されるMPP ルーチンは、図7及び図
8のフローチャートを参照して記載される。ステップ1
において、(図3及び図4のステップ8、10、14、
15によって実行される結果として)MPP 処理が開始さ
れる。ステップ2において、現在あるメモリオブジェク
トのページが検査されるが、メモリ用途で検討されてい
るUVirt は検査されない。UVirt ページはRAM の実際の
物理的ページを指示しないページテーブル入力である。
ステップ3において、メモリのページがまだ割り当てら
れておらず、共用ページであるかどうかが決定される。
もし共用ページならば、ページは現在考えられる処理に
割り当てられる(ステップ4)。次に、ステップ5にお
いて、システムページ(オペレーティングシステムと関
連するページ)が割り当てられて、所有者コードがINFO
SEGOWNER(ページを示すコードが、実際、システムと関
連する)と示されているかどうかが決定される。オペレ
ーティングシステム所有者コードがあるならば、次にス
テップ6において、ページがシステムに割り当てられ
る。
【0019】ステップ7において、システムページが割
り当てられて、所有者コードが、仮想DOS 処理がメモリ
のこのページを所有することを示すVDMALIASOWNER 又は
VDHOWNERを示すかどうかが決定される。もし仮想DOS 処
理がページを所有するならば、ページはこの時点で割り
当てられず、むしろ保存されて、後でページを所有する
仮想DOS 処理に割り当てられる(ステップ8)。
【0020】ステップ9において、ページが既に割り当
てられ、共用ページであり、リニアアドレスが整合しな
いと決定されるならば、次に矛盾(不一致)が存在する
(ステップ10)。更に、もしステップ11において、
ページが先に割り当てられると決定され、共用ページで
ない、若しくは、リニアアドレスが整合しないならば、
次に矛盾が存在する(ステップ12)。矛盾が存在する
と、本発明の方法は矛盾をもったページに関する新旧の
情報を印刷又は表示させる(ステップ13)。矛盾が存
在するならば、本発明の方法は次にステップ17に進ん
で終了する。しかしながら、矛盾が存在しないならば、
本方法は、PF−並列アレイを変更してページが割り当て
られた特定の処理と、使用されているメモリのタイプ、
即ち、共用メモリ、私用メモリ又はシステムメモリ、を
示すステップ14に続く。次に、ステップ15は検査す
べきメモリのページがまだあるかどうかを決定し、もし
あるならば、ステップ16において、ページ数が増分さ
れて本方法がステップ2に戻る。検査すべきページが残
っていないならば、MPP ルーチンはステップ17に進ん
で終了する。
【0021】個々の処理のRAM 用途がシステムで実行す
る本発明の方法は、図5及び図6のフローチャートを参
照して記載される。ステップ1において本方法が開始さ
れ、ユーザは現在作動するシステム及びユーザ処理のデ
ィスプレイからどの処理がRAM 用途で測定されるかを選
択する(ステップ2)。次に、本発明の方法は、対象と
なる処理によって使用されるオペレーティングシステム
制御ブロックを検査することによってRAM 用途を計算す
る(ステップ3)。これら制御ブロックは、各メモリペ
ージへの入力を含み、各処理及びオペレーティングシス
テムを各入力に関連させる。ステップ4において、本発
明の方法は、処理によって所有される資源を示すタスク
あたりのデータ域(PTDA)のサイズを計算し、各実行スレ
ッド(OS/2システム内で使用されるタスク指名可能装
置、各処理は少なくとも1スレッドを有する)に独自の
情報である全ての処理のスレッド制御ブロック(TCB) の
サイズをカウントし、処理の変更可能(スワップ可能)
な部分(スレッドスワップ可能データ(TSD): TSDとはデ
ィスクにページアウトされることが可能なTCB の部分)
によって使用されるページをカウントし、且つ、16ビッ
トプログラム互換性、例えば、OS/2バージョン1.2 (16
ビット)とOS/2バージョン2.0 (32 ビット)の間で提供
される互換性、を用いて先行のオペレーティングシステ
ムに互換性を提供するのに使用される、処理に対応する
ローカルデクリプターテーブル(LTD) によって使用され
るメモリページの数をカウントする。対象となる処理に
よって使用されるオペレーティングシステム制御ブロッ
クのRAM 用途の計算はステップ5においても続けられ、
ページディレクトリ(リニアアドレスを物理的アドレス
にマッピングするためコンピュータシステムハードウェ
アによって使用される第1レベルアドレス変換テーブ
ル)のサイズがカウントされ、処理用のページテーブル
(リニアアドレスを物理的アドレスにマッピングするた
めコンピュータシステムハードウェアによって使用され
る第2レベルアドレス変換テーブル)を保持するのに使
用されるメモリページの数がカウントされ、処理のモジ
ュールテーブル入力(MTE) (MTEとは対象となる処理に関
連するモジュールのメモリ域内説明)の処理構成要素の
サイズが合計される。対象となる処理によって使用され
るオペレーティングシステム制御ブロックのRAM 用途の
決定に続いて、本発明の方法はステップ6に進み、対象
となる処理に関連する私用メモリ域(私用アリーナ)に
よって使用されるメモリを計算する。
【0022】ステップ7において、オペレーティングシ
ステム制御ブロックから、処理のアリーナレコードが私
用アリーナにあるかどうかが決定され、もしあるなら
ば、ステップ8においてアリーナレコードに関連するペ
ージの数を決定する。処理の私用アリーナにあると決定
されたページに対して、ステップ9において、実際に使
用されるページをカウントする。ステップ9に続いて
(又は、アリーナレコードのいかなるページも私用アリ
ーナにないならば)、本方法はステップ10に続き、共
用アリーナにおける対象となる処理によって使用される
メモリが計算される。
【0023】ステップ11において、共用アリーナにお
ける各アリーナレコードに対して、コンテキストレコー
ドが処理をメモリオブジェクトの所有者として示すかど
うかが決定される。もし示すならば、アリーナレコード
と関連するページの数が決定され(ステップ12)、次
にステップ13において実際に使用中のページがカウン
トされる。次に、共用アリーナにおける各アリーナレコ
ードに対して、対象となる処理がメモリオブジェクトへ
のアクセスを有するとコンテキストレコードが示すかど
うかが決定される(ステップ14)。もし有するなら
ば、メモリオブジェクトに関連するメモリページの数が
決定され(ステップ15)、ステップ16において実際
に使用されるページがカウントされる。メモリに対応す
るページを有するために、処理はメモリオブジェクトを
有するか、若しくは、メモリオブジェクトへのアクセス
を有さなくてはならないことが分かる。更に、コンテキ
ストレコードはオペレーティングシステムによって提供
される情報のバイトであり、制御ブロックに含有される
入力に含まれることに注意すべきである。コンテキスト
レコードは、選択された処理が共用メモリ域のメモリオ
ブジェクトのオリジネータであることを示すためにオン
にされるフラグ(コンテキストレコードバイトに含有さ
れるビット)を含む。もしフラグがオフにされるなら
ば、処理は共用メモリ域へのアクセスを有することが分
かる。このようにして、現在使用され、対象となる処理
に起因する共用エリア内のメモリが決定される。
【0024】次に、ステップ17において、ステップ3
乃至16で以前にカウントされたページの全てが合計さ
れ、対象となる処理で使用中のRAM の総計を決定する。
構成要素(OS制御ブロック、私用エリア、共用エリア
等でカウントされたページ)の総計、及び処理によって
現在使用されているRAM の総量がステップ18において
表示される。情報の表示に続いて、本発明の方法はステ
ップ19に進んで終了する。
【0025】図9は、複数の処理がメモリ域を共用する
とき、対象となる処理にメモリが割り当てられる方法を
示す。RAM 14がメモリデバイスとして示されている
が、先に図1で示されたようにシステムボード、アダプ
タカード等に配置される複数のメモリチップであっても
よい。制御ブロック103はコンピュータオペレーティ
ングシステム102によって制御され、メモリ14の個
々のページをコンピュータシステムで実行する処理に関
連させる。従って、先述のように、選択された処理にお
けるメモリ用途を検査するため、制御ブロック103が
検査されて、どのタイプの制御機能が対象となる処理に
対応可能かを決定する。特に、制御ブロック103はメ
モリ14への各ページの入力を含む。本発明は、メモリ
がオペレーティングシステムによって実際に所有された
としても、これらの入力の内どの入力が選択された処理
に属するかを決定することができる。メモリはオペレー
ティングシステムによって実際に所有されるが、対象と
なる処理の要求がなければ使用されないため、メモリは
選択された処理に担当される。次に、選択された処理に
よって利用される私用メモリが、オペレーティングシス
テム制御ブロックへの入力を読み取り、選択された処理
にのみ属するページをカウントすることによって決定さ
れる。更に、対象となる処理に関連するか又は起因する
ことのできる共用メモリの部分が次に決定される。オペ
レーティングシステム102は、制御ブロック103の
各入力毎にコンテキストレコードを提供する。先述のよ
うに、コンテキストレコードは、選択された処理を共用
メモリ域で発信する処理又は共用メモリへのアクセスを
有する処理として識別する、フラグ又は他のタイプのイ
ンジケータを含む。この情報によって、処理がオリジネ
ータであるとき、或いは、共用メモリへのアクセスを有
するときに、本発明は選択された処理によって実際に使
用中のメモリページのオペレーティングシステム制御ブ
ロックを次に検査する。例えば、処理105が選択され
た処理であると仮定する。まず、オペレーティングシス
テムによって所有されるが処理105に担当させること
が可能なメモリが、制御ブロック103から決定され
る。次に、処理105だけに専用の私用メモリ域もま
た、制御ブロック103から決定される。最後に、処理
105と関連する全ての共用メモリの量が決定されなけ
ればならない。この場合、処理105が処理107及び
処理109とメモリを共有していると仮定する。処理1
05によって発信された、若しくは、処理105がアク
セスを有する共用メモリの総量は、処理105に対応す
るコンテキストレコードに設定されるフラグを用いて制
御ブロック103から決定される。次に、処理105が
オリジネータである決定された共用メモリ域で現在使用
されているメモリページがカウントされる。同様に、処
理105がアクセスを有するこれら共用メモリ域で現在
使用されているメモリページもまたカウントされる。
【0026】次に、処理105へ担当させることが可能
なメモリのカウントされたページの全てが追加されて、
選択された処理に属するRAM 用途の総量が分かる。
【0027】
【発明の効果】本発明は上記より構成され、単一の処理
によって使用されるRAM の量を迅速に決定できる機能が
提供される。
【図面の簡単な説明】
【図1】本発明を実施することが可能な一般的なデータ
処理システムである。
【図2】図1の処理システム及びオペレーティングシス
テムソフトウェアに対する本発明の関係を示しているブ
ロック図である。
【図3】図1のコンピュータで実行している全処理とオ
ペレーティングシステムによって使用されるRAM の量を
検査する処理のフローチャートである。
【図4】図1のコンピュータで実行している全処理とオ
ペレーティングシステムによって使用されるRAM の量を
検査する処理のフローチャートである。
【図5】コンピュータシステムで実行している個々の処
理によって使用されるRAM の量を検査する処理のフロー
チャートである。
【図6】コンピュータシステムで実行している個々の処
理によって使用されるRAM の量を検査する処理のフロー
チャートである。
【図7】全ての処理とオペレーティングシステムによっ
て使用されるRAM の量を決定するのに使用される、メモ
リページをマークするために用いられる処理のフローチ
ャートである。
【図8】全ての処理とオペレーティングシステムによっ
て使用されるRAM の量を決定するのに使用される、メモ
リページをマークするために用いられる処理のフローチ
ャートである。
【図9】本発明によってメモリ用途で検査するために使
用される、さまざまな構成要素から成る構造体を示すブ
ロック図である。
【符号の説明】
14 RAM 100 データ処理システム 102 オペレーティングシステム 103 制御ブロック 105、107、109 処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジミー アール デウィット アメリカ合衆国78726、テキサス州ジョー ジタウン、サウス メイン 1902 (72)発明者 ジェームズ ホイェット サマーズ アメリカ合衆国78681、テキサス州ラウン ド ロック、フリント ロック 2001

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムで実行する複数の処
    理の内の選択された1つの処理によって前記データ処理
    システム内に含まれるメモリデバイスの用途を決定する
    ための方法であって、 前記データ処理システムで実行するオペレーティングシ
    ステムと対話するとき前記選択された1つの処理によっ
    て使用されるメモリ位置の第1数を計算するステップ
    と、 前記選択された1つの処理だけに専用のメモリ位置の第
    2数を計算するステップと、 前記選択された1つの処理によって前記複数の処理の内
    の少なくとも他の一処理と共有され、前記選択された1
    つの処理によって発信されるメモリ位置の第3数を計算
    するステップと、 前記第1数、前記第2数、及び前記第3数を表示装置に
    表示するステップと、 から成るメモリデバイスの用途決定方法。
  2. 【請求項2】 前記第1数、前記第2数、及び前記第3
    数の総計を出すステップと、 前記総計を表示するステップと、 から更に成る請求項1に記載のメモリデバイスの用途決
    定方法。
  3. 【請求項3】 前記第3数を計算するステップが、 前記選択された1つの処理が前記第3数を発信したかど
    うかを計算するステップと、 前記選択された1つの処理が前記第3数を発信したと決
    定されるとき、前記選択された1つの処理によって現在
    使用されている前記第3数のメモリページを計算するス
    テップと、 から成る請求項1に記載のメモリデバイスの用途決定方
    法。
  4. 【請求項4】 データ処理システムで実行する複数の処
    理の内の選択された1つの処理によって前記データ処理
    システム内に含まれるメモリデバイスの用途を決定する
    システムであって、 前記データ処理システムで実行するオペレーティングシ
    ステムと対話するとき前記選択された1つの処理によっ
    て使用されるメモリ位置の第1数を計算するための手段
    と、 前記選択された1つの処理だけに専用のメモリ位置の第
    2数を計算するための手段と、 前記選択された1つの処理によって前記複数の処理の内
    の少なくとも他の一処理と共有され、前記選択された1
    つの処理によって発信されるメモリ位置の第3数を計算
    するための手段と、 前記第1数、前記第2数、及び前記第3数を表示装置に
    表示するための手段と、 から成るメモリデバイスの用途決定システム。
  5. 【請求項5】 前記第1数、前記第2数、及び前記第3
    数の総計を出すための手段と、 前記総計を表示するための手段と、 から更に成る請求項4に記載のメモリデバイスの用途決
    定システム。
JP5153956A 1992-08-07 1993-06-24 メモリデバイスの用途決定方法及びシステム Pending JPH06103158A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/927,083 US5394545A (en) 1992-08-07 1992-08-07 System for determination and display of memory used, dedicated, and shared by a process at a particular time
US927083 1992-08-07

Publications (1)

Publication Number Publication Date
JPH06103158A true JPH06103158A (ja) 1994-04-15

Family

ID=25454149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5153956A Pending JPH06103158A (ja) 1992-08-07 1993-06-24 メモリデバイスの用途決定方法及びシステム

Country Status (2)

Country Link
US (1) US5394545A (ja)
JP (1) JPH06103158A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1044819A2 (en) 1999-04-14 2000-10-18 Star Micronics Co., Ltd. Cutter apparatus and printer
JP5867633B1 (ja) * 2015-01-21 2016-02-24 日本電気株式会社 情報処理装置、制御方法及びプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4219693A (en) * 1992-09-30 1994-04-14 Apple Computer, Inc. Inter-task buffer and connections
US5734904A (en) * 1994-11-14 1998-03-31 Microsoft Corporation Method and system for calling one of a set of routines designed for direct invocation by programs of a second type when invoked by a program of the first type
US5872998A (en) * 1995-11-21 1999-02-16 Seiko Epson Corporation System using a primary bridge to recapture shared portion of a peripheral memory of a peripheral device to provide plug and play capability
US6941437B2 (en) * 2001-07-19 2005-09-06 Wind River Systems, Inc. Memory allocation scheme
US7861093B2 (en) * 2006-08-30 2010-12-28 International Business Machines Corporation Managing data access via a loop only if changed locking facility
US20090217246A1 (en) * 2008-02-27 2009-08-27 Nce Technologies, Inc. Evaluating Software Programming Skills
GB2525874A (en) * 2014-05-07 2015-11-11 Ibm Measurement of computer product usage

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6433642A (en) * 1987-07-30 1989-02-03 Fujitsu Ltd Collecting system for memory application information
JPH0392939A (ja) * 1989-09-06 1991-04-18 Hitachi Ltd 計算機システムの表示方法
JPH03271842A (ja) * 1990-03-20 1991-12-03 Fujitsu Ltd メモリ解放制御方式
JPH0415842A (ja) * 1990-05-09 1992-01-21 Fujitsu Ltd バッファ監視方式
JPH0443437A (ja) * 1990-06-08 1992-02-13 Nec Corp メモリ管理システムのメモリ使用状況表示方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103394A (en) * 1984-04-30 1992-04-07 Hewlett-Packard Company Software performance analyzer
JPH01231122A (ja) * 1988-03-11 1989-09-14 Hitachi Ltd データ記憶装置
EP0365728B1 (en) * 1988-10-28 1993-12-29 International Business Machines Corporation Resource access for a multiprocessing computer system
EP0396833A1 (en) * 1989-05-12 1990-11-14 International Business Machines Corporation Trace facility for use in a multiprocessing environment
US5297274A (en) * 1991-04-15 1994-03-22 International Business Machines Corporation Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor
US5333304A (en) * 1991-05-03 1994-07-26 International Business Machines Corporation Method and apparatus for software application evaluation utilizing compiler applications
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6433642A (en) * 1987-07-30 1989-02-03 Fujitsu Ltd Collecting system for memory application information
JPH0392939A (ja) * 1989-09-06 1991-04-18 Hitachi Ltd 計算機システムの表示方法
JPH03271842A (ja) * 1990-03-20 1991-12-03 Fujitsu Ltd メモリ解放制御方式
JPH0415842A (ja) * 1990-05-09 1992-01-21 Fujitsu Ltd バッファ監視方式
JPH0443437A (ja) * 1990-06-08 1992-02-13 Nec Corp メモリ管理システムのメモリ使用状況表示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1044819A2 (en) 1999-04-14 2000-10-18 Star Micronics Co., Ltd. Cutter apparatus and printer
JP5867633B1 (ja) * 2015-01-21 2016-02-24 日本電気株式会社 情報処理装置、制御方法及びプログラム
JP2016134057A (ja) * 2015-01-21 2016-07-25 日本電気株式会社 情報処理装置、制御方法及びプログラム

Also Published As

Publication number Publication date
US5394545A (en) 1995-02-28

Similar Documents

Publication Publication Date Title
Fitzgerald et al. The integration of virtual memory management and interprocess communication in accent
US6125434A (en) Dynamic memory reclamation without compiler or linker assistance
US5852738A (en) Method and apparatus for dynamically controlling address space allocation
CN100442237C (zh) 访问逻辑分区中的存储器的方法和系统
US6247105B1 (en) Externally identifiable descriptor for standard memory allocation interface
US7467271B2 (en) Operating system permitting limited access to a system page
US8201187B2 (en) Object monitoring system in shared object space
US6351794B1 (en) Computer resource management system
US8719548B2 (en) Method and system for efficient emulation of multiprocessor address translation on a multiprocessor
US4761737A (en) Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US5539899A (en) System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US7036122B2 (en) Device virtualization and assignment of interconnect devices
US7716449B2 (en) Efficient chunked java object heaps
EP0229691A2 (en) I/O accessing control in a multi-tasking virtual memory virtual machine type data processing system
US20070006137A1 (en) Generating and communicating information on locations of program sections in memory
US6745292B1 (en) Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US20060248103A1 (en) Method of detecting memory leaks in software applications
EP0892351A1 (en) Large memory allocation method and apparatus
JPH06103158A (ja) メモリデバイスの用途決定方法及びシステム
US7293207B2 (en) Method for testing memory in a computer system utilizing a CPU with either 32-bit or 36-bit memory addressing
Calderón et al. Understanding and exploiting the internals of GPU resource allocation for critical systems
US7444636B2 (en) Method and system of determining attributes of a functional unit in a multiple processor computer system
Xue et al. Dapper: An adaptive manager for large-capacity persistent memory
US5909593A (en) System for assigning snoop levels to snooper modules and selectively invoking snooper modules having specified relation to a selected snoop level for hardware detection
Endo et al. A scalable mark-sweep garbage collector on large-scale shared-memory machines