CN102473136B - 存储器管理装置、存储器管理方法以及集成电路 - Google Patents

存储器管理装置、存储器管理方法以及集成电路 Download PDF

Info

Publication number
CN102473136B
CN102473136B CN201180003028.5A CN201180003028A CN102473136B CN 102473136 B CN102473136 B CN 102473136B CN 201180003028 A CN201180003028 A CN 201180003028A CN 102473136 B CN102473136 B CN 102473136B
Authority
CN
China
Prior art keywords
process group
terminate
storage block
end candidate
candidate process
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.)
Active
Application number
CN201180003028.5A
Other languages
English (en)
Other versions
CN102473136A (zh
Inventor
加藤一臣
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.)
Sun Patent Trust Inc
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN102473136A publication Critical patent/CN102473136A/zh
Application granted granted Critical
Publication of CN102473136B publication Critical patent/CN102473136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供一种可尽可能较多地确保特定的存储块的空余容量的技术。结束候补进程选择部(204)针对多个存储块的每一个选择多个进程作为结束候补进程组,结束进程决定部(206)判定所选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束,进程组结束可否判定部(205)对判定为应结束的结束候补进程组可否结束进行判定,结束进程决定部(206)将保存的结束候补进程组改写为被判定为可结束的结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组决定。

Description

存储器管理装置、存储器管理方法以及集成电路
技术领域
本发明涉及在可运行多个程序的信息处理装置中管理多个程序所占用的存储器的存储器管理装置、存储器管理方法、存储器管理程序、记录存储器管理程序的可由计算机读取的记录介质及集成电路。尤其涉及在信息处理装置中当存储器的空余容量与程序之间有某种关联时适当地释放(releasing)程序所占用的存储器的存储器管理装置、存储器管理方法、存储器管理程序、记录存储器管理程序的可由计算机读取的记录介质及集成电路。
背景技术
以往,在可运行多个程序的信息处理系统、即能以多任务或多进程运行的信息处理系统中,通过使运行的程序结束而释放程序所占用的存储器,来确保信息处理系统所具有的存储器的空余容量。
例如在专利文献1中,作为以往的释放存储器的结构,公开了基于对程序所设定的执行优先度或该程序所占用的存储器容量而选择要结束的程序的技术。
具体而言,操作系统(OS,Operating System)在信息处理系统的存储器的空余容量为指定值以下时使主存储器释放进程处于可执行状态。例如在欲新启动程序作为进程的情况下,当存储器的空余容量不足时运行主存储器释放进程。
主存储器释放进程参照OS管理的进程管理信息,从在主存储器中展开的进程中选择优先度较低的进程,并释放所选择的进程所占用的存储器。据此,可避免因执行优先度较低的进程而无法新启动优先度较高的进程的情况。
然而,在以往结构中,虽然在OS管理的进程管理信息中存储有各进程的使用存储器量,但无法掌握各进程使用的是存储器内的哪一部分。有一种能够以块为单位分别管理电力供应的存储器。此类存储器例如可按存储器的每个芯片或者存储器内部的每个区块供应电力。通常,在进行动态的存储器分配的信息处理系统中,对于运行的进程,跨越多个存储芯片或多个存储区块等多个存储块分配所使用的存储器区域。在以往结构中无法掌握各进程使用的是存储器内的哪一部分。因此,无法掌握在结束所选择的进程时存储器内的各区域得到何种程度的释放。
在以往技术中,设想了当在新启动进程之际存储器不足时,释放对优先度较低的进程所分配的存储器,而所释放的存储器立即被利用的情况。因此,无须知道进程使用了哪一存储块。
然而,有时为了实现信息处理装置的省电模式而要切断对多个存储芯片或多个存储区块等多个存储块中的一些存储块的电力供应。在切断对存储块的电力供应时,由于该存储块上的数据被删除,因此需要以适当的步骤将这些数据进行避难。
此外,在对图像数据进行压缩或解压缩(decompress)的编解码器等中,优选使用存储器内的连续的区域。然而,如上所述在对1个进程分配多个存储块的区域时,即便结束该进程,各存储块内的区域也是分别地被释放,从而难以确保连续的区域。
此外,在近年的信息处理装置中,有时将各进程与存储器的空余容量相对应,并根据存储器的空余容量规定可结束的进程。在以往结构中无法掌握信息处理系统的存储器的占用状况。因此,无法判断为结束而选择的进程根据当前的信息处理系统的存储器的占用状况是否真的能结束。
专利文献1:日本专利公开公报特开2000-215099号
发明内容
本发明为解决上述问题而作出,其目的在于提供一种能够尽量较多地确保特定的存储块的空余容量的存储器管理装置、存储器管理方法、存储器管理程序、记录存储器管理程序的可由计算机读取的记录介质及集成电路。
本发明所涉及的存储器管理装置,用于管理包含多个存储块的存储器,包括:进程分配存储器管理部,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;系统存储器管理部,管理所述多个存储块整体的存储器空余容量;结束候补进程选择部,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理部管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定部,判定由所述结束候补进程选择部选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定部,将由所述结束候补进程选择部选择且由所述优先结束判定部判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理部管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序后的结束候补进程组;以及结束进程决定部,将保存的结束候补进程组改写为由所述进程组结束可否判定部判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组决定。
根据该结构,将分配给在可运行多个进程的信息处理系统中所使用的进程的多个存储块的分配容量,按每个进程以存储块为单位进行管理。而且,可管理多个存储块整体的存储器空余容量。当从信息处理系统接收到用于释放存储器的存储器释放请求时,基于所管理的分配容量,按照分配容量由大到小的顺序抽取针对多个存储块的每一个分配的多个进程,并针对多个存储块的每一个选择所抽取的多个进程来作为结束候补进程组。接着,判定所选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。按照优先度而重新排序判定为应优先结束的结束候补进程组的顺序,并基于所管理的多个存储块整体的存储器空余容量,来判定能否结束该重新排序的结束候补进程组。保存的结束候补进程组被改写为被判定为可结束的结束候补进程组,当结束对所有存储块的结束候补进程组的选择时,决定所保存的结束候补进程组作为应结束的进程组。
根据本发明,针对多个存储块的每一个选择结束候补进程组,并判定可否结束所选择的结束候补进程组,由此结束被判定为应结束的进程组,因此能够尽量较多地确保特定的存储块的空余容量。
附图说明
图1是表示本发明的实施方式的信息处理装置的结构的图。
图2是表示本发明的实施方式的存储器管理装置的结构的框图。
图3是表示由本发明的实施方式的进程分配存储器管理部管理的存储器分配信息的一例的图。
图4是表示由本发明的实施方式的系统存储器管理部管理的存储器空余容量信息的一例的图。
图5是表示本发明的实施方式的结束候补进程选择部的处理的一例的第一流程图。
图6是表示本发明的实施方式的结束候补进程选择部的处理的一例的第二流程图。
图7是表示由本发明的实施方式的进程组结束可否判定部管理的结束可否判定条件的一例的图。
图8是表示本发明的实施方式的进程组结束可否判定部的处理的一例的第一流程图。
图9是表示本发明的实施方式的进程组结束可否判定部的处理的一例的第二流程图。
图10是表示本发明的实施方式的结束进程决定部的处理的一例的第一流程图。
图11是表示本发明的实施方式的结束进程决定部的处理的一例的第二流程图。
图12是表示从结束候补进程选择部接收进程选择结束通知时的结束进程决定部的处理的一例的流程图。
具体实施方式
下面,参照附图说明本发明的实施方式。另外,以下实施方式是将本发明具体化的一个例子,并不具有限定本发明的技术范围的性质。
图1是表示本发明的实施方式的信息处理装置的结构的图。该信息处理装置100其本身也可供用户使用,但也可以组装于各种电气设备中。作为信息处理装置100的一例,具有代表性的是PC(Personal Computer;个人计算机或者个人电脑)等通用计算机。另外,信息处理装置100也可为PDA(Personal Digital Assistance,个人数字助理)或手机等移动通信终端。此外,信息处理装置100也可为电视、硬盘刻录机、在DVD或蓝光光盘等中记录信息的各种光盘刻录机、从DVD或蓝光光盘等再生信息的各种光盘播放器或汽车导航系统等。
信息处理装置100包括处理器1、存储装置2、通信装置34、输入装置40、显示装置45、计时电路51及中断控制器55。作为处理器1,具有代表性的是CPU(CentralProcessing Unit;中央运算处理装置)、介质处理用或图形处理用处理器、或DSP(DigitalSignal Processor,数字信号处理器)等运算处理装置。处理器1、存储装置2、通信装置34、输入装置40、显示装置45、计时电路51及中断控制器55通过总线线路50相互连接。此外,可视需要在总线线路50连接硬盘装置25及读取装置32。硬盘装置25、读取装置32、输入装置40及显示装置45分别经由I/F(接口)26、35、41及46连接于总线线路50。
处理器1可由单个处理器形成,也可由多个处理器形成。作为一例,信息处理装置100包括多个处理器11、12、13、……。
存储装置2包括ROM(Read Only Memory,只读存储器)21及RAM(RandomAccess Memory,随机存取存储器)22。ROM21存储规定处理器1的运行的计算机程序及数据。计算机程序及数据也可存储在硬盘装置25中。
处理器1视需要向RAM22写入存储于ROM21或硬盘装置25中的计算机程序及数据,并执行计算机程序规定的处理。RAM22也作为暂时存储伴随处理器1执行处理而产生的数据的介质而发挥功能。ROM21也包含如快闪ROM(Flash ROM)般可进行写入,且即便断开电源也可保存存储内容的非易失性存储器及存储介质。RAM22包含当断开电源时不保存存储内容的易失性存储器及存储介质。
硬盘装置25向内置的未图示的硬盘写入计算机程序及数据,并且从硬盘读出计算机程序及数据。读取装置32读取例如记录在CD、DVD或存储卡等记录介质31中的计算机程序或数据。通信装置34通过电话线、网线、无线或红外线通信等通信线路33在外部与其自身之间交换计算机程序或数据。
输入装置40通过用户的操作而接收数据等的输入。输入装置40为例如排列在PDA上的键盘、排列在手机上的输入键、装卸自由的鼠标或装卸自由的键盘。显示装置45在画面上显示数据及图像等或者以声音输出数据等。显示装置45为例如LCD(LiguidCrystal Display;液晶显示器)、布朗管或扬声器。
计时电路51以一定周期输出计时中断信号。中断控制器55向处理器1中转从计时电路51、输入装置40、处理器1、作为网络设备的通信装置34、硬盘装置25及读取装置32等发送的中断请求信号。来自各装置的中断请求附有优先度。中断控制器55具有在同时从多个装置产生中断时按照优先度而调解该请求的功能。
如上所述,信息处理装置100作为计算机而形成。上述计算机程序可通过ROM21、硬盘装置25或未图示的软盘及CD-ROM等记录介质31提供,也可通过通信线路33等传送介质提供。例如,记录在可由计算机读取的记录介质31(CD-ROM)中的计算机程序可经由连接于信息处理装置100的读取装置32读出。此外,RAM22或硬盘装置25可存储读出的计算机程序。
在从ROM21提供计算机程序时,通过在信息处理装置100中搭载该ROM21,处理器1可执行依照上述计算机程序的处理。通过通信线路33等传送介质提供的计算机程序通过通信装置34而接收,并存储在例如RAM22或硬盘装置25中。传送介质并不限定于有线传送介质,也可为无线传送介质。此外,传送介质不仅可为通信线路,也可包含中转通信线路的中转装置例如路由器。
通常,该存储器管理功能的核心(core)被存储在存储装置2或硬盘装置25中,通过与处理器1协作执行而实现存储器管理装置10。另外,存储器管理装置10包含至少1个处理器及存储装置。此外,信息处理系统包含至少1个处理器及存储装置。信息处理系统执行多个进程。对多个进程分配有存储装置2的指定区域,信息处理系统利用该指定区域执行多个进程。
图2是表示本发明的实施方式的存储器管理装置的结构的框图。存储器管理装置10通过处理器1与外部存储器协作运行而实现。作为外部存储器,典型的是可列举图1所示的存储装置2中所包含的ROM21或RAM22、硬盘装置25或通过读取装置32读出的记录介质31。
存储器管理装置10包括存储器分配部201、进程分配存储器管理部202、系统存储器管理部203、结束候补进程选择部204、进程组结束可否判定部205、结束进程决定部206及选择进程结束部207。
当从信息处理系统接收存储器分配请求时,存储器分配部201对进程分配由信息处理系统管理的存储器(典型的是RAM22)的空余区域。进程或任务是程序的执行单位的一种称呼方式。进程将由存储器分配部201分配的存储器用于存储各进程的执行代码或数据。
RAM22也可包含能够分别实施电力供应管理的多个存储块。例如,RAM22也可为能够分别实施电力供应管理的多个存储芯片。此外,RAM22可为单个存储芯片,也可为在芯片内能够分别实施电力供应管理的多个存储块单位。即,多个存储块可分别独自供应电力,从而可按每个存储块切换电力供应的接通/断开。
当对进程分配存储器时,存储器分配部201将表示对哪一个进程分配的信息、表示分配于哪一个存储块的信息、以及表示分配于各存储块的容量的信息通知于进程分配存储器管理部202。此外,存储器分配部201将表示分配于哪一个存储块的信息以及表示分配于各存储块的容量的信息通知于系统存储器管理部203。
进程分配存储器管理部202按每个进程、以各存储块为单位来管理分配给运行多个进程的信息处理系统使用的进程的多个存储块的分配容量。进程分配存储器管理部202按每个进程存储表示对各存储块分配了多大容量的存储器分配信息。当从存储器分配部201获取与所述存储器分配相关的信息(表示对哪一个进程分配的信息、表示分配于哪一个存储块的信息、以及表示分配于各存储块的容量的信息)时,进程分配存储器管理部202更新相应的进程的存储器分配信息。
系统存储器管理部203管理多个存储块整体的存储器空余容量及多个存储块的各存储器空余容量。系统存储器管理部203存储多个存储块整体的存储器空余容量及多个存储块的存储器空余容量。当从存储器分配部201获取与所述存储器分配相关的信息(表示分配于哪一个存储块的信息以及表示分配于各存储块的容量的信息)时,系统存储器管理部203基于所获取的信息而更新多个存储块整体的存储器空余容量以及各存储块的存储器空余容量。
结束候补进程选择部204在从信息处理系统接收用于释放存储器的存储器释放请求时运行。存储器释放请求是包含信息处理系统所请求的存储器空余容量,且用于从包含多个存储块的存储器整体确保指定的空余容量的请求。
结束候补进程选择部204为确保由信息处理系统所请求的存储器空余容量而选择结束候补进程。结束候补进程选择部204以可从多个存储块中的特定存储块释放尽可能多的区域的方式选择结束候补进程。因此,结束候补进程选择部204从进程分配存储器管理部202获取表示各进程当前分配于哪一个存储块并分配了何种程度的容量的信息。
当从信息处理系统接收用于释放存储器的存储器释放请求时,结束候补进程选择部204基于由进程分配存储器管理部202管理的分配容量,按照分配容量由大到小的顺序抽取针对多个存储块的每一个而分配的多个进程,并针对多个存储块的每一个选择所抽取的多个进程来作为结束候补进程组。
结束候补进程选择部204针对各存储块选择结束候补进程,并传送至进程组结束可否判定部205。结束候补进程选择部204向进程组结束可否判定部205询问所选择的多个进程在当前的信息处理系统状况下可否结束。
当从结束候补进程选择部204接收多个进程时,进程组结束可否判定部205从系统存储器管理部203接收与当前的存储器空余容量相关的信息。此外,进程组结束可否判定部205基于由信息处理系统规定的存储器空余容量与各进程的可否结束的条件,调整从结束候补进程选择部204接收的进程的结束顺序。
当获取由结束候补进程选择部204选择的结束候补进程组时,进程组结束可否判定部205从系统存储器管理部203获取多个存储块整体的存储器空余容量,基于多个存储块整体的存储器空余容量的条件与可在该条件下结束的进程的关系,按照使结束候补进程组结束的顺序进行重新排序,并判定该重新排序的进程组可否结束。进程组结束可否判定部205向结束候补进程选择部204通知可否结束的判定结果信息,当存在无法结束的进程时还向结束候补进程选择部204通知该无法结束的进程。
当从进程组结束可否判定部205接收所选择的进程组均可结束的通知时,结束候补进程选择部204将选择的进程组与存储器分配信息传送至结束进程决定部206。其后,结束候补进程选择部204对剩余的其他存储块也相同地选择结束候补进程。
当从结束候补进程选择部204接收结束候补进程组和存储器分配信息时,结束进程决定部206判定所接收的结束候补进程组相对于至此为止从结束候补进程选择部204接收到的其他存储块的结束候补进程组是否应优先结束,并将表示是否应将该结束候补进程组设为结束候补的通知发送至结束候补进程选择部204。当从结束候补进程选择部204获得对所有各存储块的结束进程组时,结束进程决定部206决定最终作为候补而留下的进程组作为结束进程,并通知给选择进程结束部207。
结束进程决定部206判定由结束候补进程选择部204选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
此外,结束进程决定部206基于通过结束由结束候补进程选择部204选择的结束候补进程组而可确保的存储块的空余容量与通过结束已保存的结束候补进程组而可确保的存储块的空余容量的大小关系,判定由结束候补进程选择部204选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
而且,结束进程决定部206基于构成由结束候补进程选择部204选择的结束候补进程组的多个进程的进程数与构成已保存的结束候补进程组的多个进程的进程数的大小关系,判定由结束候补进程选择部204选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
此外,进程组结束可否判定部205按照优先度重新排序由结束候补进程选择部204选择且由结束进程决定部206判定为应优先结束的结束候补进程组的顺序,并基于由系统存储器管理部203管理的多个存储块整体的存储器空余容量,来判定可否结束该重新排序的结束候补进程组。
而且,进程组结束可否判定部205基于针对每个进程预先设定的优先度级别对构成由结束候补进程选择部204选择的结束候补进程组的多个进程进行重新排序。
此外,结束进程决定部206将保存的结束候补进程组改写为由进程组结束可否判定部205判定为可结束的结束候补进程组,当对所有存储块的结束候补进程组的选择结束时,决定所保存的结束候补进程组作为应结束的进程组。
当从结束进程决定部206接收应结束的进程组时,选择进程结束部207向信息处理系统发送结束相应的进程的命令,由信息处理系统结束相应的进程。据此,结束的进程原来使用的存储器被释放,由此确保了由信息处理系统请求的存储器空余容量。
另外,在本实施方式中,进程分配存储器管理部202相当于进程分配存储器管理部的一例,系统存储器管理部203相当于系统存储器管理部的一例,结束候补进程选择部204相当于结束候补进程选择部的一例,结束进程决定部206相当于优先结束判定部及结束进程决定部的一例,进程组结束可否判定部205相当于进程组结束可否判定部的一例。
图3是表示由本发明的实施方式的进程分配存储器管理部管理的存储器分配信息的一例的图。图3中例示了第一进程A、第二进程B及第三进程C的3个进程的存储器分配信息301、302、303。
存储器分配信息301、302、303包含进程识别信息311、分配容量信息312及总计容量信息315。在此,举第一进程A的存储器分配信息301为例进行说明。
进程分配存储器管理部202管理用于识别是哪一进程的存储器分配信息的进程识别信息311。而且,进程分配存储器管理部202按每个进程管理表示对多个存储块的各个分配的分配容量的分配容量信息312、313、314。此外,进程分配存储器管理部202管理表示对进程分配的存储器区域的总计容量的总计容量信息315。另外,图3只不过为管理方式的一例,进程数及存储块数并不限定于图3所示的数量。
当从存储器分配部201接收与存储器分配相关的信息时,进程分配存储器管理部202更新与该进程的存储器分配信息相对应的存储块的分配容量信息和总计容量信息。例如,对进程分配存储器管理部202具有图3所示的存储器分配信息,且从存储器分配部201接收针对第一进程A分配了第三存储块的1MB的信息的情况进行说明。
此时,进程分配存储器管理部202在与该第一进程A的存储器分配信息301中包含的第三存储块相对应的分配容量信息314的分配容量加上1MB。由此,分配容量信息314从0MB变更为1MB。而且,在第一进程A的存储器分配信息301中所包含的总计容量信息315的总计容量加上1MB。据此,总计容量信息315从3MB变更为4MB。
另外,在具有虚拟地址空间的信息处理系统的情况下,可能会发生即便对进程的虚拟地址空间分配存储器区域,也不占用物理存储器的状况。因此,存储器分配部201也可以在将物理存储器分配给进程时、即真正占用物理存储器时,向进程分配存储器管理部202及系统存储器管理部203通知存储器分配信息。
当从结束候补进程选择部204发送请求时,进程分配存储器管理部202基于图3所例示的存储器分配信息,将表示各进程被分配于当前的哪一存储块何种程度容量的信息传送至结束候补进程选择部204。
图4是表示由本发明的实施方式的系统存储器管理部管理的存储器空余容量信息的一例的图。存储器空余容量信息401包含多个存储块整体的存储器空余容量411及各存储块的存储器空余容量412。
当从进程组结束可否判定部205请求多个存储块整体的存储器空余容量时,系统存储器管理部203基于存储器空余容量信息401将多个存储块整体的存储器空余容量411传送至进程组结束可否判定部205。而且,当从结束进程决定部206请求各存储块的存储器空余容量时,系统存储器管理部203基于存储器空余容量信息401将各存储块的存储器空余容量412传送至结束进程决定部206。
图5及图6是表示本发明的实施方式的结束候补进程选择部的处理的一例的流程图。
首先,结束候补进程选择部204从信息处理系统接收通过进程结束而释放存储器的存储器释放请求(步骤S1)。作为一例,从信息处理系统请求释放N字节的大小的存储器区域。
其次,结束候补进程选择部(termination candidate process selection unit)204从进程分配存储器管理部202获取存储器分配信息(步骤S2)。据此,结束候补进程选择部204可获取用于针对每个存储块选择结束候补进程所需的存储器分配信息。
之后,结束候补进程选择部204为从特定存储块尽可能释放存储器区域,而针对每个存储块选择结束候补进程并对所选择的进程进行评价。
接着,结束候补进程选择部204判断所存在的多个存储块中是否有未选择的存储块,即是否有未选择结束候补进程的存储块(步骤S3)。通常,在结束候补进程选择部204尚未对任一存储块选择应结束的进程时,必定存在未选择的存储块。
当判断为存在未选择结束候补进程的存储块时(在步骤S3为“是”),结束候补进程选择部204选择一个未选择的存储块(步骤S4)。结束候补进程选择部204转移至选择应结束的进程的处理,以便可从选择的存储块尽可能释放存储器区域。
接着,结束候补进程选择部204从未选择的进程中选择在步骤S4选择的存储块中的分配容量最大的进程(步骤S5)。例如,对结束候补进程选择部204从进程分配存储器管理部202获取图3所示的存储器分配信息,且在步骤S4选择第一存储块的情况进行说明。此时,结束候补进程选择部204选择未选择的第一~第三进程中第一存储块的分配容量最大的第三进程C。
然后,结束候补进程选择部204将在步骤S5选择的进程(process)相对于存储块加入应结束的进程组中。此外,结束候补进程选择部204将在步骤S5选择的进程的总计分配容量加到至此为止选择的进程的总计分配容量的总和上(步骤S6)。
其次,结束候补进程选择部204,判定至此为止选择的各进程的总计分配容量的总和是否为在步骤S1所请求的N字节以上(步骤S7)。在判定为所选择的各进程的总计分配容量的总和小于N字节(byte)时(在步骤S7为“否”),则返回至步骤S5的处理,结束候补进程选择部204选择下一未选择的进程。当在所选择的各进程的总计分配容量的总和未达到N字节以上的状态下不存在未选择的进程时,即在无法释放由信息处理系统所请求的存储器容量时,结束候补进程选择部204需要中断处理并将错误反馈至信息处理系统。在本说明中,为说明结束候补进程选择部204的主要功能而未在图5及图6所示的流程图中图示错误处理。
在判定为所选择的各进程的总计分配容量的总和为N字节以上时(在步骤S7为“是”),结束候补进程选择部204将与所选择的存储块相关的信息及与所选择的进程组相关的信息传送至结束进程决定部206(步骤S8)。结束进程决定部206将针对此次选择的存储块而选择的进程组和、针对与此次选择的存储块相同的存储块而至此为止选择的进程组进行比较,确认针对此次选择的存储块而选择的进程组是否能成为结束候补。另外,关于结束进程决定部206的处理将在后面叙述。具体而言,结束候补进程选择部204将选择哪一个存储块的信息和选择哪一个进程组的信息传送至结束进程决定部206。
然后,结束候补进程选择部204从结束进程决定部206接收表示所传送的进程组是否成为结束候补的信息,并基于所接收的信息来判断所传送的进程组是否成为结束候补(步骤S9)。在此,当判断为所传送的进程组不能成为结束候补时(在步骤S9为“否”),结束候补进程选择部204废弃针对在步骤S4选择的存储块而选择的进程组并返回至步骤S3的处理。
另一方面,当判断为所传送的进程组成为结束候补时(在步骤S9为“是”),结束候补进程选择部204以可知道选择顺序的形式将进程组传送至进程组结束可否判定部205(步骤S10)。据此,转移至向进程组结束可否判定部205询问所选择的进程组是否真能结束的处理。另外,关于进程组结束可否判定部205的处理将在后面叙述。
其次,结束候补进程选择部204从进程组结束可否判定部205接收表示所传送的进程组中是否存在不可结束的进程的信息,并基于所接收的信息而判断在所选择的进程组中是否存在不可结束的进程(步骤S11)。当判断为所选择的进程组中无不可结束的进程时(在步骤S11为“否”),结束候补进程选择部204将表示所选择的存储块的信息及表示选择已确定的进程组的信息与表示选择已确定的通知一起传送至结束进程决定部206(步骤S12),返回至步骤S3的处理。
另一方面,当判断为所传送的进程组中存在不可结束的进程时(在步骤S11为“是”),结束候补进程选择部204从所选择的进程组中排除不可结束的进程(步骤S13),返回至步骤S3的处理。
在步骤S3,当判断为对所有存储块的处理已完成,且不存在未选择结束候补进程的存储块时(在步骤S3为“否”),结束候补进程选择部204向结束进程决定部206发送表示结束候补进程的选择已结束的进程选择结束通知(步骤S14)而结束处理。
下面,对由进程组结束可否判定部205管理的存储器空余容量和各进程的可否结束条件进行说明。图7是表示由本发明的实施方式的进程组结束可否判定部管理的结束可否判定条件的一例的图。进程组结束可否判定部205根据存储器空余容量和对应于存储器空余容量的进程的优先度级别而规定可否结束某进程。这是因为,对所结束的进程赋予重要度,并根据存储器空余容量来掌握系统上的紧急度,以便仅在紧急度较高时可控制结束重要度较高的进程。
例如,在图7所示的例中,进程组结束可否判定部205存储有将多个存储块整体的存储器空余容量的条件611与可结束的进程的优先度级别的条件612相对应的可结束级别管理信息601、及将进程的优先度级别值与符合优先度级别值的进程相对应的进程级别管理信息602。结束可否判定条件包含可结束级别管理信息601和进程级别管理信息602。在图7的例中表示了优先度级别值越小则优先度越高、即结束条件越严格的情况。
在可结束级别管理信息601的存储器空余容量的条件611中可阶段性地设定多个存储块整体的存储器空余容量的条件,在优先度级别的条件612中可设定能够在与存储器空余容量的条件一致时结束的进程的优先度级别的条件。
具体地举一个例子进行说明,在当前的多个存储块整体的存储器空余容量为3MB(MegaByte:兆字节)时,依照可结束级别管理信息601,该存储器空余容量符合“4MB”以下的存储器空余容量的条件611(图7的项目621),可结束进程的优先度级别为“级别2以上”。根据进程级别管理信息602,优先度级别为级别2以上的进程为第二进程B、第三进程C、第四进程D及第五进程E。因此,可结束进程为第二进程B、第三进程C、第四进程D及第五进程E,而第一进程A不可结束。
另外,图7所示的可结束级别管理信息601及进程级别管理信息602的结构只不过是示例,只要是能够根据多个存储块整体的存储器空余容量而管理可结束进程的信息即可。
下面,对进程组结束可否判定部205的处理进行说明。图8及图9是表示本发明的实施方式的进程组结束可否判定部的处理的一例的流程图。
首先,进程组结束可否判定部205从结束候补进程选择部204接收与所选择的进程组相关的信息(步骤S21)。
然后,进程组结束可否判定部205获取图7所例示的结束可否判定条件(步骤S22)。
接着,进程组结束可否判定部205按照优先度由高到低的顺序、即结束条件由严到宽的顺序重新排序由结束候补进程选择部204选择的进程组(步骤S23)。此时,在多个进程的结束条件相同时,进程组结束可否判定部205以从结束候补进程选择部204获取的进程顺序保存各进程即可。
举一个例子进行说明,例如,进程组(process group)结束可否判定部205从进程组结束可否判定部205(应为“结束候选候补进程选择部204”)获取{第二进程B、第四进程D、第三进程C及第一进程A}的进程组,并具有图7所例示的结束可否判定条件,在此情况下,进程组结束可否判定部205按{第一进程A、第三进程C、第二进程B及第四进程D}的顺序重新排序进程组。
接着,进程组结束可否判定部205从系统存储器管理部203获取当前的多个存储块整体的存储器空余容量(步骤S24)。之后,进程组结束可否判定部205从进程分配存储器管理部202获取存储器分配信息(步骤S25)。其后,进程组结束可否判定部205转移至对在步骤S23重新排序的进程组依次确认可否结束的处理。
接着,进程组结束可否判定部205判断进程组中是否存在未选择的进程(步骤S26)。当判断为存在未选择的进程时(在步骤S26为“是”),进程组结束可否判定部205从进程组中选择未选择的进程中的最前的进程(步骤S27)。然后,进程组结束可否判定部205基于在步骤S24所获取的多个存储块整体的存储器空余容量和在步骤S22所获取的结束可否判定条件来判定可否结束所选择的进程(步骤S28)。
当判定为可结束所选择的进程时(在步骤S28为“是”),进程组结束可否判定部205对当前保存的存储器空余容量的值加上所选择的进程的存储器分配容量而进行更新(步骤S29)。如此,进程组结束可否判定部205存储在结束所选择的进程时发生变化的存储器空余容量。所选择的进程的存储器分配容量从在步骤S25所获取的针对各进程的存储器分配信息获取即可。其后,为了对进程组的剩余进程判定可否结束而返回至步骤S26的处理继续进行处理。
另一方面,当判定为所选择的进程不可结束时(在步骤S28为“否”),进程组结束可否判定部205存储所选择的进程不可结束(步骤S30)。其后,为了对进程组的剩余进程判定可否结束而返回至步骤S26的处理继续进行处理。
在步骤S26,当通过对在步骤S21所获取的进程组的所有进程判定可否结束而判断为不存在未选择的进程时(在步骤S26为“否”),进程组结束可否判定部205判断在进程组中是否存在不可结束的进程(步骤S31)。
在此,当判断为不存在不可结束的进程时(在步骤S31为“否”),进程组结束可否判定部205向结束候补进程选择部204通知不存在不可结束的进程(步骤S32)。另一方面,当判断为存在不可结束的进程时(在步骤S31为“是”),进程组结束可否判定部205向结束候补进程选择部204通知表示不可结束的进程的信息及存在不可结束的进程的情况(步骤S32(应为“S33”))。
通过以上运行,进程组结束可否判定部205可避免从结束候补进程选择部204选择的进程组中选择优先度较高的进程来作为结束候补。
例如,假设在步骤S22获取图7所例示的结束可否判定条件,且在步骤S24获取的存储器空余容量为0.5MB,且从结束候补进程选择部204获取的进程组为{第二进程B、第三进程C及第一进程A}。此时,当按照选择顺序而先结束第二进程B时,对第二进程B分配的存储器区域的总计容量为6MB(图3的存储器分配信息302),因此多个存储块整体的存储器空余容量成为6.5MB。此时,即便想要结束第三进程C及第一进程A,但是基于图7的结束可否判定条件,仅可结束优先度级别为3以上的进程而无法结束优先度级别为2的第三进程C及优先度级别为1的第一进程A。
然而,进程组结束可否判定部205在步骤S23基于图7所例示的结束可否判定条件,按{第一进程A、第三进程C及第二进程B}的顺序重新排序以{第二进程B、第三进程C及第一进程A}的顺序要结束的进程组。此时,当前的存储器空余容量为0.5MB,因此基于图7的结束可否判定条件而仅可结束1级以上的进程,在步骤S28可判定为可结束第一进程A。
此外,对第一进程A分配的存储器区域的总计容量为3MB(图3的存储器分配信息301),因此在步骤S29多个存储块整体的存储器空余容量成为3.5MB。由于多个存储块整体的存储器空余容量为3.5MB,因此,基于图7的结束可否判定条件可结束级别2以上的进程,从而可判定为能结束接下来选择的第三进程C。
最后,对第三进程C分配的存储器区域的总计容量为4MB(图3的存储器分配信息303),因此在步骤S29多个存储块整体的存储器空余容量成为7.5MB。由于多个存储块整体的存储器空余容量为7.5MB,因此基于图7的结束可否判定条件可结束级别3以上的进程,从而可判定为能结束接下来选择的第二进程B。
如以上例所示,以结束候补进程选择部204选择的进程组{第二进程B、第三进程C及第一进程A}仅可结束第二进程B。然而,通过进程组结束可否判定部205的运行,基于结束可否判定条件对进程组的顺序进行重新排序,据此可结束所有进程。
下面,对结束进程决定部206的处理进行说明。图10及图11是表示本发明的实施方式的结束进程决定部的处理的一例的流程图。
首先,结束进程决定部206从结束候补进程选择部204接收表示所选择的存储块的信息及表示所选择的进程组的信息(步骤S31)。另外,在图6的步骤S12得到表示选择已确定的通知时,结束进程决定部206从结束候补进程选择部204接收表示所选择的存储块的信息、表示所选择的进程组的信息及表示选择已确定的通知。
当从结束候补进程选择部204通知选择已确定时,可判断为与该通知一起发送的进程组相比于当前结束进程决定部206保存的进程组应优先结束。因此,结束进程决定部206判断所接收的进程组是否为选择已确定的进程组(步骤S42)。当判断所接收的进程组为选择已确定的进程组时(在步骤S42为“是”),结束进程决定部206保存从结束候补进程选择部204接收的存储块与进程组作为结束候补(步骤S43)。
另一方面,当判断所接收的进程组不是选择已确定的进程组时(在步骤S42为“否”),结束进程决定部206判断是否已保存有存储块和结束候补进程组(步骤S44)。在此,当判断为未保存有存储块和结束候补进程组时(在步骤S44为“否”),因不存在应比较的进程组,所以结束进程决定部206保存从结束候补进程选择部204接收的存储块和进程组作为结束候补(步骤S43)。
另一方面,当判断为已保存有存储块和结束候补进程组时(在步骤S44为“是”),结束进程决定部206判断从结束候补进程选择部204接收的进程组的进程数是否为已保存的进程组的进程数以下(步骤S45)。当判断从结束候补进程选择部204接收的进程组的进程数不为已保存的进程组的进程数以下时,即当判断为所接收的进程组的进程数多于已保存的进程组的进程数时(在步骤S45为“否”),结束进程决定部206向结束候补进程选择部204通知所接收的进程组不成为结束候补(步骤S46)。
另一方面,当判断从结束候补进程选择部204接收的进程组的进程数为已保存的进程组的进程数以下时(在步骤S45为“是”),结束进程决定部206从系统存储器管理部203获取各存储块的空余容量(步骤S47)。
接着,结束进程决定部206从进程分配存储器管理部202获取各进程的存储器分配信息(步骤S48)。
然后,结束进程决定部206基于在步骤S47及步骤S48所获取的信息,计算在使从结束候补进程选择部204接收的进程组结束时可确保的相应存储块的空余容量(步骤S49)。
具体而言,结束进程决定部206基于在步骤S48所获取的存储器分配信息,计算从结束候补进程选择部204接收的进程组的各进程针对从结束候补进程选择部204接收的存储块的分配容量。此外,结束进程决定部206基于在步骤S47所获取的各存储块的存储器空余容量,计算从结束候补进程选择部204接收的存储块的空余容量。结束进程决定部206可通过对从结束候补进程选择部204接收的存储块的存储器空余容量、和从结束候补进程选择部204接收的进程组的各进程对存储块的分配容量进行合计,来计算当结束从结束候补进程选择部204接收的进程组时可确保的相应存储块的空余容量。
在此,利用图3及图4对计算在结束从结束候补进程选择部204接收的进程组时可确保的相应存储块的空余容量的一例进行说明。例如,假设在图10的步骤S41,从结束候补进程选择部204接收的存储块为第二存储块,从结束候补进程选择部204接收的进程组为第一进程A及第三进程C。
此时,根据图3的进程分配存储器管理部202的存储器分配信息的例子,在第二存储块,分配了3MB的第一进程A,且分配了1MB的第三进程C。根据图4的系统存储器管理部203的存储器空余容量信息的例子,第二存储块的存储器空余容量为1MB。因此,当结束从结束候补进程选择部204接收的进程组(第一进程A及第三进程C)时可确保的相应的存储块(第二存储块)的空余容量总计为5MB。
接着,结束进程决定部206计算当结束作为当前结束候补而保存的进程组时可确保的相应存储块的空余容量(步骤S50)。空余容量的计算步骤与在步骤S49所实施的步骤相同。另外,在步骤S50处理的相应存储块为以前在接收作为当前结束候补而保存的进程组时从结束候补进程选择部204接收的存储块,与在步骤S49所处理的存储块不同。
此处,利用图3及图4对在结束作为当前结束候补而保存的进程组时可确保的相应存储块的空余容量的一例进行说明。例如,假设保存的存储块为第一存储块,保存的进程组为第三进程C及第二进程B。
此时,根据图3的进程分配存储器管理部202的存储器分配信息的例子,在第一存储块,分配了3MB的第三进程C,且分配了1MB的第二进程B。此外,根据图4的系统存储器管理部203的存储器空余容量信息的例子,第一存储块的存储器空余容量为2MB。因此,在结束作为当前结束候补而保存的进程组(第三进程C及第二进程B)时可确保的相应的存储块(第一存储块)的空余容量总计为6MB。
接着,结束进程决定部206判定在结束从结束候补进程选择部204接收的进程组时可确保的空余容量是否大于在结束所保存的结束候补进程组时可确保的空余容量(步骤S51)。在所述的例中,当结束从结束候补进程选择部204接收的进程组时,第二存储块的空余容量为5MB,当结束当前保存的进程组时,第一存储块的空余容量为6MB。因此,在结束所保存的进程组时可确保的空余容量大于在结束所接收的进程组时可确保的空余容量。
当判定在结束从结束候补进程选择部204接收的进程组时可确保的空余容量为在结束所保存的结束候补进程组时可确保的空余容量以下时(在步骤S51为“否”),结束进程决定部206向结束候补进程选择部204通知所接收的进程组不会成为结束候补(步骤S46)。
另一方面,当判定在结束从结束候补进程选择部204接收的进程组时可确保的空余容量大于在结束所保存的结束候补进程组时可确保的空余容量时(在步骤S51为“是”),结束进程决定部206向结束候补进程选择部204通知所接收的进程组成为结束候补(步骤S52)。
通过以上运行,结束进程决定部206可保存从结束候补进程选择部204接收的多个存储块中能尽可能较大地释放的特定的存储块。此外,结束进程决定部206可保存能尽可能较大地释放特定的存储块的结束候补进程组。
下面,对从结束候补进程选择部204接收进程选择结束通知时的结束进程决定部206的处理进行说明。图12是表示从结束候补进程选择部接收进程选择结束通知时的结束进程决定部的处理的一例的流程图。
首先,结束进程决定部206从结束候补进程选择部204接收表示结束候补进程的选择已结束的进程选择结束通知(步骤S61)。然后,结束进程决定部206决定当前所保存的进程组为结束对象进程组(步骤S62)。接着,结束进程决定部206将所决定的结束对象进程组传送至选择进程结束部207(步骤S63)。
当从结束进程决定部206接收结束对象进程组时,选择进程结束部207依照由信息处理系统所规定的指定步骤而释放各进程使用的存储块及各进程确保的各种资源,从而使结束对象的各进程结束。
然后,结束进程决定部206删除当前保存的存储块和进程组(步骤S64)而结束处理。
通过以上运行,本实施方式的存储器管理装置可在特定的存储块形成尽可能多的空余区域,因此为断开对特定的存储块的电力供应而保护数据的成本变小,易于转移至省电状态。
此外,可在特定的存储块形成尽可能多的空余区域,因此可在特定的存储块内确保连续的空余区域。因此,在对图像数据进行压缩或解压缩的编解码器等中可使用特定的存储块内的连续的空余区域。
另外,图2所示的存储器管理装置的各功能块典型的是作为在处理器与外部存储器的协作下处理的程序而实现,但也可以通过作为集成电路的LSI来实现。这些各功能块可分别单芯片化,也可以包含一部分或全部的方式单芯片化。此处称为LSI,但根据集成度的不同,也有时称作IC(Integrated circuit,集成电路)、系统LSI(Large Scale Integratedcircuit,大规模集成电路)、超级LSI或超特大LSI。
此外,集成电路化的方法并不限定于LSI,也可以用专用电路或通用处理器来实现。也可利用在制造LSI之后能编写程序的FPGA(Field Programmable Gate Array,现场可编程门阵列)或能重新构成LSI内部的电路单元的连接或设定的可重构处理器。
另外,如果随着半导体技术的进步或派生的其他技术而出现取代LSI的集成电路化的技术,则当然也可使用该技术集成功能块。
本实施方式所涉及的存储器管理装置如果为具有处理器和存储器装置的信息处理装置,则也可应用于电子设备、信息设备、AV(Audio Visual,音频视频)设备、通信设备及家电设备,例如,也可应用于PC(个人计算机)、移动信息终端(手机、智能手机及PDA(Personal Digital Assistant)等)、电视、硬盘刻录机、使用DVD及蓝光光盘等的各种光盘刻录机、使用DVD及蓝光光盘等的各种光盘播放器及汽车导航系统等。
另外,所述的说明在所有方面只不过为本发明的例示,并不限定本发明的范围。当然可在不脱离本发明的范围内进行各种改良或变形。
另外,在上述的具体实施方式中主要包括具有以下结构的发明。
本发明所涉及的存储器管理装置,用于管理包含多个存储块的存储器,包括:进程分配存储器管理部,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;系统存储器管理部,管理所述多个存储块整体的存储器空余容量;结束候补进程选择部,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理部管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定部,判定由所述结束候补进程选择部选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定部,将由所述结束候补进程选择部选择且由所述优先结束判定部判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理部管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序后的结束候补进程组;以及结束进程决定部,将保存的结束候补进程组改写为由所述进程组结束可否判定部判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组决定。
本发明所涉及的存储器管理方法,用于管理包含多个存储块的存储器,包括以下步骤:进程分配存储器管理步骤,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;系统存储器管理步骤,管理所述多个存储块整体的存储器空余容量;结束候补进程选择步骤,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于在所述进程分配存储器管理步骤管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定步骤,判定在所述结束候补进程选择步骤选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定步骤,将在所述结束候补进程选择步骤选择且在所述优先结束判定步骤判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于在所述系统存储器管理步骤管理的所述多个存储块整体的存储器空余容量,判定可否结束经该重新排序的结束候补进程组;以及结束进程决定步骤,将保存的结束候补进程组改写为在所述进程组结束可否判定步骤中判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
本发明所涉及的存储器管理程序,用于管理包含多个存储块的存储器,使计算机作为以下各部而发挥功能:进程分配存储器管理部,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统中所使用的所述进程所分配的多个存储块的分配容量;系统存储器管理部,管理所述多个存储块整体的存储器空余容量;结束候补进程选择部,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理部管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定部,判定由所述结束候补进程选择部选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定部,将由所述结束候补进程选择部选择且由所述优先结束判定部判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理部管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序的结束候补进程组;以及结束进程决定部,将保存的结束候补进程组改写为由所述进程组结束可否判定部判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
本发明所涉及的记录存储器管理程序的可由计算机读取的记录介质,记录有用于管理包含多个存储块的存储器的存储器管理程序,所述存储器管理程序使计算机作为以下各部而发挥功能:进程分配存储器管理部,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;系统存储器管理部,管理所述多个存储块整体的存储器空余容量;结束候补进程选择部,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理部管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定部,判定由所述结束候补进程选择部选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定部,将由所述结束候补进程选择部选择且由所述优先结束判定部判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理部管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序的结束候补进程组;以及结束进程决定部,将保存的结束候补进程组改写为由所述进程组结束可否判定部判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
本发明所涉及的集成电路,用手管理包含多个存储块的存储器,包括:进程分配存储器管理电路,将多个存储块的分配容量按每个所述进程以存储块为单位管理,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;系统存储器管理电路,管理所述多个存储块整体的存储器空余容量;结束候补进程选择电路,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理电路管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个而分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;优先结束判定电路,判定由所述结束候补进程选择电路选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;进程组结束可否判定电路,将由所述结束候补进程选择电路选择且由所述优先结束判定电路判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理电路管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序的结束候补进程组;以及结束进程决定电路,将保存的结束候补进程组改写为由所述进程组结束可否判定电路判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
根据这些结构,按每个进程、以存储块单位管理分配给在可运行多个进程的信息处理系统中所使用的进程的多个存储块的分配容量。此外,多个存储块整体的存储器空余容量也被进行管理。当从信息处理系统接收用于释放存储器的存储器释放请求时,基于所管理的分配容量,按照分配容量由大到小的顺序抽取针对多个存储块的每一个分配的多个进程,并针对多个存储块的每一个选择所抽取的多个进程作为结束候补进程组。接着,判定所选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。按照优先度重新排序判定为应优先结束的结束候补进程组的顺序,并基于所管理的多个存储块整体的存储器空余容量来判定可否结束该重新排序的结束候补进程组。所保存的结束候补进程组被改写为被判定为可结束的结束候补进程组,当结束对所有存储块的结束候补进程组的选择时,决定所保存的结束候补进程组作为应结束的进程组。
因此,针对多个存储块的每一个选择结束候补进程组,并判定可否结束所选择的结束候补进程组,且结束被判定为应结束的进程组,因此可尽可能较多地确保特定的存储块的空余容量。
此外,在上述存储器管理装置中,较为理想的是,所述优先结束判定部,基于通过结束由所述结束候补进程选择部选择的所述结束候补进程组而可确保的存储块的空余容量与通过结束已保存的结束候补进程组而可确保的存储块的空余容量的大小关系,判定由所述结束候补进程选择部选择的所述结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
根据该结构,基于通过结束所选择的结束候补进程组而可确保的存储块的空余容量、与通过结束已保存的结束候补进程组而可确保的存储块的空余容量的大小关系,判定所选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
因此,判断通过结束所选择的结束候补进程组而可确保的存储块的空余容量、与通过结束已保存的结束候补进程组而可确保的存储块的空余容量的大小关系,从而可决定优先结束所选择的结束候补进程组与已保存的结束候补进程组中的哪一个。
此外,在上述存储器管理装置中,较为理想的是,所述优先结束判定部,基于构成由所述结束候补进程选择部选择的所述结束候补进程组的多个进程的进程数与构成已保存的结束候补进程组的多个进程的进程数的大小关系,判定由所述结束候补进程选择部选择的所述结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
根据该结构,基于构成所选择的所述结束候补进程组的多个进程的进程数、与构成已保存的结束候补进程组的多个进程的进程数的大小关系,判定所选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
因此,通过判断构成所选择的所述结束候补进程组的多个进程的进程数、与构成已保存的结束候补进程组的多个进程的进程数的大小关系,可决定优先结束所选择的结束候补进程组与已保存的结束候补进程组中的哪一个。
此外,在上述的存储器管理装置中,较为理想的是,所述进程组结束可否判定部,基于针对每个进程而预先设定的优先度级别,对构成由所述结束候补进程选择部选择的结束候补进程组的多个进程进行重新排序。
根据该结构,基于针对每个进程而预先设定的优先度级别,对构成所选择的结束候补进程组的多个进程进行重新排序,因此可按照优先度重新排序结束候补进程组的顺序。
此外,在上述的存储器管理装置中,较为理想的是,所述多个存储块分别独自被供应电力。
根据该结构,多个存储块分别独自被供应电力,因此可阻断对空余容量最大的存储块供应的电力,从而可实现省电化。
另外,在发明的实施方式的项中所说明的具体的实施方式或实施例只不过用于明确本发明的技术内容,不应仅限定于该具体例而狭义地进行解释,可在本发明的宗旨与权利要求范围内实施各种变更。
产业上的可利用性
本发明所涉及的存储器管理装置、存储器管理方法、存储器管理程序、记录存储器管理程序的可由计算机读取的记录介质及集成电路可尽可能较多地确保特定的存储块的空余容量,从而可有效地用作管理包含多个存储块的存储器的存储器管理装置、存储器管理方法、存储器管理程序、记录存储器管理程序的电脑可读取的记录介质及集成电路。

Claims (7)

1.一种存储器管理装置,用于管理包含多个存储块的存储器,其特征在于包括:
进程分配存储器管理部,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;
系统存储器管理部,管理所述多个存储块整体的存储器空余容量;
结束候补进程选择部,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理部管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;
优先结束判定部,判定由所述结束候补进程选择部选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;
进程组结束可否判定部,将由所述结束候补进程选择部选择且由所述优先结束判定部判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理部管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序后的结束候补进程组;以及
结束进程决定部,将保存的结束候补进程组改写为由所述进程组结束可否判定部判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组决定。
2.根据权利要求1所述的存储器管理装置,其特征在于:
所述优先结束判定部,基于通过结束由所述结束候补进程选择部选择的所述结束候补进程组而可确保的存储块的空余容量与通过结束已保存的结束候补进程组而可确保的存储块的空余容量的大小关系,判定由所述结束候补进程选择部选择的所述结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
3.根据权利要求1或2所述的存储器管理装置,其特征在于:
所述优先结束判定部,基于构成由所述结束候补进程选择部选择的所述结束候补进程组的多个进程的进程数与构成已保存的结束候补进程组的多个进程的进程数的大小关系,判定由所述结束候补进程选择部选择的所述结束候补进程组相对于已保存的结束候补进程组是否应优先结束。
4.根据权利要求1或2所述的存储器管理装置,其特征在于:
所述进程组结束可否判定部,基于针对每个进程而预先设定的优先度级别,对构成由所述结束候补进程选择部选择的结束候补进程组的多个进程进行重新排序。
5.根据权利要求1或2所述的存储器管理装置,其特征在于:
所述多个存储块分别独自被供应电力。
6.一种存储器管理方法,用于管理包含多个存储块的存储器,其特征在于包括以下步骤:
进程分配存储器管理步骤,将多个存储块的分配容量按每个所述进程以存储块为单位管理,其中,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;
系统存储器管理步骤,管理所述多个存储块整体的存储器空余容量;
结束候补进程选择步骤,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于在所述进程分配存储器管理步骤管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;
优先结束判定步骤,判定在所述结束候补进程选择步骤选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;
进程组结束可否判定步骤,将在所述结束候补进程选择步骤选择且在所述优先结束判定步骤判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于在所述系统存储器管理步骤管理的所述多个存储块整体的存储器空余容量,判定可否结束经该重新排序的结束候补进程组;以及
结束进程决定步骤,将保存的结束候补进程组改写为在所述进程组结束可否判定步骤中判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
7.一种集成电路,用于管理包含多个存储块的存储器,其特征在于包括:
进程分配存储器管理电路,将多个存储块的分配容量按每个所述进程以存储块为单位管理,所述多个存储块为运行多个所述进程的信息处理系统所使用的所述进程所分配的多个存储块;
系统存储器管理电路,管理所述多个存储块整体的存储器空余容量;
结束候补进程选择电路,当从所述信息处理系统接收到用于释放所述存储器的存储器释放请求时,基于由所述进程分配存储器管理电路管理的所述分配容量,按照分配容量由大到小的顺序抽取针对所述多个存储块的每一个而分配的多个进程,并将所抽取的多个进程作为结束候补进程组针对所述多个存储块的每一个进行选择;
优先结束判定电路,判定由所述结束候补进程选择电路选择的结束候补进程组相对于已保存的结束候补进程组是否应优先结束;
进程组结束可否判定电路,将由所述结束候补进程选择电路选择且由所述优先结束判定电路判定为应优先结束的结束候补进程组的顺序按照优先度重新排序,并基于由所述系统存储器管理电路管理的所述多个存储块整体的存储器空余容量,判定可否结束该重新排序的结束候补进程组;以及
结束进程决定电路,将保存的结束候补进程组改写为由所述进程组结束可否判定电路判定为可结束的所述结束候补进程组,当结束了对所有存储块的结束候补进程组的选择时,将所保存的结束候补进程组作为应结束的进程组来决定。
CN201180003028.5A 2010-05-31 2011-03-31 存储器管理装置、存储器管理方法以及集成电路 Active CN102473136B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010124410 2010-05-31
JP2010-124410 2010-05-31
PCT/JP2011/001946 WO2011151963A1 (ja) 2010-05-31 2011-03-31 メモリ管理装置、メモリ管理方法、メモリ管理プログラム、メモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路

Publications (2)

Publication Number Publication Date
CN102473136A CN102473136A (zh) 2012-05-23
CN102473136B true CN102473136B (zh) 2014-12-31

Family

ID=45066357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003028.5A Active CN102473136B (zh) 2010-05-31 2011-03-31 存储器管理装置、存储器管理方法以及集成电路

Country Status (4)

Country Link
US (1) US8601232B2 (zh)
JP (1) JP5405663B2 (zh)
CN (1) CN102473136B (zh)
WO (1) WO2011151963A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914322A (zh) * 2013-01-05 2014-07-09 腾讯科技(深圳)有限公司 终端加速方法及终端
US20150095603A1 (en) * 2013-09-30 2015-04-02 Samsung Electronics Co., Ltd. Method and device for clearing process in electronic device
CN107203477A (zh) * 2017-06-16 2017-09-26 深圳市万普拉斯科技有限公司 内存分配方法、装置、电子设备及可读存储介质
JP6662819B2 (ja) * 2017-08-10 2020-03-11 ファナック株式会社 制御システム
JP6968016B2 (ja) * 2018-03-22 2021-11-17 キオクシア株式会社 ストレージデバイスおよびコンピュータシステム
JP7103167B2 (ja) * 2018-11-02 2022-07-20 京セラドキュメントソリューションズ株式会社 画像処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
CN1684040A (zh) * 2004-04-14 2005-10-19 日本电气株式会社 能够使用过去处理空间的信息处理器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (ja) * 1995-11-30 1997-08-15 Toshiba Corp 計算機システムおよび計算機システムの電力管理方法
JP2005011434A (ja) 2003-06-19 2005-01-13 Mitsubishi Electric Corp ダイナミックメモリ制御装置及びこれを用いた携帯端末
JP2005196343A (ja) * 2004-01-05 2005-07-21 Mitsubishi Electric Corp メモリ管理装置及びメモリ管理方法及びプログラム
KR100608012B1 (ko) * 2004-11-05 2006-08-02 삼성전자주식회사 데이터 백업 방법 및 장치
JP4690783B2 (ja) * 2005-06-08 2011-06-01 株式会社日立製作所 ボリューム管理システムおよびその方法
JP4839749B2 (ja) 2005-09-20 2011-12-21 日本電気株式会社 コンピュータ、携帯端末装置、電力制御方法、電力制御プログラム
WO2011052005A1 (en) * 2009-10-27 2011-05-05 Hitachi, Ltd. Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas
US8341348B2 (en) * 2009-11-19 2012-12-25 Hitachi, Ltd. Computer system and load equalization control method for the same where cache memory is allocated to controllers
US20110191447A1 (en) * 2010-01-29 2011-08-04 Clarendon Foundation, Inc. Content distribution system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
CN1684040A (zh) * 2004-04-14 2005-10-19 日本电气株式会社 能够使用过去处理空间的信息处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2000293386A 2000.10.20 *

Also Published As

Publication number Publication date
WO2011151963A1 (ja) 2011-12-08
JPWO2011151963A1 (ja) 2013-07-25
US20120124320A1 (en) 2012-05-17
US8601232B2 (en) 2013-12-03
CN102473136A (zh) 2012-05-23
JP5405663B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
CN102473136B (zh) 存储器管理装置、存储器管理方法以及集成电路
CN105190567B (zh) 用于管理存储系统快照的系统和方法
TWI267002B (en) Network system, distributed processing method and information processing apparatus
CN108287669A (zh) 数据存储方法、装置及存储介质
CN104052803A (zh) 一种去中心化的分布式渲染方法及渲染系统
CN106302632A (zh) 一种基础镜像的下载方法以及管理节点
CN108153590A (zh) 管理硬件资源
CN111224806A (zh) 一种资源分配方法及服务器
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN107836010A (zh) 计算机系统的管理方法和计算机系统
CN102591594A (zh) 一种数据的处理方法和设备
CN104267985A (zh) 一种软件加载方法和设备
CN102521177B (zh) 中断处理方法及装置、中央处理器以及处理设备
CN112749012B (zh) 终端设备的数据处理方法、装置、系统及存储介质
CN105242955A (zh) 一种虚拟机磁盘输入输出调度方法及系统
CN113784334A (zh) 卡切换方法及装置
CN107281754B (zh) 一种应用标识匹配方法及其设备、存储介质、服务器
CN101981556A (zh) 设备控制方法、设备控制程序以及设备选择装置
CN104267803B (zh) 信息处理方法及电子设备
CN105760209B (zh) 移除虚拟机的方法、装置与自动弹性群组
CN111143027A (zh) 一种云平台管理方法、系统、设备及计算机可读存储介质
CN103259817B (zh) 资源释放方法及装置
CN109117384A (zh) 一种内存清理的提示方法和装置
CN107368371B (zh) 嵌入式plc的编程资源分配方法
CN112995613B (zh) 一种分析资源管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MATSUSHITA ELECTRIC (AMERICA) INTELLECTUAL PROPERT

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20140714

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140714

Address after: California, USA

Applicant after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Osaka Japan

Applicant before: Matsushita Electric Industrial Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170105

Address after: The United States of New York 10017 Lexington Avenue 38 floor 450

Patentee after: Sun patent hosting Co.

Address before: California, USA

Patentee before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA