ANDROID & IOS
-IOS-INTRODUCTION 
 iOS comprises the operating system and technologies that you 
use to run applications natively on devices, such as iPad, iPhone, 
and iPod touch 
 It was designed to meet the needs of a mobile environment, the 
technologies are available only on iOS, such as the Multi-touch 
interface and accelerometer support 
 It not only manages power efficiently but also delivers 
outstanding battery life. iOS even ensures that 
performance and battery life don’t suffer even if you are 
you’re multitasking. 
 Apple makes both the iPhone hardware and the operating 
system, everything works together seamlessly and 
intelligently. 
 iPhone and iOS are made to be used around the world. 
The user interface is localized into over 30 languages, and 
you can easily switch between them.
HISTORY 
 The operating system was unveiled with the iPhone at the 
Macworld Conference & Expo, January 9, 2007. not specify 
a separate name for the operating system 
 Initially, third-party applications were not supported. Later 
with the efforts of Steve Jobs, On October 17, 2007, Apple 
announced that a native Software Development Kit (SDK) 
was under development 
 On March 6, 2008, Apple released the first beta, along 
with a new name for the operating system: "iPhone OS". 
 On January 27, 2010, Apple announced the iPad, featuring 
a larger screen than the iPhone and iPod touch, and 
designed for web browsing, media consumption, and 
reading iBooks. 
 In June 2010, Apple rebranded iPhone OS as "iOS".
VERSIONS 
 iOS4:Apple released iOS4 in an effort to reduce the strain on 
Apple's servers. iOS4 was the first version of the OS to be a free 
upgrade on the iPod touch. 
 iOS4.0.1:There were several antenna issues in the previous 
version, iOS4.0.1 included a fix to the reception signal strength 
indicator. 
 iOS4.1:iOS4.1 for the iPhone and iPod touch was released with 
an update fixed some bugs reported by users, improved battery 
life and added several new features such as Game Center. 
 iOS4.2:iOS4.2 was never released but instead iOS4.2.1 was 
released which added iPad compatibility. Further on iOS4.2.5 
was released as a demo version for the CDMA version of the 
iPhone 4. 
 iOS4.3: The public release of iOS4.3 included many new features 
such as a Nitro JavaScript engine in Safari. iTunes Home Sharing 
also received a major revision in iOS4.3; it allows users to 
connect to their home Wi-Fi networks .
FEATURES 
 Game Center: The most significant feature in iOS4.1 
is the Apple’s new Game Center social gaming 
service. 
 Folders: IOS4 came with the introduction of a simple 
folder system. 
 Camera & Photos: iOS4.1 also makes some 
enhancements to the iPhone Camera and Photos 
apps, providing support for High Dynamic Range 
photos, HD video uploads and improved camera 
controls on the iPhone 4 and 4G iPod touch. 
 Bluetooth AVRCP Support : iOS 4.1 provide full AVRCP 
support for Bluetooth accessories, allowing for not 
only play/pause control but also track navigation
IOS TECHNOLOGY 
LAYERS 
• iOS, there are four 
abstraction layers: the Core 
OS layer, the Core Services 
layer, the Media layer, and 
the Cocoa Touch layer. 
• The kernel in iOS is based on 
a variant of the same basic 
Mach kernel that is found in 
Mac OS X. 
Core OS Layer 
Core Os Layer Manage the virtual memory system, threads, the file 
system, the network, and interprocess communication with the 
frameworks in the Core OS layer. This layer encompasses the kernel 
environment, drivers, and basic interfaces of iOS.
CONT… 
Core Services Layer 
Core Services layers contain the fundamental interfaces for iOS, 
including those used for accessing files, low-level data types, Bonjour 
services, network sockets, and so on. These interfaces are mostly C-based 
. 
Media Layer 
Media Layer allows you to create the best multimedia experience 
available on a mobile device with the frameworks in the Media layer. 
More advanced technologies that use interfaces based on a mixture 
of C and Objective-C is used in Media Layer. 
Cocoa Touch Layer 
Implementation of a graphical, event-driven application in iOS with 
the frameworks is performed in the Cocoa Touch Layer. In the Cocoa 
Touch layer, most of the technologies use Objective-C. The 
frameworks at these layers provide the fundamental infrastructure 
used by your application.
ADVANTAGES 
 Elegant and intuitive interface 
 Multitasking 
 The world’s largest collection of mobile apps 
 Performance and stability that lead the industry 
 Hardware and software made for each other 
 Safe and secure by design 
 It comes with built-in parental control 
 Ready for business 
 Works all over the world
FUTURE ENHANCEMENT 
 The iOS 5 is the most advanced mobile operating system. 
 There is a potential in this technology to be enhanced 
further due to its features and can lead the Mobile OS 
industry and always be ahead 
 SDK: The iOS SDK Allows the third Party Developers to 
develop Applications for iOS. All the Resources are made 
available. 
 Apple makes SDKs available for specific versions of iOS. 
 Using these SDKs allows you to build against the headers 
and libraries of an operating system version other than the 
one you're running on.
-ANDROID-HISTORY 
 2003 
> Andy Rubin and Rich Miner started the development 
of Android OS, establishing Android Inc. 
 2005 
> Google acquires startup Android Inc. to start Android 
platform 
> Work on Dalvik VM begins 
 2007 
> Open Handset Alliance announced 
> Early look at SDK
CONT… 
 2008 
> Google sponsors 1st Android Developer Challenge 
> T-Mobile G1 announced 
> SDK 1.0 released 
> Android released open source (Apache licensed) 
 2009 
> SDK 1.5 (Cupcake) 
New soft keyboard with “autocomplete” feature 
> SDK 1.6 (Donut) 
Support Wide VGA 
> SDK 2.0/2.0.1/2.1 (Eclair) 
Revamped UI, browser
CONT… 
 2010 
> Nexus One released to the public 
> SDK 2.2 (Froyo) 
Flash support, tethering 
> SDK 2.3 (Gingerbread) 
UI update, system-wide copy-paste 
 2011 
> SDK 3.0/3.1/3.2 (Honeycomb) for tablets only 
New UI for tablets, support multi-core processors 
> SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich) 
Changes to the UI, Voice input, NFC
OPEN SOURCE
WHAT IS GOOGLE’S ANDROID? 
 A software stack for mobile devices that includes: 
> an operating system 
> middleware 
> key applications 
 Uses Linux to provide core system services 
> Security 
> Memory management 
> Process management 
> Power management 
> Hardware drivers
BASED ON LINUX 
 Android uses Linux 2.6 kernel as the hardware abstraction 
 What are the essences an OS should provide? 
> Memory management, process management, IPC 
> No virtual memory; specially implemented IPC 
 Drivers and architecture support 
> How to port Android to a new device? 
 Using Linux vs. Writing a new OS from scratch 
> Do all Linux kernel implementations work well on 
mobile devices?
PROCESS MANAGEMENT 
 What’s the difference between mobile apps cycle and 
desktop apps cycle? 
 Two key principles 
> Android usually do not kill an app, i.e. apps keep 
running even after you switch to other apps 
> Android kills apps when the memory usage goes too 
high, but it saves app state for quick restart later on 
> Do they make sense to mobile apps?
APPLICATION LIFE CYCLE
EXAMPLE 
 CSE120-lecture.pdf
MEMORY MANAGEMENT 
 Linux kernel does most of the job 
> Page-based memory management 
> Virtual address to physical address mapping 
> NO virtual memory 
> Why do we still need “virtual to physical” 
address mapping? 
> Why does Android not support virtual 
memory?
POWER MANAGEMENT
DALVIK VM 
Why does Android let developers use Java? 
 A special Java virtual machine (VM) designed to run with 
limited system resource 
 Memory efficiency 
 Register machine vs. Stack machine (modern JVM) 
> fewer instructions, faster execution 
> why does the number of instructions matter? 
 Running multiple VMs more efficiently
MEMORY EFFICIENCY 
 Shared constant string pool 
 Share clean (even some dirty) memory between 
 processes as much as possible 
 “.dex” files are mapped as read-only by mmap() 
 Memory efficient JIT implementation 
> JIT itself is about 100K 
> Code cache and supporting data structure takes 
another 100K for each application
VERSIONS & FEATURES 
 Versions & Features.docx
iOS Android 
iOS always just works. Apple's trademark polish permeates its 
operating system, and while occasional bugs might appear, they're 
quickly fixed. On Android, an application crash could take down the 
entire phone, forcing it to reboot. 
Android is almost infinitely customizable. If you want to make your 
phone look and feel exactly the way you want – and you have a 
moderate amount of technical knowledge to make it happen – Android 
will give you much more flexibility than iOS. Every part of the Android 
interface, from what the icons look like to what fonts you see, can be 
tweaked or switched out. 
You get better quality apps, sooner. Although the majority of 
developers will try to release their apps on both iOS and Android, 
many release on iOS first because it's easier to develop for. Android is 
a fragmented operating system – most phones that have it installed 
aren't running the latest version, which can make development 
harder. On the other hand, iOS is consistent across all Apple devices, 
and easy to update when a new version comes out. 
The phones tend to have fun new features and technologies. Along 
with hardware features you won't find on iPhones, such as IR blasters 
and NFC chips, Android phones often have unique extras that let you 
use your phone in fun and different ways, depending on the 
manufacturer. 
iOS is a more secure operating system. There are two reasons for 
this. First and foremost, Apple employees manually inspect and 
validate every single application posted to the iOS App Store before 
they're made available to the public. When combined with the 
restrictions preventing apps from accessing the operating system 
directly, this essentially keeps any virus or malware from infecting 
your phone. Additionally, Apple has integrated theft prevention 
software into the operating system, which makes it easy to track 
where your iPhone goes if it's stolen, and impossible to wipe it or 
turn off the GPS tracker without entering your password. 
You can have your pick of phone at any price point. Android is the 
default operating system for most of the phones that manufacturers 
offer. Between the various brands and the many devices they have at 
difference prices, there's plenty of variety for you to pick from.

Android & IOS

  • 1.
  • 2.
    -IOS-INTRODUCTION  iOScomprises the operating system and technologies that you use to run applications natively on devices, such as iPad, iPhone, and iPod touch  It was designed to meet the needs of a mobile environment, the technologies are available only on iOS, such as the Multi-touch interface and accelerometer support  It not only manages power efficiently but also delivers outstanding battery life. iOS even ensures that performance and battery life don’t suffer even if you are you’re multitasking.  Apple makes both the iPhone hardware and the operating system, everything works together seamlessly and intelligently.  iPhone and iOS are made to be used around the world. The user interface is localized into over 30 languages, and you can easily switch between them.
  • 3.
    HISTORY  Theoperating system was unveiled with the iPhone at the Macworld Conference & Expo, January 9, 2007. not specify a separate name for the operating system  Initially, third-party applications were not supported. Later with the efforts of Steve Jobs, On October 17, 2007, Apple announced that a native Software Development Kit (SDK) was under development  On March 6, 2008, Apple released the first beta, along with a new name for the operating system: "iPhone OS".  On January 27, 2010, Apple announced the iPad, featuring a larger screen than the iPhone and iPod touch, and designed for web browsing, media consumption, and reading iBooks.  In June 2010, Apple rebranded iPhone OS as "iOS".
  • 4.
    VERSIONS  iOS4:Applereleased iOS4 in an effort to reduce the strain on Apple's servers. iOS4 was the first version of the OS to be a free upgrade on the iPod touch.  iOS4.0.1:There were several antenna issues in the previous version, iOS4.0.1 included a fix to the reception signal strength indicator.  iOS4.1:iOS4.1 for the iPhone and iPod touch was released with an update fixed some bugs reported by users, improved battery life and added several new features such as Game Center.  iOS4.2:iOS4.2 was never released but instead iOS4.2.1 was released which added iPad compatibility. Further on iOS4.2.5 was released as a demo version for the CDMA version of the iPhone 4.  iOS4.3: The public release of iOS4.3 included many new features such as a Nitro JavaScript engine in Safari. iTunes Home Sharing also received a major revision in iOS4.3; it allows users to connect to their home Wi-Fi networks .
  • 5.
    FEATURES  GameCenter: The most significant feature in iOS4.1 is the Apple’s new Game Center social gaming service.  Folders: IOS4 came with the introduction of a simple folder system.  Camera & Photos: iOS4.1 also makes some enhancements to the iPhone Camera and Photos apps, providing support for High Dynamic Range photos, HD video uploads and improved camera controls on the iPhone 4 and 4G iPod touch.  Bluetooth AVRCP Support : iOS 4.1 provide full AVRCP support for Bluetooth accessories, allowing for not only play/pause control but also track navigation
  • 6.
    IOS TECHNOLOGY LAYERS • iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. • The kernel in iOS is based on a variant of the same basic Mach kernel that is found in Mac OS X. Core OS Layer Core Os Layer Manage the virtual memory system, threads, the file system, the network, and interprocess communication with the frameworks in the Core OS layer. This layer encompasses the kernel environment, drivers, and basic interfaces of iOS.
  • 7.
    CONT… Core ServicesLayer Core Services layers contain the fundamental interfaces for iOS, including those used for accessing files, low-level data types, Bonjour services, network sockets, and so on. These interfaces are mostly C-based . Media Layer Media Layer allows you to create the best multimedia experience available on a mobile device with the frameworks in the Media layer. More advanced technologies that use interfaces based on a mixture of C and Objective-C is used in Media Layer. Cocoa Touch Layer Implementation of a graphical, event-driven application in iOS with the frameworks is performed in the Cocoa Touch Layer. In the Cocoa Touch layer, most of the technologies use Objective-C. The frameworks at these layers provide the fundamental infrastructure used by your application.
  • 8.
    ADVANTAGES  Elegantand intuitive interface  Multitasking  The world’s largest collection of mobile apps  Performance and stability that lead the industry  Hardware and software made for each other  Safe and secure by design  It comes with built-in parental control  Ready for business  Works all over the world
  • 9.
    FUTURE ENHANCEMENT The iOS 5 is the most advanced mobile operating system.  There is a potential in this technology to be enhanced further due to its features and can lead the Mobile OS industry and always be ahead  SDK: The iOS SDK Allows the third Party Developers to develop Applications for iOS. All the Resources are made available.  Apple makes SDKs available for specific versions of iOS.  Using these SDKs allows you to build against the headers and libraries of an operating system version other than the one you're running on.
  • 10.
    -ANDROID-HISTORY  2003 > Andy Rubin and Rich Miner started the development of Android OS, establishing Android Inc.  2005 > Google acquires startup Android Inc. to start Android platform > Work on Dalvik VM begins  2007 > Open Handset Alliance announced > Early look at SDK
  • 11.
    CONT…  2008 > Google sponsors 1st Android Developer Challenge > T-Mobile G1 announced > SDK 1.0 released > Android released open source (Apache licensed)  2009 > SDK 1.5 (Cupcake) New soft keyboard with “autocomplete” feature > SDK 1.6 (Donut) Support Wide VGA > SDK 2.0/2.0.1/2.1 (Eclair) Revamped UI, browser
  • 12.
    CONT…  2010 > Nexus One released to the public > SDK 2.2 (Froyo) Flash support, tethering > SDK 2.3 (Gingerbread) UI update, system-wide copy-paste  2011 > SDK 3.0/3.1/3.2 (Honeycomb) for tablets only New UI for tablets, support multi-core processors > SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich) Changes to the UI, Voice input, NFC
  • 13.
  • 14.
    WHAT IS GOOGLE’SANDROID?  A software stack for mobile devices that includes: > an operating system > middleware > key applications  Uses Linux to provide core system services > Security > Memory management > Process management > Power management > Hardware drivers
  • 15.
    BASED ON LINUX  Android uses Linux 2.6 kernel as the hardware abstraction  What are the essences an OS should provide? > Memory management, process management, IPC > No virtual memory; specially implemented IPC  Drivers and architecture support > How to port Android to a new device?  Using Linux vs. Writing a new OS from scratch > Do all Linux kernel implementations work well on mobile devices?
  • 16.
    PROCESS MANAGEMENT What’s the difference between mobile apps cycle and desktop apps cycle?  Two key principles > Android usually do not kill an app, i.e. apps keep running even after you switch to other apps > Android kills apps when the memory usage goes too high, but it saves app state for quick restart later on > Do they make sense to mobile apps?
  • 17.
  • 18.
  • 19.
    MEMORY MANAGEMENT Linux kernel does most of the job > Page-based memory management > Virtual address to physical address mapping > NO virtual memory > Why do we still need “virtual to physical” address mapping? > Why does Android not support virtual memory?
  • 20.
  • 21.
    DALVIK VM Whydoes Android let developers use Java?  A special Java virtual machine (VM) designed to run with limited system resource  Memory efficiency  Register machine vs. Stack machine (modern JVM) > fewer instructions, faster execution > why does the number of instructions matter?  Running multiple VMs more efficiently
  • 22.
    MEMORY EFFICIENCY Shared constant string pool  Share clean (even some dirty) memory between  processes as much as possible  “.dex” files are mapped as read-only by mmap()  Memory efficient JIT implementation > JIT itself is about 100K > Code cache and supporting data structure takes another 100K for each application
  • 23.
    VERSIONS & FEATURES  Versions & Features.docx
  • 24.
    iOS Android iOSalways just works. Apple's trademark polish permeates its operating system, and while occasional bugs might appear, they're quickly fixed. On Android, an application crash could take down the entire phone, forcing it to reboot. Android is almost infinitely customizable. If you want to make your phone look and feel exactly the way you want – and you have a moderate amount of technical knowledge to make it happen – Android will give you much more flexibility than iOS. Every part of the Android interface, from what the icons look like to what fonts you see, can be tweaked or switched out. You get better quality apps, sooner. Although the majority of developers will try to release their apps on both iOS and Android, many release on iOS first because it's easier to develop for. Android is a fragmented operating system – most phones that have it installed aren't running the latest version, which can make development harder. On the other hand, iOS is consistent across all Apple devices, and easy to update when a new version comes out. The phones tend to have fun new features and technologies. Along with hardware features you won't find on iPhones, such as IR blasters and NFC chips, Android phones often have unique extras that let you use your phone in fun and different ways, depending on the manufacturer. iOS is a more secure operating system. There are two reasons for this. First and foremost, Apple employees manually inspect and validate every single application posted to the iOS App Store before they're made available to the public. When combined with the restrictions preventing apps from accessing the operating system directly, this essentially keeps any virus or malware from infecting your phone. Additionally, Apple has integrated theft prevention software into the operating system, which makes it easy to track where your iPhone goes if it's stolen, and impossible to wipe it or turn off the GPS tracker without entering your password. You can have your pick of phone at any price point. Android is the default operating system for most of the phones that manufacturers offer. Between the various brands and the many devices they have at difference prices, there's plenty of variety for you to pick from.