Android Is Based On Linux, But That Doesn't Make It A PC
Android is based on Linux, which is widely known for PC operating systems, but the question is, does this make Android a PC operating system also? Learn the similarities and differences between the two.
One thing most people know about Android is that it is based on Linux. Linux is also the basis for PC operating systems, including Debian and Ubuntu. Does that mean they are the same and that Android devices are basically PC’s? The short answer is no, but there are some similarities in addition to these differences.
The Linux kernel
To understand the relationship between the two, it's important to understand what Linux really means. When most people talk about Linux, they actually mean Linux distributions (the Linux-based operating systems mentioned above). Android is not based on these distributions.
Distributions are actually a whole raft of software built on top of something called the Linux kernel. Android is also built up from the Linux kernel, which is where the confusion commonly arises. Every operating system is built from a kernel. The Linux kernel is open-source, which is why Google used it to develop their Android OS.
Using the Linux kernel meant that Google's Android developers didn't have to start from scratch by writing their own kernel.
You can actually see which version of the Linux kernel your Android OS is based on by going to About in your device's settings menu. Then tapping on Software information.
Information about your Android device's software
After this, tap More. It will be displayed under Kernel version.
Find your Kernel version under 'Software information'
What this means is, both Android and some PC operating systems are built from the same core. It’s important to note however, things built on top of that core are very different.
Similarities and differences between Android and PC
PC-based Linux distributions include a fairly standard set of software (such as GNU libraries or an X server) that Android doesn't. Instead of the standard GNU C library used on PC operating systems built on the Linux kernel, Android has its own C library called Bionic.
Android also has things that Linux PC’s don't. The kernel used by Android is not quite the standard Linux one. Instead it has been developed to include an alarm driver, kernel debugger, logger, power management, and other things not present in the standard Linux kernel.
You can't run Android apps on a PC. This is because Android uses the Dalvik virtual machine or ART (depending on your version of Android) to run applications written in Java.
Android apps won't run on a PC
It's also not as simple as simply adding ART/Dalvik to a Linux PC. It would take a lot more work to make the software work.
By the same token, you won't be able to run Linux programs and applications on an Android device. This is because of the software mentioned in point 1, which is actually missing from the Android setup.
Both Android and Linux PC's have a shell. This is the terminal environment where you can enter commands. Although this is present in both cases, you need to root your phone to access it in Android.
Once you have access to the terminal environment, not all of the same commands will work on Android as on a Linux PC. This problem can be solved by installing the BusyBox app, which should then supply any missing functionalities.
Use BusyBox to get full functionality from the terminal environment
They serve different communities. The similarity between Android devices and Linux PC’s (the kernel) isn't terribly interesting to the majority of users. The developers and contributors to these communities have little in common. Chiefly because their interest lies in applications – which are mutually incompatible between Android and Linux.
They use different storage media. While PC’s use magnetic drives, Android prefers Yet Another Flash File System or YAFFS. As well as being more resistant to kinetic shocks, YAFFS is also a better choice for the space constraints of mobile devices.