written 5.4 years ago by |
iOS: A mobile operating system developed by Apple Inc. and distributed exclusively for Apple hardware. It is used for iPhones, iPad and iPod touch. It is based on Mac OS X.
The following figure shows the architecture of iOS. It provides the layered architecture. Each layer brings a variety of framework that can be used in our application. Detailed description of each layer is given below.
iOS Architecture
1. Core OS layer
The bottom-most layer consists of hardware. Hardware is a physical chip soldered to iphone circuitry. It is an important layer for memory operations like managing the memory means allocating and deallocating memory once the applications finish its task. It is responsible for the file system task. The network related services also performed by this layer. The core layer consists of the following components:
OS X Kernel
It is based on Mac 3.0 which interferes in each task of the operating system. And Mac 3.0 is responsible for running application in a separate process.
BSD (Berkley Standard Distribution)
It is responsible for drivers and low-level Unix interface of the operating system.
Sockets
provide access to BSD socket, HTTP and FTP protocol request.
Security
It provides security through cryptographic functions by encrypting and decrypting data.
Power Management
It saves power by shutting down any hardware feature that is not currently being used.
2. The Core Service Layer
It provides an abstraction to the services provided in the core OS layer. The core service layer consists of the following components-
Collections
It provides basic data management and service features for iOS applications.
Address Book
It allows users to save their addresses, contacts in iOS devices.
Networking
It gives network information like availability as well as a state of the network. It also determines whether a WiFi or cellular connection is in used and a particular host server can access it.
File access
By using files we can access the lower layer operating system services.
SQLite
It provides a lightweight SQL database into your application without running a separate remote database server process.
Core location
It provides information about the location and orientation of an iOS device.
3. The media layers
This layer provides multimedia services that are used in iOS devices. It holds the Graphics libraries. The media layer made up of the following components.
Core Audio
It provides the facilities like playback and recording of audio files and streams and also allows access to build-in audio processing units.
OpenGL
2D and 3D animation are created by using it.
Audio mixing
It is a part of the core audio Framework. It provides the facility for mixing the system announcement with background audio.
Audio recording
It provides audio recording facility by using the class named AVAudioRecorder.
Video Playback
It provides the video playback facility using MPMoviePlayerController class.
PDF
It provides a text layout and rendering engine.
Core Animation
It gives advance support for animating views and other contents.
4. The Cocoa Touch layer
This layer is the uppermost layer of architecture provides the actual interface for the users to use services. Users can install and use the actual applications like camera, games, contacts, apps, notifications, etc. It supports multi-touch capability. Cocoa touch consists of the following components.
Multi-touch events
These are the events which are used to determine when a Tap, Swipe, Pinch, Double-tap occurs. i.e. TouchesMoved, TouchesBegan, TouchesEnded.
Alerts
By using the class named UIAlertView, it can communicate to the user when an error occurs or to request further input.
People Picker
This component is based on the Address Book framework. It is used to display a person's contacts.
Controllers
It is based on a model view controller which presents the standard system interface and provides the capability to manage basic application's behaviors. e.g. managing the reorientation view when the device orientation changes.
Web view
It is used to show the embed web contents and rich HTML.
Image Picker
It provides multidimensional user interface elements which consist of rows and components.
Advantages:
Direct Twitter Integration, Advanced Voice Recognition, Face time to make Video calls.
Disadvantages:
No flash Support, Dependent on Apple hardware, App Approval process is largely a black box to developers, face time is exclusive to IOS powered devices.