Android is stack of software which includes a Linux based operating system, a middleware and some core applications like browser, contacts, email client etc.
Android Architecture in brief:
The major components of an Android OS include:
Top–>Applications: It has got a set of core applications like Contacts, Browser, Calendar, Maps etc.
Just below Applications lies–> Application Framework: It includes Notification Manager, Content Providers, Activity Manager, Resource Manager etc. Thus enabling us to access data from other applications like contacts, facilitating us by allowing us to access data from resources like localized strings, layout files etc, enabling our applications to set custom alerts on status bar and much more.
Below Application Framework lies-->Libraries and Android Runtime:
Libraries:Some libraries are libc(System C library),media libraries, Surface Manager, SQLite(a powerful and light weight, as the name suggests, relational database system ),webkit etc.
Developers can utilize these capabilities through the Application Framework.
Android Runtime: This includes core libraries and DVM (Dalvik Virtual Machine).
The Core Libraries provides functionalities of most of core libraries used in Java Programing Language.
Every application runs with its own instance of DVM.The Virtual Machine namely Dalvik Virtual Machine executes files in Dalvik executable format (.dex) which is translated (using dx tool in SDK) from complied java applications.
Bottom–>Linux Kernel (version 2.6) which is composed of drivers like camera driver,WiFi driver, Audio driver etc and also system services like security, memory management etc.