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.
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.
provide access to BSD socket, HTTP and FTP protocol request.
It provides security through cryptographic functions by encrypting and decrypting data.
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-
It provides basic data management and service features for iOS applications.
It allows users to save their addresses, contacts in iOS devices.
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.
By using files we can access the lower layer operating system services.
It provides a lightweight SQL database into your application without running a separate remote database server process.
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.
It provides the facilities like playback and recording of audio files and streams and also allows access to build-in audio processing units.
2D and 3D animation are created by using it.
It is a part of the core audio Framework. It provides the facility for mixing the system announcement with background audio.
It provides audio recording facility by using the class named AVAudioRecorder.
It provides the video playback facility using MPMoviePlayerController class.
It provides a text layout and rendering engine.
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.
These are the events which are used to determine when a Tap, Swipe, Pinch, Double-tap occurs. i.e. TouchesMoved, TouchesBegan, TouchesEnded.
By using the class named UIAlertView, it can communicate to the user when an error occurs or to request further input.
This component is based on the Address Book framework. It is used to display a person's contacts.
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.
It is used to show the embed web contents and rich HTML.
It provides multidimensional user interface elements which consist of rows and components.
Direct Twitter Integration, Advanced Voice Recognition, Face time to make Video calls.
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.