JPS6340940A - Non-shared patching system for shared program - Google Patents

Non-shared patching system for shared program

Info

Publication number
JPS6340940A
JPS6340940A JP61184633A JP18463386A JPS6340940A JP S6340940 A JPS6340940 A JP S6340940A JP 61184633 A JP61184633 A JP 61184633A JP 18463386 A JP18463386 A JP 18463386A JP S6340940 A JPS6340940 A JP S6340940A
Authority
JP
Japan
Prior art keywords
shared
program
storage area
address
shared program
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
JP61184633A
Other languages
Japanese (ja)
Inventor
Yuji Murotani
室谷 祐二
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP61184633A priority Critical patent/JPS6340940A/en
Publication of JPS6340940A publication Critical patent/JPS6340940A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To execute a patch change of a shared program, to only a specific task, by storing the change contents in an address in a program on a main storage device, at the time loading a page containing an address of the shared program, onto an intrinsic virtual storage area. CONSTITUTION:First of all, a non-shared virtual storage area 21 for loading a shared program 5 is secured in an intrinsic virtual storage area 10 of a task 4. Subsequently, an address of a shared program store area 22 of the program 5 in a secondary storage device 6 is set to an external page table corresponding to the storage area 21. Simultaneously, by relocating a virtual address of the program 5 so as to be brought to addressing to the storage area 21, the storage area 22 in the device 6 is brought to mapping to the storage area 21. Thereafter, a real page RP1 of a main storage device 7 is allocated to the storage area 21 by a paging function, and a program text of the program 5 is page-loaded from the device 6. In such a case, the change contents are sent to the real page RP1 of the device 7 from a change contents store device 3.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は非共用プログラムの非共用パッチ方式に関し、
特に複数のタスク間で共用される共用プログラムを共用
仮想記憶域に有する計算機システムにおける共用プログ
ラムの非共用パッチ方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a non-shared patch method for a non-shared program,
In particular, the present invention relates to a non-shared patch method for shared programs in a computer system that has shared programs shared among multiple tasks in a shared virtual storage area.

〔従来の技術〕[Conventional technology]

従来、この種の共用プログラムのパッチ方式では、共用
プログラムをパッチ変更する場合に、■ 運用中のタス
クのスケジュールを停止して共用プログラムの2次記憶
装r内の該当箇所を変更し共用仮想記憶域にマツピング
する方式、■ 共用仮想記憶域にマツピングされた2次
記憶装置上の共用プログラム格納域とは別の領域に変更
された共用プログラムを格納し、この共用プログラムを
特定のタスクにリンクして共用仮想記憶域とは別の固有
仮想記憶域上で実行する方式%式% 〔発明が解決しようとする問題点〕 上述した従来の共用プログラムのパッチ方式では、共用
仮想記憶域上で共用プログラムをパッチ変更した場合に
は、全ての運用中のタスクが同時に変更処理対象となり
、特定のタスクのみに閉した変更ができないという欠点
がある。
Conventionally, in this type of patching method for shared programs, when patching a shared program, the following steps were taken: ■ Stop the schedule of the task in operation, change the corresponding location in the shared program's secondary storage device r, and update the shared virtual memory. ■ Storing the modified shared program in an area separate from the shared program storage area on the secondary storage device mapped to the shared virtual storage area, and linking this shared program to a specific task. [Problem to be solved by the invention] In the conventional shared program patching method described above, the shared program is executed on a private virtual storage area separate from the shared virtual storage area. When changing the patch, all running tasks are subject to change processing at the same time, and there is a drawback that changes cannot be made to only specific tasks.

また、特定のタスクの固有仮想記憶域に変更した共用プ
ログラムをリンクした場合には上記欠点は回避されるが
、リンク処理に要するシステム資源や変更した共用プロ
グラムを格納する2次記憶VA’ll内の領域が必要に
なるという欠点がある。
In addition, the above disadvantages can be avoided if the changed shared program is linked to the private virtual storage area of a specific task, but the system resources required for link processing and the secondary storage VA'll that stores the changed shared program The disadvantage is that it requires an area of

本発明の目的は、上述の点に濡み、2次記憶装置内の領
域を使用することなしに共用プログラムのバッチ変更を
特定のタスクだけを対象に行えるようにした共用プログ
ラムの非共用バッチ方式を提供することにある。
An object of the present invention is to address the above-mentioned points and provide a non-shared batch method for shared programs that allows batch modification of shared programs only for specific tasks without using the area in the secondary storage device. Our goal is to provide the following.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の共用プログラムの非共用バッチ方式は、複数の
タスク間で共用される共用プログラムを共用仮想記憶域
に有する計算機システムにおいて、特定のタスクにバッ
チ変更の対象となる共用プログラムの共用プログラム名
、このプログラム内アドレスおよびこのアドレスの変更
内容を指定する変更指定手段と、前記共用仮想記憶域と
は異なる前記特定のタスクの固有仮想記憶域に前記共用
プログラムをロードするために前記固有仮想記憶域と2
次記憶装置上の共用プログラム格納域とをマツピングす
るマツピング手段と、前記固有仮想記憶域上に前記共用
プログラムの前記プログラム内アドレスを含むページを
ロードした際に上記、1(7z置上で前記プログラム内
アドレスに前記変更内容を格納する変更内容格納手段と
を有する。
The non-shared batch method for shared programs of the present invention provides, in a computer system having a shared program shared among multiple tasks in a shared virtual storage area, a shared program name of a shared program to be batch changed to a specific task; a change specification means for specifying an address within the program and contents of change to the address; 2
a mapping means for mapping a shared program storage area on the next storage device; and a change content storage means for storing the change content in the internal address.

(作用〕 本発明の共用プログラムの非共用パッチ方式では、変更
指定手段は特定のタスクにパ、・チ変更の対象となる共
用プログラムの共用プログラム名。
(Operation) In the shared program non-shared patch method of the present invention, the change specification means specifies the shared program name of the shared program to be changed.

このプログラム内アドレスおよびこのアドレスの変更内
容を指定し、マッピング手段が共用仮想記憶域とは異な
る特定のタスクの固有仮想記憶域に共用プログラムをロ
ードするために固有仮想記憶域と2次記憶装置上の共用
プログラム格納域とをマツピングし、変更内容格納手段
が固有仮想記憶域上に共用プログラムのプログラム内ア
ドレスを含むページをロードした際に主記憶装置上でプ
ログラム内アドレスに変更内容を格納する。
Specifies this in-program address and the changes to this address, and the mapping means uses private virtual storage and secondary storage to load the shared program into a specific task's private virtual storage that is different from the shared virtual storage. and the shared program storage area, and when the changed content storage means loads a page including the intra-program address of the shared program on the private virtual storage area, the changed content is stored in the intra-program address on the main storage device.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は、本発明の一実施例を示す構成図である。本実
施例の共用プログラムの非共用バッチ方式は、特定のタ
スク4に共用プログラム5の共用プログラム変更情報3
0を指定する変更指定手段1と、2次記憶装置6内の共
用プログラム格納領域22に存在する共用プログラム5
のプログラムテキストをタスク4の固有仮想記憶域10
内の非共用仮想記憶域21にマツピングするマツピング
手段2と、固を仮想記憶域10に割り当てられた主記憶
装置7の実ベージRPIにロードされた共用プログラム
5の変更対象アドレスに変更内容を格納する変更内容格
納手段3とから、その主要部が構成されている。
FIG. 1 is a configuration diagram showing an embodiment of the present invention. In the non-shared batch method of the shared program of this embodiment, shared program change information 3 of the shared program 5 is sent to a specific task 4.
0, and the shared program 5 existing in the shared program storage area 22 in the secondary storage device 6.
The program text of task 4 is stored in the private virtual storage area 10 of task 4.
The mapping means 2 maps to a non-shared virtual storage area 21 in The main part thereof is composed of the change content storage means 3.

共用プログラム変更情報30には、変更対象の共用プロ
グラム5の共用プログラム名31と、この共用プログラ
ム5のプログラム内アドレス32と、このプログラム内
アドレス32に対する変更内容33とが含まれている。
The shared program change information 30 includes a shared program name 31 of the shared program 5 to be changed, an intra-program address 32 of this shared program 5, and change details 33 for this intra-program address 32.

次に、このように構成された本実施例の共用プログラム
の非共用パッチ方式の動作について説明する。
Next, the operation of the non-shared patch method of the shared program of this embodiment configured as described above will be explained.

通常は、第2図に示すように、2次記憶装置6の共用プ
ログラム格納域22に格納されている共用プログラム5
は、複数のタスク40ないし41に共用されるため、こ
れらのタスク40ないし41によってアドレッシング可
能な共用仮想記憶域20にマツピングされている。
Normally, as shown in FIG. 2, the shared program 5 stored in the shared program storage area 22 of the secondary storage device 6 is
Since it is shared by a plurality of tasks 40 and 41, it is mapped to the shared virtual storage area 20 that can be addressed by these tasks 40 and 41.

ここで、第1図に示すように、特定のタスク4が共用プ
ログラム5のあるアドレスの内容を変更したサービスを
受けたい場合、変更指定手段1によって変更対象の共用
プログラム名31とこのプログラム内アドレス32とこ
のアドレス32に対する変更内容33とを要素とするエ
ントリリストからなる共用プログラム変更情報30をタ
スク4に与え、タスク4の管理テーブルに連結する。
Here, as shown in FIG. 1, when a specific task 4 wants to receive a service in which the content of a certain address of the shared program 5 is changed, the change specifying means 1 selects the shared program name 31 to be changed and the address within this program. The shared program change information 30 consisting of an entry list having elements 32 and change contents 33 for this address 32 is given to the task 4 and linked to the management table of the task 4.

タスク4が初めて共用プログラム5を呼び出したダイナ
ミックリンキング処理時に、変更指定手段lによって指
定された共用プログラム変更情報30内の共用プログラ
ム名31を検索し、共用プログラム5に一致するエント
リが存在する場合、マッピング手段2によって以下に述
べる手順で共用プログラム5をタスク4の固有仮想記憶
域10内の非共用仮想記憶域21にマツピングする。
During dynamic linking processing when task 4 calls shared program 5 for the first time, search for shared program name 31 in shared program change information 30 specified by change specifying means 1, and if an entry matching shared program 5 exists, The mapping means 2 maps the shared program 5 to the non-shared virtual storage area 21 in the private virtual storage area 10 of the task 4 using the procedure described below.

まず、タスク4の固有仮想記憶域10内に共用プログラ
ム5をロードするための非共用仮想記憶域21を確保す
る。次に、非共用仮想記憶域21に対応する外部ページ
テーブルに2次記憶装置6内の共用プログラム5の共用
プログラム格納域22のアドレスを設定するとともに、
共用プログラム5の仮、  想アドレスを非共用仮想記
憶域21に7ドレツシングされるようにリロケーション
することによって、非共用仮想記憶域21に2次記憶装
置6内の共用プログラム格納域22をマッピングする。
First, a non-shared virtual storage area 21 for loading the shared program 5 is secured in the private virtual storage area 10 of the task 4. Next, the address of the shared program storage area 22 of the shared program 5 in the secondary storage device 6 is set in the external page table corresponding to the non-shared virtual storage area 21, and
The shared program storage area 22 in the secondary storage device 6 is mapped to the non-shared virtual storage area 21 by relocating the virtual address of the shared program 5 so that it is addressed to the non-shared virtual storage area 21.

これ以陣、ページング機能によって非共用仮想記憶域2
1に上記tα装置7の実ページRPIが割り当てられ、
2次記憶装置6より共用プログラム5のプログラムテキ
ストがページロードされることが可能となる。
In this way, the paging feature allows non-shared virtual storage 2
1 is assigned the real page RPI of the tα device 7,
The program text of the shared program 5 can be page loaded from the secondary storage device 6.

なお、タスク4の実行開始時に固有仮想記憶域10を割
り当てると同時に、マッピング手段2によって共用プロ
グラム変更情i[i30の共用プログラム名31で示さ
れる共用プログラム5に対して前述のマッピング処理を
行うこともできる。
Note that at the same time as allocating the unique virtual storage area 10 at the start of execution of the task 4, the mapping means 2 performs the above-mentioned mapping process on the shared program 5 indicated by the shared program name 31 of the shared program change information i[i30. You can also do it.

タスク4が非共用仮想記憶域21の共用プログラム5の
あるアドレスを参照した際にこのアドレスを含む仮想ペ
ージVPIがまだ主記憶装置7上にロードされていない
場合、主記憶装置7の実ページRPIを割り当てて2次
記憶装置6の外部ページAPIからページテキストをペ
ージインする。
When the task 4 refers to an address in the shared program 5 in the non-shared virtual storage area 21, if the virtual page VPI that includes this address has not yet been loaded on the main storage device 7, the real page RPI in the main storage device 7 , and page text is paged in from the external page API of the secondary storage device 6.

このとき、変更指定手段1によって指定された共用プロ
グラム変更情報30の共用プログラム名31に続(プロ
グラム内アドレス32が仮想ページVPl内に含まれる
場合には、変更内容格納手段3によってロードされた実
ページRPI上の対応するアドレスにプログラム内アド
レス32に続く変更内容33のイメージを格納すること
によって共用プログラム5の内容変更が完了する。
At this time, following the shared program name 31 of the shared program change information 30 specified by the change specifying means 1 (if the intra-program address 32 is included in the virtual page VPl, the program name 31 of the shared program change information 30 specified by the change specifying means 1) By storing the image of the changed content 33 following the intra-program address 32 at the corresponding address on the page RPI, the content change of the shared program 5 is completed.

以上の処理によって、タスク4は共用プログラム5の変
更されたサービスを受けることが可能になり、かつタス
ク4に対する共用プログラム5の変更処理中および変更
処理後も共用仮想記憶域20上の共用プログラム5を共
用する他のタスク40ないし41は、タスク4に対する
共用プログラム5の変更の影否を受けずに共用プログラ
ム5のサービスを受けることが保証される。
Through the above processing, the task 4 can receive the changed service of the shared program 5, and the shared program 5 on the shared virtual storage area 20 can also be used during and after the changing process of the shared program 5 for the task 4. It is guaranteed that the other tasks 40 and 41 that share the shared program 5 will receive the service of the shared program 5 without being affected by changes in the shared program 5 to the task 4.

なお、非共用仮想記憶域21内の仮想ページVP1に割
り当てられ変更内容33が格納された実ページRPIが
主記憶装置7の実ページ資源の高負荷などの原因によっ
て解放される必要が生じた場合には、1つの方法として
プログラム内アドレス32の変更内容33を一旦解除し
て、再度プログラム内アドレス32を含む仮想ページV
PIへのアクセスが発生したときに変更内容格納手段3
による処理を繰り返すか、もしくは他の方法としてこの
ページを更新ページとし、2次記憶装置6内の共用プロ
グラム格納域22とは別の2次記憶装置6上の格納域を
更新ページのページアウト領域として割り当ててページ
アウトし、再度仮想ページVPIへのアクセスが発生し
たときにページアウト領域からページインし、変更内容
格納手段3による処理を再度実施することなくしてプロ
グラム内アドレス32の変更内容33を保証する。
Note that if the real page RPI allocated to the virtual page VP1 in the non-shared virtual storage area 21 and in which the changed content 33 is stored needs to be released due to a high load on the real page resources of the main storage device 7, etc. One method is to once cancel the changed content 33 of the address 32 in the program, and then re-create the virtual page V including the address 32 in the program.
Change content storage means 3 when access to PI occurs
, or as another method, make this page an update page and use a storage area on the secondary storage device 6 that is different from the shared program storage area 22 in the secondary storage device 6 as a page-out area for the update page. When the virtual page VPI is accessed again, the page is paged in from the page-out area, and the changed content 33 of the address 32 in the program is stored without executing the process by the changed content storage means 3 again. Guarantee.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、複数のタスクによって共
用される共用プログラムのパッチ変更を特定のタスクだ
けを対象にし、かつこの共用プログラムを格納する2次
記憶装置上の領域を増加することな(実施することが可
能になるという効果がある。
As explained above, the present invention allows patch changes to be made to a shared program shared by multiple tasks only to a specific task, and without increasing the area on the secondary storage device that stores this shared program. This has the effect of making it possible to implement it.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を示す構成図、第2図は共用
プログラムの共用方式を示す構成図である。 図において、 1・・・変更指定手段、 2・・・マッピング手段、 3・・・変更内容格納手段、 4・・・タスク、 5・・・共用プログラム、 6・・・2次記憶装置、 7・・・主記憶装置、 10・・・固有仮想記憶域、 20・・・共用仮想記憶域、 21・・・非共用仮想記憶域、 22・・・共用プログラム格納域、 30・・・共用プログラム変更情報、 31・・・共用プログラム名、 32・・・プログラム内アドレス、 33・・・変更内容、 API・・・2次記憶装置上の外部ページ、VPI・・
・非共用仮想記憶域内の仮想ページ、RPI・・・主記
憶装置上の実ページである。
FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a block diagram showing a shared program sharing method. In the figure, 1... Change specification means, 2... Mapping means, 3... Change content storage means, 4... Task, 5... Shared program, 6... Secondary storage device, 7 ...Main storage device, 10...Unique virtual storage area, 20...Shared virtual storage area, 21...Non-shared virtual storage area, 22...Shared program storage area, 30...Shared program Change information, 31...Shared program name, 32...Address within the program, 33...Change details, API...External page on secondary storage device, VPI...
- Virtual page in a non-shared virtual storage area, RPI...A real page on the main storage device.

Claims (1)

【特許請求の範囲】 複数のタスク間で共用される共用プログラムを共用仮想
記憶域に有する計算機システムにおいて、特定のタスク
にパッチ変更の対象となる共用プログラムの共用プログ
ラム名、このプログラム内アドレスおよびこのアドレス
の変更内容を指定する変更指定手段と、 前記共用仮想記憶域とは異なる前記特定のタスクの固有
仮想記憶域に前記共用プログラムをロードするために前
記固有仮想記憶域と2次記憶装置上の共用プログラム格
納域とをマッピングするマッピング手段と、 前記固有仮想記憶域上に前記共用プログラムの前記プロ
グラム内アドレスを含むページをロードした際に主記憶
装置上で前記プログラム内アドレスに前記変更内容を格
納する変更内容格納手段と、を有することを特徴とする
共用プログラムの非共用パッチ方式。
[Claims] In a computer system that has a shared program shared among multiple tasks in a shared virtual storage area, a specific task is provided with the shared program name of the shared program to be patched, the address within this program, and this shared program. a change specifying means for specifying address change contents; and a change specification means for loading the shared program into a private virtual storage area of the specific task that is different from the shared virtual storage area, on the private virtual storage area and the secondary storage device. a mapping means for mapping a shared program storage area; and storing the changed content in the program address on a main storage device when a page including the program address of the shared program is loaded onto the unique virtual storage area; A non-shared patch method for a shared program, characterized in that it has a change content storage means for storing changes.
JP61184633A 1986-08-05 1986-08-05 Non-shared patching system for shared program Pending JPS6340940A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61184633A JPS6340940A (en) 1986-08-05 1986-08-05 Non-shared patching system for shared program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61184633A JPS6340940A (en) 1986-08-05 1986-08-05 Non-shared patching system for shared program

Publications (1)

Publication Number Publication Date
JPS6340940A true JPS6340940A (en) 1988-02-22

Family

ID=16156645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61184633A Pending JPS6340940A (en) 1986-08-05 1986-08-05 Non-shared patching system for shared program

Country Status (1)

Country Link
JP (1) JPS6340940A (en)

Similar Documents

Publication Publication Date Title
US6023749A (en) Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
JP4021534B2 (en) How to run processor specific applications
US9727338B2 (en) System and method for translating program functions for correct handling of local-scope variables and computing system incorporating the same
Arden et al. Program and addressing structure in a time-sharing environment
US4563737A (en) Virtual storage management
US5293599A (en) Process for partially swapping real storage areas used by a program between a real storage and an auxiliary storage
EP0403124A2 (en) Overlay swapping
CN109783145B (en) Method for creating multi-image-based multifunctional embedded system
JPS6340940A (en) Non-shared patching system for shared program
CN117056031B (en) Cross-container dynamic library sharing method based on virtual process
KR100315500B1 (en) Memory allocating method
GB1495729A (en) Apparatus and method for handling exceptions in a data processing system
CN113608843B (en) Coroutine implementation method and system
US6904601B1 (en) Method and system for providing remote procedure calls in a multiprocessing system
JP3693311B2 (en) Distributed processing system
JPS601657B2 (en) Address conversion method
JPH09282233A (en) Virtual memory managing device
JPH03148733A (en) Shared memory area allocating and processing system
JP2535584B2 (en) Real memory fixed processing computer
JPH0327439A (en) Shared module managing system for program
JPH04215138A (en) Thread switching system for write wait process
JPH02146627A (en) Computer
JPH03161835A (en) Dynamic loading processing system for program
JPH02136930A (en) Auto variable allocation system
JPS6180336A (en) Testing method of program