As long as we're talking details, let's have a quick look at smartphone hardware.
Some smartphones run on processors. 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 browsing the Internet, 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).
You can visualize software for smartphones 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 and messaging)
- 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