JPH0521256B2 - - Google Patents

Info

Publication number
JPH0521256B2
JPH0521256B2 JP61082064A JP8206486A JPH0521256B2 JP H0521256 B2 JPH0521256 B2 JP H0521256B2 JP 61082064 A JP61082064 A JP 61082064A JP 8206486 A JP8206486 A JP 8206486A JP H0521256 B2 JPH0521256 B2 JP H0521256B2
Authority
JP
Japan
Prior art keywords
task
page table
page
main memory
capacity
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 - Lifetime
Application number
JP61082064A
Other languages
Japanese (ja)
Other versions
JPS62241050A (en
Inventor
Hiroshi Wataya
Tomoaki Nakamura
Setsuo Kawakami
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61082064A priority Critical patent/JPS62241050A/en
Publication of JPS62241050A publication Critical patent/JPS62241050A/en
Publication of JPH0521256B2 publication Critical patent/JPH0521256B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多段ページング機能を有するメモリ
管理ユニツト(以下MMUと略称する)を用いて
多重仮想記憶制御を行うデータ処理装置のオペレ
ーテイングシステムに関する。
Detailed Description of the Invention [Field of Industrial Application] The present invention relates to an operating system for a data processing device that performs multiple virtual memory control using a memory management unit (hereinafter abbreviated as MMU) having a multi-stage paging function. .

〔従来の技術〕[Conventional technology]

従来の多重仮想記憶制御方式では、例えば、ニ
ツケイ エレクトロニクス(NIKKEI
ELECTRONICS)1985.11.4発行の「メモリ管理
ユニツトを内蔵した32ビツトマイクロプロセツサ
80386」に示される様に、論理空間を物理空間へ
マツピングするためMMUが用いる、セグメント
テーブル内のページテーブルアドレスが20ビツト
(実際のアドレスは32ビツト)なので、1個のペ
ージテーブルは最低4KB必要となる。
In the conventional multiple virtual memory control method, for example, Nikkei Electronics (NIKKEI)
ELECTRONICS) "32-bit Microprocessor with Built-in Memory Management Unit" published on November 4, 1985.
80386, the page table address in the segment table used by the MMU to map logical space to physical space is 20 bits (the actual address is 32 bits), so one page table requires at least 4KB. becomes.

アドレス空間nビツト、ページテーブルアドレ
スmビツト(n>m)とすると、2n-mバイト境界
にページテーブルを配置する必要があり、ページ
テーブルの大きさは2n-mバイトとなる。
Assuming that the address space is n bits and the page table address is m bits (n>m), it is necessary to arrange the page table on a 2 nm byte boundary, and the size of the page table is 2 nm bytes.

また、多重仮想記憶方式では、タスク間でテキ
スト部の共有を図るため、テキスト部、データ
部、スタツク部を論理空間上、分離されたエリア
に配置することが必要となる。この結果、タスク
容量が、どんなに小さくても、ページテーブルは
上記3つの領域を別々にマツピングするため、最
低3個、容量は3×2n-mバイト(本例では12KB)
必要となる。
Furthermore, in the multiple virtual memory system, in order to share the text part between tasks, it is necessary to arrange the text part, data part, and stack part in separate areas in logical space. As a result, no matter how small the task capacity is, the page table maps the above three areas separately, so there are at least three, and the capacity is 3 × 2 nm bytes (12KB in this example).
It becomes necessary.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術では、容量の小さいタスクにおけ
るページテーブルの空きエリアについての配慮が
なされていない。例えば、テキスト、データ、ス
タツクに各々1ページ以内の容量を持つタスクの
ページテーブルに必要な容量は、(ページテーブ
ル1エントリ×3)バイトであるのに対し、実
際、主記憶に占有させるエリアは2n-m×3バイト
になる。前記80386の例ではページテーブル1エ
ントリのサイズが4バイトなので、必要なページ
容量12バイトに対し、実際のページ容量は、1個
のページテーブル4Kバイトのため、12Kバイト
となり、主記憶上のページテーブルの99.9%が空
きエリアとなつてしまう。
In the above-mentioned conventional technology, consideration is not given to the free area of the page table in a task with a small capacity. For example, the space required for a page table for a task whose text, data, and stack each have a capacity of one page or less is (1 page table entry x 3) bytes, but the actual area occupied in main memory is 2 nm x 3 bytes. In the above example of 80386, the size of one page table entry is 4 bytes, so the required page capacity is 12 bytes, but the actual page capacity is 12 Kbytes because one page table is 4K bytes, and the page size in main memory is 99.9% of the table becomes an empty area.

この様なページテーブルを、実際にCPUを占
有し、実行している、実行中タスク及び、スケジ
ユーリングされるのを待つているまたは、I/O
終了待ち等をしている、いわゆる実行待ちタス
ク、全タスク分(=lとする)、主記憶常駐とし
た場合、最低でも、ページテーブル容量として、
(12×l)Kバイト必要となり、ページテーブル
空きエリアが増大する。よつて記憶上のページテ
ーブル容量が増大してしまうという問題点があつ
た。
These page tables are used to store the actual CPU occupancy, running tasks, waiting to be scheduled, or I/O
When all the so-called execution waiting tasks, such as waiting for completion, are resident in the main memory (=l), the page table capacity is at least as follows:
(12×l) K bytes are required, and the page table free area increases. As a result, there was a problem in that the storage capacity of the page table increased.

例えば、タスク数l=64、メモリ容量2Mバイ
トとすると、前記80386の例では、主記憶を占有
するページテーブル容量は、64×12KB=768KB
となり、メモリ容量の37.5%に達する。
For example, if the number of tasks l = 64 and the memory capacity is 2 MB, then in the example of 80386, the page table capacity occupying the main memory is 64 x 12 KB = 768 KB.
This amounts to 37.5% of the memory capacity.

そこで、実行待ちタスクのページテーブルを二
次記憶へスワツプアウトする方法が一般的に行わ
れている。しかしながら、リアルタイム制御シス
テムの様に、タスク切換えの高速性が要求される
システムでは、タスク切換え時、ページテーブル
を二次記憶よりスワツプインしていたのではタス
ク切換えの高速性が保証されないという問題点が
あつた。
Therefore, a commonly used method is to swap out the page table of tasks waiting to be executed to secondary storage. However, in systems that require high-speed task switching, such as real-time control systems, there is a problem in that swapping in page tables from secondary storage during task switching does not guarantee high-speed task switching. It was hot.

本発明の目的は、主記憶上ページテーブルの空
きエリアを削減することによりページテーブル容
量削減を図り、かつタスク切換えの高速性を保証
する手段を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide means for reducing the page table capacity by reducing the free area of the page table in the main memory, and for ensuring high-speed task switching.

〔問題点を解決するためのたの手段〕 タスク切換えの高速性を保証するためには、実
行中、及び実行待ちタスクの全ページテーブルを
主記憶常駐とすれば、解決されるが、この場合、
前述した様に主記憶上でのページテーブル空き領
域容量が、増大するという問題点が生じる。
[Another means to solve the problem] In order to guarantee high-speed task switching, the problem can be solved by making all page tables of tasks currently being executed and tasks waiting to be executed resident in the main memory. ,
As mentioned above, a problem arises in that the page table free area capacity on the main memory increases.

そこで、本発明では、タスク容量が、ある設定
された値(LIMIT値)より大きし場合は、該タ
スクのページテーブルを実行中及び実行待ち中と
も主記憶常駐とし、タスク容量がLIMIT値以下
の場合は、タスクが実行待ち中時、自ページテー
ブルより、主記憶上、連続ページ領域を、1エン
トリとして管理するテーブル(以下ページ制御ブ
ロツクト呼ぶ)を作成し主記憶上に保持すること
により、実行待ちタスクのページテーブル空き領
域の削除、ページテーブルの圧縮を行い、タスク
実行時に、上記ブロツクよりページテーブルを作
成するという方式を採用することにより、ページ
テーブル空き領域の削減、及びタスク切換え高速
性の保証という2つの目的は、達成される。
Therefore, in the present invention, when the task capacity is larger than a certain set value (LIMIT value), the page table of the task is made resident in the main memory both during execution and while waiting for execution, and when the task capacity is less than or equal to the LIMIT value. In this case, when a task is waiting for execution, a table (hereinafter referred to as a page control block) that manages continuous page areas as one entry in main memory is created from the own page table and held in main memory. By deleting the page table free area of the waiting task, compressing the page table, and creating a page table from the above blocks when the task is executed, it is possible to reduce the page table free area and improve task switching speed. Two objectives of assurance are achieved.

〔作用〕[Effect]

タスク容量がLIMIT値より大きいタスクは、
ページテーブルが主記憶常駐のため、実行戯ち実
行中移行時のタスク高速性は保証される。
Tasks whose task capacity is greater than the LIMIT value are
Since the page table resides in the main memory, high-speed task execution is guaranteed when the task transitions from execution to execution.

また、タスク容量がLIMIT値以下の場合は、
該タスク実行待ち状態時、ページテーブルを圧縮
したページ制御ブロツクを主記憶上に保持するた
め、ページテーブル空き領域容量の削除が計れ、
また実行時には、ペーバ制御ブロツクよりページ
テーブルを作成するが、タスク容量が小さいた
め、本処理によるオーバヘツドは、少なく、タス
クの高速性が保証される。
Also, if the task capacity is less than the LIMIT value,
When the task is waiting for execution, the page control block containing the compressed page table is held in the main memory, so the page table free space can be deleted.
Furthermore, during execution, a page table is created from the paver control block, but since the task capacity is small, the overhead caused by this processing is small and high-speed tasks are guaranteed.

また、ページテーブルの空きエリアが多い小容
量タスクのページテーブルを圧縮することによ
り、主記憶上ページテーブル容量の削除が効果的
に行われる。
Furthermore, by compressing the page table of a small-capacity task that has a large amount of free space in the page table, the page table capacity on the main memory can be effectively deleted.

〔実施例〕〔Example〕

以下に本発明の一実施例を説明する。 An embodiment of the present invention will be described below.

第2図は、本発明が適用される多重仮想記憶制
御方式の概念図である。各タスクに割当てられる
論理空間は、各論理空間で共有されるOS領域と
各タスクで固有のユーザ領域に分けられる。ユー
ザ領域は、さらにテキスト部、データ部、スタツ
ク部に分割される。
FIG. 2 is a conceptual diagram of a multiple virtual memory control system to which the present invention is applied. The logical space allocated to each task is divided into an OS area shared by each logical space and a user area unique to each task. The user area is further divided into a text section, a data section, and a stack section.

主記憶、論理空間は、ともにページ単位
(4KB)に管理され、タスク実行時、タスクBで
は、テキストの一部が主記憶上にローデイングさ
れていないが必ずしもテキスト、データ、スタツ
ク各部が、全て記憶にローデイングされていなく
ても、さしあたり必要なページだけローデイスン
されていれば該タスクは、実行可能である。本例
では、ユーザ論理空間2GBに対し、主記憶は、
4MBとしている。
Both the main memory and logical space are managed in page units (4KB), and when task B is executed, part of the text is not loaded onto the main memory, but all of the text, data, and stack parts are stored. Even if the page is not loaded, the task can be executed if only the necessary pages are loaded for the time being. In this example, for the user logical space of 2GB, the main memory is:
It is set to 4MB.

よつて排記憶容量に制限されず、大容量タスク
の実行が、容易となり、また主記憶の有効活用が
可能となる。
Therefore, large-capacity tasks can be easily executed without being limited by the discharged memory capacity, and the main memory can be used effectively.

次に、本方式において、セグメントテーブル、
ページテーブルにより、主記憶がどの様にマツピ
ングされるかを第3図に示す。テキストの共有つ
まり、テキスト用ページテーブルの共用を図るた
め、テキスト部、データ部、スタツク部は、各々
別セグメントとして管理されている。セグメント
テーブル、ページテーブルの1エントリの構造
は、ほぼ同一で、空間区別を示すAPS、12ビツ
トよりなる物理ページフレーム番号:PFNO、当
該ページのページイン/アウトを示す有効ビツト
より構成されている。セグメントテーブルのペー
ジテーブルへのアドレス(PFNO)が12ビツトの
ため、各ページテーブルは最小1ページ(4KB)
となる。ページテーブル1エントリは32bitなの
で、1個のページテーブルは、1024エントリより
なり、よつて1個のページテーブルで4MB(4KB
×1024)のエリアのマツピングが行える。ところ
が、第3図のタスクの様に、ページテーブルをテ
キスト部2エントリ、データ部2エントリ、スタ
ツク部1エントリとすると、ページテーブル容量
12KBに対し、実際に使用しているエリアは、
20Byteと、ページテーブル容量の99%が空き領
域となつている。MMUへは、タスク実行時セグ
メントテーブルの先頭アドレスを渡し、よつて
MMUは、セグメントテーブルからページテーブ
ルを経て、論理空間と物理空間のマツピングを行
う。
Next, in this method, the segment table,
FIG. 3 shows how the main memory is mapped using page tables. In order to share the text, that is, to share the text page table, the text section, data section, and stack section are each managed as separate segments. The structure of one entry in the segment table and page table is almost the same, and consists of an APS indicating spatial distinction, a 12-bit physical page frame number: PFNO, and a valid bit indicating page in/out of the page. Since the address (PFNO) to the page table of the segment table is 12 bits, each page table has a minimum of 1 page (4KB).
becomes. Since one page table entry is 32 bits, one page table consists of 1024 entries, and therefore one page table has 4MB (4KB).
x1024) area can be mapped. However, if the page table has 2 entries in the text section, 2 entries in the data section, and 1 entry in the stack section, as in the task shown in Figure 3, the page table capacity will increase.
The area actually used is 12KB.
20 Bytes, 99% of the page table capacity is free space. Pass the start address of the segment table when executing the task to the MMU, and
The MMU performs mapping between logical space and physical space via the segment table and page table.

第4図では、タスクの状態を示し、ページテー
ブルとの関係について以下説明する。
FIG. 4 shows the state of the task, and the relationship with the page table will be explained below.

タスクに対し、実行要求が出されると、停止状
態から実行待ち状態へ移行する(図中1)。実行
待ち状態では、実行待ちキユーにつながれ、OS
にスケジユーリングされるのを待つ。OSによつ
てスケジユーリングされると、タスクは実行中と
なり(図中2)、CPUを占有し、処理を行う。処
理中に、I/O待ちや、待機命令を受けると、タ
スクは待機状態となる(図中4)。待機待ち状態
でI/O待ち、待機命令が解除されると、タスク
は、再び実行待ち状態となり(図中5)スケジユ
ーリングされるのを待つ。この様な一連のタスク
の状態遷移において、ページテーブルをMMUへ
渡し、実際に使用するのは、実行中状態のみであ
る。しかし、本発明例では、タスクの高速性を保
証するため、タスクスケジユーリング時(図中
2)の処理を高速化する必要がある。そこでタス
クが、実行待ち及び待機中(以下2つの状態を合
せて実行待ち中と呼ぶ)も、該タスクのページテ
ーブル状態を主記憶上に保持することとした。
When an execution request is issued to a task, the task shifts from the stopped state to the execution waiting state (1 in the figure). In the execution waiting state, it is connected to the execution queue and the OS
Wait for it to be scheduled. When scheduled by the OS, the task is running (2 in the diagram), occupies the CPU, and performs processing. During processing, when a task waits for I/O or receives a standby command, it enters a standby state (4 in the figure). When the task waits for I/O in the standby state and the standby instruction is released, the task returns to the execution wait state (5 in the figure) and waits to be scheduled. In such a series of task state transitions, the page table is passed to the MMU and actually used only in the executing state. However, in the example of the present invention, in order to guarantee high-speed performance of tasks, it is necessary to speed up processing during task scheduling (2 in the figure). Therefore, we decided to maintain the page table state of a task in the main memory even when the task is waiting for execution or in standby (hereinafter the two states are collectively referred to as "waiting for execution").

上記ページテーブルの主記憶保持方法の具体例
を、第1図を参照して説明する。
A specific example of the method for holding the page table in the main memory will be described with reference to FIG.

本実施例では、システムで、ある設定値
(LIMIT値)を求め、タスク容量がLIMIT値よ
り大きい場合は、第1図1に示すごとく該タスク
実行待ち中、実行中ともページテーブルCを主記
憶常駐とする。第1図において、Aは物理メモ
リ、Bは論理空間を示している。
In this embodiment, the system calculates a certain setting value (LIMIT value), and if the task capacity is larger than the LIMIT value, the page table C is stored in the main memory both while the task is waiting for execution and during execution, as shown in FIG. Must be permanently stationed. In FIG. 1, A indicates a physical memory and B indicates a logical space.

また、タスク容量がLIMIT値以下の場合同図
2に示す如く該タスク実行待ち中は、ページテー
ブル情報を圧縮して、主記憶上連続ページ領域毎
に管理するページ制御ブロツクDを作成し、これ
を主記憶上に保持する。このページ制御ブロツク
の1エントリは、連続領域の物理先頭ページフレ
ーム番号と、それに対する論理ページフレーム番
号、及びその長さ(ページ長)の全32bitより構
成される。第1図2の例では、領域が3つなの
で、タスク実行待ち中のページ制御ブロツク容量
は、12Byte(32bit×3)である。これをページテ
ーブルで保持すると、12KB(4KB×3)であり、
1つの実行待ちタスクで、大幅にページ容量の削
除が行えたことになる。
In addition, when the task capacity is less than the LIMIT value and the task is waiting for execution as shown in Figure 2, the page table information is compressed and a page control block D is created to manage each continuous page area in the main memory. is retained in main memory. One entry of this page control block is composed of a total of 32 bits including the physical first page frame number of the continuous area, the corresponding logical page frame number, and its length (page length). In the example shown in FIG. 1, there are three areas, so the capacity of the page control block waiting for task execution is 12 bytes (32 bits x 3). If this is held in a page table, it will be 12KB (4KB x 3),
This means that a large amount of page capacity can be deleted with just one task waiting to be executed.

また、本タスクが実行待ちから実行中へ移行時
は、(第4図2)主記憶上のページ制御ブロツク
よりページテーブルを作成し、MMUにより論理
空間と物理空間のマツピングを行い、タスクを実
行する。この処理によるオーバヘツドは、せいぜ
い0.2〜0.3msec程度で問題にならない。
Also, when this task transitions from waiting for execution to being executed, a page table is created from the page control block on the main memory (Figure 4 2), mapping between logical space and physical space is performed using MMU, and the task is executed. do. The overhead caused by this processing is about 0.2 to 0.3 msec at most and is not a problem.

タスクが実行待から実行中へ移行時(第4図
2)、OSにおけるページテーブルに関する処理の
フローチヤートを第5図に示す。
FIG. 5 shows a flowchart of the processing related to the page table in the OS when a task transitions from waiting to be executed to being executed (FIG. 4, 2).

まずステツプ5−1においてタスク容量が、
LIMIT以下かどうかが、判定される。もし
LIMIT以下ならステツプ5−2において、該タ
スクのページ制御テーブルをサーチし、本テーブ
ルより、ページテーブルを作成する。またタスク
容量がLIMIT値より大きい場合は、ステツプ5
−3において、ページテーブルはそのまま主記憶
上に保持されているため、自ページテーブルをサ
ーチすればよい。次にステツプ5−4において、
この様にして得たページテーブルをMMUへ渡し
論理空間と物理空間をマツピングする。
First, in step 5-1, the task capacity is
It is determined whether it is less than LIMIT. if
If it is less than LIMIT, in step 5-2, the page control table of the task is searched and a page table is created from this table. Also, if the task capacity is larger than the LIMIT value, proceed to step 5.
In -3, since the page table is held as is in the main memory, it is sufficient to search the own page table. Next, in step 5-4,
The page table obtained in this way is passed to the MMU and the logical space and physical space are mapped.

また、タスクが、実行中から実行待ちとなる時
(第4図3,4)の処理フローチヤートを第6図
に示す。
Further, FIG. 6 shows a processing flowchart when a task changes from being executed to waiting for execution (FIGS. 4, 3 and 4).

まず、ステツプ6−1において、該タスクのタ
スク容量がLIMIT値以下か判定する。もし
LIMIT値以下ならステツプ6−2において自ペ
ージテーブルより、ページ制御テーブルを作成す
る。次にステツプ6−3において、自ページテー
ブルを削除する。もし、タスク容量がLIMIT値
より大きい場合は、ページテーブルはそのまま主
記憶上に保持されるため、何もしない。
First, in step 6-1, it is determined whether the task capacity of the task is less than or equal to the LIMIT value. if
If it is less than the LIMIT value, a page control table is created from the own page table in step 6-2. Next, in step 6-3, the own page table is deleted. If the task capacity is greater than the LIMIT value, the page table is retained in main memory and nothing is done.

最後に、LIMIT値の具体的な決定方法につい
て説明する。
Finally, a specific method for determining the LIMIT value will be explained.

まず、タスク容量に対して、該タスクをマツピ
ングするために、主記憶上に保持できるページテ
ーブル容量の比を設定する。この値をαとすれば
以下の関係式が成立する。
First, the ratio of the page table capacity that can be held in the main memory for mapping the task to the task capacity is set. If this value is α, the following relational expression holds true.

αページテーブル容量(3×2n-m)/タスク容量 よつて タスク容量ページテーブル容量/α …(1) となり、上記で求まる値よりタスク容量が大きけ
れば、αを満足することができる。よつてこの値
より小さい容量のタスクについて、ページテーブ
ルの圧縮を行えば、システム全体として、αを満
足することができる。よつてLIMIT値の下限が
定まつた。
α Page table capacity (3×2 nm )/Task capacity Task capacity Page table capacity/α (1) If the task capacity is larger than the value found above, α can be satisfied. Therefore, if page tables are compressed for tasks whose capacity is smaller than this value, α can be satisfied for the entire system. Therefore, the lower limit of the LIMIT value has been determined.

また、タスク切換え時の高速性の保証について
は、タスク切換え時間をt、その時間中、ページ
制御ブロツクをページテーブルへコピーする時間
の占める割合をγとし、以下の関係式が成立つ。
In order to guarantee high speed during task switching, the following relational expression holds true, where t is the task switching time, and γ is the ratio of the time spent copying the page control block to the page table during that time.

ページテーブル容量(3×2n-m)×主記憶上コ
ピー時間(ct)タスク切換え時間(t)×γ ページテーブル容量とタスク容量には、以下の
関係式が成立する。
Page table capacity (3×2 nm )×main memory copy time (ct) task switching time (t)×γ The following relational expression holds true between page table capacity and task capacity.

タスク容量=ページテーブル容量/ページテーブル1
エントリ容量 ×1ページ容量(2n-m) よつて上記2式より タスク容量
1ページ容量×γ×t/ページテーブル1エントリ容量
×ct… となり、上記で求まる値よりタスク容量が、大き
いと、ページテーブル圧縮によるタスク切換え時
のオーバヘツドが大きくなつてしまう。よつて
LIMIT値の上限が、定まつた。
Task capacity = page table capacity / page table 1
Entry capacity x 1 page capacity (2 nm ) Therefore, from the above two equations, task capacity 1 page capacity x γ x t/page table 1 entry capacity x ct... If the task capacity is larger than the value found above, the page table Overhead when switching tasks due to compression increases. Sideways
The upper limit of the LIMIT value has been established.

本実施例におけるLIMIT値を求める。 The LIMIT value in this example is determined.

(1)式でα=0.1とし、ページテーブル容量は
12KBなので、 LIMIT12KB/0.1=120KB 式で、t=1msec,γ=0.3,1ページ容量
4KB、コビー時間ct=1.5(μ/B)=0.0015(m
s/B)ページテーブル1エントリ=4B LIMIT4KB×0.3×1/4B×0.0015=200KB 以上より 120KBLIMIT値200KBと求まる。
In equation (1), α=0.1 and the page table capacity is
Since it is 12KB, LIMIT12KB/0.1=120KB, t=1msec, γ=0.3, 1 page capacity
4KB, coby time ct = 1.5 (μ/B) = 0.0015 (m
s/B) 1 page table entry = 4B LIMIT4KB x 0.3 x 1/4B x 0.0015 = 200KB or more, 120KB LIMIT value of 200KB is determined.

よつてLIMIT値は120KBから200KBの間に設
定すればよいことがわする。
Therefore, we understand that the LIMIT value should be set between 120KB and 200KB.

以上で示した様に、本発明により多重仮想記憶
制御方式でタスク切換え高速性の保証、ページテ
ーブル容量の削減を達成することがきた。
As shown above, according to the present invention, high-speed task switching can be guaranteed and page table capacity can be reduced using the multiple virtual memory control method.

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

本発明によれば、実行中、実行待ちタスクのペ
ージテーブル管理情報を主記憶上に保持し、実行
待ちタスクのページテーブルの空き領域の削除、
テーブルの圧縮を行うため、タスク切換えの高速
性保証、ページテーブル容量の削除が達成される
という効果がある。
According to the present invention, during execution, the page table management information of the task waiting to be executed is held in the main memory, and the free space of the page table of the task waiting to be executed is deleted.
Since the table is compressed, it has the effect of guaranteeing high-speed task switching and eliminating page table capacity.

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

第1図は本発明の一実施例で、実行待ちタスク
の主記憶上でのページ管理情報の保持方法を示す
図、第2図は多重仮想記憶方式の概念図、第3図
はセグメントテーブル、ページテーブルを用いた
物理空間と論理空間のマツピングを示す図、第4
図はタスクの状態遷移を表わす図、第5図はタス
クが実行待ちから実行中へ移行する時のOS処理
フローチヤート、第6図は、実行中から実行待ち
へ移行する時のOS処理フローチヤートである。 A…物理メモリ、B…論理空間、C…ページテ
ーブル、D…ページ制御ブロツク。
FIG. 1 is a diagram showing an embodiment of the present invention, showing a method for holding page management information on the main memory of tasks waiting to be executed, FIG. 2 is a conceptual diagram of a multiplexed virtual memory system, and FIG. 3 is a segment table, Diagram 4 showing mapping of physical space and logical space using page table
The figure shows the state transition of a task. Figure 5 is an OS processing flowchart when a task transitions from waiting to execute to executing. Figure 6 is an OS processing flowchart when a task transitions from executing to waiting. It is. A... Physical memory, B... Logical space, C... Page table, D... Page control block.

Claims (1)

【特許請求の範囲】[Claims] 1 主記憶装置のアドレスとプログラムが動作す
る論理空間上のアドレスの対応付けを、主記憶を
ブロツク分けしたページ単位に行い、この対応付
けを主記憶上に配置したページテーブルにより管
理する計算機システムにおいて、タスクを実行す
るとき、当該タスクの主記憶上に占める大きさが
所定の値より大きいときは当該タスクのページテ
ーブルをそのままの形で主記憶上に保持し、所定
の値以下の場合は、タスクが実行待ち状態となつ
たときに、当該タスクが占有する主記憶上連結し
た領域を単位として、管理する制御テーブルに、
ページテーブル情報を圧縮して格納し、該タスク
が実行可能となつた時に、該制御テーブルから該
タスク用ページテーブルを主記憶上に作成するよ
うにしたことを特徴とする計算機システムのメモ
リ管理方式。
1. In a computer system in which the correspondence between addresses in the main memory and addresses in the logical space where the program operates is made in units of pages, which are divided into blocks in the main memory, and this correspondence is managed by a page table placed in the main memory. When executing a task, if the size occupied by the task in the main memory is larger than a predetermined value, the page table of the task is retained as is in the main memory, and if it is less than the predetermined value, When a task enters the execution waiting state, the control table that manages the concatenated area in the main memory occupied by the task as a unit,
A memory management method for a computer system, characterized in that page table information is compressed and stored, and when the task becomes executable, a page table for the task is created from the control table on the main memory. .
JP61082064A 1986-04-11 1986-04-11 Memory management system for computer system Granted JPS62241050A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61082064A JPS62241050A (en) 1986-04-11 1986-04-11 Memory management system for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61082064A JPS62241050A (en) 1986-04-11 1986-04-11 Memory management system for computer system

Publications (2)

Publication Number Publication Date
JPS62241050A JPS62241050A (en) 1987-10-21
JPH0521256B2 true JPH0521256B2 (en) 1993-03-23

Family

ID=13764069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61082064A Granted JPS62241050A (en) 1986-04-11 1986-04-11 Memory management system for computer system

Country Status (1)

Country Link
JP (1) JPS62241050A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047177B2 (en) 2012-03-16 2015-06-02 Kabushiki Kaisha Toshiba Memory system, data management method, and computer

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210038A (en) * 2007-02-23 2008-09-11 Aplix Corp User thread implementing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047177B2 (en) 2012-03-16 2015-06-02 Kabushiki Kaisha Toshiba Memory system, data management method, and computer

Also Published As

Publication number Publication date
JPS62241050A (en) 1987-10-21

Similar Documents

Publication Publication Date Title
US6275917B1 (en) High-speed address translation system
JP2635058B2 (en) Address translation method
JPS61141055A (en) Information processor
JPH0552540B2 (en)
JPS62165250A (en) Virtual memory
JPH0654479B2 (en) Virtual memory method
JPS60501824A (en) Demand paging method for a storage processing system that shares multiple address translation buffer storage devices
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
JPH0313615B2 (en)
JP3226525B2 (en) Main memory management method
JPS62100851A (en) Area control method for virtual memory device
US4654791A (en) Input/output paging mechanism in a data processor
JPH04308953A (en) Virtual address computer system
JPH0521256B2 (en)
JP2001134486A (en) Microprocessor and storage device
JP3208160B2 (en) Memory management method in computer
US6804754B1 (en) Space management in compressed main memory
JPS63244152A (en) Access control system for extended memory device
JPS6237754A (en) Virtual extension storage system
JP2003248620A (en) Dynamic memory managing method and dynamic memory management information processing device
JPH08263426A (en) Logical direct memory access system
JPH1091527A (en) Storage device and storage medium
JPH04205535A (en) Copy on write system
JPH01241642A (en) Dynamic arranging method for common memory
JPH04340143A (en) Digital computer