What is a kernel? If you spend any time reading Android forums, blogs, how-to posts or online discussion you'll soon hear people talking about the kernel. A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, bet every phone uses their own version of it. Linux kernel maintainers keep everything tidy and available, contributors (like Google) add or alter things to better meet their needs, and the people making the hardware contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with one version of the kernel for a phone might not work with a different version of software on the same phone. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic — there's an action of some sort generated for every event, and depending on that action things happen to the running software. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass.
Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
AC Podcast 492: TikTok/WeChat Ban; LG Wing; Pixel 5s; PS5
Daniel and Jerry are joined by Alex Dobie and Joe Maring to make sense of the impending (at the time of recording) TikTok and WeChat bans in the U.S. The crew also preview the LG Wing and discuss Apple's recent Watch and iPad announcements in comparison to Android-compatible watches and the Galaxy Tab S7. Alex also reports on the rumored Pixel 5s. Plus, the next-gen consoles are coming...
Foldables are finally good enough to actually spend money on
Foldable phones have come a long way in 18 months, and now with the Galaxy Z Fold 2, we have no major flaws, no shortchanged specs and no hurdles still to overcome. Now is the tipping point when foldables start to actually become worthy of your wallet.
Want an Oculus Quest 2? Here's where to buy one!
The Oculus Quest 2 was announced at Facebook Connect 2020. Here's how to preorder the hottest new wireless VR system around!
The best portable instant photo printers for Android devices
You're on the move and making memories on your mobile. While digital is great, why not try and make those memories a little more permanent with a tangible photo?