CN103049328A - 计算机系统中内存资源分配方法 - Google Patents

计算机系统中内存资源分配方法 Download PDF

Info

Publication number
CN103049328A
CN103049328A CN2012104376005A CN201210437600A CN103049328A CN 103049328 A CN103049328 A CN 103049328A CN 2012104376005 A CN2012104376005 A CN 2012104376005A CN 201210437600 A CN201210437600 A CN 201210437600A CN 103049328 A CN103049328 A CN 103049328A
Authority
CN
China
Prior art keywords
memory
internal memory
resource
source
memory resource
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.)
Granted
Application number
CN2012104376005A
Other languages
English (en)
Other versions
CN103049328B (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.)
WUHAN XINWANG INFORMATION TECHNOLOGY CO., LTD.
Original Assignee
Suzhou Yiyuan Hongda Intellectual Property Agency Co 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 Suzhou Yiyuan Hongda Intellectual Property Agency Co Ltd filed Critical Suzhou Yiyuan Hongda Intellectual Property Agency Co Ltd
Priority to CN201210437600.5A priority Critical patent/CN103049328B/zh
Publication of CN103049328A publication Critical patent/CN103049328A/zh
Application granted granted Critical
Publication of CN103049328B publication Critical patent/CN103049328B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

提供了一种计算机系统中内存资源分配方法,所述方法包括:接收运行时环境下进程对内存资源的请求;解析进程的类型并计算所述进程请求的内存容量;当进程的类型为应用级时,确定是否应用内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程;当进程的类型为核心级时,确定是否核心内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程。本发明解决了内存资源使用过程中的请求冲突,实现了内存资源无障碍请求的技术效果。

Description

计算机系统中内存资源分配方法
技术领域
本发明主要涉及计算机系统,尤其涉及一种在计算机系统中分配内存资源的方法。
背景技术
目前,在进行应用操作时需要应用系统频繁的从内存资源中读取数据或写数据;由于从内存资源中读写数据的进程类型各异,优先等级各异,因此,在管理系统内存时,为提高应用执行效率,按照请求内存资源的进程的优先级分配内存资源,以方便优先级高的进程能够优先请求到内存资源。甚至于,当内存资源不足时将低优先权的进程所占用的内存释放满足高优先权的进程。
虚拟内存技术是一种有效的内存管理方法,通过虚拟内存技术可以将逻辑内存和物理内存分开,程序运行在逻辑内存空间,对于每个任务而言都能看到一个很大的内存空间。典型的虚拟内存分配方式,整个系统内存空间分为物理地址空间、虚拟地址空间和交换地址空间三部分,嵌入式系统中一般不需要交换地址空间,物理地址空间和虚拟地址空间分别由操作系统的物理地址管理模块和虚拟地址管理模块管理,交换地址空间由交换空间管理模块管理,虚拟内存和实际的物理内存通过页表进行动态映射,页面管理模块对页面进行管理,这使得应用可以申请比实际内存更大的内存资源运行。物理地址管理模块、虚拟地址管理模块和页表管理模块还与页面异常管理模块连接,实现异常管理。
但是,由于虚拟内存技术涉及到页表的映射查找,因此实现效率比较低下,系统的实时性得不到保障,这对于安全关键实时系统而言也是致命的。
发明内容
本发明通过根据进程类型划分内存资源,使得内存资源专用化,通过设置缓冲内存资源,解决了内存资源使用过程中的请求冲突,实现了内存资源无障碍请求的技术效果。为解决上述技术问题,本发明提供了一种计算机系统中内存资源分配方法,其中内存资源被划分为应用内存资源、核心内存资源、缓冲内存资源,并且计算机系统启动后仅启用应用内存资源和核心内存资源,所述方法包括:接收运行时环境下进程对内存资源的请求;解析进程的类型并计算所述进程请求的内存容量;当进程的类型为应用级时,确定是否应用内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程;当进程的类型为核心级时,确定是否核心内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程。
优选地,当所述进程执行完毕时,释放其占用的内存资源,并停用所述缓冲内存资源。
优选地,当应用内存资源能够满足所述进程请求的内存容量时,将应用内存资源分配给所述进程。当缓冲内存资源已经被启用时,向所述进程发送内存资源请求失败的消息。
优选地,当核心内存资源能够满足所述进程请求的内存容量时,将核心内存资源分配给所述进程。当缓冲内存资源已经被启用时,向所述进程发送内存资源请求失败的消息。
优选地,核心级类型的进程为操作系统进程。应用级类型的进程为应用程序进程。
优选地,查询内存使用表以确定应用内存资源的剩余内存容量,基于所述剩余内存容量确定是否应用内存资源能够满足所述进程请求的内存容量。
优选地,查询内存使用表以确定核心内存资源的剩余内存容量,基于所述剩余内存容量确定是否核心内存资源能够满足所述进程请求的内存容量。
优选地,所述进程为多个线程的集合。
附图说明
图1是本发明实施例中内存资源划分框图。
图2是本发明实施例中分配内存资源的方法流程图。
具体实施方式
此处描述的“进程”可表示与应用程序、程序、函数、或其它可编程或可执行代码的集合体有关的模块或代码程序集的实际运行。
此处描述的“内存资源”可包括与给定计算环境相关联的物理资源和逻辑资源两者。作为非限制性示例,该内存资源的范围可以从文件到端口到共享状态;即,可被一个以上的可执行实体共享的任何不可执行的实体。
此处描述的“线程”可表示应用程序、程序、函数、或其它可编程或可执行代码的集合体内的执行路径。线程使得可执行指令的模块的多条执行路径或流在同一个应用程序、程序、函数、或其它可编程和可执行代码的集合体内并发地出现;这样,在每个流内,可处理不同的事务或消息。其中可执行多线程进程的多任务或多处理环境可在托管执行环境中或非托管执行环境中的任一个中被发现。
本发明以下所描述的具体实施方式可以应用于通用计算机、便携式计算机、掌上电脑、膝上电脑、个人数字助理、智能手机以及各种嵌入式计算设备中。运行时环境可用作应用程序编程平台以及应用程序执行平台中的至少一个。作为应用程序编程平台,运行时执行环境可将以多种计算语言中的一种编写的目标应用程序编译为中间语言。中间语言通常独立于平台并且中央处理单元执行中间语言。作为应用程序执行平台,运行时执行环境可将已编译的中间语言解释成本机机器指令。运行时执行环境可以或者采用解释器或者采用即时编译器来执行这样的指令。或者,运行时执行环境可执行、读取、解释或以其它方式分析以中间语言格式而不是本机平台执行格式分配到运行时执行环境中的并已被编译为程序集、方法或类型中的任何一种的中间语言代码。此中间语言的源可被置于非托管执行环境中或在设备中的相同或单独的一个设备上的运行时执行环境的单独实现中。该源可在或先于与该中间语言对应的应用程序、程序、方法、函数或其它可编程和可执行代码的集合体的安装时间部署中间语言。
以下参考附图详细描述本发明具体实施例,本领域技术人员应当清楚以下描述仅仅是实例性实施例,并不作为对要求权项的限定。
图1是本发明实施例中内存资源划分框图。参照图1知道,在本发明实施过程中,将内存资源划分为应用内存资源、核心内存资源、缓冲内存资源。当计算机系统上电启动后,启用应用内存资源和核心内存资源,作为实例性理解,核心内存资源用于操作系统进程或线程,例如各种系统进程和各种用户进程等等,应用内存资源用于应用程序进程或线程,例如文本编辑进程、图形图象处理进程等等。由于将内存资源分为应用内存资源和核心内存资源保证了核心内存资源的有效范围,避免了由于应用程序的占用导致操作系统进程所使用内存资源的不足。同时缓冲内存资源的使用使得在内存使用极端情况下依然能够保障当前进程的内存资源分配,在缓冲内存资源使用的情况下,也同时警告计算机系统内存资源已经满负荷的状态。
图2是本发明实施例中分配内存资源的方法流程图。本发明通过根据进程类型划分内存资源,使得内存资源专用化,通过设置缓冲内存资源,解决了内存资源使用过程中的请求冲突,实现了内存资源无障碍请求的技术效果。为解决上述技术问题,本发明提供了一种计算机系统中内存资源分配方法,如在图1中所示内存资源被划分为应用内存资源、核心内存资源、缓冲内存资源,并且计算机系统启动后仅启用应用内存资源和核心内存资源。所述方法包括:接收运行时环境下进程对内存资源的请求,其中所述进程也可能是组成所述进程的线程的集合,即线程请求内存资源。解析进程的类型并计算所述进程请求的内存容量,所述进程的类型至少包括由应用级和核心级,其中应用级至少代表所述进程为应用程序进程,其中核心级至少代表所述进程为操作系统进程,包括系统进程或用户进程等等,其中进程请求的内存容量为该进程在执行过程中所需要的最大内存容量。当进程的类型为应用级时,确定是否应用内存资源能够满足所述进程请求的内存容量,也就是说应用级进程请求内存资源的情况下,首先确认应用内存资源的剩余空间是否满足于应用级进程所请求的内存容量。当不满足时进一步确定是否缓冲内存资源已经被启用,也就是说当所述应用内存资源的剩余内存空间不能满足应用级进程所请求的内存容量时,选择确认是否缓冲内存资源已经被启动,容易想见,缓冲内存资源的内存容量设定为满足当前计算机系统中所有进程中的每一个执行时所要求的最大内存容量。当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程,也就是说当缓冲内存资源未被其它进程占用的情况下,启用所述缓冲内存资源,并将其分配给应用级进程,即由该应用级进程占用缓冲内存资源。当进程的类型为核心级时,确定是否核心内存资源能够满足所述进程请求的内存容量,也就是说核心级进程请求内存资源的情况下,首先确认核心内存资源的剩余空间是否满足于核心级进程所请求的内存容量。当不满足时进一步确定是否缓冲内存资源已经被启用,也就是说当所述核心内存资源的剩余内存空间不能满足核心级进程所请求的内存容量时,选择确认是否缓冲内存资源已经被启动,容易想见,缓冲内存资源的内存容量设定为满足当前计算机系统中所有进程中的每一个执行时所要求的最大内存容量。当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程,也就是说当缓冲内存资源未被其它进程占用的情况下,启用所述缓冲内存资源,并将其分配给核心级进程,即由该核心级进程占用缓冲内存资源。
具体地,当所述进程执行完毕时,释放其占用的内存资源,并停用所述缓冲内存资源。即无论所述进程为应用级进程还是核心级进程,当其执行完毕时,释放其占用的全部内存资源,如果其释放的内存资源中还包括有缓冲内存资源,那么当释放所述缓冲内存资源后,接着停用所述缓冲内存资源。
更具体地,当应用内存资源能够满足所述进程请求的内存容量时,将应用内存资源分配给所述进程,其中当应用内存资源能够满足所述进程请求的内存容量证明应用内存资源的剩余内存空间能够满足应用级进程请求的内存容量,即应用级进程执行时所需要的最大内存容量。当缓冲内存资源已经被启用时,即缓冲内存资源已经分配给某个进程时,向应用级进程发送内存资源请求失败的消息。当核心内存资源能够满足所述进程请求的内存容量时,将核心内存资源分配给所述进程。其中当核心内存资源能够满足所述进程请求的内存容量证明核心内存资源的剩余内存空间能够满足核心级进程请求的内存容量,即核心级进程执行时所需要的最大内存容量。当缓冲内存资源已经被启用时,向核心级进程发送内存资源请求失败的消息。
更具体地,核心级类型的进程为操作系统进程。应用级类型的进程为应用程序进程。查询内存使用表以确定应用内存资源的剩余内存容量,基于所述剩余内存容量确定是否应用内存资源能够满足所述进程请求的内存容量。查询内存使用表以确定核心内存资源的剩余内存容量,基于所述剩余内存容量确定是否核心内存资源能够满足所述进程请求的内存容量。所述进程为多个线程的集合,所述多个线程具有优先级顺序,并分别具有不同的内存空间需求,也就是说,所述进程可以由多个线程组成,多个线程可根据优先级排队,并且每个线程执行时需要占用具有各自的最大内存容量的内存空间,即具有不同的内存空间需求。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化、组合和合并。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种计算机系统中内存资源分配方法,其中内存资源被划分为应用内存资源、核心内存资源、缓冲内存资源,并且计算机系统启动后仅启用应用内存资源和核心内存资源,所述方法包括:
S1)接收运行时环境下进程对内存资源的请求;
S2)解析进程的类型并计算所述进程请求的内存容量;
S3)当进程的类型为应用级时,确定是否应用内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程;
S4)当进程的类型为核心级时,确定是否核心内存资源能够满足所述进程请求的内存容量,当不满足时进一步确定是否缓冲内存资源已经被启用,当未被启用时启用缓冲内存资源并将缓冲内存资源分配给所述进程。
2.根据权利要求1所述的方法,还包括:
当所述进程执行完毕时,释放其占用的内存资源,并停用所述缓冲内存资源。
3.根据权利要求1-2所述的方法,还包括:
在步骤S3)中,当应用内存资源能够满足所述进程请求的内存容量时,将应用内存资源分配给所述进程。
当缓冲内存资源已经被启用时,向所述进程发送内存资源请求失败的消息。
4.根据权利要求1-2所述的方法,还包括:
在步骤S4)中,当核心内存资源能够满足所述进程请求的内存容量时,将核心内存资源分配给所述进程。
当缓冲内存资源已经被启用时,向所述进程发送内存资源请求失败的消息。
5.根据权利要求1-4所述的方法,其中,核心级类型的进程为操作系统进程。
6.根据权利要求1-5所述的方法,其中,应用级类型的进程为应用程序进程。
CN201210437600.5A 2012-11-06 2012-11-06 计算机系统中内存资源分配方法 Expired - Fee Related CN103049328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210437600.5A CN103049328B (zh) 2012-11-06 2012-11-06 计算机系统中内存资源分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210437600.5A CN103049328B (zh) 2012-11-06 2012-11-06 计算机系统中内存资源分配方法

Publications (2)

Publication Number Publication Date
CN103049328A true CN103049328A (zh) 2013-04-17
CN103049328B CN103049328B (zh) 2016-03-02

Family

ID=48061978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210437600.5A Expired - Fee Related CN103049328B (zh) 2012-11-06 2012-11-06 计算机系统中内存资源分配方法

Country Status (1)

Country Link
CN (1) CN103049328B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473137A (zh) * 2013-09-16 2013-12-25 东软集团股份有限公司 避免死锁的资源分配方法及系统
CN103686380A (zh) * 2013-12-05 2014-03-26 青岛海信电器股份有限公司 智能电视的应用管理方法和智能电视
CN104268022A (zh) * 2014-09-23 2015-01-07 浪潮(北京)电子信息产业有限公司 一种操作系统中进程的资源分配方法及系统
CN104461730A (zh) * 2013-09-22 2015-03-25 华为技术有限公司 一种虚拟资源分配方法及装置
CN105138289A (zh) * 2015-08-20 2015-12-09 上海联影医疗科技有限公司 计算组件的存储管理方法和装置
CN105589711A (zh) * 2015-07-07 2016-05-18 杭州华三通信技术有限公司 一种设备升级方法和装置
CN106020887A (zh) * 2016-05-23 2016-10-12 努比亚技术有限公司 开机启动方法及电子设备
CN109885259A (zh) * 2019-02-21 2019-06-14 缀初网络技术(上海)有限公司 基于有向无环图的轻量级容量证明算法及存储介质
CN110837416A (zh) * 2019-09-24 2020-02-25 深圳市火乐科技发展有限公司 内存管理方法、智能投影仪及相关产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1427342A (zh) * 2001-12-21 2003-07-02 上海贝尔有限公司 一种内存管理系统及其分配方法
CN1752949A (zh) * 2004-09-24 2006-03-29 上海贝尔阿尔卡特股份有限公司 内存管理系统及方法
CN102567225A (zh) * 2011-12-28 2012-07-11 北京握奇数据系统有限公司 一种管理系统内存的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1427342A (zh) * 2001-12-21 2003-07-02 上海贝尔有限公司 一种内存管理系统及其分配方法
CN1752949A (zh) * 2004-09-24 2006-03-29 上海贝尔阿尔卡特股份有限公司 内存管理系统及方法
CN102567225A (zh) * 2011-12-28 2012-07-11 北京握奇数据系统有限公司 一种管理系统内存的方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473137B (zh) * 2013-09-16 2017-04-12 东软集团股份有限公司 避免死锁的资源分配方法及系统
CN103473137A (zh) * 2013-09-16 2013-12-25 东软集团股份有限公司 避免死锁的资源分配方法及系统
CN104461730B (zh) * 2013-09-22 2017-11-07 华为技术有限公司 一种虚拟资源分配方法及装置
CN104461730A (zh) * 2013-09-22 2015-03-25 华为技术有限公司 一种虚拟资源分配方法及装置
CN103686380A (zh) * 2013-12-05 2014-03-26 青岛海信电器股份有限公司 智能电视的应用管理方法和智能电视
CN103686380B (zh) * 2013-12-05 2017-11-14 广东海信电子有限公司 智能电视的应用管理方法和智能电视
CN104268022A (zh) * 2014-09-23 2015-01-07 浪潮(北京)电子信息产业有限公司 一种操作系统中进程的资源分配方法及系统
CN104268022B (zh) * 2014-09-23 2017-06-27 浪潮(北京)电子信息产业有限公司 一种操作系统中进程的资源分配方法及系统
CN105589711A (zh) * 2015-07-07 2016-05-18 杭州华三通信技术有限公司 一种设备升级方法和装置
CN105589711B (zh) * 2015-07-07 2019-02-22 新华三技术有限公司 一种设备升级方法和装置
CN105138289A (zh) * 2015-08-20 2015-12-09 上海联影医疗科技有限公司 计算组件的存储管理方法和装置
CN106020887A (zh) * 2016-05-23 2016-10-12 努比亚技术有限公司 开机启动方法及电子设备
CN109885259A (zh) * 2019-02-21 2019-06-14 缀初网络技术(上海)有限公司 基于有向无环图的轻量级容量证明算法及存储介质
CN110837416A (zh) * 2019-09-24 2020-02-25 深圳市火乐科技发展有限公司 内存管理方法、智能投影仪及相关产品
CN110837416B (zh) * 2019-09-24 2021-04-30 深圳市火乐科技发展有限公司 内存管理方法、智能投影仪及相关产品

Also Published As

Publication number Publication date
CN103049328B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN103049328A (zh) 计算机系统中内存资源分配方法
US9659081B1 (en) Independent data processing environments within a big data cluster system
CN105843683B (zh) 用于动态优化平台资源分配的方法、系统和设备
US10013264B2 (en) Affinity of virtual processor dispatching
US10275558B2 (en) Technologies for providing FPGA infrastructure-as-a-service computing capabilities
EP2375324A2 (en) Virtualization apparatus for providing a transactional input/output interface
US11467874B2 (en) System and method for resource management
JP2022516486A (ja) リソース管理方法と装置、電子デバイス、及び記録媒体
EP3208709B1 (en) Batch processing method and device for system invocation commands
CN116467061B (zh) 一种任务执行的方法、装置、存储介质及电子设备
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
CN107992351B (zh) 一种硬件资源分配方法及装置、电子设备
US20170031628A1 (en) Method and device for communication between virtual machines
CN105677481A (zh) 一种数据处理方法、系统及电子设备
CN109558210B (zh) 一种虚拟机应用主机gpu设备的方法及系统
US9405470B2 (en) Data processing system and data processing method
CN110879748A (zh) 一种共享资源分配方法、装置和设备
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
CN114253704A (zh) 一种分配资源的方法及装置
KR101989033B1 (ko) 플랫폼 관리 장치 및 방법
EP3343370A1 (en) Method of processing opencl kernel and computing device therefor
CA2944578C (en) Resource allocation
US20230063893A1 (en) Simultaneous-multi-threading (smt) aware processor allocation for cloud real-time workloads
Kim et al. Sophy+: Programming model and software platform for hybrid resource management of many-core accelerators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice

Addressee: Suzhou Yiyuan Hongda Intellectual Property Agency Co., Ltd.

Document name: Notification of Passing Preliminary Examination of the Application for Invention

DD01 Delivery of document by public notice

Addressee: He Yingshuai

Document name: Notification of Publication and of Entering the Substantive Examination Stage of the Application for Invention

C41 Transfer of patent application or patent right or utility model
CB03 Change of inventor or designer information

Inventor after: Wang Huafeng

Inventor before: Wang Yuanyuan

COR Change of bibliographic data
TA01 Transfer of patent application right

Effective date of registration: 20160106

Address after: 430000 Hubei city of Wuhan province Kuanshan East Lake Development Zone Avenue Automotive Electronic Industrial Park Building No. 5

Applicant after: WUHAN XINWANG INFORMATION TECHNOLOGY CO., LTD.

Address before: 112, room 8, building 208, 215000 Songjiang Road, Suzhou Industrial Park, Jiangsu, Suzhou, China

Applicant before: Suzhou Yiyuan Hongda Intellectual Property Agency Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: WUHAN XINWANG INFORMATION TECHNOLOGY CO., LTD.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: WUHAN XINWANG INFORMATION TECHNOLOGY CO., LTD.

Document name: Notification of Termination of Patent Right

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160302

Termination date: 20171106