Do you need this or any other assignment done for you from scratch?
We have qualified writers to help you.
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)
NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.
NB: All your data is kept safe from the public.
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.
Do you need this or any other assignment done for you from scratch?
We have qualified writers to help you.
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)
NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.
NB: All your data is kept safe from the public.