iPhone Operating Systems Analysis Research Paper

Exclusively available on Available only on IvyPanda® Made by Human No AI

Introduction to iPhone Operating System

The smartphone industry is very competitive and the only competitive software that is appealing to the users gets an edge over other system software in the market. Apple exploited the available market for mobile applications to develop an operating system for its hardware (Mark, 50). The iPhone operating system, commonly known as iOS, is a mobile operating system developed by Apple Inc. that was originally developed to run on iPhone. Recent developments in the operating system made it also run on other Apple devices such as Apple TV, iPod touch, and iPad. Apple Inc. boasts of more than 300000 iOS applications, with the highest download rate of any other mobile application present in the market (Mark, 50).

By May 2010, Apple owned approximately 15.4 % market share of the mobile smartphone operating system, being third behind Symbian and RIM’s BlackBerry (Sibsankar & Aravind, 56).

User interface

The user interface of the iPhone Operating System is characterized by direct manipulation of the interface items and a multi-touch approach which involves the use of screen synaptic to control the components of the iPhone(Mark,45). The interface controls used in iOS include switches, buttons, and sliders which are used to either select, scroll or toggle between different applications that are currently in use. An important feature of iOS is the response time to user input is fast. The basic system interaction operations that are deployed in iOS include tapping, swiping, and other gestures such as pinching (Mark, 45). Recent developments in iOS include automatic switching depending on the orientation of the handheld device, for instance, portrait and landscape mode. The iOS is derived from the Macintosh OS X, implying that it draws its features from Unix Operating Systems (Mark, 45).

Process Management in Ios

Process management is an important aspect of any operating system in order to ensure effective execution of the necessary system processes and other application software. The process management in iOS is basically aimed at achieving a balance between the system processes and the application processes. The approach to managing processes in iOS is through the use of system calls (Sibsankar & Aravind,198). The various elements that are involved in the process management in iOS are outlined below.

Process scheduler

Process scheduling is a major concept of iOS that facilitates the multitasking and multiprocessing abilities of iOS. The scheduling concept is used to determine the way processes are assigned to the available CPU time. The task of the process scheduler/dispatcher is to select a task from spooled tasks and sequentially load it into the memory. For fast user response, iOS uses the short-term process scheduler. The short-term scheduler is primarily responsible for choosing which of the processes that have been already loaded into the memory are to be executed next depending on a CPU clock interrupt, an IO device interrupt, or a system call (Stallings, 256).

The short-term scheduler is ideal for iOS due to its ability to execute processes more frequently than long-term and medium-term schedulers. The process scheduler used in iOS is non preemptive/ cooperative, implying that the scheduler can not force a process out of the CPU (Mark, 95).

Dispatcher

The main aim of the dispatcher in iOS is to control the processes to be executed by the CPU. The dispatcher in the iOS has to be ultrafast to facilitate fast process switching (context switch)

Process scheduling algorithms

The main objective behind scheduling algorithms in iOS is to avoid resource starvation to the various processes and ensure fairness in the distribution of the CPU time to the various threads/ processes (Stallings, 78). The various scheduling algorithms used in iOS are outlined below.

First In First Out

Uses the First come first served (FCFS) approach to allocate resources to the threads and processes. The queuing procedure is based on the arrival time of the process in the ready queue (Sibsankar & Aravind, 210). The following characteristics are associated with the FCFS scheduling algorithm:

  • The throughput of the CPU is generally since processes that tend to consume longer CPU time can result in a phenomenon called CPU hogging.
  • There is process prioritization; this implies that the operating system might have problems with achieving deadlines of some processes.
  • Scheduling overhead is reduced because there is no prioritization of processes

Shortest remaining time

This scheduling algorithm uses the Shortest Job First (SJF) approach. The scheduler puts processes that require the least CPU time next in the ready queue. Any arrival of a process that requires less time than the remaining time of the current process that is being executed results in an interruption of the process execution (Sibsankar & Aravind, 211). This results in the creating of two different processing blocks, resulting in additional overheads because of the additional context switching time. The features of the SJF include:

  • The algorithm ensures maximum throughput
  • the SJF approach does not a consideration to deadlines unless the deadlines are made to have the shortest CPU time possible
  • There is the possibility of starvation in systems whereby there are a large number of small processes that are being constantly executed.

Fixed Priority preemptive scheduling

Under this approach, the operating systems use ranks that have been assigned to the processes to determine which process is loaded into the queue (Sibsankar & Aravind, 224). Processes that have high priority ranks are loaded first in the queue while those with low priority are loaded last in the queue. Interruptions are caused by the arrival of higher priority processes. This algorithm attempts to eliminate the overheads as much as possible. The waiting and starvation depend on the priority ranks assigned to the processes (Sibsankar & Aravind, 225).

Round Robin algorithm

Under this approach, the operating system assigns a fixed amount of time per process and cycles through the queue. The round-robin algorithm incurs a lot of overhead in situations where the fixed time unit is small. It exhibits a balanced throughput in relation to both SJF and FCFS. Starvation is eliminated in Round Robin because there is the prioritization of processes based on priority ranks, process time, or time of arrival (Sibsankar & Aravind, 228).

Multi-level queue algorithm

This process scheduling algorithm is deployed in contexts whereby the processes are segregated into groups in terms of priorities (Mark, 88). The iOS uses a multilevel feedback queue, with its processes being divided into four categories: normal, kernel mode only, real-time threads, and high priority threads (Mark, 90).

Deadlock

Deadlock refers to a situation whereby a number of processes are competing for the same CPU resources. Deadlocks are always a result of a number of processes awaiting requirements that can not be met by the central processing unit. The major causes of deadlocks are mutual exclusion; systems that have no pre-emption and the circular wait (Stalling, 136).

Concurrent processes

Concurrent processes in an operating system are two processes running at the same time that can function independently without impairing the overall performance of the operating system.

Memory Management in Ios

Unlike other operating system platforms, iOS uses a complicated memory management approach to ensure the effective use of its memory resources. Memory management by iOS involves the analysis of the available memory and the amount of memory that a given process requires (Mark, 95). Memory management is an important aspect of iOS and facilitates the execution of more processes that require more than the available memory.

The memory management concepts in iOS include (Mark, 100):

  • Large address spaces; the iOS achieves this through the use of virtual memory. Virtual memory is that part of the secondary memory the OS uses as main memory. The virtual memory in iOS can be adjusted to suit the user’s requirements.
  • Protection; involves assigning each process virtual address space. The virtual address spaces by different processes are different from each other and the hardware mechanisms do not allow overwriting of the protected virtual address spaces.
  • Memory Mapping; is fundamentally used to plot data into the physical address locations of the processes.
  • Fair Physical Address memory allocation; the goal of memory management is to ensure each process receives a fair amount of memory according to its requirements and the available memory.

Paging memory management/ allocation

Mark (98) infers that in the iOS context, paged memory allocation refers to a memory management strategy whereby the operating can read and write instructions from the secondary storage; implying that the paged memory functions as the main memory. The advantage of this scheme is that it frees the main memory and therefore facilitates the executions of programs that require more memory than the available physical memory (Mark, 102). The various aspects of paging are outlined below.

Virtual Memory

The Virtual memory in iOS uses virtual address spaces rather than actual physical addresses locations(Mark, 100). The virtual addresses are then mapped to the actual physical memory by the processor depending on the page tables maintained by iOS. The Virtual and the actual memory locations are divided into segments called pages which are all of the same size (Sibsankar & Aravind, 225).

In the virtual memory addressing, the virtual address is divided into two elements; an offset and the virtual address frame page number. The operation of the virtual memory is principally based on the paging tables that are subject to the control of the Operating system.

Demand Paging

In most cases, the physical memory is far much less than the virtual memory, the iOS has the responsibility of making use of the available memory in the most efficient way possible. Demand paging is whereby the CPU loads the virtual memory directly without mapping it into the physical address space (Mark, 110). It entails the loading of virtual address spaces into the memory as they are being accessed.

A page fault occurs when the CPU can not transform the virtual address into a physical address space on the main memory.

Page replacement policies

The page replacement policies in iOS are greatly determined by its kernel architecture; which in turn influences the locality of reference. The two-page replacement policies are (Sibsankar & Aravind, 230):

  • Local replacement; page replacement is can be selected from any page within the memory
  • Global replacement; page replacement can only take place from the memory partition that has been assigned to the process.
  • Pre-cleaning; page replacement policy whereby it starts with pages that are most likely to be replaced next.

Memory Management Algorithms in Ios

The page replacement algorithms are primarily used to determine which pages in the memory are swapped in and swapped out of the memory. The iOS deploys the use of the following conventional page replacement algorithms (Mark, 120):

Not Recently Used (NRU)

This algorithm favors the retention of memory pages that have been recently used based on the principle that if a page has been referenced or modified, there is a possibility that it may be referenced in the near future system time(Stallings, 170).

First-in, First-out

Is far the simplest page replacement algorithm deployed by the iOS and has low overheads on the operating system. The replacement algorithm favors the retention of pages that last in the queue; the page at the front of the queue is the first to be replaced in case a page replacement is required by the OS (Stallings, 170).

The least recently Used (LRU)

The LRU algorithm is base on the principle that pages that have been accessed more are likely to be accessed and again, therefore it favors the retention of mostly used pages.

I/O Device Management in Ios

Device management is essential in any operating system so as to integrate communication between the user, the operating system and the CPU. Basically, device management entails the processing of the I/O interrupts (Stallings, 115). The various approaches in device management in iOS are outlines below.

RAID technology

Redundant Array of Independent Disks is primarily used to improve the systems functionality through the use of redundancy approach. The various disk drives are arranged into one logical unit and the arrays in the multiple disk drives functions independently. This serves as a back up procedure and aims at maintaining the operating system’s functionality (Stallings, 120).

The two main objectives of using RAID in disk drives are to achieve data reliability and improve the performance of the I/O devices. The RAID classifications include: RAID 0, RAID 1, RAID2, RAID 3, RAID 4, RAID and RAID 6 (Stallings, 125).

File Management in Ios

Files are an integral part in the usage of any computer system and mobile devices; this implies that the operating system has to establish effective file management approaches which may use a hierarchical organizational structure. File systems define the way data are arranged in a computer system (Sibsankar & Aravind, 105).

The four basic concepts involved in file management in the iOS include:

  • File creation
  • File and Directory Naming
  • File systems
  • File organizational structure.

File Creation

The iOS allows the user to create files and folders. Other file operations in iOS include file deletion, file modification such updating of the file contents. The operating system allows users to create files within other files; thereby allowing a parent-child files association (Sibsankar & Aravind, 100).

File directory and naming

In the iOS, a file name refers to the name assigned to a file in order to distinguish it from other files. No two different files under the same logical hierarchy can have the same file name (Stallings, 156). File names can take any character except “,” (comma) and “/” (backslash) which are reserved to separate between different directories and pathnames. The file naming rules used in file still apply to the parent directories and subdirectories under it. In the iOS, the directory structures may be flat or take a hierarchal structure whereby files are divided into subdirectories taking the parent child order, which the child being a subdirectory in the main file (Mark, 90).

Physical File organizational structures

The physical file organizations determine how files are arranged in the storage space according to the operating system. The file system used in iOS is commonly referred to as the HFS plus which is consistent in case preservation. The HFS plus file system that is used in iOS has mechanisms to avoid data corruption; it also has mechanisms that use automatic defragmenting algorithms thus eliminating the need of an external defragmenter (Mark, 80).

Network Management in Ios

One essential capability that a Smartphone must have is to be able to access network and network resources under any given settings. The iOS therefore must incorporate network access capabilities into the operating system. To achieve these the iOS has inbuilt network management services that run as background processes (Sibsankar & Aravind, 102).

.Apart from the inbuilt network management services that are incorporated into the iOS, the Apple Inc. has developed network management applications such as the Brooklyn for Nagios, which has the ability to monitor the Nagios system allowing network administrators to remotely control the network via the Smartphone (Mark, 50).

The iOS also incorporates the abilities by the iPhone to have access to WLAN through the use of in built Wi-Fi system in the iPhone. The iPhone has in built wireless network sensors which can detect any environment that is broadcasting a wireless signal that matches the frequency of the iPhone or the iPad. Other network access methods that are developed by iOS include 3G and Blue tooth. Recent attempts have been tested towards the use of 4G in iOS (Mark, 96).

System Security in Ios

System security is imperative in the development of an operating system in order to avoid its vulnerability to external threats such as viruses, Spyware and other malicious programs. The iOS therefore has measures that are aimed towards the protection of the system against such threats.

The two main approaches that are used by the iOS in ensuring system security include:

  • The use antivirus applications that serve to protect the system against virus threats. An example of antivirus that is compatible with the iOS is Intego VirusBarrier X5 10.5.3.
  • The use of inbuilt firewall software which aims to protect the system against online threats such as hacker attempts.
  • The use of spyware applications which are aimed to detect any malicious online software that may pose threat to the stability of the system.

Conclusion

Difficulties encountered during the research

Carrying out a study on technological devices is not always an easy task. The difficulties experienced during the research study included:

  • Lack of access to enough information; the iOS is a recent technology, this implies that there are no enough resources that have been developed towards the iOS, the few that were available were based on the earlier versions of the iOS and drawing a correlation between the Unix-like mobile operating systems software.
  • Very few people have smart phones that are powered by iOS; this poses a barrier to the gathering of information concerning iOS.
  • The complexity of the iOS is hard to understand

Solutions to the difficulties

  • Intensive internet research to acquire information such as through Apple Forums
  • Visiting the various iPhone dealers and customer centers for relevant information and more explanation of the functionality of the iOS

Lessons learnt during the research

The Smartphone industry is a complicated and very dynamic, with the mobile application users increasing daily. The user preference is basically based on the usability of the mobile operating system and therefore Apple tries to make its operating system the most usable in the market through an integration of the hardware and software on their Smart phones.

References

Mark, David. Beginning iPhone 3 Development: Exploring the iPhone SDK. New York: Apress, 2009.

Sibsankar, Haldar and Aravind Alex. Operating Systems. Upper Saddle River: Pearson Education , 2010.

Stallings, William. Operating Systems: Internals and Design Principles. New York: Prentice Hall, 2008.

More related papers Related Essay Examples
Cite This paper
You're welcome to use this sample in your assignment. Be sure to cite it correctly

Reference

IvyPanda. (2022, March 22). iPhone Operating Systems Analysis. https://ivypanda.com/essays/iphone-operating-systems-analysis/

Work Cited

"iPhone Operating Systems Analysis." IvyPanda, 22 Mar. 2022, ivypanda.com/essays/iphone-operating-systems-analysis/.

References

IvyPanda. (2022) 'iPhone Operating Systems Analysis'. 22 March.

References

IvyPanda. 2022. "iPhone Operating Systems Analysis." March 22, 2022. https://ivypanda.com/essays/iphone-operating-systems-analysis/.

1. IvyPanda. "iPhone Operating Systems Analysis." March 22, 2022. https://ivypanda.com/essays/iphone-operating-systems-analysis/.


Bibliography


IvyPanda. "iPhone Operating Systems Analysis." March 22, 2022. https://ivypanda.com/essays/iphone-operating-systems-analysis/.

If, for any reason, you believe that this content should not be published on our website, please request its removal.
Updated:
This academic paper example has been carefully picked, checked and refined by our editorial team.
No AI was involved: only quilified experts contributed.
You are free to use it for the following purposes:
  • To find inspiration for your paper and overcome writer’s block
  • As a source of information (ensure proper referencing)
  • As a template for you assignment
1 / 1