JPS6232498B2 - - Google Patents

Info

Publication number
JPS6232498B2
JPS6232498B2 JP56046395A JP4639581A JPS6232498B2 JP S6232498 B2 JPS6232498 B2 JP S6232498B2 JP 56046395 A JP56046395 A JP 56046395A JP 4639581 A JP4639581 A JP 4639581A JP S6232498 B2 JPS6232498 B2 JP S6232498B2
Authority
JP
Japan
Prior art keywords
section
program
load module
address
storage space
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.)
Expired
Application number
JP56046395A
Other languages
English (en)
Other versions
JPS57161933A (en
Inventor
Kazuhiro Motohashi
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 JP56046395A priority Critical patent/JPS57161933A/ja
Publication of JPS57161933A publication Critical patent/JPS57161933A/ja
Publication of JPS6232498B2 publication Critical patent/JPS6232498B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はプログラム自動編成システム、特に仮
想記憶空間を有するプログラム自動編成システム
に関する。
コンピユータ適用業務の増加に伴い、プログラ
ムの全ての部分を実メモリに置いて、処理を行う
と、実メモリの不足となり、アクセスタイムの増
大が障害となる。そこで仮想記憶空間(Virtual
Storage)を導入しその障害を緩和するというこ
とが一般に行なわれている。この仮想記憶空間は
いわゆるページと呼ばれる単位で、実メモリの内
容を読み込み且つこれら保持している。もし必要
なページが実メモリになれば、仮想記憶空間との
やりとりによつてこれを確保しなければならな
い。ところが、このようなページのやりとりはコ
ンピユータシステムの処理効率を低下させること
は明らかである。つまり、なるべくこのようなペ
ージのやりとりを実行する確率を低くすべきであ
る。
かくの如く、仮想記憶方式に基づくコンピユー
タシステム上で動作するオンラインプログラム
は、実メモリ上で動作するプログラム、いわゆる
ワーキングセツト(Working Set)をなるべく小
さい領域に抑えることができるようにプログラム
されるのが望ましい。このため、プログラミング
に際してはそのワーキングセツトの大きさを意識
して最適プログラムを組むべきである。然しなが
ら、ワーキングセツトを常に意識することは煩雑
であるし、又、例えばCOBOL(コボル)言語は
実行時のワーキングセツトを最小になるように意
識して作成することが難しい。
従つて本発明の目的は、ワーキングセツトの大
きさを意識しなくても自動的に最適なワーキング
セツトとなるロードモジユールが得られるプログ
ラム自動編成システムを提案することである。
上記目的に従い本発明は、対象プログラムを監
視するワーキングセツト監視オペレーテイングシ
ステム(以下OS(Operating System)と略す)
部と、単一命令の群を収容するロードモジユール
を仮想記憶空間にローデイングする際に再配置す
る再配置プログラムローダ部とを含み、該ワーキ
ングセツト監視オペレーテイングシステム部は、
前記対象プログラムを実行すべき前記単一命令の
各々の実行回数について前記ロードモジユール内
で累積統計をとり、実行回数の最も多い単一命令
から順次優先順位を付し、該優先順位は前記ロー
ドモジユールのライブラリに記憶し、一方、前記
再配置プログラムローダ部は前記ライブラリから
プログラムを前記仮想記憶空間にローデイングす
る際、前記優先順位の高位の前記単一命令から順
番に配置し直すことを特徴とするものである。
以下図面に従つて本発明を説明する。
第1図は本発明に基づくプログラム自動編成シ
ステムの一構成例を示すブロツク図である。又、
第2A図、第2B図、第2C図および第2D図は
それぞれ第1図のシステムの処理手順を示すフロ
ーチヤートである。以下、これらの図を参照しな
がら本発明を説明する。本発明に係るプログラム
自動編成システム100はワーキングセツト監視
OS110と、ジヨブ管理部130と、ロードモ
ジユールライブラリ150と、スーパバイザ部1
60と、ロードモジユールリンケージエデイタ部
170と、仮想記憶空間180とからなる。これ
らと連係するのはコンピユータハードウエア本体
120(CPU等を含む)である。コンピユータ
ハードウエア本体120はハードウエアアドレス
変換機構121と実メモリ122を有してなる。
ジヨブステツプイニシエート部131は、ロード
モジユール読み出し部132と、相対アドレス再
配置部133と、リソースアサイン部134から
なる。
ジヨブステツプターミネイト部135は、WS
(Working Set(ワーキングセツト))アドレステ
ーブル更新出力部136と、リソース返却部13
7とからなる。
統計処理部138は、アドレス変換機構139
と、ロードモジユール内で単一命令の各々の実行
回数について累積統計をとる命令実行回数統計テ
ーブル部140とからなる。
ロードモジユールライブラリ150は、WSア
ドレステーブル部151と、ロードモジユール部
152とからなる。
スーパバイザ部160は実行命令アドレス通知
部161を有してなる。
ロードモジユールリンケージエデイタ部170
は、WSアドレステーブル初期作成部171と、
ロードモジユール作成部172とからなる。
以上述べた各部の機能と動作を第2A〜2D図
を参照しながら説明する。なお、上述した各部の
うち、特に本発明に係る主要部を予め掲記する
と、相対アドレス再配置部133、WSアドレス
テーブル更新出力部136、統計処理部138、
スーパバイザ部160、WSアドレステーブル初
期作成部171ならびにコンピユータハードウエ
ア本体内のハードウエアアドレス変換機構121
である。
ステツプ1 ロードモジユール部152よりロードモジユー
ルの読み出しを行なう。
ステツプ2 WSアドレステーブル部151内において、実
行回数が多い順にプログラムを実行すべき単一命
令を並べ変える。このステツプ2ならびに次のス
テツプ3はいずれも相対アドレス再配置部133
が行なう。つまり、該再配置部133はWSアド
レステーブル部151を使用してロードモジユー
ルの相対アドレスを付与するものである。
ステツプ3 ステツプ2で並べ変えた順に2次相対アドレス
を付与する。ただし、1次相対アドレスが、命令
の実行順序を表わすものとすると、2次相対アド
レスは実メモリ上の単一命令の配置を表わす。
ステツプ4 仮想記憶空間180上にプログラムリージヨン
(領域)を確保する。なお、このステツプ4から
引続くステツプ8まではリソースアサイン部13
4が行なう。すなわち、リソースアサイン部13
4はジヨブステツプの使用するI/Oの確保、仮
想記憶空間180の確保ならびにロードモジユー
ル部152の展開、統計処理部138のリソース
確保ならびに初期化を行なう。
ステツプ5 統計処理部138を上記プログラムリージヨン
内に作成する。
ステツプ6 命令実行回数統計テーブル部140における回
数累積項目をリセツトする。ここに、テーブル部
140は相対アドレス毎に実行回数を累積且つ記
憶するものである。
ステツプ7 プログラムが使用するI/Oを確保する。
ステツプ8 ジヨブの実行をスーパバイザ部160に依頼す
る。(第2A図のから第2B図のへ飛ぶ) ステツプ9 仮想記憶空間180から、次に実行すべき単一
命令を取り出す。これは、実行命令アドレス通知
部161が行なう。
ステツプ10 ハードウエアアドレス変換機構121によりア
ドレスを変換する。
ステツプ11 単一命令がCPUで実行される都度、実行命令
アドレス通知部161は、実行命令のアドレスを
統計処理部138へ通知する。
ステツプ12 実行すべき単一命令のアドレスを仮想記憶空間
180のアドレスへ変換する。これはアドレス変
換機構139が行なう。概括的にはこの機構13
9は実アドレスを仮想アドレスへ、仮想アドレス
を相対アドレスへアドレス変換する機能を有す
る。なおこのステツプ12から引続くステツプ1
7までは、該機構139が行なう。
ステツプ13 仮想記憶空間180のアドレスから2次相対ア
ドレスを算出する。
ステツプ14 命令実行回数統計テーブル部140内の該当2
次対応アドレスの実行回数欄の内容に1を加算す
る。
ステツプ15 命令実行回数統計テーブル部140を更新す
る。
ステツプ16 プログラムの実行がまだ終了していなければ
(NO)、ステツプ9からの動作を繰り返し、もし
終了していれば(YES)、ステツプ17で移る。
ステツプ17 ジヨブステツプターミネイト部135に制御権
を渡す。(第2B図のから第2C図のへ飛
ぶ) ステツプ18 ロードモジユールライブラリ150内のWSア
ドレステーブル部151を読。このステツプ18か
ら引続くステツプ20まではWSアドレステーブル
更新出力部136によつて行なわれる。この、更
新出力部136は、概括的には、命令実行回数統
計テーブル部140の内容を、ロードモジユール
ライブラリ150のWSアドレステーブル部15
1の内容と合わせて、集計結果をWSアドレステ
ーブル部151へ更新出力するものである。
ステツプ19 WSアドレステーブル部151の2次相対アド
レス毎に、命令実行回数統計テーブル部140の
内容を合計する。
ステツプ20 合計した結果を新WSアドレステーブル部15
1として更新する。
ステツプ21 仮想記憶空間180上に作成されている統計処
理部138を消滅させる。このステツプ21と次
のステツプ22はリソース返却部137によつて
行なわれる。このリソース返却部137は概括性
には、終了するジヨブステツプの統計処理部13
8を消滅させ且つ仮想記憶空間ならびにI/Oを
返却することである。
ステツプ22 プログラムが使用した仮想記憶空間ならびに
I/Oをシステムに返却する。
ここに運用の処理が終了する。
次に第2D図にロードモジユールの作成ステツ
プを示す。
ステツプa コボルコンパイラにより作成されたオブジエク
トモジユールを読む。本ステツプaならびに引続
くステツプはロードモジユールリンケージエデイ
タ部170により行なわれる。
ステツプb オブジエクトモジユールをリンケージエデイツ
ト(編集)してロードモジユールを作成する。
ステツプc ロードモジユールに、1次相対アドレスと2次
相対アドレスを作成する。
ステツプd 1次相対アドレス、2次相対アドレスの実行回
数累積項目をWSアドレステーブル部151に初
期作成する。
なお、第1図に示すロードモジユールリンケー
ジエデイタ部170におけるWSアドレステーブ
ル初期作成部171は、WSアドレステーブル部
151の領域確保と、WSアドレステーブル部1
51の初期化を行なう。
上述した実施例によつて実現される如く、本発
明によれば、自動的に実メモリ上のワーキングセ
ツトが縮小されるから、その結果、多重処理効率
は向上し、効率の良いプログラムが容易に入手で
き、又、オンラインプログラムの場合であれば、
レスポンスタイムの低減ならびに安定化が期待さ
れる。
【図面の簡単な説明】
第1図は本発明に基づくプログラム自動編成シ
ステムの一構成例を示すブロツク図、第2A図、
第2B図、第2C図および第2D図はそれぞれ第
1図のシステムの処理手順を示すフローチヤート
である。 100……プログラム自動編成システム、11
0……ワーキングセツト監視OS、120……コ
ンピユータハードウエア本体、121……ハード
ウエアアドレス変換機構、133……相対アドレ
ス再配置部、136……WSアドレステーブル更
新出力部、138……統計処理部、150……ロ
ードモジユールライブラリ、160……スーパバ
イザ部、171……WSアドレステーブル初期作
成部、180……仮想記憶空間。

Claims (1)

    【特許請求の範囲】
  1. 1 対象プログラムを監視するワーキングセツト
    監視オペレーテイングシステム部と、単一命令の
    群を収容するロードモジユールを仮想記憶空間上
    にローデイングする際に再配置する再配置プログ
    ラムローダ部とを含み、該ワーキングセツト監視
    オペレーテイングシステム部は、前記対象プログ
    ラムを実行すべき前記単一命令の各々の実行回数
    について前記ロードモジユール内で累積統計をと
    り、実行回数の最も多い単一命令から順次優先順
    位を付し、該優先順位は前記ロードモジユールの
    ライブラリに記憶し、一方、前記再配置プログラ
    ムローダ部は前記ライブラリからプログラムを前
    記仮想記憶空間にローデイングする際、前記優先
    順位の高位の前記単一命令から順番に配置し直す
    ことを特徴とするプログラム自動編成システム。
JP56046395A 1981-03-31 1981-03-31 Automatic program editing system Granted JPS57161933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56046395A JPS57161933A (en) 1981-03-31 1981-03-31 Automatic program editing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56046395A JPS57161933A (en) 1981-03-31 1981-03-31 Automatic program editing system

Publications (2)

Publication Number Publication Date
JPS57161933A JPS57161933A (en) 1982-10-05
JPS6232498B2 true JPS6232498B2 (ja) 1987-07-15

Family

ID=12745952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56046395A Granted JPS57161933A (en) 1981-03-31 1981-03-31 Automatic program editing system

Country Status (1)

Country Link
JP (1) JPS57161933A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6413597U (ja) * 1987-07-17 1989-01-24

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5437644A (en) * 1977-08-31 1979-03-20 Toshiba Corp Information processing system
JPS5833631B2 (ja) * 1977-10-11 1983-07-21 富士通株式会社 デ−タ処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6413597U (ja) * 1987-07-17 1989-01-24

Also Published As

Publication number Publication date
JPS57161933A (en) 1982-10-05

Similar Documents

Publication Publication Date Title
CA2358010C (en) Data processing system and operating system
US4104718A (en) System for protecting shared files in a multiprogrammed computer
US4916608A (en) Provision of virtual storage resources to an operating system control program
US6078945A (en) Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
US5339415A (en) Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system
US4435752A (en) Allocation of rotating memory device storage locations
US6948172B1 (en) Preemptive multi-tasking with cooperative groups of tasks
EP0416768B1 (en) Thread private memory storage for multi-thread digital data processors
CA2061117C (en) Apparatus and method for distributed program stack
US4961133A (en) Method for providing a virtual execution environment on a target computer using a virtual software machine
US5526521A (en) Method and system for process scheduling from within a current context and switching contexts only when the next scheduled context is different
US6113651A (en) Compile method, a compiler, an exception handler, and a program recording medium
US5958071A (en) Method and system for controlling parallel execution of jobs
US4945470A (en) Hierarchy multi-processor system and control method therefor
JPS6232498B2 (ja)
WO2002091175A1 (en) Specialized heaps for creation of objects in object-oriented environments
EP0362903B1 (en) A special purpose processor for off-loading many operating system functions in a large data processing system
JP2005129001A (ja) プログラム実行装置、マイクロプロセッサ及びプログラム実行方法
EP0544822B1 (en) Dual level scheduling of processes
JP3241214B2 (ja) 分散処理装置及びプロセス実行方法
JP2019185423A (ja) アプリの実行方法
JP2003076558A (ja) プログラム実行制御方法及びプログラム実行制御プログラム
JP2655613B2 (ja) 異種言語手続き混在方式
JPS6227413B2 (ja)
JPH04317135A (ja) プログラム格納実行方式