The Layers of a Smartphone
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.
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).
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
- When you’re making a call on a cell phone, you want to have access to other features (like an address book and calendar) at the same time.
- Cell phones need to be “always on” like a standard landline phone, but efficient enough to run on a battery charge for as long as possible.
- They need to be as functional as possible whether or not they are connected to voice and data networks at a given moment.
- While a computer has pretty standard input methods — almost all of them start with a keyboard and mouse by default — a phone may have a number pad, a modified keyboard, a touch screen or some combination thereof.
For more detail: How Smartphones Work