WO2011095086A1 - 一种基于linux系统的设备及其应用启动的方法 - Google Patents

一种基于linux系统的设备及其应用启动的方法 Download PDF

Info

Publication number
WO2011095086A1
WO2011095086A1 PCT/CN2011/070549 CN2011070549W WO2011095086A1 WO 2011095086 A1 WO2011095086 A1 WO 2011095086A1 CN 2011070549 W CN2011070549 W CN 2011070549W WO 2011095086 A1 WO2011095086 A1 WO 2011095086A1
Authority
WO
WIPO (PCT)
Prior art keywords
frequency
cpu
bus
memory
new application
Prior art date
Application number
PCT/CN2011/070549
Other languages
English (en)
French (fr)
Inventor
孔志强
Original Assignee
青岛海信移动通信技术股份有限公司
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 青岛海信移动通信技术股份有限公司 filed Critical 青岛海信移动通信技术股份有限公司
Publication of WO2011095086A1 publication Critical patent/WO2011095086A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Definitions

  • the invention belongs to the technical field of computers, and in particular relates to a device based on a Linux system and a method for starting the application thereof. Background technique
  • Linux memory management The principle of Linux memory management is to use physical memory as much as possible using the greedy dream algorithm. Compared with the equalization algorithm used by Windows 2K/XP, the starting point and the algorithm used for Linux memory management are different. Windows immediately puts the occupied memory immediately after the application exits. Therefore, when viewing the memory, the free memory space is related to the currently running program. If there are many applications running, the free memory is small. If there are few applications running, Then the free memory is bigger. Linux is different. After running some applications after booting, these applications are all quit, only to find that the memory space is almost empty, and almost all of them are occupied. At a deeper level, Linux takes full advantage of memory as a cache to speed up the process of re-opening the application; and, if not necessary, minimize the use of the hard disk as a buffer to increase the life of the hard disk.
  • the system device application startup method includes: when the new application needs to be started but the memory is not enough for the new application, the CPU frequency is increased; Performing a memory front based on the increased CPU frequency;
  • the embodiment of the present invention further provides an intelligent mobile terminal based on a Linux system, comprising: a frequency conversion module, configured to increase a CPU frequency when a new application needs to be started but the memory is not used by a new application;
  • a release module configured to perform memory release based on the increased CPU rate
  • the startup module is used to start a new application after the memory is released.
  • FIG. 1 is a flow chart of a method according to a first embodiment of the present invention
  • FIG. 2 is a top view of a device according to a second embodiment of the present invention. detailed description
  • the first embodiment of the present invention provides a A method for launching an intelligent mobile terminal application based on a Linux system, the method is applied to a mobile phone based on a Linux system (the subsequent descriptions are all replaced by a mobile phone), when the MP3 player of the mobile phone is started for MP3 playback, the Linux system passes - The alloc jpages function allocates physical memory. If there is free physical memory, then the memory is directly obtained from the free list and the memory address is returned. If the memory has been all allocated, the current CPU frequency is increased from 60M to 624M.
  • the wakcup_kswapd function sends a wake up kswapd kernel thread event to wake up the kswapd kernel thread for memory release.
  • the freed memory is relocated to the free list of memory, and alloc_pages can get the required memory space when requesting memory from the free list of memory again. Since the required memory space is obtained, the MP3 player can be started for MP3 playback.
  • the kswapd kernel thread is a kernel thread that uses dry memory space.
  • the embodiment is not limited to a mobile phone based on a Linux system, and can also be implemented on other Linux system-based devices, such as a Linux-based computer. It is only a preferred solution of the embodiment to start the MP3 player for MP3 playback. The method of this embodiment is also applicable to the startup of other new applications, such as starting a browser to browse the webpage. Of course, in order to further improve the speed of starting the MP3 player, the frequency of the CPU can be increased while the frequency of the CPU is increased.
  • the frequency-initiated frequency control thread that sends the frequency modulation increases the CPU frequency and the bus frequency, so that the CPU and other resources are in a high performance state, and then send through the wakeup_kswapd function.
  • Wake up the kswapd kernel thread event and put the memory in the kswapd kernel thread, so that the free list of memory has enough memory space for allocation, and then start the MP3 player to play MP3.
  • Step 101 Launch a brand new app MP3 player for your phone.
  • Step 102 After the memory is allocated, the memory application fails when the MP3 player is started, and an event notification for adjusting the CPU frequency is sent, and the current CPU frequency is raised and the delay is 50 milliseconds.
  • the preferred method is to increase the frequency of the thread controlled by the CPU from 60M to 624M, increase the bus frequency to 312M, and start the timer with a delay of 50 milliseconds.
  • the preferred method is to increase the frequency of the thread controlled by the CPU from 60M to 624M, increase the bus frequency to 312M, and start the timer with a delay of 50 milliseconds.
  • the frequency of the CPU in this embodiment can work at 60M, 104M, 208M, and 624M.
  • the CPU frequency can be increased to 104M and 208M.
  • the CPU frequency works at 104M, and it can also The frequency of the CPU is increased to 208M and 624M. In short, the current CPU frequency is increased.
  • the Linux system allocates physical memory through the -ococmgs function.
  • the current CPU frequency is increased from 60M to 624M.
  • the timer is started.
  • the delay is 50 milliseconds to allow the CPU frequency to work at 624M.
  • the bus frequency works. 312M.
  • the delay of 50 milliseconds may be based on different applications in the mobile phone, comprehensively considering the determined unified experience value, and may also determine the delay corresponding to different applications according to different applications in the mobile phone, such as starting the corresponding MP3 player.
  • the delay is 50 milliseconds, and the delay corresponding to starting the browser is 40 milliseconds.
  • the frequency-increasing bus includes a memory space (NAND) bus and a memory space (SDRAM, that is, the memory used in this embodiment) bus, in which new data such as starting the MP3 player and starting the browser are stored in the storage space ( NAND), the memory space (NAND) bus is the bus that reads the data needed to start a new application.
  • the data required to start a new application read by the storage space (NAND) is written into the memory space (SDRAM) for the new application to start up, and the memory space (SDRAM) bus is written to the memory by the storage space ( NAND)
  • SDRAM memory space
  • the FM event is sent by the frequency modulation function incrcase_cpu_freq, and the frequency control thread is notified to raise the frequency of the CPU and the bus.
  • Step 103 Send a kernel thread event that wakes up kswapd with increased CPU and bus frequency.
  • the kswapd kernel thread event is sent by the wakeup-kswapd function to wake up the kswapd kernel thread for memory release.
  • Step 104 The kswapd kernel thread is awakened and the memory is released.
  • Step 105 Apply for memory again from the memory free list.
  • the kswapd kernel thread Since the kswapd kernel thread has released the memory, it can be applied to the memory to ensure that the MP3 player starts the required resources. Specifically, the freed memory is relocated to the free list of memory. In the memory allocation has been released, the alloc_pages function that allocates physical memory again requests memory from the free list of memory, and then you can get the memory space required for MP3 player startup.
  • Step 106 Complete the startup of the new application MP3 player within 50 milliseconds of the timer delay.
  • the above CPU and bus have been working in a high performance state to ensure fast operation.
  • the startup of the new application MP3 player has been completed, and the frequency of the CPU is adjusted again according to the current load of the CPU to reduce the power consumption of the mobile phone.
  • the delay of the timer is set to 20 milliseconds.
  • the CPU and bus frequency are increased (it is also possible to increase the frequency of the CPU only), the memory is released, and then the CPU and bus frequency are lowered. , Start the MP3 player after reducing the CPU and bus frequency.
  • the specific solution can be selected according to the needs.
  • the core idea of the solution in this embodiment is that the memory is not enough. When the MP3 player is used, the current CPU frequency is increased, and the memory is released based on the increased CPU frequency, so that there is enough memory for the new application to start.
  • the power management method adopted on the mobile phone in this embodiment is to dynamically adjust the frequency of the CPU, that is, to adjust the frequency of the CPU according to the current CPU load, as shown in Table 1.
  • the frequency of the CPU is adjusted to 624M and after the startup of the new application MP3 player is completed, the CPU will be less than or equal to 65% according to the frequency of the CPU at 624M.
  • the CPU frequency is adjusted to 208M.
  • the load of the CPU is less than or equal to 30%, and the CPU frequency is adjusted to 104M.
  • the CPU load is between 28% and 70%, and the load adjustment is stopped.
  • the dynamic adjustment of the CPU frequency further solves the contradiction between power consumption and performance, and allows the mobile phone to have relatively low power consumption at a relatively fast speed.
  • the memory usage can be accurately understood, and the memory usage directly affects the startup speed of the application, so the CPU frequency can be increased at a proper time to ensure the mobile phone.
  • the second embodiment provided by the present invention is an intelligent mobile terminal based on a Linux system, as shown in FIG. 2, including:
  • the frequency conversion module 201 is used to improve when a new application needs to be started but the memory is not enough for the new application.
  • the release module 202 is configured to perform memory release based on the frequency of the CPU after the improvement
  • the startup module 203 is configured to start a new application after the memory is released.
  • the frequency conversion module 201 is further configured to increase the frequency of the current CPU while increasing the frequency of the bus.
  • the bus with increased frequency includes a first bus and a second bus, and the first bus is a bus for reading data required to start a new application.
  • the second bus is a bus that writes data read by the first bus into the memory;
  • the release module 202 is further configured to perform memory release based on the frequency of the improved CPU and the frequency of the bus;
  • the startup module 203 is further configured to start a new application based on the frequency of the boosted CPU and the frequency of the bus.
  • the startup timer performs memory release at a predetermined time
  • the startup module 203 is also used to increase the frequency of the CPU and the frequency of the bus, and the startup timer starts a new application at a predetermined time.
  • the frequency conversion module 201 is further configured to increase the current CPU frequency to the highest frequency supported by the CPU, and after the new application is started, adjust the frequency of the CPU according to the CPU's current load less than or equal to the alarm value, and lower the CPU. Frequency of.
  • the frequency conversion module 201 is further configured to send a frequency modulation event through a frequency modulation function, and notify the frequency control thread to increase the frequency of the CPU and the bus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Description

一种基于 Linux系统的设备及其应用启动的方法 技术领域
本发明属于计算机技术领域,特别涉及一种基于 Linux系统的设备及其应 用启动的方法。 背景技术
Linux 内存管理的原则是利用贪梦算法尽可能的使用物理内存, 和 Windows 2K/XP使用的均衡算法相比, Linux内存管理的出发点和使用的算法 都不相同。 Windows 在应用退出后立刻蜂放占用的内存, 所以查看内存的时 候, 空闲的内存空间跟当前正在运行的程序多少有关系, 如果运行的应用多, 那么空闲内存就小, 如果运行的应用少, 那么空闲的内存就比较大。 而 Linux 则不同, 开机后运行一些应用后, 把这些应用都退出, 却发现内存空间已经 所剩无几, 差不多全部被占用。 从深层次上看, Linux充分利用了内存作为緩 存使得再次打开应用程序的速度大大加快; 而且在没有必要的情况下, 尽量 减少使用硬盘作为緩冲以提高硬盘的寿命.
但是,如果 Linux的物理内存使用得差不多时,再运行一个大点的应用程 序, 此时 Linuk会根据内存不够(为了方便描述, 后续文档中将这种内存空间 不够的情况统称为物理内存已经全部分配完), 唤醒 Kswapd内核线程(用于 释放内存空间的内核线程) 来释放一些内存空间, 当释放出空间后, 再从内 存的空闲列表申请内存, 所以 Linux启动一个全新的应用就比较慢。 发明内容
为了解决现有技术中基于 Linux 系统的智能移动终端存在的启动一个全 新的应用, 且物理内存已经全部分配完时, 新应用启动的速度非常慢的问题, 本发明实施例提供了一种基于 Linux系统的设备应用启动的方法, 包括: 当需要启动新应用但内存不够新应用使用时, 提高 CPU频率; 基于提高后的 CPU的频率进行内存锋放;
在内存释放后启动新应用。
同时本发明实施例还提供一种基于 Linux系统的智能移动终端, 包括: 变频模块, 用于当需要启动新应用但内存不够新应用使用时, 提高 CPU 频率;
释放模块, 用于基于提高后的 CPU的 ^率进行内存释放;
启动模块, 用于在内存释放后启动新应用。
由本发明提供的具体实施方案可以看出,正是由于当物理内存已经全部分 配完时,将 CPU的频率提高,进而基于提高唐的 CPU的频率进行内存释放, 并 进行新应用的启动,而基于提高后的 CPU的频率会使得 CPU执行指令的周期变 短, 单位时间执行的指令数量增加, 加快了基于 Linux系统的智能移动终端新 应用启动的速度。 附图说明
图 1为本发明提供的第一实施例方法流程图;
图 2为本发明提供的第二实施例设备拓朴图。 具体实施方式
为了解决现有技术中基于 Linux 系统的智能移动终端存在的启动一个全 新的应用, 且物理内存已经全部分配完时, 新应用启动的速度非常慢的问题, 本发明第一实施例提供了一种基于 Linux 系统的智能移动终端应用启动的方 法, 该方法应用于基于 Linux系统的手机(后序的描述均采用手机代替) 中, 当启动手机的 MP3播放器进行 MP3播放时, Linux系统会通过— alloc jpages 函数来分配物理内存, 如杲有空闲的物理内存, 那么直接从空闲列表中得到 内存, 返回内存地址。 如果内存已经全部分配, 则将当前 CPU的频率由 60M 提高到 624M, 当 CPU工作在 624M时, 基于 624M的 CPU频率, 进行内存 释放, 并启动 MP3播放器进行 MP3播放。 其中内存释放具体过程为, 通过 wakcup_kswapd函数发送唤醒 kswapd内核线程事件, 来唤醒 kswapd内核线 程来进行内存释放。 释放的内存被重新放置到内存的空闲列表中, — alloc_pages再次从内存的空闲列表申请内存时就可以得到需要的内存空间。 由于得到需要的内存空间进而可以启动 MP3播放器进行 MP3播放。 在 Linux 系统中 kswapd内核线程是一个幹放内存空间的内核线程。 当然本实施例不限 于基于 Linux系统的手机, 同样也可实施于其它基于 Linux系统的设备, 如基 于 Linux系统的计算机等。启动 MP3播放器进行 MP3播放也只是本实施例的 一个优选的方案, 本实施例的方法也适用于其它新应用的启动, 如启动浏览 器进行网页的浏览等。当然为了进一步的提高启动 MP3播放器的速度,在 CPU 的频率提高的同时, 还可以提高总线的频率。
本实施例方案的关键就是当物理内存全部分配后, 发送调频的事件通知 频率控制的线程将 CPU的频率和总线频率提高,使得 CPU和其他资源都处于 一个高性能状态,然后再通过 wakeup_kswapd函数发送唤醒 kswapd内核线程 事件, 通过 kswapd的内核线程来蜂放内存, 这样就可以保证内存的空闲列表 有足够的内存空间进行分配,进而启动 MP3播放器进行 MP3播放,具体的流 程如图 1所示, 包括:
步骤 101 : 启动手机的一个全新的应用 MP3播放器。
启动一个全新的应用需要重新分配内存空间, 由于 Linux内存管理机制, 所有的物理内存已经分配完。
步骤 102: 内存分配完,启动 MP3播放器时内存申请失败,发送调节 CPU 频率的事件通知, 提高当前 CPU频率且延时 50毫秒。
本实施例在本步骤具体实施时, 作为优选方案是让 CPU频率控制的线程 将频率由 60M提高到 624M, 总线频率提高到 312M, 并启动定时器, 延时 50毫秒, 当然如前述, 也可以只提高 CPU频率而不提高总线频率。
其中本实施例中的 CPU的频率可工作在 60M、 104M、 208M和 624M, 在进行 CPU频率提高时, 如果当前 CPU的频率工作在 60M, 还可以将 CPU 的频率提高到 104M和 208M, 如果当前 CPU的频率工作在 104M, 还可以将 CPU的频率提高到 208M和 624M, 总之要将当前 CPU的频率提高。
Linux系统是通过— allocjmges函数来分配物理内存, 当内存已经全部分 配时, 将当前 CPU的频率由 60M提高到 624M, 启动定时器, 延时 50毫秒 让 CPU频率工作在 624M, 总线频率工作在到 312M。 其中, 延时 50毫秒可 以是根据手机中不同的应用, 综合考虑确定的统一的经验值, 也可以根据手 机中不同的应用, 分别确定的对应不同应用的延时, 如启动 MP3播放器对应 的时延是 50毫秒, 启动浏览器对应的时延是 40毫秒。
频率提高的总线包括存储空间 (NAND ) 总线和内存空间 (SDRAM, 即 本实施例中使用的内存)总线, 其中启动新应用如启动 MP3播放器和启动浏 览器所需数据均存储于存储空间 (NAND ), 存储空间 (NAND ) 总线为读取 启动新应用所需数据的总线。 由存储空间(NAND )读取出来的启动新应用所 需的数据, 均被写入内存空间 (SDRAM ) 中供新应用启动使用, 内存空间 ( SDRAM )总线为向内存中写入由存储空间 (NAND ) 总线读取的数据的总 线。
提高 CPU 频率和总线的频率, 具体实施时是通过调频函数 incrcase_cpu_freq发送调频事件, 通知频率控制线程将 CPU和总线的频率提 ι¾。
步骤 103: 在 CPU和总线频率提高的情况下, 发送唤醒 kswapd的内核线 程事件。
本步骤在具体实施时, 是在 CPU 和总线频率提高的情况下, 通过 wakeup— kswapd函数发送唤醒 kswapd内核线程事件, 来唤醒 kswapd内核线 程来进行内存释放。
步骤 104: kswapd内核线程被唤醒后进行内存释放。
本步骤在具体实施时, 释放内存完成后 kswapd的内核线程继续睡眠。 步骤 105: 再次从内存空闲列表申请内存。
由于 kswapd内核线程已经释放了内存, 所以可以申请到内存, 保证 MP3 播放器启动需要的资源。 具体是将释放的内存被重新放置到内存的空闲列表 中, 由于内存已经被释放, 分配物理内存的— alloc_pages 函数再次从内存的 空闲列表申请内存时, 就可以得到 MP3播放器启动需要的内存空间。
步骤 106: 在定时器延时的 50毫秒内, 完成新应用 MP3播放器的启动。 以上 CPU和总线一直工作在高性能状态, 保证操作的快速性。 当定时器 延时 50毫秒到时后, 新应用 MP3播放器的启动已经完成, 再次将 CPU的频 率根据 CPU当前的负载进行调节, 以降低手机的功耗。
当然, 还可以是定时器设定的延时为 20毫秒, 在 20毫秒内, 在 CPU和 总线频率提高的情况下 (也可以是只提高 CPU的频率)进行内存释放, 之后 降低 CPU和总线频率, 在降低 CPU和总线频率后启动 MP3播放器。 具体的 方案可根据需求进行选择。 但是作为本实施例方案的核心思想是, 内存不够 新应用 MP3播放器使用时, 将当前 CPU的频率提高, 基于提高后的 CPU的 频率进行内存的释放, 使得有足够的内存供新应用启动。
本实施例中的手机上采取的电源管理方法为动态的调节 CPU的频率, 也 就是根据当前 CPU的负栽, 来调节 CPU的频率, 如表 1所示。
Figure imgf000007_0001
表 1
当 CPU的频率在 60M, 如果 CPU的负栽大于等于 95%时, 将 CPU的频 率提高到 104M;
当 CPU的频率在 104M, 如果 CPU的负栽大于等于 70%时, 将 CPU的 频率提高到 208M; 如果 CPU的负栽小于等于 28%时, 将 CPU的频率降低到 60M;
当 CPU的频率在 208M, 如果 CPU的负栽大于等于 95%时, 将 CPU的 频率提高到 624M; 如果 CPU的负栽小于等于 30%时, 将 CPU的频率降低到 104M;
当 CPU的频率在 624M, 如果 CPU的负栽小于等于 65%时, 将 CPU的 频率降低到 208M。
基于上述的 CPU频率调整策略, 本实施例中 CPU的频率被调整到 624M 并完成新应用 MP3播放器的启动后, 将会根据 CPU的频率在 624M时, CPU 的负栽小于等于 65%,将 CPU频率调整到 208M。再根据 CPU的频率在 208M 时, CPU的负栽小于等于 30%, 将 CPU频率调整到 104M, 最终根据 CPU的 频率在 104M时, CPU的负载在 28%和 70%之间, 停止负载调整。
根据当前 CPU的负栽不同,动态的调节 CPU的频率,进一步很好地解决 了功耗和性能的矛盾, 能让手机在速度比较快的情况下, 功耗相对较低。
本发明实施例的方案, 根据内存分配的机制, 可以精确了解内存的使用 情况, 而内存的使用情况直接影响了应用的启动速度, 所以可以在很恰当的 时间来提高 CPU的频率, 保证手机的运行速度; 并且进一步也能在很恰当的 时候将 CPU的频率降低, 减小手机的功耗。 这样就很好的解决了性能和功耗 的矛盾, 让手机既有快速响应的性能, 又保持在较低功耗状态工作。
本发明提供的第二实施例是一种基于 Linux系统的智能移动终端,如图 2 所示, 包括:
变频模块 201, 用于当需要启动新应用但内存不够新应用使用时, 提高
CPU频率;
释放模块 202, 用于基于提高后的 CPU的频率进行内存释放;
启动模块 203 , 用于在内存释放后启动新应用。
进一步, 变频模块 201, 还用于将当前 CPU的频率提高的同时, 提高总 线的频率, 频率提高的总线包括第一总线和第二总线, 第一总线为读取启动 新应用所需数据的总线, 第二总线为向内存中写入由第一总线读取的数据的 总线;
释放模块 202, 还用于基于提高后的 CPU的频率和总线的频率进行内存 释放; 启动模块 203, 还用于基于提高后的 CPU的频率和总线的频率启动新应 用。
进一步, 释放模块 202, 还用于提高 CPU的频率和总线的频率后, 启动 定时器在预定时间进行内存释放;
启动模块 203, 还用于提高 CPU的频率和总线的频率后, 启动定时器在 预定时间启动新应用。
进一步, 变频模块 201, 还用于将当前 CPU的频率提高为 CPU所支持的 最高频率,以及进行新应用启动后,根据 CPU此时的负栽小于等于闹值对 CPU 的频率进行调节, 降低 CPU的频率。
进一步, 变频模块 201, 还用于通过一个调频函数发送调频事件, 通知频 率控制线程将 CPU和总线的频率提高。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种基于 Linux系统的智能移动终端应用启动的方法, 其特征在于, 包括:
当需要启动新应用但内存不够所迷新应用使用时, 提高 CPU频率; 基于提高后的 CPU的频率进行内存释放;
在内存释放后启动所述新应用。
2、 如权利要求 1所述的方法, 其特征在于, 提高 CPU频率步骤具体为: 将 CPU的频率提高并提高总线的频率, 频率提高的总线包括第一总线和 第二总线, 第一总线为读取启动新应用所需数据的总线, 第二总线为向内存 中写入由第一总线读取的数据的总线;
内存释放步骤具体为:
基于提高后的 CPU的频率和总线的频率进行内存释放;
启动新应用具体为:
基于提高后的 CPU的频率和总线的频率启动新应用。
3、 如权利要求 2所述的方法, 其特征在于, 进行内存释放具体为: 提高 CPU的频率和总线的频率后, 启动定时器设置预定时间, 并在预定 时间进行内存释放。
4、 如权利要求 2所述的方法, 其特征在于, 将 CPU的频率提高并提高 总线的频率具体为:
通过一个调频函数发送调频事件, 通知频率控制线程将 CPU和总线的频 率提高。
5、 如权利要求 1所述的方法, 其特征在于, 将当前 CPU的频率提高具 体为:
将当前 CPU的频率提高为 CPU所支持的最高频率;
进行新应用启动后还包括:
根据 CPU此时的负载小于等于阈值对 CPU的频率进行调节, 降低 CPU 的频率。
6、 一种基于 Linux系统的智能移动终端, 其特征在于, 包括:
变频模块, 用于当需要启动新应用但内存不够新应用使用时, 提高 CPU 频率;
释放模块, 用于基于提高后的 CPU的频率进行内存释放;
启动模块, 用于在内存释放后启动新应用。
7、 如权利要求 6所述的智能移动终端, 其特征在于, 变频模块, 还用于 将 CPU的频率提高并提高总线的频率, 频率提高的总线包括第一总线和第二 总线, 第一总线为读取启动新应用所需数据的总线, 第二总线为向内存中写 入由第一总线读取的数据的总线;
释放模块,还用于基于提高后的 CPU的频率和总线的频率进行内存幹放; 启动模块, 还用于基于提高后的 CPU的频率和总线的频率启动新应用。
8、 如权利要求 7所述的智能移动终端, 其特征在于, 幹放模块, 还用于 提高 CPU的频率和总线的频率后, 启动定时器在预定时间进行内存释放。
9、 如权利要求 7所述的智能移动终端, 其特征在于, 变频模块, 还用于 通过一个调频函数发送调频事件, 通知频率控制线程将 CPU和总线的频率提 高。
10、 如权利要求 6所述的智能移动终端, 其特征在于, 变频模块, 还用 于将当前 CPU的频率提高为 CPU所支持的最高频率,以及进行新应用启动后, 根据 CPU此时的负栽小于等于阈值对 CPU的频率进行调节, 降低 CPU的频 率。
PCT/CN2011/070549 2010-02-04 2011-01-25 一种基于linux系统的设备及其应用启动的方法 WO2011095086A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010112878.6 2010-02-04
CN201010112878.6A CN101770385B (zh) 2010-02-04 2010-02-04 一种基于Linux系统的设备及其应用启动的方法

Publications (1)

Publication Number Publication Date
WO2011095086A1 true WO2011095086A1 (zh) 2011-08-11

Family

ID=42503264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/070549 WO2011095086A1 (zh) 2010-02-04 2011-01-25 一种基于linux系统的设备及其应用启动的方法

Country Status (2)

Country Link
CN (1) CN101770385B (zh)
WO (1) WO2011095086A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770385B (zh) * 2010-02-04 2013-05-22 青岛海信移动通信技术股份有限公司 一种基于Linux系统的设备及其应用启动的方法
CN103024538A (zh) * 2012-11-12 2013-04-03 北京奇虎科技有限公司 内存管理方法及系统
CN102984580B (zh) * 2012-11-12 2016-04-20 北京奇虎科技有限公司 内存清理方法及系统
CN104008062B (zh) * 2013-02-25 2018-03-27 腾讯科技(深圳)有限公司 内存管理方法及内存管理装置
CN103500003B (zh) * 2013-09-30 2017-02-08 北京奇虎科技有限公司 便携式终端的cpu频率调节方法及调节装置
CN105224469A (zh) * 2014-06-16 2016-01-06 陈宏达 主动式内存管理方式
CN104850423B (zh) * 2015-01-16 2017-12-26 中国矿业大学 识别android系统下应用程序启动阶段的方法
CN106155870B (zh) * 2015-04-27 2020-02-28 腾讯科技(深圳)有限公司 一种终端的优化处理方法、装置及终端
CN105740020A (zh) * 2016-01-29 2016-07-06 宇龙计算机通信科技(深圳)有限公司 应用程序的启动方法、启动装置和终端
CN106095567B (zh) * 2016-05-31 2019-08-30 Oppo广东移动通信有限公司 一种安装任务的分配方法及移动终端
CN107220076B (zh) 2016-09-27 2018-10-30 华为技术有限公司 一种内存回收方法及装置
CN106708241A (zh) * 2016-11-24 2017-05-24 捷开通讯(深圳)有限公司 移动终端及提高其在低功耗模式下的性能的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770125A (zh) * 2004-11-04 2006-05-10 华为技术有限公司 一种分配内存的方法
CN100349098C (zh) * 2005-11-28 2007-11-14 北京中星微电子有限公司 基于任务的动态调节cpu工作频率的方法及系统
EP2101269A1 (en) * 2008-03-10 2009-09-16 Samsung Electronics Co., Ltd. Memory allocation method for direct memory access and terminal therefor
CN101770385A (zh) * 2010-02-04 2010-07-07 青岛海信移动通信技术股份有限公司 一种基于Linux系统的设备及其应用启动的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2003256073A (ja) * 2002-03-04 2003-09-10 Sony Corp 情報処理装置および方法、並びにプログラム
CN1225681C (zh) * 2003-01-07 2005-11-02 纬创资通股份有限公司 可切换工作频率的计算机系统及其切换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770125A (zh) * 2004-11-04 2006-05-10 华为技术有限公司 一种分配内存的方法
CN100349098C (zh) * 2005-11-28 2007-11-14 北京中星微电子有限公司 基于任务的动态调节cpu工作频率的方法及系统
EP2101269A1 (en) * 2008-03-10 2009-09-16 Samsung Electronics Co., Ltd. Memory allocation method for direct memory access and terminal therefor
CN101770385A (zh) * 2010-02-04 2010-07-07 青岛海信移动通信技术股份有限公司 一种基于Linux系统的设备及其应用启动的方法

Also Published As

Publication number Publication date
CN101770385B (zh) 2013-05-22
CN101770385A (zh) 2010-07-07

Similar Documents

Publication Publication Date Title
WO2011095086A1 (zh) 一种基于linux系统的设备及其应用启动的方法
JP7235226B2 (ja) 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ
KR101642240B1 (ko) 주변 디바이스에 대한 효율적인 저전력 종료 시퀀스
TW201717027A (zh) 用於具有適應性預取之快閃記憶體讀取快取之系統及方法
US20170199814A1 (en) Non-volatile random access system memory with dram program caching
EP3411775B1 (en) Forced idling of memory subsystems
WO2015051711A1 (zh) 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备
CN107430554B (zh) 通过使用数据的可压缩性作为高速缓存插入的标准来提高存储高速缓存性能
TW201229755A (en) Method and apparatus for improving the resume time of a platform
US20150242310A1 (en) Data Accessing Method And Data Accessing Apparatus
KR101846612B1 (ko) 부트 데이터 로드
WO2012159394A1 (zh) 一种移动设备内存管理方法及装置
JP2011164968A5 (zh)
JP2018500639A (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
CN110362517B (zh) 用于动态地调整在计算设备和存储设备之间传输i/o请求的方式的技术
KR20130103553A (ko) 캐싱된 이미지들을 이용하는 저전력 오디오 디코딩 및 재생
US11010094B2 (en) Task management method and host for electronic storage device
EP2972860A1 (en) Dual host embedded shared device controller
WO2022143295A1 (zh) 固件升级方法和相关设备
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
Zhong et al. DR. Swap: Energy-efficient paging for smartphones
EP4328705A1 (en) Storage space arrangement method and electronic device
Zhong et al. Energy-efficient in-memory paging for smartphones
WO2011131003A1 (zh) 实现手机缓冲存储器机制的系统及手机操作系统加载方法
US9804790B2 (en) Method of operating memory controller and semiconductor storage device including memory controller

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11739365

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/10/2012)

122 Ep: pct application non-entry in european phase

Ref document number: 11739365

Country of ref document: EP

Kind code of ref document: A1