Wednesday, 23 September 2015

Eid Mubarak


Eid Mubarak to ALL my dear Friends, Family members, Brothers, Sisters.


Muslims performing Eid prayer at Jama Masjid, New Delhi, India



Monday, 21 September 2015

How to Write an Essay - MOOC Course

Hi, recently I have registered the online MOOC course conducted by Berkley University on the topic "How to Write an Essay".  The course is conducted by UC Berkeley, California, under the instructor  Maggie Sokolik, Ph.D. It is dedicated to those people/students  who want to write good English, and to improve their English speaking. I had the intention to improve my written English, and I think this is the right place. If you would like to join, please go through this link.

The course had started from 14th Sept 2015 and will go a 4-week program. Anyone can join this course before closing the program, provided s/he should clear all the criteria to get Certificate or otherwise, can continue to earn knowledge. The course also giving the option to get a digital signature certificate after completion of the course, on paying the charging amount of money.


In the next few weeks, I will be posting a summary on the current ongoing course, and this will contain the topics covered, study materials and references. 

Arif Ahmed

Thursday, 10 September 2015

Android (Operating System) – An Overview

Introduction

Android is a smartphone operating system build above the Linux Kernel and developed by Google. Applications in android OS are run in Dalvik virtual machine, a kind of VM similar to JVM for JAVA. The source code of the OS is written in C, C++ and JAVA and periodically released under Open Source GNU Licensed by Google. The latest version is "Lollipop" API Level 5.1 released on April 21, 2015. Other mobile manufacturers ship their product integrating custom application to the original version.

A quick glance on Android Versions and release date
Android Version
API Level
Released Date
Android 5.0 Lollipop
API level 21
November 12, 2014
Android 4.4 KitKat
API level 19
October 31, 2013
Android 4.1 Jelly Bean
API level 16
July 9, 2012
Android 4.0 Ice Cream Sandwich
API level 14
October 19, 2011
Android 3.0 Honeycomb
API level 11
February 22, 2011
Android 2.3 Gingerbread
API level 9
December 6, 2010
Android 2.2  Froyo
API level 8
May 20, 2010
Android 2.0 Eclair
API level 5
October 26, 2009
Android 1.6 Donut
API level 4
September 15, 2009
Android 1.5
API level 3
April 27, 2009
Android 1.1
API level 2
February 9, 2009
Android 1.0
API level 1
September 23, 2008

As the popularity of this OS grows because of the open source and interactive interface, it has been released for other hardware devices particularly Android TV(for televisions), Android Wear(for wearable device  smartwatch), Android Car(for vehicle). According to Google, in 2014 this OS has total 1 billion active users per month. Earlier it was 538 million in 2013.  According to the latest statistics, smartphone user’s distribution based on the OS is like this.

Android OS Architecture

Android OS architecture is a stack of software components, each correlate with one another. It is like TCP/IP networking protocol stack, when a task is performed, different components of the layers are interact to accomplish the task.
The list of layer from Bottom to top is:
1. Linux Kernel
2. Android Libraries & Android Runtime
3. Application Framework and
4. Applications


Linux Kernel:
Android OS is built on the top of Linux Kernel.  Kernel is the critical component of an OS that performs management of input/output requests from the various softwares. It is the bridge between the hardware & software, and  all the system calls are handled by kernel.  Android OS are built above the Linux Kernel 2.6 with little modification by the Google. As we have told, Kernel are responsible for handling I/O request, most of the device drivers resides in this layer. When the OS is boot, the critical codes of the kernel are loaded in the protected area, it help in preventing any kind of code modification by the low-level software.

Libraries:
Android Libraries are native libraries used by the developers during the Android application development. They are in the top of the Linux Kernel. There are many libraries, each is dedicated for a particular goal. For example, WebKit is specifically for handling the browsing internet web, SQLite is database system and Media Framework is to play different audio, video media files etc.

Android Runtime :
Android runtime resides on the top of the Linux Kernel, parallel with Libraries.   It contains core libraries and Dalvik Virtual Machine (DVM). DVM is a Virtual Machine (VM) responsible for running the Android applications, just like JVM to run the java application. But, unlike JVM, it is in optimized and takes less memory to run an application. The use of DVM provides high performance.

Application Framework
Application Framework contains popular services that are implemented in java classes. Android developers frequently invoke these services, when an application is developed. Each service is created for specific purpose. Some of the notable applications framework with the usability is:
1. Activity Manager – The service Controls state of the application lifecycle and activity stack.
2. Content Providers – It Allows applications to publish and share data with other applications. This is a kind IPC.
3. Resource Manager − It Provides access to non-code embedded resources such as strings, color settings and user interface layouts.
4. Notifications Manager – Notification manager send applications to notify any alerts and show to the user.
5. View System – View System is especially for User Interface.

Applications
The top layer in the Android Software stack is Application Layer. It contains all the applications installed in the OS. Some of the example are : Home, Contacts, Call Log, VLC Payer, User defined applications etc.