CN109815192B - 一种嵌入式***内存管理方法及装置 - Google Patents
一种嵌入式***内存管理方法及装置 Download PDFInfo
- Publication number
- CN109815192B CN109815192B CN201910101217.4A CN201910101217A CN109815192B CN 109815192 B CN109815192 B CN 109815192B CN 201910101217 A CN201910101217 A CN 201910101217A CN 109815192 B CN109815192 B CN 109815192B
- Authority
- CN
- China
- Prior art keywords
- memory
- gpu
- size
- allocated
- memory area
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000007726 management method Methods 0.000 claims abstract description 57
- 230000002159 abnormal effect Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 7
- 238000009877 rendering Methods 0.000 abstract description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种嵌入式***内存管理方法及装置,应用于嵌入式***技术领域,用以解决现有技术中的GPU在运行过程中因内存不足出现图像渲染或显示失败的问题。具体为:预先从嵌入式***的内存中为GPU划分出专用内存区域,接收到GPU发送的内存分配请求时,若专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存。这样,不仅优化了嵌入式***中的内存使用,而且,通过为GPU预留专用内存区域,能够在GPU使用内存时尽可能地满足GPU的内存使用需求,从而解决了图像的渲染或显示因内存不足而出现异常的问题,保证了GPU的正常运行,提高了嵌入式***运行的稳定性。
Description
技术领域
本发明涉及嵌入式***技术领域,尤其涉及一种嵌入式***内存管理方法及装置。
背景技术
目前,嵌入式***的应用非常广泛,嵌入式***一般由嵌入式计算机***和执行装置组成,而嵌入式计算机***是整个嵌入式***的核心,由硬件层、中间层、***软件层和应用软件层组成。其中,图形处理器(Graphics Processing Unit,GPU)是硬件层的重要组成部分,用于执行复杂的数学和几何计算,实现对图像的渲染和显示,是“人机对话”的重要设备之一。
通常情况下,GPU在对图像的渲染和显示的过程中会使用大量的内存资源,而由于嵌入式产品的性能限制,嵌入式***的内存资源是有限的,这可能会影响GPU的正常运作,因此,如何高效管理和使用嵌入式***的内存是非常有必要的。
发明内容
本发明实施例提供了一种嵌入式***内存管理方法及装置,具体的,本发明实施例提供的技术方案如下:
第一方面,本发明实施例提供了一种嵌入式***内存管理方法,包括:
接收GPU发送的内存分配请求;其中,内存分配请求至少携带有GPU请求分配的内存大小;
若确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存;其中,专用内存区域是从嵌入式***的内存中为GPU划分出的内存区域。
第二方面,本发明实施例提供了一种嵌入式***内存管理装置,包括:
接收单元,用于接收GPU发送的内存分配请求;其中,内存分配请求至少携带有GPU请求分配的内存大小;
分配单元,用于若确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存;其中,专用内存区域是从嵌入式***的内存中为GPU划分出的内存区域。
第三方面,本发明实施例还提供了一种嵌入式***内存管理设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现本发明实施例提供的嵌入式***内存管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本发明实施例提供的嵌入式***内存管理方法。
本发明实施例的有益效果如下:
本发明实施例中,在嵌入式***的内存中为GPU预留出专用内存区域,在接收到GPU发送的内存分配请求时,优先从为GPU配置的专用内存区域中分配内存,这样,不仅优化了嵌入式***中的内存使用,而且,通过为GPU预留专用内存区域,能够在GPU使用内存时尽可能地满足GPU对内存的使用需求,从而有效地解决了图像的渲染或显示因内存不足而出现异常的问题,保证了GPU的正常运行,提高了嵌入式***运行的稳定性和用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中的嵌入式***内存管理方法的流程示意图;
图2为本发明实施例中的嵌入式***内存管理方法的具体流程示意图;
图3为本发明实施例中的嵌入式***内存管理装置的功能结构示意图;
图4为本发明实施例中的嵌入式***内存管理设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,嵌入式***中默认的内存分配方式是优先从低端内存区域中分配内存,当低端内存区域的内存不足时,再从高端内存区域中分配内存,这样,由于低端内存区域通常是内存较小的区域,优先从低端内存区域中分配内存很可能出现因内存不足导致嵌入式***崩溃的问题,为此,本发明实施例针对嵌入式***,例如基于通用微处理器(AdvancedRISC Machines,ARM)体系结构的嵌入式Linux***等,提供了一种内存管理方法,该方法可以由嵌入式***中的内存管理装置来执行,具体的,内存管理装置预先从嵌入式***的内存中为GPU划分出专用内存区域,当接收到GPU发送的内存分配请求时,若确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存。这样,不仅优化了嵌入式***中的内存使用,而且,通过为GPU预留专用内存区域,能够在GPU使用内存时尽可能地满足GPU对内存的使用需求,从而有效地解决了图像的渲染或显示因内存不足而出现异常的问题,保证了GPU的正常运行,提高了嵌入式***运行的稳定性和用户体验。
下面结合附图对本发明实施例提供的嵌入式***内存管理方法进行详细描述,当然,本发明并不限于以下实施例。
在本发明实施例提供的嵌入式***内存管理方法中,内存管理装置可以预先将嵌入式***的内存划分为内存大小不小于预设阈值的高端内存区域以及内存大小小于预设阈值的低端内存区域,并从嵌入式***的高端内存区域中为GPU划分出的专用高端内存区域,从嵌入式***的低端内存区域中为GPU划分出的专用低端内存区域,从而将划分出的专用高端内存区域和专用低端内存区域确定为GPU的专用内存区域,其中,专用低端内存区域的内存大小小于专用高端内存区域的内存大小。
此外,在本发明实施例提供的嵌入式***内存管理方法中,内存管理装置还可以预先将内核中的大物理地址扩展(Large Physical Address Extension,LPAE)宏关闭,使内存管理装置在接收到GPU发送的内存分配请求时,不再优先从低端内存区域中分配内存,而是先从为GPU配置的专用内存区域中分配内存,具体的,参阅图1所示,本发明实施例提供的嵌入式***内存管理方法的流程如下:
步骤101:接收GPU发送的内存分配请求;其中,内存分配请求至少携带有GPU请求分配的内存大小。
在实际应用中,GPU在运行过程中可以根据当前数据量确定所需内存大小,并根据确定出的所需内存大小向内存管理装置发送内存分配请求。
步骤102:若确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存;其中,专用内存区域是从嵌入式***的内存中为GPU划分出的内存区域。
在实际应用中,内存管理装置在接收到GPU发送的内存分配请求时,可以先确定为GPU配置的专用内存区域的大小是否满足GPU请求分配的内存大小,具体的,可以在确定专用高端内存区域的内存大小不小于GPU请求分配的内存大小时,认为专用内存区域的大小满足GPU请求分配的内存大小,进而可以根据GPU请求分配的内存大小,从专用高端内存区域中为GPU分配内存。这样,优先从专用高端内存区域中为GPU分配内存,能够有效地解决图像的渲染或显示因内存不足而出现异常的问题,尽可能地保证了GPU的正常运行,提高了嵌入式***运行的稳定性和用户体验。
此外,内存管理装置若确定为GPU配置的专用高端内存区域的内存大小小于GPU请求分配的内存大小,则可以在确定高端内存区域的大小满足GPU请求分配的内存大小时,根据GPU请求分配的内存大小,从高端内存区域中为GPU分配内存。这样,当为GPU配置的专用高端内存区域的内存大小不满足GPU请求分配的内存大小时,优先从嵌入式***的高端内存区域中为GPU分配内存,也能够有效地解决图像的渲染或显示因内存不足而出现异常的问题,尽可能地保证GPU的正常运行。
进一步的,内存管理装置若确定嵌入式***的高端内存区域的大小不满足GPU请求分配的内存大小,则还可以在确定专用低端内存区域的大小满足GPU请求分配的内存大小时,根据GPU请求分配的内存大小,从专用低端内存区域中为GPU分配内存。这样,当嵌入式***的高端内存区域的大小不满足GPU请求分配的内存大小时,再从为GPU配置的专用低端内存区域中为GPU分配内存,能够尽可能地避免因嵌入式***的内存不足而出现图像渲染或显示异常的问题,有效地保证了GPU的正常运行。
进一步的,内存管理装置若确定专用低端内存区域的大小不满足GPU请求分配的内存大小,则还可以在确定低端内存区域的大小满足GPU请求分配的内存大小时,根据GPU请求分配的内存大小,从低端内存区域中为GPU分配内存。
值得说的是,本发明实施例中,内存管理装置在根据GPU请求分配的内存大小,为GPU分配内存后,还可以在确定GPU针对分配的内存使用完成时释放分配的内存,或者,在确定GPU在使用分配的内存的过程中发生异常时释放分配的内存,从而实现了内存的循环使用。
下面对本发明实施例提供的嵌入式***内存管理方法作进一步详细说明,参阅图2所示,本发明实施例提供的嵌入式***内存管理方法的具体流程如下:
步骤201:接收GPU发送的内存分配请求;其中,内存分配请求至少携带有GPU请求分配的内存大小。
步骤202:判断为GPU配置的专用高端内存区域的大小是否满足GPU请求分配的内存大小,若是,则执行步骤203;若否,则执行步骤204。
步骤203:根据GPU请求分配的内存大小,从专用高端内存区域中为GPU分配内存,并继续执行步骤211。
步骤204:判断嵌入式***的高端内存区域的大小是否满足GPU请求分配的内存大小,若是,则执行步骤205;若否,则执行步骤206。
步骤205:根据GPU请求分配的内存大小,从嵌入式***的高端内存区域中为GPU分配内存,并继续执行步骤211。
步骤206:判断为GPU配置的专用低端内存区域的大小是否满足GPU请求分配的内存大小,若是,则执行步骤207;若否,则执行步骤208。
步骤207:根据GPU请求分配的内存大小,从专用低端内存区域中为GPU分配内存,并继续执行步骤211。
步骤208:判断嵌入式***的低端内存区域的大小是否满足GPU请求分配的内存大小,若是,则执行步骤209;若否,则执行步骤210。
步骤209:根据GPU请求分配的内存大小,从低端内存区域中为GPU分配内存,并继续执行步骤211。
步骤210:提示GPU当前内存不足。
步骤211:在确定GPU针对分配的内存使用完成时,或者在确定GPU在使用分配的内存的过程中发生异常时,释放为GPU分配的内存。
基于上述实施例,本发明实施例提供了一种嵌入式***内存管理装置,参阅图3所示,本发明实施例提供的嵌入式***内存管理装置300至少包括:
接收单元301,用于接收GPU发送的内存分配请求;其中,内存分配请求至少携带有GPU请求分配的内存大小;
分配单元302,用于若确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存;其中,专用内存区域是从嵌入式***的内存中为GPU划分出的内存区域。
在一种可能的实施方式中,若嵌入式***的内存至少被划分为内存大小不小于预设阈值的高端内存区域,以及内存大小小于预设阈值的低端内存区域,则专用内存区域包括:
从高端内存区域中为GPU划分出的专用高端内存区域;以及,从低端内存区域中为GPU划分出的专用低端内存区域;
其中,专用低端内存区域的内存大小小于专用高端内存区域的内存大小。
在一种可能的实施方式中,在确定为GPU配置的专用内存区域的大小满足GPU请求分配的内存大小时,分配单元302具体用于:
若确定专用高端内存区域的内存大小不小于GPU请求分配的内存大小,则认为专用内存区域的大小满足GPU请求分配的内存大小。
在一种可能的实施方式中,在根据GPU请求分配的内存大小,从专用内存区域中为GPU分配内存时,分配单元302具体用于:
根据GPU请求分配的内存大小,从专用高端内存区域中为GPU分配内存。
在一种可能的实施方式中,若确定专用高端内存区域的内存大小小于GPU请求分配的内存大小,则分配单元302还用于:
若确定高端内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从高端内存区域中为GPU分配内存。
在一种可能的实施方式中,若确定高端内存区域的大小不满足GPU请求分配的内存大小,则分配单元302还用于:
若确定专用低端内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从专用低端内存区域中为GPU分配内存。
在一种可能的实施方式中,若确定专用低端内存区域的大小不满足GPU请求分配的内存大小,则分配单元302还用于:
若确定低端内存区域的大小满足GPU请求分配的内存大小,则根据GPU请求分配的内存大小,从低端内存区域中为GPU分配内存。
在一种可能的实施方式中,本发明实施例提供的嵌入式***内存管理装置300还包括:
释放单元303,用于在分配单元302根据GPU请求分配的内存大小,为GPU分配内存之后,在确定GPU针对分配的内存使用完成时,释放分配的内存;或者,在确定GPU在使用分配的内存的过程中发生异常时,释放分配的内存。
值得说的是,本发明实施例提供的嵌入式***内存管理装置300中的各个单元对应于本发明实施例中的上述内存管理装置,从而可以实现嵌入式***内存管理功能。
在介绍了本发明示例性实施方式的嵌入式***内存管理方法和装置之后,接下来,对本发明实施例提供的嵌入式***内存管理设备进行简单介绍。
参阅图4所示,本发明实施例提供的嵌入式***内存管理设备400至少包括:处理器41和存储器42,其中,存储器42,用于存储计算机指令;处理器41,用于执行计算机指令以实现本发明实施例提供的嵌入式***内存管理方法。
需要说明的是,图4所示的嵌入式***内存管理设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
本发明实施例提供的嵌入式***内存管理设备400还可以包括连接不同组件(包括处理器41和存储器42)的总线43。其中,总线43表示几类总线结构中的一种或多种,包括存储器总线、***总线、局域总线等。
存储器42可以包括易失性存储器形式的可读介质,例如随机存储器(RandomAccess Memory,RAM)421和/或高速缓存存储器422,还可以进一步包括只读存储器(ReadOnly Memory,ROM)423。
存储器42还可以包括具有一组(至少一个)程序模块424的程序工具425,程序模块424包括但不限于:操作子***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
嵌入式***内存管理设备400也可以与一个或多个外部设备44(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与嵌入式***内存管理设备400交互的设备通信(例如手机、电脑等),和/或,与使得嵌入式***内存管理设备400能与一个或多个其它嵌入式***内存管理设备400进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口45进行。并且,嵌入式***内存管理设备400还可以通过网络适配器46与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器46通过总线43与嵌入式***内存管理设备400的其它模块通信。应当理解,尽管图4中未示出,可以结合嵌入式***内存管理设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arraysof Independent Disks,RAID)子***、磁带驱动器以及数据备份存储子***等。
下面对本发明实施例提供的计算机可读存储介质进行介绍。本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现本发明实施例提供的嵌入式***内存管理方法。具体地,该可执行程序可以内置在嵌入式***内存管理设备400中,这样,嵌入式***内存管理设备400就可以通过执行内置的可执行程序实现本发明实施例提供的嵌入式***内存管理方法。
此外,本发明实施例提供的嵌入式***内存管理方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在嵌入式***内存管理设备400上运行时,该程序代码用于使嵌入式***内存管理设备400执行本发明实施例提供的嵌入式***内存管理方法。
本发明实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明实施例提供的程序产品可以采用CD-ROM并包括程序代码,还可以在计算设备上运行。然而,本发明实施例提供的程序产品不限于此,在本发明实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种嵌入式***内存管理方法,其特征在于,包括:
接收图形处理器GPU发送的内存分配请求;其中,所述内存分配请求至少携带有所述GPU请求分配的内存大小;
若确定为所述GPU配置的专用高端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述专用高端内存区域中为所述GPU分配内存;其中,所述专用高端内存区域是从嵌入式***的内存中高端内存区域为所述GPU划分出的内存区域;所述高端内存区域的内存大小不小于预设阈值;
若确定所述专用高端内存区域的内存大小小于所述GPU请求分配的内存大小,则若确定所述高端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述高端内存区域中为所述GPU分配内存;
若确定所述高端内存区域的大小不满足所述GPU请求分配的内存大小,则若确定为所述GPU分配的专用低端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述专用低端内存区域中为所述GPU分配内存;所述专用低端内存是从所述嵌入式***的低端内存区域为所述GPU划分除的内存区域,所述低端内存区域的内存大小小于所述预设阈值;其中,所述专用低端内存区域的内存大小小于所述专用高端内存区域的内存大小;
在确定所述GPU针对分配的内存使用完成时,释放所述分配的内存;或者,在确定所述GPU在使用所述分配的内存的过程中发生异常时,释放所述分配的内存。
2.如权利要求1所述的嵌入式***内存管理方法,其特征在于,确定为所述GPU配置的专用内存区域的大小满足所述GPU请求分配的内存大小,包括:
若确定所述专用高端内存区域的内存大小不小于所述GPU请求分配的内存大小,则认为所述专用内存区域的大小满足所述GPU请求分配的内存大小。
3.如权利要求1所述的嵌入式***内存管理方法,其特征在于,若确定所述专用低端内存区域的大小不满足所述GPU请求分配的内存大小,则还包括:
若确定所述低端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述低端内存区域中为所述GPU分配内存。
4.一种嵌入式***内存管理装置,其特征在于,包括:
接收单元,用于接收图形处理器GPU发送的内存分配请求;其中,所述内存分配请求至少携带有所述GPU请求分配的内存大小;
分配单元,用于若确定为所述GPU配置的专用高端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述专用高端内存区域中为所述GPU分配内存;其中,所述专用高端内存区域是从嵌入式***的内存中高端内存区域为所述GPU划分出的内存区域;所述高端内存区域的内存大小不小于预设阈值;
以及,若确定所述专用高端内存区域的内存大小小于所述GPU请求分配的内存大小,则若确定所述高端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述高端内存区域中为所述GPU分配内存;
以及,若确定所述高端内存区域的大小不满足所述GPU请求分配的内存大小,则若确定为所述GPU分配的专用低端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述专用低端内存区域中为所述GPU分配内存;所述专用低端内存是从所述嵌入式***的低端内存区域为所述GPU划分除的内存区域,所述低端内存区域的内存大小小于所述预设阈;其中,所述专用低端内存区域的内存大小小于所述专用高端内存区域的内存大小;
释放单元,用于在确定所述GPU针对分配的内存使用完成时,释放所述分配的内存;或者,在确定所述GPU在使用所述分配的内存的过程中发生异常时,释放所述分配的内存。
5.如权利要求4所述的嵌入式***内存管理装置,其特征在于,在确定为所述GPU配置的专用内存区域的大小满足所述GPU请求分配的内存大小时,所述分配单元具体用于:
若确定所述专用高端内存区域的内存大小不小于所述GPU请求分配的内存大小,则认为所述专用内存区域的大小满足所述GPU请求分配的内存大小。
6.如权利要求4所述的嵌入式***内存管理装置,其特征在于,若确定所述专用低端内存区域的大小不满足所述GPU请求分配的内存大小,则所述分配单元还用于:
若确定所述低端内存区域的大小满足所述GPU请求分配的内存大小,则根据所述GPU请求分配的内存大小,从所述低端内存区域中为所述GPU分配内存。
7.一种嵌入式***内存管理设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储计算机指令;
所述处理器,用于执行所述计算机指令以实现如权利要求1-3任一项所述的嵌入式***内存管理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-3任一项所述的嵌入式***内存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101217.4A CN109815192B (zh) | 2019-01-31 | 2019-01-31 | 一种嵌入式***内存管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101217.4A CN109815192B (zh) | 2019-01-31 | 2019-01-31 | 一种嵌入式***内存管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815192A CN109815192A (zh) | 2019-05-28 |
CN109815192B true CN109815192B (zh) | 2024-06-11 |
Family
ID=66606391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910101217.4A Active CN109815192B (zh) | 2019-01-31 | 2019-01-31 | 一种嵌入式***内存管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815192B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136105A (zh) * | 2011-11-28 | 2013-06-05 | 广东新岸线计算机***芯片有限公司 | 一种内存管理方法、嵌入式***和视频数据处理*** |
CN103744736A (zh) * | 2014-01-09 | 2014-04-23 | 深圳Tcl新技术有限公司 | 内存管理的方法及Linux终端 |
CN106326150A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 内存访问处理方法及装置 |
CN107861890A (zh) * | 2016-09-22 | 2018-03-30 | 龙芯中科技术有限公司 | 访存处理方法、装置及电子设备 |
CN108038062A (zh) * | 2017-11-27 | 2018-05-15 | 北京锦鸿希电信息技术股份有限公司 | 嵌入式***的内存管理方法和装置 |
CN108206937A (zh) * | 2016-12-20 | 2018-06-26 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150091912A1 (en) * | 2013-09-27 | 2015-04-02 | Nvidia Corporation | Independent memory heaps for scalable link interface technology |
-
2019
- 2019-01-31 CN CN201910101217.4A patent/CN109815192B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136105A (zh) * | 2011-11-28 | 2013-06-05 | 广东新岸线计算机***芯片有限公司 | 一种内存管理方法、嵌入式***和视频数据处理*** |
CN103744736A (zh) * | 2014-01-09 | 2014-04-23 | 深圳Tcl新技术有限公司 | 内存管理的方法及Linux终端 |
CN106326150A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 内存访问处理方法及装置 |
CN107861890A (zh) * | 2016-09-22 | 2018-03-30 | 龙芯中科技术有限公司 | 访存处理方法、装置及电子设备 |
CN108206937A (zh) * | 2016-12-20 | 2018-06-26 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
CN108038062A (zh) * | 2017-11-27 | 2018-05-15 | 北京锦鸿希电信息技术股份有限公司 | 嵌入式***的内存管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
VxWorks内存管理机制研究及改进;刘东栋;《科学技术与工程》;20070330(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109815192A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106579B2 (en) | System and method to manage and share managed runtime memory for java virtual machine | |
US9092318B2 (en) | Method of allocating referenced memory pages from a free list | |
US7590816B2 (en) | Computer system, management computer and storage system, and storage area allocation amount controlling method | |
US7971026B2 (en) | Information processing apparatus and access control method | |
CN107209683B (zh) | 备份映像恢复 | |
CN104252319A (zh) | 针对多个逻辑分区的备份管理 | |
CN108228482B (zh) | 用于管理存储***中的缓存设备的方法和*** | |
CN103699334A (zh) | 用于管理虚拟机磁盘的方法和*** | |
EP2375324A2 (en) | Virtualization apparatus for providing a transactional input/output interface | |
CN109960569B (zh) | 一种虚拟化处理方法及装置 | |
CN110990114A (zh) | 一种虚拟机资源分配方法、装置、设备及可读存储介质 | |
US8458719B2 (en) | Storage management in a data processing system | |
CN110750336A (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
CN113886089A (zh) | 一种任务处理方法、装置、***、设备及介质 | |
CN113535087B (zh) | 数据迁移过程中的数据处理方法、服务器及存储*** | |
CN107870877B (zh) | 用于在存储***中管理数据访问的方法和*** | |
CN112162818B (zh) | 一种虚拟内存分配方法、装置、电子设备及存储介质 | |
US11403026B2 (en) | Method, device and computer program product for managing storage system | |
US9088569B2 (en) | Managing access to a shared resource using client access credentials | |
CN109815192B (zh) | 一种嵌入式***内存管理方法及装置 | |
US20200174670A1 (en) | Reducing write collisions in data copy | |
CN111813564B (zh) | 集群资源管理方法、装置及容器集群管理*** | |
EP4109255A1 (en) | Scheduling in a container orchestration system utilizing hardware topology hints | |
CN113806142A (zh) | 一种数据恢复方法、装置及相关设备 | |
US20190042347A1 (en) | Incremental dump with fast reboot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240511 Address after: Room 6227, No. 999, Changning District, Shanghai 200050 Applicant after: Shenlan robot (Shanghai) Co.,Ltd. Country or region after: China Address before: Unit 1001, 369 Weining Road, Changning District, Shanghai, 200336 (9th floor of actual floor) Applicant before: DEEPBLUE TECHNOLOGY (SHANGHAI) Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |