[go: up one dir, main page]

JPH04314147A - Memory managing system - Google Patents

Memory managing system

Info

Publication number
JPH04314147A
JPH04314147A JP3079428A JP7942891A JPH04314147A JP H04314147 A JPH04314147 A JP H04314147A JP 3079428 A JP3079428 A JP 3079428A JP 7942891 A JP7942891 A JP 7942891A JP H04314147 A JPH04314147 A JP H04314147A
Authority
JP
Japan
Prior art keywords
memory
pool
priority
task
management information
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
JP3079428A
Other languages
Japanese (ja)
Inventor
Hiroshi Komuro
博 小室
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 JP3079428A priority Critical patent/JPH04314147A/en
Publication of JPH04314147A publication Critical patent/JPH04314147A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、オペレーティングシス
テムでのメモリ管理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory management scheme in an operating system.

【0002】0002

【従来の技術】従来のメモリ管理方式におけるメモリ確
保方式では、空きメモリを蓄えるプールの概念がないか
、あるいはプールの概念があっても各プールからのメモ
リ確保が、タスクの優先度に関係なく可能であったため
、低優先度タスクによるメモリの大量確保が行なわれる
と、高優先度のタスクがメモリ確保にいった場合でも、
メモリ確保ができず、動作できない場合があった。
[Prior Art] Memory allocation methods in conventional memory management systems either do not have the concept of pools for storing free memory, or even if there is a concept of pools, memory is allocated from each pool regardless of the priority of the task. Therefore, if a low priority task allocates a large amount of memory, even if a high priority task allocates memory,
There were cases where memory could not be allocated and operation could not be performed.

【0003】一方、システム内メモリを空きメモリと、
メモリ不足時の予備メモリとして、確保できるタスクの
最低優先度を規定したプールを設けた場合でも、空きメ
モリ不足時、低優先度のプールから優先的にメモリを確
保されてしまうため、それほど負荷がなくても、正常な
低優先度タスクからのメモリ確保ができないという問題
もあった。
[0003] On the other hand, the memory in the system is defined as free memory,
Even if you set up a pool that specifies the lowest priority of tasks that can be secured as spare memory when there is a memory shortage, when there is a shortage of free memory, memory will be secured preferentially from a pool with a lower priority, so the load will not be as high. Even without this, there was a problem that memory could not be secured from normal low-priority tasks.

【0004】0004

【発明が解決しようとする課題】上述した従来の方式で
は、メモリの確保がタスクの優先度に関係なく許可され
ていたため、以下に示すような問題点があった。
SUMMARY OF THE INVENTION In the above-described conventional system, memory reservation was permitted regardless of the priority of the task, which caused the following problems.

【0005】(1) 低優先度タスクのメモリ大量確保
により高優先度タスクでもメモリ確保不能となり、動作
できなくなってしまう場合がある。また、システム全体
のメモリを圧迫してしまう。
(1) If a low-priority task allocates a large amount of memory, even a high-priority task may be unable to allocate memory and become unable to operate. It also puts pressure on the memory of the entire system.

【0006】(2) 上記を回避するため、メモリを分
割、専用メモリとして管理し、任意のタスクのみで使用
するとある程度の余裕をもって確保するため分割損が多
くなってしまう。
(2) In order to avoid the above problem, if the memory is divided and managed as a dedicated memory and used only for an arbitrary task, a certain amount of margin is secured, resulting in a large amount of division loss.

【0007】(3) システム内メモリを空きメモリと
、メモリ不足時の予備メモリとして、確保できるタスク
の最低優先度を規定したプールを設けた場合でも、空き
メモリ不足時、低優先度のプールから優先的にメモリ確
保されてしまうため、それほど高負荷でなくても、正常
な低優先度タスクからのメモリ確保ができないという問
題もあった。
(3) Even if a pool is provided that specifies the lowest priority of tasks that can be secured as free memory in the system and as spare memory in case of memory shortage, when there is a shortage of free memory, data will be transferred from the low priority pool. Since memory is allocated preferentially, there is also the problem that memory cannot be allocated from normal low-priority tasks even if the load is not very high.

【0008】[0008]

【課題を解決するための手段】本発明によれば、「シス
テム内のメモリを任意の量づつプールとして分割し、プ
ールの管理情報を保持する実メモリプール分割手段と、
前記メモリプールからのメモリ確保を許可するタスクの
最低優先度を付加し、プール管理情報を昇順にプール管
理情報キューにキューイングするメモリプール優先度設
定手段と、メモリ確保時、分割されたプールから、自タ
スク優先度で使用可能なプールを選択する実メモリプー
ル選択手段と、メモリ不足により、優先度に対応したメ
モリプールから確保不能な場合、確保元タスクの優先度
に対応したメモリプールから低優先度側に、空きのある
メモリプールをサーチし、そのプールからメモリを確保
するメモリサーチ手段と、前記メモリサーチ手段による
確保も不能な場合、発行元タスクを優先度に対応したプ
ールの待キューにキューイングしタスクを待状態とする
プール空き待手段と、メモリ開放時、最高優先度プール
から、開放したメモリに対応した優先度プールまでプー
ル空き待タスクをサーチし、プール空き待タスクの内、
最高優先度のプール空き待タスクにメモリを与える空き
待解除手段とを有することを特徴とする優先度付メモリ
プールによるメモリ管理方式」が得られる。
[Means for Solving the Problems] According to the present invention, a real memory pool dividing means divides memory in a system into arbitrary amounts as pools and holds management information of the pools;
Memory pool priority setting means adds a lowest priority to a task that is permitted to allocate memory from the memory pool, and queues pool management information in an ascending order in a pool management information queue; , a real memory pool selection means that selects a usable pool based on the priority of the invoking task, and when memory cannot be secured from the memory pool corresponding to the priority due to memory shortage, low memory pool is selected from the memory pool corresponding to the priority of the source task. On the priority side, there is a memory search means that searches for a free memory pool and secures memory from that pool, and if the memory search means cannot secure memory, the issuing task is sent to the waiting queue of the pool corresponding to the priority. When memory is released, it searches for pool free tasks from the highest priority pool to the priority pool corresponding to the freed memory, and searches among the pool free tasks. ,
A "memory management system using a prioritized memory pool" is obtained, which is characterized by having an idle waiting release means for giving memory to a pool idle task with the highest priority.

【0009】[0009]

【実施例】次に、本発明の一実施例を示した図面を参照
して、より詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of the present invention will be described in more detail with reference to the drawings.

【0010】図1を参照すると、本発明の一実施例は、
優先度付メモリプールによるメモリ管理方式10と、確
保可能タスク最低優先度21とプール空き待キュー22
とを含み作成したメモリプールについて情報を管理する
プール管理情報20と、プール管理情報キュー30と、
メモリ確保タスク40と、プール空き待タスク50とで
構成されている。
Referring to FIG. 1, one embodiment of the present invention includes:
Memory management method 10 using prioritized memory pool, lowest priority of allocable tasks 21, and pool free queue 22
a pool management information 20 that manages information about the created memory pool, and a pool management information queue 30;
The task consists of a memory securing task 40 and a pool waiting task 50.

【0011】優先度付メモリプールによるメモリ管理方
式10は、システム内のメモリを任意の量づつプールと
して分割し、プールの管理情報を保持する実メモリプー
ル分割手段11と、そのメモリプールからのメモリ確保
を許可するタスクの最低優先度を付加し、プール管理情
報20を昇順にプール管理情報キュー30にキューイン
グするメモリプール優先度設定手段12と、メモリ確保
時、分割されたプールから自タスクの優先度で使用可能
なプールを選択する実メモリプール選択手段13と、メ
モリ不足により、優先度に対応したメモリプールから確
保不能な場合、確保元タススの優先度に対応したメモリ
プールより低優先度側に、空きのあるメモリプールをサ
ーチし、そのプールからメモリを確保するメモリサーチ
手段14と、メモリサーチ手段14による確保も不能な
場合、発行元タスクの優先度に対応したプールを待キュ
ーにキューイングしタスクを待状態とするプール空き待
手段15と、メモリ開放時、最高優先度プールから、開
放したメモリに対応した優先度プールまでプール空き待
タスクをサーチし、プール開き待タスクの内、最高優先
度のプール空き待タスクにメモリを与えるプール空き待
解除手段16とで構成されている。
The memory management method 10 using prioritized memory pools includes a real memory pool dividing means 11 that divides the memory in the system into arbitrary amounts of pools and holds management information of the pools, and a memory management system 10 that divides the memory in the system into arbitrary amounts as pools. A memory pool priority setting means 12 adds the lowest priority of the task to which reservation is permitted and queues the pool management information 20 in ascending order in the pool management information queue 30; A real memory pool selection means 13 that selects a usable pool based on priority, and when memory cannot be secured from a memory pool corresponding to the priority due to memory shortage, a memory pool with a lower priority than a memory pool corresponding to the priority of the securing source task is provided. On the other hand, there is a memory search means 14 that searches for a free memory pool and secures memory from that pool, and if the memory search means 14 cannot secure memory, it places a pool corresponding to the priority of the issuing task in a waiting queue. A pool free waiting means 15 that queues tasks and puts them in a waiting state, and when memory is released, searches for pool free waiting tasks from the highest priority pool to a priority pool corresponding to the released memory, and searches for pool free waiting tasks among the pool open waiting tasks. , and a pool idle waiting release means 16 that provides memory to the pool idle task with the highest priority.

【0012】次に、図2を参照して、本実施例において
、プール管理情報20とメモリ確保タスク40がメモリ
確保を行ない、メモリ不足に遭遇した場合の動作につい
て、詳細に説明する。なお、図中で、優先度は、値が小
さいほど優先度が高いことを示している。
Next, with reference to FIG. 2, the operation when the pool management information 20 and the memory reservation task 40 secure memory in this embodiment and encounter a memory shortage will be described in detail. In addition, in the figure, the priority indicates that the smaller the value, the higher the priority.

【0013】図2(1)はプール優先度21の異なるメ
モリプールが3個作成された状態のプール管理情報20
の状態であり、この状態で優先度「4」のメモリ確保タ
スク40がメモリ確保を行なう場合、実メモリプール選
択手段13において、システム内のメモリプールの中か
ら自タスクの優先度に対応した確保可能タスク最低優先
度21を持ったプールが選択される。本例の場合、同一
の優先度プールが定義されていないため、メモリサーチ
手段14により、自タスクの優先度よりも低優先度の優
先度「5」のプールを検査し、メモリを確保する。もし
、優先度「5」のメモリプールにも空きメモリがない場
合は、さらに、低優先度のプールを検査する。本例にお
けるメモリ検査範囲を示したのが図2(2)である。 確保可能な全メモリプールを検査しても空きメモリがな
い場合、プール空き待手段15によりメモリ確保タスク
の優先度に対応した優先度のプール管理情報20のプー
ル空き待キュー22にメモリ確保タスク40をキューイ
ングする。本例の場合、優先度「4」のプール管理情報
20が存在しないため、確保可能プールの中で最高優先
度である優先度「5」のプール管理情報20にキューイ
ングされる。この状態を示したのが図2(3)の状態で
ある。本例の場合、メモリ確保タスク40の優先度が「
4」であるため、優先度「3」のプールに空きがあって
もメモリ確保することはできない。さらに、メモリ開放
後、プール空き待解除手段16では、プール管理情報2
0のプール空き待キュー22を高優先度から順に検査し
、プール空き待タスク50が存在した場合そのタスクの
待状態を解除する。図2(3)において優先度「7」の
プールにメモリが開放された場合、優先度「3」のプー
ルから検査し、優先度「5」のプール空き待キュー22
にキューイングされているプール空き待タスク50が待
解除される。また、同様の状態で、優先度「3」のメモ
リが開放された場合は、有せ度「5」のプール空き待キ
ュー22にキューイングされているプール空き待タスク
50の待状態は解除されない。以上のように、プール優
先度21により、そのプールで蓄えたメモリの使用タス
クを制限することにより、低優先度タスクの大量メモリ
確保などによる、システム内メモリ圧迫、高優先度タス
クの処理の停滞を防止することができる。
FIG. 2(1) shows pool management information 20 in a state where three memory pools with different pool priorities 21 have been created.
In this state, when the memory allocation task 40 with priority "4" allocates memory, the real memory pool selection means 13 selects a memory allocation corresponding to the priority of the own task from among the memory pools in the system. The pool with the lowest possible task priority of 21 is selected. In this example, since the same priority pool is not defined, the memory search means 14 checks the pool with priority "5", which is lower than the priority of the own task, and secures memory. If there is no free memory in the memory pool with priority "5", then the pool with lower priority is further checked. FIG. 2(2) shows the memory test range in this example. If there is no free memory even after checking all the memory pools that can be secured, the pool free waiting means 15 stores the memory securing task 40 in the pool free waiting queue 22 of the pool management information 20 with a priority corresponding to the priority of the memory securing task. queue. In this example, since pool management information 20 with priority "4" does not exist, the pool management information 20 with priority "5", which is the highest priority among the pools that can be secured, is queued. This state is shown in FIG. 2(3). In this example, the priority of the memory allocation task 40 is "
4", therefore memory cannot be secured even if there is space in the pool with priority "3". Furthermore, after the memory is released, the pool free standby release means 16 uses the pool management information 2.
The 0 pool idle queues 22 are checked in order from the highest priority, and if a pool idle task 50 exists, that task is released from the waiting state. In FIG. 2 (3), when memory is released to the pool with priority "7", the pool with priority "3" is inspected and the pool free queue 22 with priority "5" is checked.
The pool idle task 50 queued in the queue is released from waiting. Furthermore, in a similar situation, if memory with a priority level of "3" is released, the waiting state of the pool free task 50 queued in the pool free queue 22 with a availability level of "5" will not be released. . As described above, pool priority 21 limits the tasks that use the memory stored in the pool, resulting in memory pressure in the system due to large amounts of memory being reserved for low-priority tasks, and processing stagnation for high-priority tasks. can be prevented.

【0014】[0014]

【発明の効果】以上説明したように、本発明は、システ
ム内の実メモリを、いくつかに分割し、そのメモリから
のメモリ確保を許可するタスクの最低優先度を付加する
ことにより、メモリ確保時、確保元タスクの優先度で確
保可能なメモリ量を制限することが可能になる、低優先
度タスクの大量メモリ確保などによる、システム内メモ
リ圧迫、高優先度タスクのメモリ確保不能による処理の
停滞を、低優先度タスクの処理を低達させることなく、
防止することができる。
Effects of the Invention As explained above, the present invention divides the real memory in the system into several parts and assigns the lowest priority to tasks that are allowed to allocate memory from that memory. In some cases, it becomes possible to limit the amount of memory that can be secured depending on the priority of the source task, resulting in memory pressure in the system due to large amounts of memory being secured by low-priority tasks, and processing problems due to the inability of high-priority tasks to secure memory. Without stagnation or slowing down the processing of low-priority tasks,
It can be prevented.

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

【図1】本発明の一実施例の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】図1に示した実施例の動作を説明するための図
である。
FIG. 2 is a diagram for explaining the operation of the embodiment shown in FIG. 1;

【符号の説明】[Explanation of symbols]

10    優先度付メモリプールによるメモリ管理方
式11    実メモリプール分割手段 12    メモリプール優先度設定手段13    
実メモリプール選択手段 14    メモリサーチ手段 15    プール空き待手段 16    プール空き待解除手段 20    プール管理情報 21    確保可能タスク最低優先度22    プ
ール空きキュー 30    プール管理情報キュー 40    メモリ確保タスク 50    プール空き待タスク
10 Memory management method using prioritized memory pool 11 Real memory pool dividing means 12 Memory pool priority setting means 13
Real memory pool selection means 14 Memory search means 15 Pool free waiting means 16 Pool free waiting release means 20 Pool management information 21 Lowest priority of allocable tasks 22 Pool free queue 30 Pool management information queue 40 Memory reservation task 50 Pool free waiting task

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  システム内のメモリを任意の量づつプ
ールとして分割し、プールの管理情報を保持する実メモ
リプール分割手段と、前記メモリプールからのメモリ確
保を許可するタスクの最低優先度を付加し、プール管理
情報を昇順にプール管理情報キューにキューイングする
メモリプール優先度設定手段と、メモリ確保時、分割さ
れたプールから、自タスク優先度で使用可能なプールを
選択する実メモリプール選択手段と、メモリ不足により
、優先度に対応したメモリプールから確保不能な場合、
確保元タスクの優先度に対応したメモリプールから低優
先度側に、空きのあるメモリプールをサーチし、そのプ
ールからメモリを確保するメモリサーチ手段と、前記メ
モリサーチ手段による確保も不能な場合、発行元タスク
を優先度に対応したプールの待キューにキューイングし
タスクを待状態とするプール空き待手段と、メモリ開放
時、最高優先度プールから、開放したメモリに対応した
優先度プールまでプール空き待タスクをサーチし、プー
ル空き待タスクの内、最高優先度のプール空き待タスク
にメモリを与える空き待解除手段とを有することを特徴
とする優先度付メモリプールによるメモリ管理方式。
Claim 1: A real memory pool dividing means that divides the memory in the system into arbitrary amounts as pools and holds management information of the pool, and a minimum priority of a task that is allowed to secure memory from the memory pool is added. and a memory pool priority setting means for queuing pool management information in an ascending order in a pool management information queue, and a real memory pool selection means for selecting an available pool based on the invoking task priority from divided pools when securing memory. If the memory cannot be secured from the memory pool corresponding to the priority due to insufficient memory,
A memory search means that searches for a free memory pool from the memory pool corresponding to the priority of the securing source task to the lower priority side and secures memory from that pool, and when the memory search means cannot also secure memory, A pool free waiting means that queues the issuing task in the waiting queue of the pool corresponding to the priority and puts the task in the waiting state, and when memory is released, the pool is pooled from the highest priority pool to the priority pool corresponding to the released memory. 1. A memory management method using a prioritized memory pool, characterized in that it has an idle release means that searches for an idle task and gives memory to a pool idle task with the highest priority among the pool idle tasks.
JP3079428A 1991-04-12 1991-04-12 Memory managing system Pending JPH04314147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3079428A JPH04314147A (en) 1991-04-12 1991-04-12 Memory managing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3079428A JPH04314147A (en) 1991-04-12 1991-04-12 Memory managing system

Publications (1)

Publication Number Publication Date
JPH04314147A true JPH04314147A (en) 1992-11-05

Family

ID=13689607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3079428A Pending JPH04314147A (en) 1991-04-12 1991-04-12 Memory managing system

Country Status (1)

Country Link
JP (1) JPH04314147A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09146830A (en) * 1995-11-27 1997-06-06 Nec Corp Memory management system
JP2003523555A (en) * 1999-10-27 2003-08-05 ドクトル・ヨハネス・ハイデンハイン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング A method for dynamically managing storage devices
JP2006323872A (en) * 2006-08-01 2006-11-30 Hitachi Ltd Spare resource providing method and computer system for logical partition
JP2007221556A (en) * 2006-02-17 2007-08-30 Nikon Corp Electronic camera
US7765545B2 (en) 2000-07-28 2010-07-27 Hitachi, Ltd. Method for automatically imparting reserve resource to logical partition and logical partitioned computer system
JP2013522764A (en) * 2010-03-16 2013-06-13 アルカテル−ルーセント Method and apparatus for managing reallocation of system resources
WO2013161080A1 (en) * 2012-04-27 2013-10-31 株式会社日立製作所 Database management system, computer, and database management method
JP2021099785A (en) * 2019-12-20 2021-07-01 インテル コーポレイション Automated learning technology to partition computer applications for heterogeneous systems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09146830A (en) * 1995-11-27 1997-06-06 Nec Corp Memory management system
JP2003523555A (en) * 1999-10-27 2003-08-05 ドクトル・ヨハネス・ハイデンハイン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング A method for dynamically managing storage devices
US7765545B2 (en) 2000-07-28 2010-07-27 Hitachi, Ltd. Method for automatically imparting reserve resource to logical partition and logical partitioned computer system
JP2007221556A (en) * 2006-02-17 2007-08-30 Nikon Corp Electronic camera
JP2006323872A (en) * 2006-08-01 2006-11-30 Hitachi Ltd Spare resource providing method and computer system for logical partition
JP2013522764A (en) * 2010-03-16 2013-06-13 アルカテル−ルーセント Method and apparatus for managing reallocation of system resources
WO2013161080A1 (en) * 2012-04-27 2013-10-31 株式会社日立製作所 Database management system, computer, and database management method
US9842136B2 (en) 2012-04-27 2017-12-12 Hitachi, Ltd. Database management system, computer, and database management method
JP2021099785A (en) * 2019-12-20 2021-07-01 インテル コーポレイション Automated learning technology to partition computer applications for heterogeneous systems

Similar Documents

Publication Publication Date Title
CA2367982C (en) Resource scheduling
US5826082A (en) Method for reserving resources
US7784053B2 (en) Management of virtual machines to utilize shared resources
US8141096B1 (en) System, method, and computer program product for group scheduling of computer resources
US6779182B1 (en) Real time thread dispatcher for multiprocessor applications
US8166482B2 (en) Scheduling method, scheduling apparatus and multiprocessor system
US7353515B1 (en) Method and apparatus for dynamic allocation and management of semaphores for accessing shared resources
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
EP0747813A2 (en) Customer information control system and method with temporary storage queuing functions in a loosely coupled parallel processing environment
JPH04314147A (en) Memory managing system
US11093291B2 (en) Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost
CN117149440B (en) Task scheduling method and device, electronic equipment and storage medium
Jette et al. Gang scheduler-timesharing the cray t3d
JP2924725B2 (en) Buffer allocation control system
JP2874571B2 (en) Memory management device
JPS62177641A (en) Exclusive priority control method
CA2313273A1 (en) Device and method for allocating jobs in a network
JPH0355643A (en) Memory pool control system with priority
JPS63292456A (en) Control system for medium assignment of plural medium containing type data recorder
JP2692647B2 (en) Multitask control method and control system
EP1037146A1 (en) Resource scheduling
JPH05113894A (en) File resource managing system in virtual computer system
KR20250099999A (en) Virtual operating environment scheduling method based on signaling system
JPH01237718A (en) Buffer control method
JPS59170950A (en) Task priority control system