Saturday, March 4, 2017

Android ROM DRM, Storage and I/O Architecture

 

                     please like & Subscribe our youtube channel

       https://www.youtube.com/playlist?list=PLQzJncZC8PUwCTcniu_akzp0N0oDx7l1n


ROM DRM Architecture


The Android platform provides an extensible DRM framework that lets applications manage rights-protected content according to the license constraints associated with the content. The DRM framework supports many DRM schemes; which DRM schemes a device supports is up to the device manufacturer. 



DRM is an acronym for Digital Rights Management. Android developers include DRM licenses in applications that protect their best interests. The DRM framework on your Android device makes the use of DRM licenses possible. Android DRM licensing is free service offered to Android application developers who publish apps through the Android Market.


android ROM DRM Architecture
android ROM DRM Architecture


Application Layer

Application layer contains many android apps which provide interface with application framework layer.

Application Framework

Application framework layer contains android.media.mediacrypto API which accesses by the application layer.

JNI

This API contain core code of c/c++ code. It is located in frameworks/base/media/JNI folder.

Native API

Native API associated with JNI API and it located into frameworks/av/media folder.

IPC

IPC provide the direct link between different processes. Its contain Icrypto.cpp and Imedia*.cpp and it’s located in to frameworks/av/include/media directory.

Media Service

Media service providers interface with HAL it contains in Crypto.cpp. It is located in frameworks/av/media.

 ROM Storage Architecture




Android supported external storage accessories (such as SD cards), but these accessories have limited to simple file storage and minimal data protection Android 6.0 introduces the ability to adopt external storage media to act like internal storage.
When external storage media is adopted, it’s store data in encrypted to only work with a single Android device at a time. Because the media is strongly tied to the Android device that adopted it, it can safely store both apps and private data for all users.

When users insert new storage media (such as an SD card) in an adaptable location, Android asks them how they want to use the media. They can choose to adopt the media, which formats and encrypts it.

Storage Architecture provides storage API to third party Applications.


android ROM Storage Architecture
android ROM Storage Architecture


Application Layer

This is the most upper layer which can contain many storage applications like file manager etc.

Application framework Layer

This is the second layer of storage Architecture which contains Android storage API like the content provider. For this Layer used android.os.storage lib.

JNI (Java Native Interface)

This Are java lib which provides the interface between native lib android lib.

 Native Libraries

Native Libraries is a most important layer in this architecture. Native Libraries provide the interface between java lib android IPC because both IPC and java lib used this layer.

IPC

IPC provide communication between native lib and different Applications.

Service

This layer contains Mount Services which provide declare memory related all Information about the device.

HAL

HAL layer is a most important layer in this architecture which provides communication between android driver part and application part.

Driver

Driver layer contains many android drivers which provide the interface between hardware part and low-Level application part.

 android ROM I/O Architecture




Input/output Architecture provides all APIS for Input/output data to access by this party application.


Device drivers are software modules which plugged with an OS to handle a particular device. Operating System takes use device drivers to handle all I/O devices. Device drivers are low-level programming t code and implement a standard interface in such a way that code contains device-specific register reads/writes. The device driver is generally written by the device's manufacturer.


android ROM I/O Architecture
android ROM I/O Architecture


Application Layer

Application Layer is a most upper layer in android I/O Architecture. This Layer Contain much Application for input Declaration like that touch screen or game, Key layout mostly all applications.

Application Framework Layer

Application framework layer Support application layer and provide android libraries to the application layer.

JNI

Java native libraries are java libraries which support to android libraries like 2D and 3D graphics, OpenGL.

Native Libraries

Next Level is native libraries which support to java or we can say that access by java native library.

IPC (Inter Process Communication)

IPC provide Communication between different processes which provide the link between applications.

Services

This layer contains all services to related devices it may be system services or server services depend on the talk which does you want to be executed.

HAL

HAL layer performs linking between to layer or we can say that it’s associated hardware and low-level software layer.

I/O Layer

This layer provides input to the device by software. We may provide input by touch screen or key layout we will learn about key layout later.




1 comment: