The Layers of a Smartphone
The Hardware
Today's smartphones run on processors with clock speeds ranging from 100 – 624 MHz (with a 1 GHz processor looming on the horizon), which would be mind-numbingly slow if they were used to run today's desktop computers. Many smartphones use power-efficient ARM processors, which are also found in routers, printers, and other embedded devices like Smart Watches and MP3 players. They have a certain amount of on-board memory in the tens of megabytes, and many have slots for removable memory formats like SD and MMC cards as well.
![]() Photo courtesy of Josh Bancroft Chips used in smartphones |
Along with processors, smartphones also have computer chips that provide functionality. Phones with cameras have high-resolution image sensors, just like digital cameras. Other chips support complex functions such as real-time web browsing, sharing multimedia files or playing music without placing too great a demand on the phone’s battery. Some manufacturers develop chips that integrate multiple functions to help reduce the overall cost (fewer chips produced per phone help offset production costs).
|
|
The Software
Software for smartphones can be visualized as a software stack. The stack consists of the following layers:
- kernel - management systems for processes and drivers for hardware
- middleware - software libraries that enable smartphone applications (such as security, web browsing, messaging, etc.)
- application execution environment (AEE) - application programming interfaces, which allow developers to create their own programs
- user interface framework - the graphics and layouts seen on the screen
- application suite - the basic applications users access regularly such as menu screens, calendars and message inboxes
|
For example:
|


