ROM Android: Arsitektur Android

From OnnoWiki
Jump to navigation Jump to search

am quite sure that if you are an android owner, once in a while you might have encountered some terms which would have made you utterly confused. Things like rooting, ROM etc. may just sound to you like a waste of time, but to be honest they are the biggest strength of this platform.

In past we have written a few posts about cyanogenmod and custom roms but didn’t give a full overview on what they exactly are. So here I am trying to answer a few questions that were raised.

Cyanogenmod

Let me start with the basics. What is Android?

In a layman’s term, Android is operating system that runs on primarily on mobile platform (Cellphone/tablets). It certainly is not the hardware that you get when you purchase a phone. Architecture of Android

Before I go in depth about ROM and Super User, let me tell you a little about the architecture of android. For any computational device to work there needs to be certain element which interacts with the hardware. Hardware alone can’t do a thing unless it is directed to. This direction/interaction with the hardware is done through the innermost layer of the operating system known as kernel. The Kernel inside android is a fork of present day Linux Kernel.

The layer above kernel is what gives the kernel instruction to perform specific tasks. For instance if your click on the browser icon on the launcher, the input is interpreted by kernel (as it interacts with hardware) but what to do with this input is understood by the next layer, which is application. In this case the launcher. So the question is how does launcher work? It doesn’t directly work with kernel, instead there is an intermediate called Dalvik Virtual Machine which runs these applications. If you are familiar with Java you will understand this quite easily, but if you don’t get it don’t bother.

In short, hardware interacts with kernel which interacts with Dalvik virtual machine which interacts with applications, and all these together combined is called ROM (why, I will explain it next).

ROM, RAM and Firmware

ROM stands for Read Only Memory, there are many kinds of ROM, some which can be erased, some that can be programmed. ROMs are used to store the entire stack that I mentioned above. Whole Kernel, DVM and Applications are stored in these ROM, hence the name.

There is quite a difference between ROM and RAM so don’t get confused. On one hand ROM is like a permanent storage, RAM is the temporary storage. It stores the run time data that is generated during processing.

And, if you hear someone say something about ‘firmware’ don’t get confused because ROM and Firmware are almost the same. What is Rooting? Who is a Super User?

If you are an avid ‘Linux/Unix’ user then I don’t need to answer these, but for others let me put it this way. If you have read till now you would realize that Linux Kernel is in the heart of this device. So all the inherent features of operating system would be same as Linux. Therefore which is the one user which can do anything/everything on a Linux system?

The answer is Root aka super user, and hence the term rooting.

Rooting gives you the rights/permission to do certain tasks on android which has inherently been blocked by the handset makers for both simplicity and security of the device. You might have noticed that when you install any application from android market, it asks for certain permissions. Similarly there are some applications which require system level permissions for them rooting is required.

There are different ways to root android (depending on the version), but we will not deal with them here. Flashing the ROM

As you might know, Android is an open source initiative and anyone can go ahead and build his/her own custom operating system for their handset. There are numerous developers working on building their own versions of Android. One of them that we mentioned previously is known as Cyanogenmod. There are many such ROMs built for many different devices, and process of installing these on the handset is commonly knows as flashing. The process of flashing varies from handset to handset and ROM to ROM. It isn’t a difficult task, but certainly requires lots of research.

I think this should be enough for the basics, though you should know about some common terms used in relation to android.

   Deodexed – If you are new to flashing and modding, don’t bother with this one. It is for those who venture a little deep into it. And if you are really interested in knowing what exactly it is you read about it in this excellent article at addictivetips.com.
   Partitions – Don’t get confused when someone says ‘ROM partitions should be ext4 or Reiserfs’. Partitioning is dividing the internal memory of the handset, and ext4/reiserfs are the file systems. Like in case of Windows, fat32 and ntfs.
   Bootloader – Again, if you are linux user I don’t need to explain you this, but for the ignorant ones, bootloader is what loads the kernel into the main memory so that it can interact with hardware. I won’t go deep into how it works, but would point out that the moment your device starts the first thing that comes up after powering on is Bootloader, which loads the modules of kernel in memory.

Ok enough of complex stuffs, let me tell you about the applications you might need if you think of flashing.

   Odin – Its a Windows application which interacts with the device at hardware level and can write on ROM (Read only memory) of the handset.
   CWM – Clockwork Mod is an application installed on android device that manages the ROM(the stack) installed in the system. It can be used to install or backup the roms.

This is more than enough information for one read. If you wish to know more about your handset post your queries here and I will guide you to right place. Also for most of HTC/Samsung/Motorola phones the best place to venture is XDA Forum.

The objective of this post was to let you know more about Android. I have not discussed the advantages and disadvantages of custom roms or rooting, but then again I said it requires a lot of research. Just a little help to your research, read this article.



4 Basic Android Customizations by: Radu Tyrsina

Updated on April 18th, 2011


   Android

Share 0 Recomended Understand the Basic Android Terminologies Understand the Basic Android Terminologies

Awesome Gmail Themes and Customizations Awesome Gmail Themes and Customizations

Quick Launch: The Ultimate Custom Lock Screen Launcher for Android Quick Launch: The Ultimate Custom Lock Screen Launcher for Android


android-customization

Android phones came with the slogan that was totally in contrary with their major competitor, the iOS from Apple. While Apple has a wide selection of apps that can do pretty much everything you can think of and beyond, Android equipped phones are capable of completely changing the experience of using one. The idea behind Android being an open source one is that people could change anything they wanted. So the app base is already pretty good compared to iOS since the platform is new. The best part of being an open source platform is virtually no limitation to the customizations. Android is just that. If you are interested in Android customizations, then here are some tips:

1. Wallpaper: Good old wallpapers are age old concepts of customizing a device. It is the simplest method too. You can have a lot of wallpapers for free from the internet for your Android device. A different approach made here on this platform is the option of using ‘live wallpapers’. These wallpapers are essentially changing images that are displayed in succession. Some apps and widgets come with their very own version of live wallpapers. You can use them or you can choose your own by searching the internet.

2. Widgets: Widgets are quite familiar to most of us. These are small apps that can be placed on the home screen of a device to add functionality. There are many widgets that provide different information or customization to the home screen. Some of these are available for free and they can still be very useful ways of customization. Widgets usually display information like weather and temperature info, calendar etc.

3. Launcher: Launchers can replace the default bottom part of the screen on your Android device. While the basic function provided also by the basic launcher is the ability to launch applications, they can be used for certain other customization options. There are many free launcher apps. They are like apps, so at any point, you can change or remove them if you don’t want them to function anymore. Some launchers come with widgets that can be useful. You can take a look at their functionality.

4. ROMs: ROMs are the core of all Android phones. But if you want to change the experience at a hardware level, then these are your first steps. Custom ROMs with different functionality are targets of a lot of customers who want to modify their dream devices to make them heavenly ones. Some ROMs are cheaper than others. But you have to make sure that the ROM you are going to buy will work.


Referensi