CN101286143B - 一种管理设备驱动缓存的方法 - Google Patents

一种管理设备驱动缓存的方法 Download PDF

Info

Publication number
CN101286143B
CN101286143B CN2008101001415A CN200810100141A CN101286143B CN 101286143 B CN101286143 B CN 101286143B CN 2008101001415 A CN2008101001415 A CN 2008101001415A CN 200810100141 A CN200810100141 A CN 200810100141A CN 101286143 B CN101286143 B CN 101286143B
Authority
CN
China
Prior art keywords
buffer memory
memory
device drives
drives buffer
priority
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.)
Expired - Fee Related
Application number
CN2008101001415A
Other languages
English (en)
Other versions
CN101286143A (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN2008101001415A priority Critical patent/CN101286143B/zh
Publication of CN101286143A publication Critical patent/CN101286143A/zh
Application granted granted Critical
Publication of CN101286143B publication Critical patent/CN101286143B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种管理设备驱动缓存的方法,包括:对设备驱动缓存进行初始化配置;系统运行过程中,设备驱动缓存不足时从系统内存中申请内存以扩展所述设备驱动缓存。采用本发明的方法,统一管理系统中所有的设备驱动缓存,支持设备缓存的动态扩展和不同设备缓存间的复用,使系统中的内存资源能够充分利用,提高系统设备的数据吞吐效率。

Description

一种管理设备驱动缓存的方法
技术领域
本发明涉及操作系统的设备管理和内存管理,尤其涉及一种管理设备驱动缓存的方法。 
背景技术
设备驱动程序是操作系统设备管理中最重要组成部分,在系统中承担着输入输出、数据交换、数据存储、数据通信,以及调试工具等作用。 
驱动缓存作为系统设备输入/输出(IO,Input and output)的内存数据备份,在系统运行中可以起到减少对设备I/O的读写频率,从而提高设备吞吐效率的作用,达到通过“空间换取时间”的效果。缓存从本质来说无非是按某一规则组织起来,采用统一管理方式组织的内存,主要应用在设备驱动设计中。缓存作为系统设备数据交换的加速利器,在嵌入式领域的作用越来越重要,几乎所有的驱动都有独立的数据缓存管理机制,大同而小异。传统的设备驱动设计基本上采用在设备初始化时预先分配的内存,采用链表形式管理,在设备进行数据输入输出时提供给硬件作为数据临时存放或中转之用。所以需要将系统中所有的驱动所需所有缓存的数量配置为最大,才能完全满足系统需要。这往往对系统可用内存提出了非常高的需要,甚至大大超过了硬件所允许的范畴。如果强行把驱动缓存数量加以限制,则限制了系统设备在极限情况下的处理能力,无法达到“空间换取时间”的作用,使系统设备的性能无法进一步提升。而且,事实上系统能够处理的设备IO能力是一定的,很少有所有设备同一时刻都满负荷运行的情况。为每个设备驱动提供尽可能多的缓存以提高性能的方式,在实际中往往表现出缓存利用率不高,在特定条件下各驱动缓存配置不合理,内存资源浪费严重的现象。 
发明内容
本发明要解决的技术问题是提供一种管理设备驱动缓存的方法,使系统中的内存资源能够充分利用,提高系统设备的数据吞吐效率。 
为了解决上述问题,本发明提供了一种管理设备驱动缓存的方法,包括: 
对设备驱动缓存进行初始化配置;其中所有设备驱动采用相同的方式管理缓存,所述初始化配置时为每一个设备驱动缓存设置优先级;系统运行过程中,设备驱动缓存不足时,从系统内存中申请内存以扩展所述设备驱动缓存。 
进一步地,所述方法还包括:系统内存充足时,为所述设备驱动缓存提供内存支持;系统内存不足时,将其它设备驱动缓存回收到内存中,为所述设备驱动缓存提供内存支持。 
进一步地,采用Slab大块内存管理方式对所述设备驱动缓存进行管理。 
进一步地,所述优先级包括静态优先级;对设备驱动缓存进行初始化配置时,为设备驱动缓存设置静态优先级,系统确定多个依次从高到低的管理级别,根据各个设备在系统中的重要性大小为其确定管理级别,并将静态优先级划分为与设备管理级别个数相同的多个依次从高到低的级别,对应所述设备的管理级别分别为所述设备驱动缓存分配相应的静态优先级。 
进一步地,所述优先级包括动态优先级;对设备驱动缓存进行初始化配置时,为设备驱动缓存设置动态优先级,在设备驱动缓存使用一次的过程中即从被申请到被释放过程中,计算系统设定的统计时间段内所述设备驱动缓存使用一次的平均时间,将此平均时间经过加权后作为该设备驱动缓存的动态优先级。 
进一步地,一个设备驱动缓存不足而系统内存资源充足时,发起动态内存申请,系统内存向所述设备驱动缓存支付内存申请后内存总量仍大于系统设置的保留内存值时,将所述设备驱动申请的内存构造成设备驱动缓存,加入到该设备驱动缓存的队列中;系统内存向所述设备驱动缓存支付内存申请后内存总量小于系统设置的保留内存值时,将其它设备驱动缓存回收到内存中,回收成功后,将所述设备驱动申请的内存构造成设备驱动缓存,加入到该设备驱动缓存的队列中,完成所述设备驱动缓存的扩展。 
进一步地,多个设备驱动缓存不足而系统内存资源充足时,发起动态内存申请,系统内存向所述各个设备驱动缓存支付内存申请后内存总量仍大于 系统设置的保留内存值时,将所述各个设备驱动申请的内存构造成设备驱动缓存,加入到各个设备驱动的缓存队列中;系统内存向所述设备驱动缓存支付内存申请后内存总量小于系统设置的保留内存值时,将其它设备驱动缓存回收到内存中,回收成功后,将所述设备驱动申请的内存构造成设备驱动缓存,加入到各个设备驱动缓存的队列中,完成所述多个设备驱动缓存的扩展。 
进一步地,将其它设备驱动缓存回收到内存中后,按照设备驱动缓存优先级从高到低的顺序对所述多个设备驱动缓存进行扩展,即按照设备驱动缓存的静态优先级从高到低的顺序对相应的设备驱动缓存进行扩展,如果两个或多个设备驱动缓存的静态优先级相同,则按照其动态优先级从高到低的顺序依次进行扩展。 
进一步地,将其它设备驱动缓存回收到内存中时,先回收处于闲置状态的设备驱动缓存,然后按照设备驱动缓存的静态优先级从低到高的顺序依次回收其缓存,如果两个或多个设备驱动缓存的静态优先级相同,则按照设备驱动缓存的动态优先级从低到高的顺序依次回收其缓存。 
进一步地,对设备驱动缓存进行初始化配置时,为各个设备驱动缓存设置最高门限,设备驱动缓存获得申请后的容量不大于所述最高门限设定的值。 
进一步地,对设备驱动缓存进行初始化配置时,为各个设备驱动缓存设置最低门限,将设备驱动缓存回收到内存中后,设备驱动缓存的容量不小于所述最低门限设定的值。 
采用本发明的方法,统一管理系统中所有的设备驱动缓存,支持设备缓存的动态扩展和不同设备缓存间的复用,使系统中的内存资源能够充分利用,提高系统设备的数据吞吐效率。 
附图说明
图1是本发明管理驱动缓存的方法流程图; 
图2是本发明中设备驱动缓存管理配置初始化方法的流程图; 
图3是本发明中驱动缓存动态优先级计算方法的流程图; 
图4是本发明中驱动缓存回收方法的流程图; 
图5是本发明中驱动缓存动态扩展方法的流程图。 
具体实施方式
本发明提出的设备驱动缓存管理方法,采用统一的方式管理系统中所有的设备驱动缓存,支持设备缓存的动态扩展和不同设备缓存间的复用。本发明中提供的基于可扩展和优先级管理的设备驱动缓存管理方法,结合操作系统自身的动态内存管理,应用在设备驱动的缓存管理中,保证设备忙时系统内空闲内存资源可以被设备驱动加以利用,保证相对重要的和实时性高的设备驱动能够尽可能多的使用系统内存资源。这样,在系统处于满负荷的情况下,可以充分使用系统内所有的内存资源,可以优先保证重要的和实时性高的设备能够快速响应系统的设备IO请求,而次要的和实时性低的设备可以延迟处理,从而通过操作系统内存管理提供的平衡机制,提升系统的综合处理能力和极限情况下的快速响应能力。 
本发明的管理设备驱动缓存的方法包括以下步骤: 
步骤101,对设备驱动缓存进行初始化配置; 
设备驱动的作用在于处理器和系统IO设备间的数据交换,驱动缓存管理中可以采用现有的内存管理技术,如Slab(称为大块)内存管理方法(Slab内存管理方法中包括把内存作为对象分组放进缓冲区,缓冲区的组织和管理与硬件高速缓存的命中率相关,缓冲区由一连串的大块构成,而每个大块中包含了若干个同种类型的已被分配或空闲的对象)用以实现内存的分块管理、内存的动态扩展、内存申请、分配、释放和回收接口控制等内存管理的基本功能。在此现有内存管理技术的基础上,结合驱动缓存的特点,为设备驱动缓存中增加优先权的设置、内存动态扩展的限制门限,以及缓存内存类型等配置。配置时,需要注意设备驱动的特点:主处理器(如CPU)通过Cache(内存)访问系统物理内存,在物理内存中暂存缓设备驱动的数据时,多数驱动硬件缓存中数据需要和系统主处理器Cache(内存)中的数据保持一致, 可以通过操作系统提供的MMU(Memory Management Unit,内存管理单元)的操作接口来实现。 
设备驱动缓存的管理数据结构包括:Slab内存管理控制块结构体MemoryCtrl,该缓存的静态优先级参数dwStaticPrio,该缓存的动态优先级dwDynPrio,该缓存的最低配置门限MemLowlevel,该缓存的最高配置门限MemHighLevel,该缓存的内存类型dwMemType,该缓存的内存类型dwMemType,该缓存的回收策略函数(在系统内存管理中调用)pFunc。 
如图2所示,在系统启动时或用户主动发起设备驱动缓存初始化时,对设备驱动缓存进行初始化配置,其方法具体包括以下步骤: 
步骤201,登记设备的驱动缓存,并为设备驱动缓存设置优先级; 
系统设备驱动缓存需要分优先级管理,所有设备驱动采用相同的方式管理缓存,初始化配置时需要为每一个设备驱动缓存设置优先级。 
为驱动缓存设置的优先级包括静态优先级和动态优先级。系统运行时,缓存优先级的首先由静态优先级决定,在静态优先级相同时由其动态优先级决定。缓存的静态优先级在系统运行过程中不变化,缓存的动态优先级可以在系统运行过程中变化,可在系统运行时计算缓存的动态优先级。 
驱动缓存静态优先级的设置:系统确定多个依次从高到低的管理级别(如从管理级别1至管理级别5),按使用需要根据各个设备在系统中的重要性大小为其确定管理级别,设备在系统中重要性较高的(如管理级别1),为其分配较高的管理级别;设备在系统中重要性较低的(如管理级别5),为其分配较低的管理级别。将静态优先级划分为与设备管理级别个数相同的多个依次从高到低的级别(如从静态优先级级别1到静态优先级级别5),对应设备的管理级别分别为其驱动缓存分配相应的静态优先级级别。如设置一管理级别为1的设备其静态优先级级别为1。 
驱动缓存动态优先级的设置:驱动设备可划分为“处理器消耗型”或“输入输出消耗型”,一般情况,处理器消耗型的设备,处理数据速度慢,运算时主要占用处理器资源;输入输出消耗型的设备,处理数据速度快,运算时 主要占用外设资源。为“处理器消耗型”的设备缓存设置相对较低的动态优先级,为“输入输出消耗型”的设备设置相对较高的动态优先级。在缓存被申请至被释放的过程中,计算某一固定时间段(系统设定的统计时间段)内此缓存从申请到释放的间隔(即被使用时间)的平均时间,将此平均时间经过加权后作为该驱动缓存的动态优先级。可用以下方法计算缓存被操作的平均时间:在某一固定时间段内,统计同一类型驱动所有缓存从申请到释放的平均时间,并考虑除掉数据异常的最高的10%和最低的10%。如图3所示,设备驱动缓存的动态优先级计算的方法具体包括以下步骤: 
步骤301,开始计时; 
步骤302,申请设备驱动缓存时在缓存的头部记录缓存申请的时间; 
步骤303,释放该缓存时,记录该缓存被使用的时间间隔; 
步骤304,判断是否到达系统设定的统计间隔时间,如果是,进行下一步,否则,转到步骤302, 
步骤305,统计在系统设定的时间段内此缓存的平均使用时间; 
其中,计算平均使用时间时,不包括所有时间间隔数据中取值最大的10%的数据和取值最小的10%的数据。 
步骤306,根据平均使用时间计算该驱动缓存动态优先级,并记录在该驱动缓存的控制块中; 
步骤307,清除所有统计数据,以便于重新开始统计。 
通过优先级管理,为下一步骤的缓存动态平衡提供了依据,通过重要性规则和实时性规则将设备驱动缓存设置为不同的优先级。 
步骤202,设置驱动缓存的配置最高门限和配置最低门限; 
上述配置最高门限和配置最低门限是指可用缓存的空间大小。配置最高门限和配置最低门限的设置可以避免设备过多或过少的占有系统内存资源。且不必专门为一个设备配置精确的缓存数量,只是将配置限制在一个范围内,允许其动态满足系统设备的实际需要。 
步骤203,以Slab方式为设备按其最小配置门限申请内存; 
步骤204,设置缓存的内存相关属性,比如是否需要保证与主处理Cache的一致性; 
步骤205,设置驱动缓存控制的缓存回收策略,并登记到系统内存回收机制中,流程结束。 
上述缓存回收策略是系统中已有的机制。如在Linux系统上使用set_shrinker接口注册到kswapd线程的内存回收机制中,在系统内存不足时kswapd线程主动调用注册的内存回收策略回收空闲驱动缓存。 
步骤102,系统运行过程中,设备驱动缓存不足时从系统内存中申请内存以扩展所述设备驱动缓存,系统内存充足时,为所述设备驱动缓存提供内存支持;系统内存不足时,将其它设备驱动缓存回收到内存中,为所述设备驱动缓存提供内存支持。 
统一考虑系统中所有的驱动缓存和用户内存申请需求,系统中各设备缓存和用户动态内存申请都足够满足需要,或者可以通过一次驱动缓存扩展满足需要的,称之为平衡状态,即系统中所有驱动对缓存的要求和用户动态内存申请都能得到满足;若多个驱动同时出现了缓存不足,或某个驱动和用户动态内存申请同时出现了不足,或动态内存不足但设备驱动缓存足够时,必须在缓存扩展或用户动态内存申请中作选择的情况,称之为不平衡状态。如果出现了不平衡状态,则首先保证应用动态内存申请,然后根据优先级从高到低依次保证驱动对缓存的需求。 
缓存的动态扩展与采用内存管理方式相关。 
某个驱动缓存不足而系统内存资源充足的情况下,该驱动的内存管理主动发起动态内存申请,系统内存向所述驱动缓存支付内存申请后内存总量仍大于系统设置的保留内存值时,将所述设备驱动申请的内存构造成驱动缓存,加入到驱动的缓存队列中,实现驱动缓存的扩展;系统内存向所述驱动缓存支付内存申请后内存总量小于系统设置的保留内存值时,将其它设备驱动缓存回收到内存中,回收成功后,将设备驱动申请的内存构造成驱动缓存,加 入到驱动的缓存队列中。在系统内存足够的情况下,缓存也不能够无限制扩展,必须保留部分系统内存,即内存的容量需大于保留内存值。 
在多个驱动缓存不足而系统内存资源充足的情况下,各个驱动的内存管理主动发起动态内存申请,系统内存向所述驱动缓存支付内存申请后内存总量仍大于系统设置的保留内存值时,将申请的内存构造成驱动缓存,加入到各个驱动的缓存队列中,实现驱动缓存的扩展;系统内存向所述驱动缓存支付内存申请后内存总量小于系统设置的保留内存值时,发起驱动缓存回收流程,回收成功后,按照优先级从高到低的顺序对各个驱动缓存进行扩展,即按照驱动缓存的静态优先级从高到低的顺序对相应的驱动缓存进行扩展,如果两个或多个驱动缓存的静态优先级相同,则按照其的动态优先级从高到低的顺序依次进行扩展。当优先级高的缓存扩展完成后,再进行低优先级的缓存扩展。如此,通过统一系统设备驱动缓存的动态平衡管理,通过优先级原则和实时性原则使系统内的设备资源和内存资源得到了最大程度的利用。 
依据优先级规则进行缓存回收后,被回收的缓存逐渐收缩直到最低的配置门限,并且回收的空闲内存即时转为高优先级驱动缓存使用,直到高优先级的驱动缓存足够。 
缓存的回收依赖于系统的内存管理方式,在此基础上以优先级规则进行选择回收,一般不主动回收缓存,只有当系统中出现了内存不足或缓存长时间闲置的情况时,才依据优先级从低到高的顺序扫描所有驱动缓存,先回收处于闲置状态的驱动缓存,然后根据优先级从低到高的顺序回收缓存。回收缓存时,先判断各个缓存的静态优先级,按照静态优先级从低到高的顺序依次回收,如果两个或多个缓存的静态优先级相同,则按照动态优先级从低到高的顺序依次回收。需要注意的是,对驱动缓存的配置中有一个最低的配置门限,即驱动对缓存数量的最低要求,回收驱动缓存后也不能低于该配置。 
如图4所示,统一系统设备驱动缓存的缓存回收方法包括以下步骤: 
步骤401,系统内存不足时,发起缓存回收流程; 
步骤402,按优先级从低到高扫描各个驱动缓存; 
步骤403,判断驱动缓存是否达到其最小配置门限,如果是,转到步骤402,否则,进行下一步; 
步骤404,按步骤205注册的驱动缓存回收策略回收该驱动缓存,直到其容量到达最低配置门限; 
步骤405,判断系统内存是否足够,如果是,流程结束,否则,转到步骤402,再次进行缓存回收。 
如图5所示,统一系统设备驱动缓存的动态平衡扩展方法包括以下步骤: 
步骤501,驱动的缓存申请失败; 
步骤502,查询驱动缓存容量,是否达到允许的最大配置门限,如果是,转到步骤508,否则,进行下一步; 
步骤503,查询系统动态内存总量,是否大于保留内存值,如果是,执行下一步,否则,转到步骤506; 
步骤504,向系统动态内存中申请Slab内存块,并加入到驱动缓存中; 
步骤505,更新驱动缓存的配置数据;流程结束; 
步骤506,发起图4所示的驱动缓存回收流程,按照优先级从低到高的顺序回收其它驱动缓存,以获取足够的内存实现下一步的内存扩展; 
步骤507,判断回收是否成功,如果是,转到步骤504,否则,认为处理失败,流程结束。 
如图5所示,不平衡状态下系统动态内存不足且驱动缓存不足时,将用户动态内存申请视同于最高优先级的驱动缓存申请,需要优先保证,再依次根据优先级从高到低进行驱动缓存的扩展。如此,通过统一系统设备驱动缓存的动态平衡管理,通过优先级原则和实时性原则使系统内的设备资源和内存资源得到了最大程度的利用。 
本发明的方法适用于除Linux系统之外的其它嵌入式系统。 
由上可知,本发明所述方法的最大特点是对操作系统内的所有设备缓存进行统一管理,使各设备驱动使用的缓存可以动态扩展和相互复用,解决了传统驱动缓存管理中内存资源浪费严重,配置管理困难等问题。本方法充分考虑到嵌入式系统中不同设备的重要性和实时性的要求不同,在缓存的设计中引入了优先级动态平衡的管理方式,保证相对重要的和实时性高的设备驱动能够尽可能多的使用系统缓存。这样,系统处于满负荷的情况下,优先保证重要的和实时性高的设备能够快速响应系统请求,而次要的和实时性低的设备可以延迟处理。其最终结果,可以通过缓存的动态平衡管理机制,提升系统设备的综合处理能力和极限情况下的快速响应能力。 
另外,本发明的方法,可以充分结合操作系统中内存管理和设备管理的特性,采用动态平衡,资源复用等技术,提高了系统内设备资源和内存资源的利用率,对系统的设备性能提升有较好的效果。尤其对于大多数以设备IO为主的嵌入式系统来说,可以大大提高系统的性能。 
但应当理解的是,本发明的上述针对具体实施例的描述较为具体,并不能因此而理解为对本发明的专利保护范围的限制,本发明的保护范围应以所附权利要求为准。 

Claims (9)

1.一种管理设备驱动缓存的方法,其特征在于,
对设备驱动缓存进行初始化配置;其中所有设备驱动采用相同的方式管理缓存,所述初始化配置时为每一个设备驱动缓存设置优先级;
系统运行过程中,设备驱动缓存不足时,从系统内存中申请内存以扩展所述设备驱动缓存;
其中,多个设备驱动缓存不足而系统内存资源充足时,发起动态内存申请,系统内存向所述各个设备驱动缓存支付内存申请后内存总量仍大于系统设置的保留内存值时,将所述各个设备驱动申请的内存构造成设备驱动缓存,加入到各个设备驱动的缓存队列中;系统内存向所述设备驱动缓存支付内存中请后内存总量小于系统设置的保留内存值时,将其它设备驱动缓存回收到内存中,回收成功后,将所述设备驱动申请的内存构造成设备驱动缓存,加入到各个设备驱动缓存的队列中,完成所述多个设备驱动缓存的扩展;
上述将其它设备驱动缓存回收到内存中后,按照设备驱动缓存优先级从高到低的顺序对所述多个设备驱动缓存进行扩展,即按照设备驱动缓存的静态优先级从高到低的顺序对相应的设备驱动缓存进行扩展,如果两个或多个设备驱动缓存的静态优先级相同,则按照其动态优先级从高到低的顺序依次进行扩展。
2.如权利要求1所述的方法,其特征在于,
所述方法还包括:系统内存充足时,为所述设备驱动缓存提供内存支持;系统内存不足时,将其它设备驱动缓存回收到内存中,为所述设备驱动缓存提供内存支持。
3.如权利要求1所述的方法,其特征在于,
采用Slab大块内存管理方式对所述设备驱动缓存进行管理。
4.如权利要求1所述的方法,其特征在于,
所述优先级包括静态优先级;对设备驱动缓存进行初始化配置时,为设备驱动缓存设置静态优先级,系统确定多个依次从高到低的管理级别,根据各个设备在系统中的重要性大小为其确定管理级别,并将静态优先级划分为与设备管理级别个数相同的多个依次从高到低的级别,对应所述设备的管理级别分别为所述设备驱动缓存分配相应的静态优先级。
5.如权利要求1或4所述的方法,其特征在于,
所述优先级包括动态优先级;对设备驱动缓存进行初始化配置时,为设备驱动缓存设置动态优先级,在设备驱动缓存使用一次的过程中即从被申请到被释放过程中,计算系统设定的统计时间段内所述设备驱动缓存使用一次的平均时间,将此平均时间经过加权后作为该设备驱动缓存的动态优先级。
6.如权利要求5所述的方法,其特征在于,
一个设备驱动缓存不足而系统内存资源充足时,发起动态内存申请,系统内存向所述设备驱动缓存支付内存申请后内存总量仍大于系统设置的保留内存值时,将所述设备驱动申请的内存构造成设备驱动缓存,加入到该设备驱动缓存的队列中;系统内存向所述设备驱动缓存支付内存申请后内存总量小于系统设置的保留内存值时,将其它设备驱动缓存回收到内存中,回收成功后,将所述设备驱动申请的内存构造成设备驱动缓存,加入到该设备驱动缓存的队列中,完成所述设备驱动缓存的扩展。
7.如权利要求6所述的方法,其特征在于,
将其它设备驱动缓存回收到内存中时,先回收处于闲置状态的设备驱动缓存,然后按照设备驱动缓存的静态优先级从低到高的顺序依次回收其缓存,如果两个或多个设备驱动缓存的静态优先级相同,则按照设备驱动缓存的动态优先级从低到高的顺序依次回收其缓存。
8.如权利要求6所述的方法,其特征在于,
对设备驱动缓存进行初始化配置时,为各个设备驱动缓存设置最高门限,设备驱动缓存获得申请后的容量不大于所述最高门限设定的值。
9.如权利要求6所述的方法,其特征在于,
对设备驱动缓存进行初始化配置时,为各个设备驱动缓存设置最低门限,将设备驱动缓存回收到内存中后,设备驱动缓存的容量不小于所述最低门限设定的值。
CN2008101001415A 2008-05-26 2008-05-26 一种管理设备驱动缓存的方法 Expired - Fee Related CN101286143B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101001415A CN101286143B (zh) 2008-05-26 2008-05-26 一种管理设备驱动缓存的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101001415A CN101286143B (zh) 2008-05-26 2008-05-26 一种管理设备驱动缓存的方法

Publications (2)

Publication Number Publication Date
CN101286143A CN101286143A (zh) 2008-10-15
CN101286143B true CN101286143B (zh) 2012-05-09

Family

ID=40058357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101001415A Expired - Fee Related CN101286143B (zh) 2008-05-26 2008-05-26 一种管理设备驱动缓存的方法

Country Status (1)

Country Link
CN (1) CN101286143B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937400B (zh) * 2009-06-29 2012-07-25 联想(北京)有限公司 管理热备份内存的方法和电子设备
CN102567225A (zh) * 2011-12-28 2012-07-11 北京握奇数据系统有限公司 一种管理系统内存的方法及装置
CN102521057A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 资源调度方法和装置
CN105354079B (zh) * 2015-09-29 2019-06-07 上海斐讯数据通信技术有限公司 提高系统内存利用率的方法
CN105656805B (zh) * 2016-01-20 2018-09-25 中国人民解放军国防科学技术大学 一种基于控制块预分配的分组接收方法和装置
CN108241583A (zh) * 2017-11-17 2018-07-03 平安科技(深圳)有限公司 薪资计算的数据处理方法、应用服务器及计算机可读存储介质
CN108111436B (zh) * 2017-11-30 2023-04-18 浙江宇视科技有限公司 一种网络设备缓存调度方法及系统
CN108664412A (zh) * 2018-05-18 2018-10-16 广州优视网络科技有限公司 Io数据流处理方法、装置、存储介质和终端
CN111124502B (zh) * 2018-10-31 2022-06-28 北京中科信电子装备有限公司 一种离子注入机光纤环路主控制器驱动程序提速方法
CN109947571B (zh) * 2019-03-22 2021-07-20 北京奇艺世纪科技有限公司 一种内存释放方法及系统
CN112988078B (zh) * 2021-04-27 2023-07-14 山东英信计算机技术有限公司 一种分布式存储应用中缓存内存占用的管理方法及装置

Also Published As

Publication number Publication date
CN101286143A (zh) 2008-10-15

Similar Documents

Publication Publication Date Title
CN101286143B (zh) 一种管理设备驱动缓存的方法
CN103902474B (zh) 一种支持固态盘缓存动态分配的混合存储系统和方法
CN101971146B (zh) 改进作为管理程序来宾而运行的虚拟机中内存使用情况的系统和方法
CN101609432B (zh) 共享缓存管理系统及方法
CN103179048B (zh) 云数据中心的主机QoS策略变换方法及系统
CN103067425A (zh) 虚拟机创建方法、虚拟机管理系统及相关设备
CN102841674B (zh) 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法
CN103631661A (zh) 一种内存管理方法和装置
CN101320351A (zh) 内存的分配、清理和释放方法及内存管理的装置
CN104572307A (zh) 一种对虚拟资源进行弹性调度的方法
CN105117285B (zh) 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN101673191B (zh) 数据写入方法、装置及数据存储系统
CN102222014A (zh) 基于内存热插拔的虚拟机动态内存管理系统
CN113778662B (zh) 内存回收方法及装置
CN104731799A (zh) 内存数据库管理装置
CN101226553A (zh) 一种嵌入式数据库变长字段存储的实现方法及装置
CN101221465A (zh) 用于降低硬盘功耗的数据缓冲区实现方法
CN103197962A (zh) 多进程状态切换方法和装置
CN100397345C (zh) 用于管理资源元素队列的方法和控制器
CN102375780A (zh) 一种分布式文件系统中元数据缓存管理的方法
CN105808150A (zh) 用于混合式储存设备的固态硬盘快取系统
JPWO2011078162A1 (ja) スケジューリング装置、スケジューリング方法及びプログラム
CN107179998A (zh) 一种配置外设内存缓冲区的方法及装置
JP5287414B2 (ja) ストレージシステム、ストレージ消費電力削減方法、プログラム
US20230325082A1 (en) Method for setting up and expanding storage capacity of cloud without disruption of cloud services and electronic device employing method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120509

Termination date: 20190526

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