CN116701238A - 一种驱动文件处理方法及相关装置 - Google Patents
一种驱动文件处理方法及相关装置 Download PDFInfo
- Publication number
- CN116701238A CN116701238A CN202211116566.1A CN202211116566A CN116701238A CN 116701238 A CN116701238 A CN 116701238A CN 202211116566 A CN202211116566 A CN 202211116566A CN 116701238 A CN116701238 A CN 116701238A
- Authority
- CN
- China
- Prior art keywords
- driving
- file
- driving file
- files
- address space
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000015654 memory Effects 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000007906 compression Methods 0.000 claims abstract description 40
- 230000006835 compression Effects 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种驱动文件处理方法及相关装置,该方法可包括:对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将M个驱动文件从驱动文件地址空间中删除,M个驱动文件满足压缩处理条件;将M个压缩驱动文件转储至转储空间;若检测到针对第一驱动文件的地址空间缺页中断信息,从转储空间中获取所述第一驱动文件对应的第一压缩驱动文件;对第一压缩驱动文件进行解压,得到第一解压驱动文件,并将第一解压驱动文件存储至驱动文件地址空间;其中,M为大于或等于1的整数。采用本申请,能够实现驱动文件的按需加载,并节省内存空间。
Description
技术领域
本申请涉及电子设备技术领域,尤其涉及一种驱动文件处理方法及相关装置。
背景技术
驱动文件是硬件厂商根据操作系统编写的驱动程序的配置文件,其中包含有关硬件设备的信息,此信息能够使得电子设备与其他硬件设备进行通信,并实现相关的功能。要实现不同的功能,所使用的驱动程序也不同。为了保证系统中各个硬件的兼容性及增强硬件的功能,系统中通常会使用并存储大量的驱动文件,从而占用较多的系统内存,可能会造成内存存储空间不足的问题。
发明内容
本申请实施例提供一种驱动文件处理方法及相关装置,可以实现驱动文件的按需加载,并节省内存空间。
第一方面,本申请实施例提供了一种驱动文件处理方法,该方法可由电子设备执行,或由电子设备中的模块执行,例如芯片或处理器等。该方法可包括:对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将M个驱动文件从驱动文件地址空间中删除,M个驱动文件满足压缩处理条件,M为大于或等于1的整数;将M个压缩驱动文件转储至转储空间;若检测到针对第一驱动文件的地址空间缺页中断信息,从转储空间中获取第一驱动文件对应的第一压缩驱动文件;对第一压缩驱动文件进行解压,得到第一解压驱动文件,并将第一解压驱动文件存储至驱动文件地址空间。
可见,可以将内存的驱动文件地址空间中满足压缩处理条件的多个驱动文件进行压缩,并转储至转储空间,同时将上述多个驱动文件从驱动文件地址空间中删除,可以节省内存空间。当检测到针对某个驱动文件的地址空间缺页中断信息时,可从转储空间中获取该驱动对剑对应的压缩驱动文件并解压,得到相应的解压驱动文件,从而将该解压驱动文件存储至驱动文件地址空间,从而实现驱动文件的按需加载。
在一种可能的实现方式中,M个驱动文件中的K个驱动文件中的每个驱动文件包括历史运行数据,1≤K≤M,K为整数。换言之,对于驱动文件地址空间中的部分或全部驱动文件而言,每个驱动文件包括历史运行数据。
可见,将满足压缩处理条件的驱动文件产生的历史运行数据进行压缩并转储至转储空间,可以进一步地节省内存空间。同时,在需要将驱动文件重新存储至驱动文件地址空间的情况下,该驱动文件的历史运行数据也能够存储至驱动文件地址空间,有助于恢复该驱动文件的历史运行现场。
在一种可能的实现方式中,在对驱动文件地址空间中的M个驱动文件进行压缩之前,上述方法还可包括:若电子设备处于空闲状态,则获取驱动文件地址空间中的N个驱动文件的日志信息,N为大于或等于M的整数;根据N个驱动文件的日志信息,确定M个驱动文件。
可见,在电子设备的空闲状态下获取驱动文件地址空间中的N个驱动文件的日志信息,可有效避免在电子设备繁忙时占用资源,从而避免影响电子设备的运行。
在一种可能的实现方式中,获取M个驱动文件第m个驱动文件的地址信息,地址信息包括地址空间起始地址和地址空间长度;确定M个压缩驱动文件中第m个压缩驱动文件的压缩地址;建立第m个驱动文件的地址信息与第m个压缩驱动文件的地址之间的映射关系,将映射关系添加至映射关系集合;其中,1≤m≤M,m为整数。
在一种可能的实现方式中,针对第一驱动文件的地址空间缺页中断信息包括第一驱动文件的第一地址空间起始地址;上述从转储空间中获取第一驱动文件对应的第一压缩驱动文件,还可包括:基于映射关系集合,获取与第一地址空间起始地址匹配的第一压缩地址;根据第一压缩地址,从转储空间中获取第一驱动文件对应的第一压缩驱动文件。
可见,基于上述映射关系集合,能够在检测到针对第一驱动文件的缺页中断信息的情况下,根据该缺页中断信息中包括的第一驱动文件的地址信息,能够准确地在转储空间中查找到对应的第一压缩驱动文件,从而将第一解压驱动文件存储至驱动文件地址空间。
在一种可能的实现方式中,若从驱动文件地址空间中无法获取第一驱动文件,则调用地址空间缺页中断检测机制,获取针对第一驱动文件的地址空间缺页中断信息。
在一种可能的实现方式中,在检测到缺页中断信息的情况下,判断缺页中断信息是否包括第一驱动文件的地址信息;若上述缺页中断信息包括第一驱动文件的地址信息,则生成针对第一驱动文件的地址空间缺页中断信息。
第二方面,本申请实施例提供了一种驱动文件处理装置,包括:
处理单元,用于对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将M个驱动文件从所述驱动文件地址空间中删除,M个驱动文件满足压缩处理条件,M为大于或等于1的整数;将M个压缩驱动文件转储至转储空间;
获取单元,用于若检测到针对第一驱动文件的地址空间缺页中断信息,从转储空间中获取第一驱动文件对应的第一压缩驱动文件;
处理单元,还用于对第一压缩驱动文件进行解压,得到第一解压驱动文件,并将第一解压驱动文件存储至驱动文件地址空间。
第三方面,本申请实施例提供一种电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面或第一方面的任一项可能的实现方式中的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算可读存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的任一项可能的实现方式中的方法。
第五方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第一方面或第一方面的任一项可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种驱动文件处理方法的实施环境示意图;
图3为本申请实施例提供的一种驱动文件处理方法的流程示意图;
图4为本申请实施例提供的一种映射集合的结构示意图;
图5为本申请实施例提供的一种驱动文件处理的流程示意图;
图6是本申请实施例提供的一种缺页中断处理的流程示意图;
图7为本申请实施例提供的一种驱动文件处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
图1示出了电子设备100的结构示意图。
下面以电子设备100为例对实施例进行具体说明。应该理解的是,电子设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图1所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图1所示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将压缩后的驱动文件等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(比如人脸识别功能,指纹识别功能、移动支付功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如人脸信息模板数据,指纹信息模板等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
内核(kernel)是操作系统最基本的部分。内核负责管理系统的进程、内存、设备驱动程序、文件和网络系统等,决定着系统的性能和稳定性。是连接应用程序和硬件的桥梁。
内核映像(kernel image)是Linux操作系统中的概念,相当于内核保存成磁盘文件形式,系统启动时它会被启动程序原封不动(或仅进行解压)搬到内存中去运行。通用内核映像(general kernel image,GKI)项目通过统一核心内核等技术,解决了内核碎片化问题。
内存(Memory)是计算机的重要部件,也称内存储器和主存储器,用于暂时存放中央处理器(central processing unit,CPU)中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。内存的运行影响计算机整体运行快慢。
驱动文件是驱动程序的配置文件。内核模块(kernel object)文件是一种模块化的驱动文件,使用此种格式的驱动文件可以把内核的部分功能移动到内核外边进行配置、存储。使用该格式的当需要运行该驱动文件时,就将该ko文件插入内核,不需要时就从内核中卸载。这样,可以缩小内核体积,相应的,能够节约内存空间。
交换(swap)分区是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。
地址空间(address space)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。在本申请实施例中,驱动文件地址空间是指驱动文件在内存中的地址空间。
外部存储器一般指外存储器,外部存储器是指除电子设备的内存及处理器的高速缓存以外的储存器,该储存器一般为非易失性存储器。常见的外部存储器有硬盘、软盘、光盘、U盘、嵌入式存储器(embeded multimedia card,emmc)、通用闪存存储(universalflash storage,UFS)、多媒体卡等。
转储(dump)是指把内存中的内容保存在外存文件系统中的过程。转储空间即是指该外存文件系统中的存储空间。
缺页中断是指,系统在试图访问已映射在虚拟地址空间中,但是并未被加载在物理内存中的一个分页时,如果访问的页面不在内存中,由中央处理器的内存管理单元所发出的中断。通常情况下,用于处理此中断的程序是操作系统的一部分。如果操作系统判断此次访问是有效的,那么操作系统会尝试将相关的分页从硬盘上的虚拟内存文件中调入内存。而如果访问是不被允许的,那么操作系统通常会结束相关的进程。
userfaultfd机制是Linux提供的一种让使用者自行处理缺页异常的机制,能够实现对缺页中断信息的检测并上报,使用者可自行定义函数来解决产生的缺页中断信息。
随着GKI在安卓系统中的广泛推广,系统中驱动文件的数量激增,为系统内存造成了较大的存储压力。因此,本申请实施例提供了一种驱动文件处理方法及相关装置,能够节省内存空间。本申请实施例提供的驱动文件处理方法及相关装置能够应用于安卓系统、IOS系统等多个系统。
请参阅图2,为本申请实施例提供的一种驱动文件处理方法的实施环境示意图。如图2所示,该实施环境可包括一个或多个电子设备210,电子设备210中包括存储器,存储器包括内存和硬盘,内存中包含驱动文件地址空间,用于存储驱动文件;硬盘中包含转储空间,用于存储压缩后的驱动文件。可选的,该实施环境中还可包括外部存储器220,在该外部存储器220中包括转储空间,用于存储压缩后的驱动文件。
电子设备210可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端,等等,但并不局限于此。电子设备210还可以是具备数据(如驱动文件)处理功能的服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例提供的驱动文件处理方法可由电子设备210执行,如对电子设备210的内存中的驱动文件地址空间中的驱动文件进行压缩,得到压缩驱动文件并将驱动文件从驱动文件地址空间中删除,其中,上述驱动文件满足压缩处理条件;电子设备210还可将上述压缩驱动文件转储至电子设备210中的转储空间,或存储至外部存储器220中的转储空间;若检测到针对某个驱动文件的地址空间缺页中断信息,从转储空间中获取该驱动文件对应的压缩驱动文件;对该压缩驱动文件进行解压,得到相应的解压驱动文件,并将该解压驱动文件存储至驱动文件地址空间。
以上对本申请实施例提供的驱动文件处理方法进行了简要介绍,下面对该驱动文件处理方法的具体实现方式进行详细阐述。
请参阅图3,图3为本申请实施例提供的一种驱动文件处理方法的流程示意图,该方法应用于电子设备。如图3所示,该方法包括但不限于以下步骤:
S301,对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将M个驱动文件从驱动文件地址空间中删除,M个驱动文件满足压缩处理条件。
其中,M为大于或等于1的整数。
驱动文件地址空间位于电子设备的内存,在驱动文件地址空间中,可包括一个或多个驱动文件,M个驱动文件可以是驱动文件地址空间中的全部驱动文件或者部分驱动文件,本申请对此不作限定。
在本申请实施例中,可将驱动文件地址空间中,满足压缩处理条件的M个驱动文件进行压缩,并从驱动文件地址空间中删除,从而节省内存空间。其中,压缩处理条件用于对驱动文件进行筛选,以节省内存空间。压缩处理条件可以是用户设置的或系统默认设置的或根据机器学习结果设置的条件。满足压缩处理条件的驱动文件可以理解为可从驱动文件地址空间中删除的驱动文件。
针对不同应用场景、不同类型的驱动文件,可以设置不同的压缩处理条件。例如,可将在一段时间范围内(如24小时内)未使用的驱动文件判定为满足压缩处理条件。又例如,可将在一段时间范围内(如3天内)使用频率较低(如使用次数低于2次)的驱动文件判定为满足压缩处理条件。
在一种可能的实现方式中,可通过链表等形式对驱动文件地址空间中的驱动文件的使用频率等信息进行记录,并基于记录的信息来判断驱动文件是否满足压缩处理条件。可选的,可在内存中构建两个最近最少使用(least recently used,LRU)链表,一个记为活跃链表,另一个记为非活跃链表。驱动文件地址空间中的驱动文件在初始状态下,每个驱动文件的标识信息均记录在非活跃链表中。若驱动文件A被加载执行了n次后,将驱动文件A记录在活跃链表中。其中,n可以设置为任意正整数,如2。基于此,可将记录在非活跃链表中的驱动文件判定为满足压缩处理条件。若驱动文件A与B被记录在非活跃链表中,则可将驱动文件A与驱动文件B进行压缩处理。
在一种可能的实现方式中,可在电子设备处于空闲状态的情况下,对驱动文件地址空间中的N个驱动文件的日志信息进行管理,并根据N个驱动文件的日志信息,判断驱动文件是否满足压缩处理条件,从而确定出上述M个驱动文件。其中,驱动文件的日志信息可以包括驱动文件的使用频率信息、每次使用的时长信息等。可选的,若电子设备是智能手机终端,则当智能手机终端处于熄屏状态时,可以认为智能手机终端处于空闲状态。
S302,将M个压缩驱动文件转储至转储空间。
在本申请实施例中,将上述M个满足压缩处理条件的驱动文件转储至转储空间中,从而释放该M个驱动文件在驱动文件地址空间中所占用的内存。可选的,转储空间可以是电子设备的硬盘的存储空间,也可以是电子设备能够访问的硬盘等外接存储设备中的存储空间。
在一种可能的实现方式中,M个驱动文件中的K个驱动文件中的每个驱动文件可包括与该驱动文件对应的驱动程序在电子设备中运行而产生的历史运行数据。换言之,在M个满足压缩处理条件的驱动文件中,有K个驱动文件存在历史运行数据,并且被转储至转储空间,驱动文件地址空间中的M个驱动文件(包括K个驱动运行产生的历史运行数据)所占用的内存空间被释放,从而能够进一步地节省内存空间。其中,1≤K≤M,K为整数。示例性的,假设驱动文件地址空间中的驱动文件C对应的驱动程序C在电子设备中运行时产生了历史运行数据,则驱动文件C中包括该历史运行数据。其中,驱动文件的历史运行数据可以包括驱动程序运行过程中产生的中间数据、驱动程序的运行代码、缓存数据、注册表数据等。
在一种可能的实现方式中,可获取M个驱动文件中第m(1≤m≤M,m为整数)个驱动文件的地址信息,可选的,地址信息可包括地址空间起始地址和地址空间长度。对该第m个驱动文件进行压缩处理并转储至转储空间时,确定该第m个压缩驱动文件的压缩地址,从而建立第m个驱动文件的地址信息与第m个压缩驱动文件的地址之间的映射关系,并将映射关系添加至映射关系集合。其中,第m个驱动文件为上述M个驱动文件中的任意一个驱动文件。当遍历M个驱动文件中的全部驱动文件,并建立相应的映射关系后,能够得到上述M个驱动文件中全部驱动文件与各自对应的压缩驱动文件之间的映射关系。可选的,可基于红黑树等数据结构来表达该映射关系集合。
可选的,可基于红黑树的数据结构对上述的地址信息、压缩地址,以及映射关系集合进行记录、存储。示例性的,假设在驱动文件地址空间中,满足压缩处理条件的驱动文件有驱动文件A、驱动文件B、驱动文件C、驱动文件D,对上述4个驱动文件分别进行压缩处理后,得到的压缩驱动文件分别记为压缩文件A、压缩文件B、压缩文件C、压缩文件D,如图4所示,基于红黑树,可将驱动文件A、驱动文件B、驱动文件C、驱动文件D与压缩文件A、压缩文件B、压缩文件C、压缩文件D之间的映射关系进行记录。通过驱动文件的地址信息可以在转储空间中查询到对应的压缩驱动文件。
S303,若检测到针对第一驱动文件的地址空间缺页中断信息,从转储空间中获取第一驱动文件对应的第一压缩驱动文件。
其中,第一驱动文件可以是上述M个驱动文件中的任意驱动文件,第一驱动文件的数量可以是一个或多个,相应的,第一压缩驱动文件的数量与第一驱动文件的数量是一致的,可以是一个或多个,本申请对此不做限定。
在电子设备的操作系统中,缺页中断信息有多种类型,不限于针对驱动文件的缺页中断信息。
在一种可能的实现方式中,在电子设备需要调用第一驱动文件对应的第一驱动程序,但从驱动文件地址空间中无法获取第一驱动文件的情况下,则调用地址空间缺页中断检测机制,获取针对第一驱动文件的地址空间缺页中断信息。其中,地址空间缺页中断检测机制可以通过userfaultfd机制实现,通过userfaultfd机制能够检测到针对第一驱动文件的缺页中断信息。
示例性的,请参阅图5,图5为本申请实施例提供的一种驱动文件处理的流程示意图。其中,驱动文件管理服务是一个服务进程,用于接收userfaultfd机制上报的驱动文件地址空间缺页中断信息,userfaultfd机制能够告知服务进程发生缺页中断的驱动文件地址信息,指示服务进程从转储空间中读取对应的驱动文件的数据并加载进驱动文件地址空间中。例如,当电子设备调用驱动程序D时,会访问驱动程序D对应的驱动文件D的地址空间,若驱动文件D已经压缩并转储,则在驱动文件地址空间中无法找到驱动程序D的驱动文件,因此会产生针对驱动文件D的缺页中断信息;该缺页中断信息会通过userfaultfd机制上报到驱动文件管理服务中。驱动文件管理服务根据缺页中断信息中包括的驱动文件D的地址信息在红黑树中查找到对应的压缩驱动文件D的压缩地址,并将对应的压缩驱动文件D从转储空间中取出,解压后,得到解压驱动文件D,并存储至驱动文件D的驱动文件地址空间。
可选的,将解压驱动文件存储至驱动文件地址空间后,可以根据实际应用场景决定是否将转储空间中存储的压缩驱动文件删除,本申请对此不作限定。
在一种可能的实现方式中,在检测到缺页中断信息的情况下,判断缺页中断信息是否包括第一驱动文件的地址信息;若上述缺页中断信息包括第一驱动文件的地址信息,则生成针对第一驱动文件的地址空间缺页中断信息;若缺页中断信息不是针对驱动文件产生的,电子设备则可执行其他相应的缺页中断处理流程。
示例性的,请参阅图6,图6为本申请提供的一种缺页中断处理流程示意图。如图6所示,当电子设备产生缺页中断信息时,首先需要判断该缺页中断信息是否是由驱动文件地址空间中无法获取相应的驱动文件而产生的,即在缺页中断信息中是否包括产生缺页中断的驱动文件的地址,若不包括驱动文件的地址,则进行其他相应的缺页中断处理流程。若在缺页中断信息中包括驱动文件的地址,如包括第一驱动文件在驱动文件地址空间中的地址信息,则调用驱动文件地址空间缺页中断检测机制,将缺页中断上报至驱动文件管理服务进行处理。
在一种可能的实现方式中,若检测到针对某个驱动文件的地址空间缺页中断信息,但在转储空间中未查找到与该驱动文件对应的压缩驱动文件,则可生成进程错误提示信息,并结束此次缺页中断处理流程。
S304,对第一压缩驱动文件进行解压,得到第一解压驱动文件,并将第一解压驱动文件存储至驱动文件地址空间。
在一种可能的实现方式中,针对第一驱动文件的地址空间缺页中断信息包括第一驱动文件的第一地址空间起始地址。因此,可以基于映射关系集合,获取与第一地址空间起始地址匹配的第一压缩地址,并根据第一压缩地址,从转储空间中获取第一驱动文件对应的第一压缩驱动文件。进一步地,可根据第一驱动文件的地址信息,将第一解压驱动文件存储至驱动文件地址空间。换言之,可将第一解压驱动文件存储至第一驱动文件在进行压缩处理前所占用的驱动文件地址空间中。
可见,通过实施本申请实施例提供的驱动文件处理方法,可在电子设备处于空闲的状态下,实现对驱动文件地址空间中各驱动文件的日志信息的管理,根据各个驱动文件的日志信息,可确定出满足压缩处理条件的M个驱动文件,并将M个驱动文件进行压缩处理、转储至转储空间,并释放驱动文件地址空间中的M个驱动文件所占用的内存。通过驱动文件地址空间缺页中断检测机制,能够实现对缺页中断信息的检测,从而在产生驱动文件地址空间缺页中断信息的情况下,能够从转储空间中取出相应的压缩驱动文件,对该压缩驱动文件进行解压处理后,得到解压驱动文件,并将该解压驱动文件存储至对应的驱动文件地址空间,从而实现驱动的按需加载,维护驱动程序的正常运行。
请参阅图7,图7为本申请实施例提供的一种驱动文件处理装置的结构示意图。如图7所示,驱动文件处理装置包括处理单元710和获取单元720。其中:
处理单元710,用于对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将M个驱动文件从驱动文件地址空间中删除,M个驱动文件满足压缩处理条件,M为大于或等于1的整数;将M个压缩驱动文件转储至转储空间;
获取单元720,用于若检测到针对第一驱动文件的地址空间缺页中断信息,从转储空间中获取第一驱动文件对应的第一压缩驱动文件;
处理单元710,还用于对第一压缩驱动文件进行解压,得到第一解压驱动文件,并将第一解压驱动文件存储至驱动文件地址空间。
在一种可能的实现方式中,处理单元710,还用于获取M个驱动文件第m个驱动文件的地址信息,地址信息包括地址空间起始地址和地址空间长度;确定M个压缩驱动文件中第m个压缩驱动文件的压缩地址;建立第m个驱动文件的地址信息与第m个压缩驱动文件的地址之间的映射关系,将映射关系添加至映射关系集合;其中,1≤m≤M,m为整数。
在一种可能的实现方式中,针对第一驱动文件的地址空间缺页中断信息包括第一驱动文件的第一地址空间起始地址;处理单元710,还用于基于映射关系集合,获取与第一地址空间起始地址匹配的第一压缩地址;根据第一压缩地址,从转储空间中获取第一驱动文件对应的第一压缩驱动文件。
在一种可能的实现方式中,获取单元720,还用于若从驱动文件地址空间中无法获取第一驱动文件,则调用地址空间缺页中断检测机制,获取针对第一驱动文件的地址空间缺页中断信息。
在一种可能的实现方式中,处理单元710,还用于在检测到缺页中断信息的情况下,判断缺页中断信息是否包括第一驱动文件的地址信息;若上述缺页中断信息包括第一驱动文件的地址信息,则生成针对第一驱动文件的地址空间缺页中断信息。
根据本申请的一个实施例,图3所示的驱动文件处理方法中所涉及的步骤可由图7所示的数据查询装置中的各个单元来执行。例如,图3中所示的步骤S301、S302和S303可由图7中的处理单元710来执行,图3中所示的步骤S303可由图7中的获取单元720来执行。
根据本申请的一个实施例,图7所示的数据查询装置中的各个单元可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,驱动文件处理也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
可以理解的是,本申请实施例所描述的驱动文件处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
通过实施本申请实施例提供的驱动文件处理方法,可在电子设备处于空闲的状态下,实现对驱动文件地址空间中各驱动文件的日志信息的管理,根据各个驱动文件的日志信息,可确定出满足压缩处理条件的M个驱动文件,并将M个驱动文件进行压缩处理、转储至转储空间,并释放驱动文件地址空间中的M个驱动文件所占用的内存。通过驱动文件地址空间缺页中断检测机制,能够实现对缺页中断信息的检测,从而在产生驱动文件地址空间缺页中断信息的情况下,能够从转储空间中取出相应的压缩驱动文件,对该压缩驱动文件进行解压处理后,得到解压驱动文件,并将该解压驱动文件存储至对应的驱动文件地址空间,从而实现驱动的按需加载,维护驱动程序的正常运行。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种驱动文件处理方法,其特征在于,包括:
对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将所述M个驱动文件从所述驱动文件地址空间中删除,所述M个驱动文件满足压缩处理条件,M为大于或等于1的整数;
将所述M个压缩驱动文件转储至转储空间;
若检测到针对第一驱动文件的地址空间缺页中断信息,从所述转储空间中获取所述第一驱动文件对应的第一压缩驱动文件;
对所述第一压缩驱动文件进行解压,得到第一解压驱动文件,并将所述第一解压驱动文件存储至所述驱动文件地址空间。
2.如权利要求1所述的方法,其特征在于,所述M个驱动文件中的K个驱动文件中的每个驱动文件包括历史运行数据,1≤K≤M,K为整数。
3.如权利要求1所述的方法,其特征在于,在所述对驱动文件地址空间中的M个驱动文件进行压缩之前,所述方法还包括:
若电子设备处于空闲状态,则获取所述驱动文件地址空间中的N个驱动文件的日志信息,N为大于或等于M的整数;
根据所述N个驱动文件的日志信息,确定所述M个驱动文件。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述M个驱动文件第m个驱动文件的地址信息,所述地址信息包括地址空间起始地址和地址空间长度;
确定所述M个压缩驱动文件中第m个压缩驱动文件的压缩地址;
建立所述第m个驱动文件的地址信息与所述第m个压缩驱动文件的地址之间的映射关系,将所述映射关系添加至映射关系集合;其中,1≤m≤M,m为整数。
5.如权利要求4所述的方法,其特征在于,所述针对第一驱动文件的地址空间缺页中断信息包括所述第一驱动文件的第一地址空间起始地址;
所述从所述转储空间中获取所述第一驱动文件对应的第一压缩驱动文件,包括:
基于所述映射关系集合,获取与所述第一地址空间起始地址匹配的第一压缩地址;
根据所述第一压缩地址,从所述转储空间中获取所述第一驱动文件对应的第一压缩驱动文件。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
若从所述驱动文件地址空间中无法获取所述第一驱动文件,则调用地址空间缺页中断检测机制,获取所述针对第一驱动文件的地址空间缺页中断信息。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在检测到缺页中断信息的情况下,判断所述缺页中断信息是否包括所述第一驱动文件的地址信息;
若所述缺页中断信息包括所述第一驱动文件的地址信息,则生成所述针对第一驱动文件的地址空间缺页中断信息。
8.一种驱动文件处理装置,其特征在于,包括:
处理单元,用于对驱动文件地址空间中的M个驱动文件进行压缩,得到M个压缩驱动文件并将所述M个驱动文件从所述驱动文件地址空间中删除,所述M个驱动文件满足压缩处理条件,M为大于或等于1的整数;将所述M个压缩驱动文件转储至转储空间;
获取单元,用于若检测到针对第一驱动文件的地址空间缺页中断信息,从所述转储空间中获取所述第一驱动文件对应的第一压缩驱动文件;
所述处理单元,还用于对所述第一压缩驱动文件进行解压,得到第一解压驱动文件,并将所述第一解压驱动文件存储至所述驱动文件地址空间。
9.一种电子设备,其特征在于,包括:一个或多个处理器,一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器在执行所述计算机指令时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116566.1A CN116701238A (zh) | 2022-09-14 | 2022-09-14 | 一种驱动文件处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116566.1A CN116701238A (zh) | 2022-09-14 | 2022-09-14 | 一种驱动文件处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701238A true CN116701238A (zh) | 2023-09-05 |
Family
ID=87843956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211116566.1A Pending CN116701238A (zh) | 2022-09-14 | 2022-09-14 | 一种驱动文件处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701238A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810421A (zh) * | 2014-02-19 | 2014-05-21 | 北京视博数字电视科技有限公司 | 应用程序的校验方法、装置和终端设备 |
CN105242971A (zh) * | 2015-10-20 | 2016-01-13 | 北京航空航天大学 | 面向流式处理系统的内存对象管理方法及系统 |
CN112579357A (zh) * | 2020-12-23 | 2021-03-30 | 苏州三六零智能安全科技有限公司 | 快照差量获取方法、装置、设备及存储介质 |
CN114443268A (zh) * | 2020-10-31 | 2022-05-06 | 华为终端有限公司 | 内存管理方法、装置、电子设备以及计算机可读存储介质 |
-
2022
- 2022-09-14 CN CN202211116566.1A patent/CN116701238A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810421A (zh) * | 2014-02-19 | 2014-05-21 | 北京视博数字电视科技有限公司 | 应用程序的校验方法、装置和终端设备 |
CN105242971A (zh) * | 2015-10-20 | 2016-01-13 | 北京航空航天大学 | 面向流式处理系统的内存对象管理方法及系统 |
CN114443268A (zh) * | 2020-10-31 | 2022-05-06 | 华为终端有限公司 | 内存管理方法、装置、电子设备以及计算机可读存储介质 |
CN112579357A (zh) * | 2020-12-23 | 2021-03-30 | 苏州三六零智能安全科技有限公司 | 快照差量获取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656844B (zh) | 一种AT24xx EEPROM驱动方法和装置 | |
CN115687035A (zh) | 一种内存泄漏的检测方法及电子设备 | |
CN117130541B (zh) | 存储空间配置方法及相关设备 | |
CN111381996A (zh) | 内存异常处理方法及装置 | |
CN116701238A (zh) | 一种驱动文件处理方法及相关装置 | |
CN117156088A (zh) | 图像处理方法及相关装置 | |
CN115563628B (zh) | 一种变量读取、写入方法和变量读取、写入装置 | |
CN114253737B (zh) | 电子设备及其内存回收方法、介质 | |
WO2022052730A1 (zh) | 应用异常退出的修复方法、装置与电子设备 | |
WO2022057663A1 (zh) | 一种生成文件的方法及电子设备 | |
CN112783418B (zh) | 一种存储应用程序数据的方法及移动终端 | |
CN116048562B (zh) | 一种数据更新方法、电子设备及存储介质 | |
CN116743903B (zh) | 一种芯片识别方法及电子设备 | |
CN116661875B (zh) | 实现终端设备启动的方法及电子设备 | |
CN116049096B (zh) | 一种数据迁移方法、电子设备及存储介质 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN117082419B (zh) | 扬声器控制方法、系统、装置、设备和存储介质 | |
CN116662045B (zh) | 进程名称获取方法、终端设备及存储介质 | |
CN117076089B (zh) | 应用管理方法、终端设备及存储介质 | |
WO2023001033A1 (zh) | 镜像启动的方法、生成镜像的方法和电子设备 | |
CN117130680A (zh) | 一种芯片资源的调用方法及电子设备 | |
CN117724828A (zh) | 一种内存管理器的管理方法及电子设备 | |
CN117762647A (zh) | 一种引擎间的通信方法及相关设备 | |
CN115794413A (zh) | 一种内存处理方法及相关装置 | |
CN116257486A (zh) | 一种访问请求的处理方法以及相关设备 |
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 |