专利名称:一种数字机顶盒系统内存的分配方法、模块和装置的制作方法
技术领域:
本发明属于计算机软件领域,尤其涉及一种数字机顶盒系统内存的分配方法、模 块和装置。
背景技术:
随着信息处理技术的不断发展和完善,数字机顶盒系统内存的应用越来越复杂也 越来越重要。现有技术中,对数字机顶盒系统内存的应用非常杂乱数字机顶盒系统内存需要 为内核执行程序必要的内存空间;为显示在电视上的图像提供缓冲空间;为CPU和硬盘中 的视屏数据提供缓冲空间等等。因此现有技术经常造成内存冲突和溢出,大大降低了系统 的稳定性和用户体验度。
发明内容
本发明实施例的目的在于提供一种数字机顶盒系统内存的分配方法,旨在解决数 字机顶盒系统内存使用不当的问题。本发明实施例是这样实现的,一种数字机顶盒系统内存的分配方法,所述方法包 括以下步骤启动数字机顶盒,所述数字机顶盒在启动后对自身的内存进行重新划分;在不同的内存区域处理相应的应用程序;在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟内存的地址映射。本发明实施例的另一目的在于提供一种数字机顶盒系统内存的分配模块,所述模 块包括内存重新划分模块,用于在数字机顶盒启动时,重新分配数字机顶盒的内存;应用程序处理模块,用于在不同的内存区域处理相应的应用程序;地址映射模块,用于在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟 内存的地址映射。本发明实施例的另一目的在于提供一种数字机顶盒,所述数字机顶盒内置有上所 述的数字机顶盒系统内存的分配模块。本发明实施例,数字机顶盒在启动后,重新分配自身的系统内存,将不同的应用程 序分配到不同的内存区域运行,在应用程序有虚拟内存需求时通过建立物理内存与虚拟内 存的地址映射,使物理内存与虚拟内存共同处理应用程序。有效的管理了系统的内核代码、 高速缓冲区、虚拟盘、主内存区,方便了用户应用程序的内存分配,避免了内存冲突和溢出, 提高了系统的稳定性和用户的体验。
图1是本发明实施例提供的数字机顶盒内存分配方法的流程4
图2是本发明实施例提供的图1所示的步骤S102的具体实现流程;图3是本发明实施例提供的数字机顶盒系统内存的分配模块。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。本发明实施例,数字机顶盒在启动后,重新分配自身的系统内存,将不同的应用程 序分配到不同的内存区域运行,在应用程序有虚拟内存需求时通过建立物理内存与虚拟内 存的地址映射,使物理内存与虚拟内存共同处理应用程序。有效的管理了系统的内核代 码、高速缓冲区、虚拟盘、主内存区,方便了用户应用程序的内存分配,避免了内存冲突和溢 出,提高了系统的稳定性和用户的体验。本发明提供了一种数字机顶盒系统内存的分配方法、模块和装置所述方法包括启动数字机顶盒,所述数字机顶盒在启动后对自身的内存进行重 新划分;在不同的内存区域处理相应的应用程序;在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟内存的地址映射。所述模块包括内存重新划分模块,用于在数字机顶盒启动时,重新分配数字机顶 盒的内存;应用程序处理模块,用于在不同的内存区域处理相应的应用程序;地址映射模块,用于在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟 内存的地址映射。所述装置为一种数字机顶盒,所述数字机顶盒内置有如上所述的数字机顶盒系 统内存的分配模块。如图1所示为本发明实施例提供的数字机顶盒内存分配方法的流程图,详述如 下步骤S101,启动数字机顶盒,所述数字机顶盒对自身的内存进行重新划分。在本发明实施例中,数字机顶盒在启动后,对自身的内存进行重新划分,划分为 页目录表区,内核主程序区,显示缓冲区,虚拟本地硬盘区,主内存区五个部分。步骤S102,在不同的内存区域处理相应的应用程序。在本发明实施例中,数字机顶盒的内存将接收到的不同的程序放在不同的内存区 域。其具体实现步骤详见图2以及后续对图2的描述,在此不再赘述。步骤S103,建立物理内存与虚拟内存的地址映射。在本发明实施例中,如果一个应用进程申请的内存容量大于数字机顶盒实际的物 理内存容量,则所述应用进程需要虚拟内存的协助才能完成。建立物理内存与虚拟内存的 地址映射则可保证虚拟内存协助物理内存完成所述应用进程。建立物理内存与虚拟内存的地址映射方法的关键在于寻找所述应用进程申请的 物理内存的地址。只要找到了系统为所述应用进程分配的物理内存的地址,即可建立物理 内存与虚拟内存的地址映射,共同处理所述应用进程。
查找系统为所述应用进程分配的物理内存的地址的方法具体为当一个应用进程 申请内存时,内存管理程序搜索判断页目录表中有没有空闲的页目录项。如果有则在找到 的第一个空闲页目录项的地址末12位标注为已占用,同时标注所述页目录项对应的页表 项,所述页表项记录了物理内存的地址。如图2所示为本发明实施例提供的图1所示的步骤S102的具体实现流程步骤S201,在页目录表区存储系统的页目录表、页表、全局描述符表、局部描述符表。在本发明实施例中,页目录表,页表,全局描述符表,局部描述符表是系统进程和 用户程序经常要用到的地址映射信息,将所述页目录表,页表,全局描述符表,局部描述符 表保存在内存的页目录表区,不仅方便系统随时调用,更可以大大提高CPU的反映速度和 内存的使用效率。步骤S202,在内核主程序区存储系统的内核代码。在本发明实施例中,内核代码经常被内核程序调用,将所述内核代码保存在内存 的内核主程序区,使得内核代码和用户应用程序进程分开运行,不仅方便了内存的管理,而 且内核也不需要从内部编写特定的代码来解决内存出界的问题,也避免了内存溢出。步骤S203,在显示缓冲区存储需要显示的图像。在本发明实施例中,图像数据从数字机顶盒到电视终端显示出来,需要经过数字 机顶盒CPU的处理。如果采取CPU处理一帧就显示一帧的方法,则会使电视画面出现马赛 克、视频频繁中断的情况。因此将需要显示的图像数据存储在显示缓冲区,作为数字机顶盒 与电视终端的缓冲链接区,保证了电视画面的清晰和流程,提高了用户体验。步骤S204,在虚拟本地硬盘区存储需要处理的视频数据。在本发明实施例中,视频数据从数字机顶盒到电视终端显示出来,数字机顶盒CPU 需要从硬盘读取视频文件。如果采取CPU处理一帧就显示一帧的方法,则会使内存的使用 非常分散,CPU的利用率降低。因此将需要显示的视频数据存储在虚拟本地硬盘区,作为 CPU和本地硬盘的缓冲区,使得CPU不在频繁的等待,只需读取虚拟本地硬盘去存储的数据 即可,大大提高了内存的使用率和CPU的运行效率。步骤S205,在主内存区运行用户的应用进程。在本发明实施例中,当用户有应用程序时,内存将为用户的应用程序分配运行的 空间。这块运行用户应用程序的内存空间就是主内存区。本发明实施例,数字机顶盒在启 后,重新分配自身的系统内存,将不同的应用程 序分配到不同的内存区域运行,在应用程序有虚拟内存需求时通过建立物理内存与虚拟内 存的地址映射,使物理内存与虚拟内存共同处理应用程序。有效的管理了系统内存的应用 程序,方便了用户应用程序的内存分配,避免了内存冲突和溢出,提高了系统的稳定性和用 户的体验。如图3所示为本发明实施例提供的数字机顶盒系统内存的分配模块,为了便于说 明,仅示出了与本发明实施例相关的部分内存重新划分模块11,用于在数字机顶盒启动时,将数字机顶盒的内存划分页目 录表区,内核主程序区,显示缓冲区,虚拟本地硬盘区,主内存区。应用程序处理模块12,用于在不同的内存区域处理相应的程序。其中应用程序处理模块12还包括页目录表模块121,用于存储系统的页目录表,页表,全局描述符表,局部描述符 表。所述页目录表,页表,全局描述符表,局部描述符表是系统进程和用户程序经常要用到 的地址映射信息,将所述页目录表,页表,全局描述符表,局部描述符表保存在内存的页目 录表模块121中,不仅方便系统随时调用,更可以大大提高CPU的反映速度和内存的使用效率。内核主程序模块122,用于存储以及运行系统的内核代码。内核代码对于内核程序 的运行起着主要的作用,经常被内核程序调用,将所述内核代码保存在内存的内核主程序 模块122中,使得内核代码和用户应用程序进程分开运行,不仅方便了内存的管理,而且内 核也不需要从内部编写特定的代码来解决内存出界的问题,也避免了内存溢出。显示缓冲模块123,用于存储需要显示的图像数据。图像数据从数字机顶盒到电视 终端显示出来,需要经过数字机顶盒CPU的处理。如果采取CPU处理一帧就显示一帧的方 法,则会使电视画面出现马赛克、视频频繁中断的情况。因此将需要显示的图像数据存储在 显示缓冲模块123中,作为数字机顶盒与电视终端的缓冲链接区,保证了电视画面的清晰 和流程,提高了用户体验。虚拟硬盘模块124,用于存储需要显示的视频数据。视频数据从数字机顶盒到电视 终端显示出来,数字机顶盒CPU需要从硬盘读取视频文件。如果采取CPU处理一帧就显示一 帧的方法,则会使内存的使用非常分散,CPU的利用率降低。因此将需要显示的视频数据存 储在虚拟本地硬盘模块124中,作为CPU和本地硬盘的缓冲区,使得CPU不在频繁的等待, 只需读取虚拟本地硬盘去存储的数据即可,大大提高了内存的使用率和CPU的运行效率。主内存模块125,用于在主内存区运行用户的应用进程。当用户有应用程序时,内 存将为用户的应用程序分配运行的空间。这块用于运行用户应用程序的内存空间就是主内 存模块125。地址映射模块13,用于在用户应用程序需要虚拟内存协助时,建立物理内存与虚 拟内存的地址映射。其中地址映射模块13还包括物理地址查找模块131,用于查找应用程序对应的物理内存的地址。地址映射建立模块132,用于根据物理地址查找模块查找的物理内存的地址建立 物理内存与虚拟内存的地址映射。本发明实施例,数字机顶盒在启动后,重新分配自身的系统内存,将不同的应用程 序分配到不同的内存区域运行,在应用程序有虚拟内存需求时通过建立物理内存与虚拟内 存的地址映射,使物理内存与虚拟内存共同处理应用程序。有效的管理了系统内存的应用 程序,方便了用户应用程序的内存分配,避免了内存冲突和溢出,提高了系统的稳定性和用 户的体验。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
一种数字机顶盒系统内存的分配方法,其特征在于,包括启动数字机顶盒,所述数字机顶盒在启动后对自身的内存进行重新划分;在不同的内存区域处理相应的应用程序;在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟内存的地址映射。
2.如权利要求1所述的数字机顶盒系统内存的分配方法,其特征在于,将数字机顶盒 的内存具体划分为页目录表区、内核主程序区、显示缓冲区、虚拟本地硬盘区、主内存区。
3.如权利要求1所述的数字机顶盒系统内存的分配方法,其特征在于,所述在不同的 内存区域处理相应的程序具体为页目录表区存储系统的页目录表、页表、全局描述符表、局部描述符表; 内核主程序区存储系统的内核代码; 显示缓冲区存储需要显示的图像; 虚拟本地硬盘区存储需要处理的视频数据; 主内存区运行用户的应用程序。
4.如权利要求1所述的数字机顶盒系统内存的分配方法,其特征在于,所述建立物理 内存与虚拟内存的地址映射的具体方法为查找用户应用程序对应的物理内存的地址; 根据所述物理内存的地址,建立虚拟内存的映射。
5.如权利要求4所述的数字机顶盒系统内存的分配方法,其特征在于,所述查找用户 应用程序对应的物理内存的地址的方法具体为在空闲的页目录项的地址末12位标注为已被用户应用程序占用; 标注所述页目录项对应的页表项,所述页表项记录有用户应用程序相应的物理内存的 地址。
6. 一种数字机顶盒系统内存的分配模块,其特征在于,包括内存重新划分模块,用于在数字机顶盒启动时,重新分配数字机顶盒的内存; 应用程序处理模块,用于在不同的内存区域处理相应的应用程序; 地址映射模块,用于在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟内存 的地址映射。
7.如权利要求6所述的数字机顶盒系统内存的分配模块,其特征在于,所述应用程序 处理模块还包括页目录表模块,用于存储系统的页目录表,页表,全局描述符表,局部描述符表; 内核主程序模块,用于存储以及运行系统的内核代码; 显示缓冲模块,用于存储需要显示的图像数据; 虚拟硬盘模块,用于存储硬盘中需要显示的视频数据; 主内存模块,用于在运行用户的应用进程。
8.如权利要求6所述的数字机顶盒系统内存的分配模块,其特征在于,所述内存地址 映射模块还包括物理地址查找模块,用于查找应用程序对应的物理内存的地址; 地址映射建立模块,用于根据物理地址查找模块查找的物理内存的地址建立物理内存与虚拟内存的地址映射。
9. 一种数字机顶盒,其特征在于,所述数字机顶盒内置有如权利要求6所述的数字机 顶盒系统内存的分配模块。
全文摘要
本发明适用于计算机软件领域,提供了一种数字机顶盒系统内存的分配方法、模块和装置。该方法包括以下步骤启动数字机顶盒,所述数字机顶盒在启动后对自身的内存进行重新划分;在不同的内存区域处理相应的应用程序;在用户应用程序需要虚拟内存协助时,建立物理内存与虚拟内存的地址映射。本发明实施例,数字机顶盒在启动后,重新分配自身的系统内存,将不同的应用程序分配到不同的内存区域运行。在应用程序有虚拟内存需求时通过建立物理内存与虚拟内存的地址映射,使物理内存与虚拟内存共同处理应用程序。有效的管理了系统内存的应用程序,方便了用户应用程序的内存分配,避免了内存冲突和溢出,提高了系统的稳定性和用户的体验。
文档编号G06F12/02GK101976225SQ201010520119
公开日2011年2月16日 申请日期2010年10月26日 优先权日2010年10月26日
发明者丁宏, 莫肇銮, 邵彦生, 高怀恩 申请人:深圳创维-Rgb电子有限公司