Kernel center Index: Kernel questions answered. Kernel comparison 1.1 What is a kernel? A kernel is in general the ‘connection’ between the hardware and the GUI (Graphical User Interface)/ the user. The kernel communicates directly with the hardware and controls it (e.g. the cpu freq., input/output and much more). So modding the kernel may make cpu/gpu overclocking (higher cpu/gpu freq. than normal), cpu/gpu over- and undervolting (higher or lower voltage per frequency) and much more. Other common mods are sound and I/O sheduler mods (I/O: input/output) The Android kernel is based (similar to the whole android thingy) on the linux kernel and shares many features. For example some chinese tablets (maybe other tablets use the same multiwindow but i am petty sure with the chinese tablets as I had one) got multiwindow support after such feature was implemented in a newer version of the Linux kernel. 1.2 Why changing the kernel? Why moving from stock kernel to a modified/totally different kernel? As already explainded in 1.1 modding or changing the kernel may add features such as sound boost, cpu overclocking, cpu overvolting/undervolting, I/O sheduler boosts, doubletap2wake, INTELLIPLUG Eco and much more. These features can one the one hand fix the issues and bugs but on the other hand they can also ADD features to the device. This might be resulting in a better performance, a better battery life, the ability to charge your device more quickly, the ability to double tap the device’s screen to unlock and much more. 1.3 I just read I/O sheduler….. what is that? The I/O sheduler manages the input and output (read/write) requests and it’s goal is to optimize the requests made to the hardware to be more efficient, have a higher throughput and use less battery. There are many different I/O shedulers…. each is different. Here are the most well known ones: row sheduler: row stands for Read Over Write. This sheduler gives reading tasks priority over writing tasks. This can be very useful because smartphones statistically run more reading than writing tasks. noop sheduler: the noop sheduler inserts each and every request into an unorderd queue (FIFO to be more precisely). Afterwords so called request merging is applied. (Two request can be merged if the end-sector of one request corrispondents to the sector before the start of the other one and the requests are in the same direction (read or write)) deadline sheduler: the deadline sheduler’s goal is to guarantee a service time for a request. How? By imposing a deadline on every single request. The requests are thereafter sorted by their deadline. You can change the value of the dealine with trickstermod for example. CFQ sheduler: CFQ stands for Completely Fair Queuing. The sheduler places synchronous request by each process into per-process queues. Then it allocates timeslices for each queue. there are more shedulers!!! if you know one pls tell me! I/O shedulers are supposed to minimize the power consumption while maximizing latency, thoughput and thereby performance and overall speed. 1.4 How does samsng cheat during benchmarks and/or what is DVFS? Fist of all DVFS stands for Dynamic Voltage and Frequency Scaling. Implemented by Samsung to temporiarly overclock the note 3 evertime you start a benchmark and to optimize the performance and battery during gaming. DVFS usually causes lags during casual usage after heavy usage. There is a Xposed module available through the playtore which disbles DVFS! (requieres root and and xposed framework) 1.5 AOSP that sounds like the first agency with its a at the beginning! Well, that is in every imaginable way WRONG AOSP stands for Android Open Source Project. AOSP is THE most important differnece between Android and other mobile operating systems. While for example everything of the iOS code is propertary code licensed by Apple, Android is the total opposite of that. Android’s source code is available online for everybody and everybody can actually use it and modify it. That’s why there are so many Android manufacturers and that’s also why there is such a huge community of developers using and sharing the code. If OEM xy wanted to use Android or its code for their own product they simply use the code available online and if they so choose give them back. But they don’t have to! (larger companies might meet someone at google for potential partnerships as this increases efficiency though) 1.6 What exactly are all these (factory) images they are always talking about? first of all these images have to be flashable images. Meaning they can be flashed to relating partitions. For example the boot image is flashed to the boot partition (the boot.img contains the kernel without any configuartions) and so on. In other words these images belong to certain sectors of the devices storage and are the software for them. All this software and sectors are loaded upon boot. Thats why most of the changes made to this software need a reboot in order to take effect. (You don’t need to flash the kernel over the recovery. You can also flash it via e.g. Rashr. and then reboot) 1.7 Are there any other more or less kernel related questions?