0% found this document useful (0 votes)
15 views16 pages

Os Unit 4

Uploaded by

prajapati126697
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views16 pages

Os Unit 4

Uploaded by

prajapati126697
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Case Study – Android

UNIT 4 CASE STUDY - iOS


Structure

4.0 Introduction
4.1 Objectives
4.2 Features of iOS
4.3 Evolution of iOS
4.4 Architecture of iOS
4.5 iOS Kernel Architecture
4.6 Processes and Threads Management
4.6.1 Threading Packages
4.6.2 Threads Alternatives
4.7 Memory Management
4.7.1 Application Memory Management
4.7.2 Virtual Memory Management
4.7.3 Page List in Kernel
4.7.4 Page Fault
4.8 File System in iOS
4.8.1 iOS Directories
4.8.2 iCloud Container
4.8.3 Identification of File Type
4.8.4 Security of File System
4.9 Summary
4.10 Solutions / Answers
4.11 Further Readings

4.0 INTRODUCTION
iPhone operating system (iOS) is a mobile operating system developed by Apple Inc.
used for apple handheld devices. It is used in devices like- iPhone, iPad and iPod. It is
the second most widely used mobile operating system. It supports features like direct
manipulation and can respond to various types of user gestures. It is proprietary and
closed source and derived from macOS. Software development kit (SDK) is provided
to create applications. It includes interfaces for developing, running and testing
applications. Apps can be written using system frameworks and Objective-C
programming language.

Initial three versions were introduced with the name iPhone OS. From fourth version,
they renamed it to iOS. With each new version, new features and apps were added.
iOS 13 is latest version which was released in 2019. Its major feature is dark mode
and new Map application with street view capability. It also enhanced its previous
apps and features like-Siri, Heath map and others. iOS 14 is about to release in
2020.
311
Case Studies
4.1 OBJECTIVES
After going through this unit, you should be able to:
§ Understand the basic functions of iOS Operating System
§ Know the history of iOS operating system
§ Understand the process management in iOS and can compare with other OS
§ Understand the memory management approaches in iOS
§ Understand the File management in iOS
§ Understand the security features in iOS

4.2 FEATURES OF IOS


iOS is the operating system for iPhone, iPad and other Apple mobile devices. Based
on Mac OS, the operating system which runs Apple’s line of Mac desktop and laptop
computers, Apple iOS is designed for easy, seamless networking between Apple
products. iOS support extremely good features and some of the common features
are:
§ Multitasking– it allows multiple tasks to be executed concurrently. This
feature allows various applications to run in background like notications,
VoIP, audio, Bluetooth access, app updates and may more.
§ SpringBoard – It is used for managing home screen.
§ Gesture recognition
§ Wi, Bluetooth and support for VPN
§ Access to Apple App store
§ Support for integrated search – it allows les to be search simultaneously
§ Safari browser
§ Front and read camera with videos capturing facility
§ Siri – it is an intelligent personal assistant feature which cantake voice
queries and cangive voice responses and recommendations, used for setting
reminders etc.
§ Game center – it is multiplayer gaming network available online.
§ Compatible with iCloud – iCloud is cloud service provided byApple.
§ Push email service – Apples’s email server allows mails to be delivered
as they arrive.
§ Accelerometer, gyroscope, and magnetometer – these are sensor
interfaces used to listen various events.
§ Apple pay – it is payment technology which can store credit card details to
pay for services.
312
 Services like Maps, contacts, web pages, messages, location Case Study – iOS

 Various security features – face ID, pass code, 2 factor authentication.


 HomePod – it can identify family members by voice and can handoff calls ,
music etc on other devices.
 HomeKit – it is home automation controlling system.
 CarPlay – this allows interacting with iOS during drive. Also allows access
tom phone apps.
Apple keeps making iOS 14 and iPadOS 14 even better by adding valuable new
capabilities and features. Most recently, Apple released iOS 14.4, adding a new
workout to Fitness Plus for Apple Watch owners. It also added a new Unity watch
face in February to celebrate Black History Month. The update also included a series
of security fixes for vulnerabilities that were actively being exploited.
iOS 14.4 follows the addition of Apple ProRaw photos to the iPhone 12 Pro and 12
Pro Max. Those new features join an already impressive list of capabilities that Apple
brought to its mobile devices with the release of iOS 14 in September. iOS 14.5 is
currently available in beta and is shaping up to be a significant update for iPhone
owners.

4.3 EVOLUTION OF IOS


iOS was first introduced with iPhone in Jan 2007 and released in June 2007. At first
introduction Steve Jobs claimed it to be running OS X and running desktop class
application but during release introduced it with the name “iPhone OS”. Initially, there
was no support for third party applications. In March 2008,Apple announced software
development kit for iPhone. In July 2008, iOS app store opened with 500 applications
which increased to 3000 in Sept 2008 and after successive growth through the years
increased to 2.2 million in 2017. It is also estimated to reach 5 million by 2020. iOS
has seen a lot of changes since its inception. Following are the important milestones in
iOS:
 iOS was first introduced with iPhone in jan 2007 and released in june 2007.
 Apple’s iOS first SDK was released on March 6, 2008.
 The initial release was named iPhone OS which was later changed to iOS on
June 7, 2010.
 iPhone OS 1 was released on March 6, 2008, and is the first version of the
popular operating system. The support for iPhone OS 1 ended after two
years, i.e., 2010.
 iPhone OS 2, as the name suggest, is the 2nd big release for the iOS. The
release was done in conjunction with iPhone 3G, and anyone with the previous
version can easily upgrade to the latest version. Also, this version introduced
the App store, which becomes the hub for installing new apps. New SDK
was also released for developers with support ending in 2011.
 The third big release was Apple iOS 3. It came into existence in June 2009
with support ending in late 2012. New features such as copy, paste, etc. are
added to the OS. 313
Case Studies The next version is iOS 4 and is released on June 21, 2010. Clearly, this is
one of the big releases for iOS as it dropped old device support instead of
supporting the latest devices with multitasking features.
 iOS 5 was released on June 6, 2001. It brought support for iPad Touch (3rd
generation) and iPad (1st generation).
 iOS 6 went live on September 19, 2012, for the 4th generationApple devices.
 iOS 7 was released for public on September 18, 2013. It supported two new
phones by Apple, the Apple iPhone 5S and iPhone 5C.
 Just like the old release, iOS 8 released for public on September 9, 2014, with
support for their best phone devices, the iPhone 6 and iPhone 6 Plus. They
dropped support for older devices.
 iOS 9 was made public on September 16, 2015. Apple changed how they
support legacy hardware and iOS 9 became the first Apple OS that supported 22
devices.
 iOS 10 was announced on June 13, 2016 at WWDC(Worldwide Developers
Conference event and was released to public in September, 2016 along with
iPhone 7 and iPhone 7 plus.
 iOS 11 was made public on September, 2017 along with iPhoen 8 and iPhone 8 Plus.
It has dropped 32-bit applications making iOS 11 as a 64-bit OS that only runs 64-
bit apps.
 iOS 12 was made public on September 2018 along with iPhone XS, iPhone XS
Max, iPhone XR.
 Apple announced iOS 13 and made public on September, 2019. The principal
features include Dark Mode and Memoji support. The NFC(Near Field
Communication) framework supports reading several types of contactless
smartcards and tags.
 Apple released iOS 14 and iPadOS 14 on 9th July 2020. All devices that
support iOS 13 also support iOS 14. Some new features includes widgets that be
nowbe placed directly on the home-screen, along with theApp library which
automatically categorizes apps into one page, Picture in Picture, Car- key
technology to unlock and start a car with NFC. It also allow the user to have
incoming calls shown in banners rather than taking up the whole screen. As on date
(March, 2021) 14.1 is available in beta 3 version.

4.4 ARCHITECTURE OF IOS


iOS architecture is written in Objective-C language and comprised of four
layers(layered architecture). It consists of a stack of four layers – Core OS, Core
services, media layer, and Cocoa Touch as shown in Figure 1. Apps installed on
system communicate with the iOS which in turn communicates with the hardware.
Bottom level layers in the iOS stack are responsible for basic services while the
upper layers are responsible for providing interface and graphics designing.
Apple provides system interfaces called Frameworks which is a package that stores
314 dynamic shared libraries. It contains various resources like – header files, supported
apps, images. Each layer of iOS contains different set of frameworks that can be used Case Study – iOS
to developers to design apps.

Fig 1. iOS Layered Architecture

Let us learn more about the layered architecture shown in the above figure.

4.4.1 Core OS
It is the lowest layer in the iOS architecture hence responsible for providing basic low
level features. The frameworks present in this layer are:
 Security services framework
 Authentication framework
 Bluetooth framework
 External accessory framework
 Accelerate framework

4.4.2 Core Services


It is the layer at the top of core Os layer. The various frameworks available at this layer
are:
 Core data Framework - It is used for managing Model View Controller
(MVC) app.
 Core Foundation framework - It gives interfaces used to manage data,
services and features.
 Address book framework - Used for accessing user’s contacts database.
 Cloud Kit framework -Allows movement of data between apps and iCloud.
 Core Location framework - Used to give location and heading information
to apps.
 Core Motion Framework - Used to access motion based data and
accelerometer based information.
 Healthkit framework - Used to handle health oriented information of user
 Homekit framework - Used to connect and control user’s home devices.
 Social framework - Used to handle social media accounts of user.
 StoreKit framework - Used to provides In -App Purchase. 315
Case Studies 4.4.3 Media Layer
This is the third layer from the bottom. It is used for providing audio, video and
graphics features.
Audio Frameworks
· Media Player Framework - It is used to handle user’s playlist.
· AV Foundation - It is used for recording and playback of audio and video.
· OpenAL- It is standard technology for providing audio. Video Frameworks
· AV Kit - This interface is used for video presentation.
· AV Foundation - It gives advanced video recording and playback capability.
· Core Media - It is used to describe low level data types and interfaces for
operating media.
Graphics Frameworks
· Core Graphics framework - It is used for custom 2D vector and image based
rendering.
· Core Animation - It is used for adding animation in apps.
· Core Images - It is used for gives for controlling video and images
· UIKit Graphics - It is used for designing images and animating content of
views.
· OpenGl ES and GLKit - It is used for managing2D and 3D rendering.

4.4.4 Cocoa touch layer


It is the top most layer in iOS architecture. It is used for providing interactive interfaces
to user. The various frameworks present in this layer are:
· UIKit Framework – It is used for designing graphical, event-driven apps.
· EventKit framework - It is used for providing system interfaces for viewing
and altering calendar related events
· GameKit Framework - It allows users to share game related information
online.
· MapKit Framework - It allows maps to be included in user interface.
· PushKitFramework- It provides support for VoIP apps.
· Twitter Framework - It allows access to Twitter service.

4.5 iOS KERNEL ARCHITECTURE


iOS kernel is XNU kernel of Darwin. Initially it was used only for MacOS and later
introduced as free and open source part of Darwin operating system. It is a hybrid
316 kernel which supports both monolithic and microkernel.
Case Study – iOS
Application environments

Common services

Networking
File system BSD
Kernel
environment
I/O Kit
Mach
Drivers

Fig 2: XNU kernel Architecture


(Source: developer.apple.com)

The foundation layer of Darwin and OS X is composed of several architectural


components, as shown in Figure 2. These components form the kernel environment.
In OS X, however, the kernel environment contains much more than the Mach kernel
itself. The OS X kernel environment includes the Mach kernel, BSD, the I/O Kit, le
systems, and networking components. These are often referred to collectively as the
kernel. Each of these components is described briey in the following sections. For
further details, refer to the specic component chapters or to the reference material
listed in the bibliography.
Because OS X contains three basic components (Mach, BSD, and the I/O Kit), there
are also frequently as many as three APIs for certain key operations. In general, the
API chosen should match the part of the kernel where it is being used, which in turn is
dictated bywhat your code is attempting to do. The remainder of this chapter describes
Mach, BSD, and the I/O Kit and outlines the functionality that is provided by those
components.
Mach
Mach manages processor resources such as CPU usage and memory, handles
scheduling, provides memory protection, and provides a messaging-centered
infrastructure to the rest of the operating-system layers. The Mach component
provides untyped interprocess communication (IPC), remote procedure calls (RPC),
scheduler support for symmetric multiprocessing (SMP), support for real-time
services, virtual memory support, support for pagers and modular architecture.
BSD
Above the Mach layer, the BSD layer provides “OS personality” APIs and services.
The BSD layer is based on the BSD kernel, primarily FreeBSD. The BSD component
provides le systems, networking (except for the hardware device level), UNIX security
model, syscall support, the BSD process model, including process IDs and signals,
FreeBSD kernelAPIs, many of the POSIX APIs, kernel support for pthreads (POSIX
threads).
Networking
OS X networking takes advantage of BSD’s advanced networking capabilities to
provide support for modern features, such as Network Address Translation (NAT)
and rewalls. The networking component provides 4.4BSD TCP/IP stack and socket
APIs, support for both IP and DDP (AppleTalk transport), multihoming, routing,
317
Case Studies multicast support, server tuning, packet ltering, Mac OS Classic support (through
lters).
File Systems
OS X provides support for numerous types of le systems, including HFS, HFS+,
UFS, NFS, ISO 9660, and others. The default le-system type is HFS+; OS X boots
(and “roots”) from HFS+, UFS, ISO, NFS, and UDF. Advanced features of OS X
le systems include an enhanced Virtual File System (VFS) design. VFS provides for
a layered architecture (le systems are stackable). The le system component provides
UTF-8 (Unicode) support and increased performance over previous versions of Mac
OS.
I/O Toolkit
The I/O Kit component provides true plug and play, dynamic device management,
dynamic (on-demand) loading of drivers, power management for desktop systems as
well as portables and multiprocessor capabilities.

4.6 PROCESSES AND THREADS MANAGEMENT


Everyprocess inan application is created using one or more threads.Athread represents
single path of execution. Execution of a process starts with a single thread and can later
spawn multiple threads, where each thread performs a specic task.
All threads of a single process have same access rights and also shares same address
space (virtual memory). They can also communicate with each other and other
processes. Every thread has its own stack of execution and scheduled for execution
by kernel separately.IOS has the capability to execute multiple programs parallel but
most of the execution is done in background and does not require continuous
processing. The application that runs in foreground keeps the processor and other
resources busy.

4.6.1 Threading Packages


Applications may require creation of threads. IOS supports thread management and
synchronization along with other new technologies. The technologies used to manage
thread in iOS can be POSIX threads or Cocoa threads.
POSIX threads are based on C language. This must be used when application needs
to be designed for multiple platforms. Here threads are managed using pthread library.
Communication between threads can be done using ports, shared memory or
conditions. For Cocoa applications, threads are created using NSThread class. It
allows detached thread to be created. Detached thread is the one in which system
automatically reclaims thread’s resources when it terminates.

4.6.2 Threads Alternatives


Threads are lowlevel doing concurrencyand managingsynchronizationbecomesdifcult
for application development. Also the use of thread adds processor and memory
overheads. iOS henceoffersalternatives to thread programming. Execution ofconcurrent
tasks or processes on iOS is managed by asynchronous designing approach like
traditional thread approach. Applications should only dene specic tasks instead of
creating threads as threads are low level and should leave it to system. Threads when
318
managed by system, gives scalability to applications. The various techniques provided Case Study – iOS
by iOS to manage tasks asynchronously are:
· Grand Central Dispatch (GCD)
In this approach user only denes the task to be done and add it to the
appropriate dispatch queue. GCD then creates threads as needed and
schedules them. Since in this approach thread management and execution
is done by system, it is more efcient than traditional threads approach.
· Operation Queues
They are similar to dispatch queue and are object-C objects. User denes
the task to execute and add it to operation queue. Scheduling and execution
is then done by operation queue.
Dispatch queues: Dispatch queue are used for execution of customized tasks. It
executes the task serially or concurrently in rst-in rst-out order. Serial dispatcher
waits for the task to complete before de-queuing, whereas concurrent dispatcher does
not wait for the tasks to nish before starting new tasks.
Operation Queues: In operation queues the order of execution of task is dependent
upon many factors. One such factor is the dependence of one task on the completion
of another task. User when dening a task should also congure dependency.
The various advantages of using dispatch and operation queues in place of threads
offer various advantages:
1. No need to store thread stack hence reduces memory requirements
2. User need not to congure and manage threads.
3. User need not to schedule threads.
4. It is easy to write code as compared to threads.

4.7 MEMORY MANAGEMENT


For effective and efcient utilization of memory, memory management is required by
the iOS. Resource needs to be free up when they are not required. In iOS memory
used by applications is managed by maintaining the life cycle of objects and freeing
them when not required. To identify that an object is no more required; its object graph
is created. The group of objects that are related to each other forms object graph. In
this, objects can be related by the direct reference or indirect reference.

4.7.1 Application Memory Management


Applications memory management can be done by Object - C by two methods:
i. Manual Retain Release – In this method user can themselves manage
memory by keeping track of objects created by them. This is
implemented using Reference Count Model. (for versions till iOS-5)
ii. Automatic Reference Counting – In this feature, provided bycompiler, system
uses Reference counting model by calling methods for user at compile time.
(for new versions)
319
Case Studies

Fig3: Difference between Automatic and Manual Reference Counting


(Source: developer.apple.com)

Memory management using Reference counting is based on Ownership of object. An


object can be owned by one or many owners. The object continues to exist till the
time it has atleast one owner. Thee object is destroyed automatically at runtime if has no
owner. Hence, ownership is the ability of causing object to be destroyed.
a. Reference Count Model
Memory is managed by maintaining life cycle of an object. When the objects are not
needed, it should be de-allocated. When an object is created or copied, its retain
count is set to 1. This retaincount can increase withtime ifownership interestis expressed
by other objects. The retain count can also be decremented if objects relinquish their
interest of ownership. The object will be maintained in memory till it’s retain count is
not zero. The object will be deallocated once it’s retain count reaches zero.

Fig 4: Reference Counting Model (Source: developer.apple.com)

b. Automatic Reference Counting


Automatic reference counting is a compiler provided feature that manages memory
automatically of Object-C objects. Automatic reference counting is an ownership
system which provides convention for management and transfer of ownership. It
itself maintains
320
the object’s lifetime requirements and user need not to remember about retain and Case Study – iOS
releases. It allows object to be pointed by two types of references- strong and week.
An object which is strongly referenced will be preserved and never deleted. The objects
having back reference is called weak reference and can be de-allocated (destroyed).
When no strong reference to objects is left, the object automatically becomes nil.
Hence weak reference does not increase life time of objects. This model also imposes
some restricts to prevent memory faults or issues.

4.7.2 Virtual Memory Management


Virtual memory overcomes the limitation of physical memory. For each process a
logical address space is created by dividing the memory into pages. Apage table is
maintained by Memory management units to map logical address to physical address.
Logical address is provided to each process but if application wants to access a page
with no physical address, page fault will occur. Virtual memorysystemis then responsible
for invokinga special programcalled page fault handler. The page fault handler suspends
the currently executing process, identifies free memory location and load the required
page fromthe disk. The corresponding page table entry is then updated and canbe used
by returning control to the suspended process. This process of loading the page from
disk is called Paging. There is no backing store in iOS hence pages cannot be moved
out from primary memory ( page write) hence, if no free space is available in primary
memory than read onlypages can be removed from memory which can be later loaded.
Page size in older versions of iOS is 4KB. While the newer version A9 supports
16KB pages.
Efficient use of memory is important for high performance of system. Reducing the
amount of memory usage decreases memory footprint of applications and also reduces
processor consumption. Afully integrated virtual memory is included with IOS which
is always on. For 32- bit system it can provide upto 4 GB addressable space.
Data present on the disk (code pages) which is read only, can be removed from the
primary memory and can later be loaded from the disk when needed, whereas, the
iOS does not remove the writable data from memory. If the free memory reduces
below a certain threshold, the running applications are asked to free up memory to
make room for new applications or data voluntarily.

4.7.3 Page List in Kernel


Kernel maintains three lists of physical memory pages:
i. Active list - this list contains pages which are recently accessed
ii. Inactive list - this list contains pages which are not recently accessed but still
present in physical memory.
iii. Free list - this list contains pages which are not currently allocated and is
available for use by processes.
The pages that are not accessed are moved from active to inactive list by kernel. Also
when the free memory reduces below a threshold, the pages that at unmodified and
inactive are flushed bykernel and running applications are asked to free up memory by
sending themlowmemorynotification.Applications uponreceiving notification remove
strong references to as many objects as possible.
321
Case Studies 4.7.4 Page Fault
It is the process of loading the page into primary memory when needed by a process.
This process is required as a result of page fault. The two types of fault that can occur
are:
i. Soft fault - when the desired page is not mapped to the address space of
process but it is present in physical memory.
ii. Hard fault - when the desired page is not present in the physical memory.
Whenever page fault occurs, kernel nds the VM object for accessed region and
checks the resident list of VM object. If the required page is found in resident list, then
soft fault is generated otherwise hard
h fault is generated. For handling soft fault, physical
memory of page is mapped to the virtual memory and the page is marked as active by
kernel. For handling hard fault, pager of VM object nds the page from disk and
updates its map entry. The page after loading in primary memory is marked as active.

4.8 FILE MANAGEMENT SYSTEM


Storage of data, les, applications, operating system les is managed by le system.
The default le system used in iOS is APFS for versions after iOS 10.3. Before this
HFS+ was default le system. In iOS user cannot access le system directly but they
can access it using applications.

4.8.1 iOS Directories


Applications can interact with le system only its sandbox directory. When the apps
are installed, various container directories are created in its sandbox directory. Here
every container is created for a specic role. There are two main containers –bundle
container and data container. Data container is further divided into subdirectories used
to organize app’s data. In addition to theses containers, apps can also request for
additional containers example iCloud container.

Fig5: Sandbox directory of iOSApp


322 (Source: developer.apple.com)
Files outside these containers are generally restricted for use by applications. Use of Case Study – iOS
public system interfaces like contacts and music is exception to this rule.System
framework in this case uses helper apps to perform file operations by modifying or
reading from appropriate data storage locations.
Some of the commonly used directories in iOS sandbox are –
(i) Appname.app
This directory is created during app’s installation. It contains the app’s
executable data and resources. User should not write to this directorybecause
app may not launch due to change in signature. However, user can get read
only access to app’s bundle data.
(ii) Documents/
Data generated byuser is stored in this directory. Files present in this directory
can be accessed byuser using file sharing. This directory is also backed up by
iCloud and iTune.
(iii) Documents/Inbox
It is a subdirectory within Documents which is required by apps to open files
asked by outside entities. Apps can read and delete data from this directory
but cannot modify and create new files. Generally email attachments related
to apps are placed in this directory by mail program. This directory is also
backed up by iCloud and iTune.
(iv) Library/
This subdirectory is used to store data which is not required to be exposed to
user. It contains applications support, preferences and cache subdirectories
for iOS apps. Custom subdirectories can also be created by user but should
not be used for user data.This directory is placed in data bundle. Except
cache all the contents of this directory are also backed up.
(v) tmp/
This directory is used to store temporary file i.e. files that are not needed to
persist. These file must be deleted by the apps when they are not needed.
Whenapps are not running, system maydelete thesesfiles. Data in this directory
is not backed up.
For proper organization of files, additional subdirectories can be created within
Documents, tmp and Library by iOS apps.

4.8.2 iCloud Container


iCloud service allows user to store their documents, photos, files, etc. to be stored in
cloud. Users when require can download these from their devices or share with other
users. iOS allows users data be automatically backed up in cloud through this service.
This feature is available in iOS 7 onwards.iCloud container is used to store files for
apps that use iCloud. Files and folders can be created by apps in the same way as
local file folders are created. Files and their attributes are copied to iCloud. Primary
iCloud container ofapps stores native files. Within each container two subdirectories –
documents and data is present. Files present within document subdirectory are visible 323
Case Studies to user as separate document which can be individually deleted. Whereas files not
within document subdirectoryis displayed as single entityin iCloud user interface called
data.

4.8.3 Identification of File Type


To identify the type of file, two techniques are used in iOS-
(i) UTIs - Uniform Type Identifier: UTIs is a string that identifies class entitities
uniquely. For all types of data and service it provides consistent identifiers. Not
only files but they can also represent folders or directories in a flexible manner.
They are used for identifying types of pasteboard. Some of the examples are:
 Public.jpeg - it represents a public type UTI identifying jpeg image data.
 com.apple.bundle - it represents anApple type identifying bundle directory.
 com.apple.application-bundle - it represents anApple type identifying bundled
app.
(ii) Filename extension : It is a character string following filename and a period (.).
Each extension represents a specific type of file. For example filename with .png
represents an image file. Also period is a valid character for filename, hence only
the string after last period is considered as extension to identify type.

4.8.4 Security of File System


(a) Sandbox environment
Applications during installation are automaticallyplaced ina sandbox environment
in iOS. Sandbox does not allows apps to write data into locations to which user
should not write to. Every sandbox is created with few containers to which user
can write. One app cannot write to containers of other apps or most directories
outside their sandbox. Hence security of apps and data is maintained byrestricting
the access.
(b) File Access Control
File access control in iOS is maintained by two techniques – ACL& BSD. System
assigns ACL and BSD permission to files created by apps.
i. Access Control List
a. Access control list is a list of control details which gives complete
information of what operations can or cannot be done to a directory or
file and by which users. Hence it allows different level of access writes to
different user.
ii. BSD
a. In BSD instead ofgiving access writes to individual users, it allows access
to be given on the basis of class of users. There exist three classes of
users – owner of data or file, group of user, all other users.
(c) Encryption
iOS allows files on disk to be encrypted. Files that are needed to be encrypted
324 can be designated by apps. When a device containing encrypted data is unlocked
by user, a decryption key is generated by system to enable access to file. Whereas, Case Study – iOS
when user locks the device, to prevent unauthorized access, the decryption key is
destroyed by the system.


Check Your Progress 1
1) Describe the important features of iOS 14.4 version.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................

2) Describe the features of watchOS 7.3.


........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................

4.9 SUMMARY
In this unit we had studied iOS operating system. iOS is a mobile operating system
developed byApple Inc for iPhone.Adescription ofhowprocess management, memory
management, file management, security in iOS is discussed in this unit. Along with
various functions of the iOS operating system, its evolution, architecture, and other
features were described.
In this course we had studied Operating Systems in general and 4 case studies.

4.10 SOLUTIONS / ANSWERS


Check Your Progress 1
1. Apple has released iOS 14.4 for compatible iPhone and iPod touch models. The
new iOS update brings an updated Camera app that carries support for smaller
QR codes. The latest software also introduces the option to classify Bluetooth
devices in Settings and includes a fewbug fixes. There are also patches for three
vulnerabilities that might have been activelyexploited.Apple iPad users have also
received iPadOS 14.4 with a similar list of changes that is available for the iPhone
users. Separately, Apple has released the HomePod software version 14.4 that
brings the anticipated ultra-wideband (UWB) handoff feature specifically to the
HomePod mini. The company has also rolled out watchOS 7.3 with the Apple
Watch Unity watch face and tvOS 14.4 with security fixes and general stability
improvements.
The iOS 14.4 and iPadOS 14.4 updates bring a list of improvements to the
compatible iPhone, iPod touch, and iPad models. One of those improvements is
smaller QR codes support for the Camera app. This will enhance the existing QR
325
Case Studies code recognition functionality of the default app. The latest software updates also
include the option to classify Bluetooth device type in Settings to let users identify
whether headphones or the built-in speaker will be used for audio notications.
2. In January 2021, Apple has released watchOS 7.3 that brings the Unity watch
face. The update also brings Time to Walk for Apple Fitness+ subscribers and
expands the ECG app for the Apple Watch Series 4 and later to Japan, Mayotte,
Philippines, and Thailand. The eligible Apple Watch users in Japan, Mayotte,
Philippines, Taiwan, and Thailand will also get irregular heart rhythmnotications
through the latest watchOS update. Furthermore, watchOS 7.3 xes the issue
that made the Control Centre and Notication Centre unresponsive when Zoom
is enabled. The watchOS 7.3 update also patches the vulnerability tracked under
CVE-2021-1782 that could be exploited by a bad actor.

4.11 FURTHER READINGS


1. John Ray, iOS 9 Application Development in 24 Hours, Sams Teach Yourself,
2019.
2. Jesse Feiler, iOS App Development for Dummies, Wiley, 2014
3. Matt Neuburg, iOS 13 Programming Fundamentals with Swift, 2019.
4. Rajiv Ramnath, Beginnning iOS Programming for Dummies, Wiley, 2014.
5. https://developer.apple.com/

326

You might also like