Architecture of IOS Operating System
Architecture of IOS Operating System
Architecture of IOS Operating System
IOS is a Mobile Operating System that was developed by Apple Inc. for iPhones, iPads, and
other Apple mobile devices. iOS is the second most popular and most used Mobile Operating
System after Android.
The structure of the iOS operating System is Layered based. Its communication doesn’t occur
directly. The layer’s between the Application Layer and the Hardware layer will help for
Communication. The lower level gives basic services on which all applications rely and the
higher-level layers provide graphics and interface-related services. Most of the system interfaces
come with a special package called a framework.
A framework is a directory that holds dynamic shared libraries like .a files, header files, images,
and helper apps that support the library. Each layer has a set of frameworks that are helpful for
developers.
1. CORE OS Layer:
All the IOS technologies are built under the lowest level layer i.e. Core OS layer. These
technologies include:
Accelerate Framework
Some important frameworks are present in the CORE SERVICES Layer which helps the iOS
operating system to cure itself and provide better functionality. It is the 2nd lowest layer in the
Architecture as shown above. Below are some important frameworks present in this layer:
The Address Book Framework provides access to the contact details of the user.
This framework provides a medium for moving data between your app and iCloud.
This is the technology that is used for managing the data model of a Model View Controller app.
This framework provides data management and service features for iOS applications.
This framework helps to provide the location and heading information to the application.
Core Motion Framework-
All the motion-based data on the device is accessed with the help of the Core Motion
Framework.
Foundation Framework-
Objective C covering too many of the features found in the Core Foundation framework.
HealthKit Framework-
HomeKit Framework-
This framework is used for talking with and controlling connected devices with the user’s home.
Social Framework-
StoreKit Framework-
This framework supports for buying of contents and services from inside iOS apps.
3. MEDIA Layer:
With the help of the media layer, we will enable all graphics video, and audio technology of the
system. This is the second layer in the architecture. The different frameworks of MEDIA layers
are:
ULKit Graphics-
This framework provides support for designing images and animating the view content.
This framework support 2D vector and image-based rendering and it is a native drawing engine
for iOS.
Core Animation-
This framework helps in optimizing the animation experience of the apps in iOS.
AV Kit-
This framework provides various easy-to-use interfaces for video presentation, recording, and
playback of audio and video.
Open AL-
Core Images-
GL Kit-
4. COCOA TOUCH:
COCOA Touch is also known as the application layer which acts as an interface for the user to
work with the iOS Operating system. It supports touch and motion events and many more
features. The COCOA TOUCH layer provides the following frameworks :
EvenKit Framework-
This framework shows a standard system interface using view controllers for viewing and
changing events.
GameKit Framework-
This framework provides support for users to share their game-related data online using a Game
Center.
MapKit Framework-
This framework gives a scrollable map that one can include in your user interface of the app.
PushKit Framework-
2. iOS Operating System is the Commercial Operating system of Apple Inc. and is popular
for its security.
3. iOS operating system comes with pre-installed apps which were developed by Apple like
Mail, Map, TV, Music, Wallet, Health, and Many More.
4. Swift Programming language is used for Developing Apps that would run on IOS
Operating System.
5. In iOS Operating System we can perform Multitask like Chatting along with Surfing on
the Internet.
The iOS operating system has some advantages over other operating systems available in the
market especially the Android operating system.
1. More Costly.
2. Less User Friendly as Compared to Android Operating System.
3. Not Flexible as it supports only IOS devices.
4. Battery Performance is poor.
IOS app lifecycle
An iOS application runs into several states, which are called the state of the Application life
cycle. Every iOS developer must be aware of the app life cycle, which helps to understand the
application's behavior.
Not Running: the app is considered to be in a Not Running state when it is not yet launched or
terminated by the system or user.
Inactive: the app is in an inactive state when it is in the foreground but receiving events. In other
words, we can say that it acts like a bridge state in which the app remains briefly when it
transitions to a different state.
Active: it is a normal mode for the app when it is in the foreground state and receiving all the
user events.
Background: the app transitions into the background state when the user taps on the home
screen while using the application, or it requires some extra execution time. When the app is
about to be suspended, then also transitions into this state for a small amount of time. In this
state, the app remains in the background and executes the code.
Suspended: in this state, the app remains in the background and doesn't execute the code. The
app is automatically moved to this state. In this state, the app remains in memory. However, the
foreground apps are always given priority over suspended apps and can be purged any time
without notice.
We must notice that when we build and run an iOS application in XCode, the main entry point of
the application is UIApplicationDelegate, which is a protocol that the application must
implement to get notified of several user events like app launch, the app goes into the
background, the app goes to the foreground, push notifications, etc.
The UIApplicationDelegate contains certain app lifecycle methods that are notified when the app
starts running. The UIApplicationDelegate methods are given below.
References:-
https://www.javatpoint.com/ios-full-form
https://www.javatpoint.com/ios-introduction-to-xcode-ide
https://www.geeksforgeeks.org/architecture-of-ios-operating-system/
https://www.javatpoint.com/ios-app-lifecycle