Today, I want to check a video from an Intel engineer on CSDN. The name is "Moblin system Quick Start Core Technology Analysis", but I can't find it. This is a good technical introduction. Is it deleted. I don't know if CSDN has disabled all videos when I checked images last time. No way. rummaging through the Cabinet, find some of the previous notes, and record them first. However, it cannot be completely loyal to the original work. There may be deletions. Better than nothing. It would be nice if I could publish those technical videos again. I was looking for codec and container materials. I remember it was also given by Intel engineers and later I found that everything was gone.
Intel's innovations in Meego (formerly Moblin), first, rapid start, second, low power consumption, entered the Linux mainline, making) and fadora can start up in 10 seconds. This is very important in handheld devices. The following records may not fully reflect the content of the original video. I have added some of my understanding and skipped some uninteresting parts. If there is any technical problem, it should not be attributed to INTEL engineers.
Quick Start
System Boot starts from press power to normal use, including three parts: 1. Start Time of BIOS/BSP; 2. System Platform (Operating System) startup time of; 3. Start Time of desktop UI and application.
The first part is related to hardware and has nothing to do with the system platform. We will not discuss it.
The second part is the key part of quick start. There are four key technologies:
Key Technology 1: fast loading of kernel modules (including device drivers)
- Compile the Kernel module into the Kernel image as much as possible: Reduce the number of modules that need to be independently loaded, saving time
- Asynchronous kernel module initialization: Improves the parallel processing of the kernel module and can detect multiple hardware devices at the same time to reduce the startup time.
Key Technology 2: accelerating File read efficiency (Sreadahead: super read ahead)
- Use Sreadahead to increase the speed of reading SSD files: Put the startup files into the kernel page cache.
Key Technology 3: optimizing the display driver to enable fast X server startup (fast X)
- Reduces the time spent on loading the video card driver and memory occupied by the video card driver.
- Acceleration X Server startup time: cache the XKB (leyboard layouts) results for future use. X can directly use the usage mode detected during kernel startup.
Key Technology 4: optimizing the init script
- Streamline unnecessary background programs and services (nfs server, mail server)
- Start necessary background program services in parallel (such as butler, hal, connman)
The third part is to start upper-layer applications and services. We should consider the order of startup in smartphones.
Low Power Technology
Key Technology 1: reducing the power consumption of device components/peripherals
- Principle 1: Disable unused components/peripherals. If they cannot be disabled, go to sleep to reduce power consumption.
Principle 2: Do not wake up when not necessary for sleeping components/peripherals
Principle 3: complete as much work as possible in a wake-up cycle so that components/Peripherals can sleep for a longer period of time.
Basic: component sleep Control Technology
Method:
Each function block provides independent power supply, preferably the bottom-power device, which can be switched and controlled. You can set the energy-saving mode.
Power supply optimization management function design, implementation of underlying hardware, system software and application software multi-layer collaboration
Status switching mechanism: idle state (lowering the CPU clock frequency, disabling some components, and dynamically adjusting the voltage)
Example:
Example 1: screen Low Power Consumption: backlight adaptive adjustment priority management and Screen Saver
Example 2: smart network connection management: for Wi-Fi/WAPI, to avoid long-time searches, forwarding to data packets is saved first and sent only when the periodic broadcast beacon frame is used, avoid entering a module that is always in the working state and provides a sleep period
Example 3: USB, for slave mode, charging from the master, for master mode, sleep when not working.
Key Technology 2: Low Power solution for the System Platform
- Principle 1: When the CPU is in the wake-up cycle, process as much as possible to prolong the sleep period as much as possible;
Principle 2: Wake up multiple events at the same time to reduce the frequency of wakeup
Basic: Low Power Consumption of CPU
Method 1: kernel Low-Power Optimization
Example 1: Linux kernel Optimization of power management: determine the level of C State currently entered based on historical records.
Example 2: Smart Control Over P state: the control adopts on demand cupfreq govener, that is, the on-demand CPU frequency adjustment technology.
Example 3: Synchronize wake-up as much as possible: including kernel tickless idle, global Timer technology, and merging/synchronizing peripheral interrupt clock
Method 2: Low-Power Optimization of user space programs
Example 1: Avoid frequent interruption events: optimize all applications of the system and combine/synchronize trigger events
Example 2: Reduce frequent I/O processing, merge write operations, and use a large cache to reduce the frequency of read/write operations
Example 3: In application development: perform as many tasks as possible during processing to allow sleep for a longer period of time.
Example 4: hardware codec is more efficient than Software Codec
Background: three States of the CPU
- C State: a set of idle states, that is, a series of sleep states: Close unused cycle, the higher the level of C state, the deeper the sleep, but the time and power consumption required to wake up is greater
P state mode: reset state, which reduces CPU frequency and CPU point pressure (reduce frequency and reduce pressure) to reduce power consumption. OnDemand cpufreq governor can be used for on-demand frequency control ). [Pay-as-you-go allocation is the ideal mode]
There is also t state, thermal state: used to handle CPU overheating
Related Links: My embedded Linux articles
,
My Linux articles