The Android OS is a popular and universally used operating system for smartphones. However, while on the user’s end it might appear simple and easy to use, the Android File Systems tend to be rather complicated and have a number of users scratching their head in amusement. Let us now take a detailed look at the file systems and what they have to offer to the users.
This informative piece is for people who are thinking to develop ROMs, Apps and a lot of other things on the android operating system. Without wasting a minute more let us begin with a detailed look at the android file system. We won’t just be naming the file systems, we would also give you a brief explanation about a particular file system.
Flash Memory Android File System
Originally created by Microsoft for flash memory, the exFAT file system is not a part of the standard Linux kernel. However, it still provides support for Android devices in some cases. It stands for Extended File Allocation Table.
Users of Samsung smartphones are bound to have come across this type of file system if they have been using the smartphone for a while. F2FS stands for Flash-Friendly File System, which is an Open Source Linux file system. This was introduced by Samsung 4 years ago, in 2012.
It stands for the Journal Flash File System version 2. This is the default flash file system for the Android Open Source Project kernels. This version of Android File System has been around since the Android Ice Cream Sandwich OS was released. JFFS2 has since replaced the JFFS.
It stands for Yet Another Flash File System version 2. Funny as the name might sound like, it is actually a serious business! It has not been a part of the AOSP for a while now and is rarely found in Android smartphones. However, it does tend to make a few appearances every now and then.
Media-based Android File System
Ext, which stands for the EXTended file systems, are the standards for the Linux file system. The latest out of these is the EXT4, which has now been replacing the YAFFS2 and the JFFS2 file systems on Android smartphones.
Microsoft Disk Operating System is known to be one of the oldest names in the world of Operating Systems, and it helps FAT 12, FAT 16 and FAT 32 file systems to run.
An extension to the aforementioned FAT 12, FAT 16 and FAT 32 file systems, the VFAT is a kernel module seen alongside the MSDOS module. External SD cards that help expand the storage space are formatted using VFAT.
Pseudo File Systems
Cgroup stands for Control Group. It is a pseudo file system which allows access and meaning to various kernel parameters. Cgroups are very important for the Android File System as the Android OS makes use of these control groups for user accounting and CPU Control.
Rootfs acts as the mount point, and it is a minimal file system. It is located at the mount point “/”.
Usually found mounted at the /proc directory. The procfs file system has files which showcase the live kernel data. Sometimes this file system also reflects a number of kernel data structures. These number directories are reflective of the process IDs for all the currently running tasks.
Usually mounted on the /sys directory. The sysfs file system helps the kernel identify the devices. Upon identifying a new device, the kernel builds an object in sys/module/ directory. There are various other elements stored inside the /sys/ folder which helps the kernel communicate with various Android File Systems.
A temporary file system, tmpfs is usually mounted on /dev directory. Data on this is lost when the device is rebooted.