ios android os seminar report

32
1 ABSTRACT iOS is Apple's mobile operating system developed originally for the iPhone, and later deployed on the iPod Touch and iPad as well. It is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system, by nature. In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The operating system uses roughly 800 megabytes of the device's storage. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. It can be considered as a software platform as well as an operating system for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance. It allows developers to write managed code in a Java-like language that utilizes Google-developed Java libraries. The android architecture consists of key applications, application framework, core libraries, android runtime and a Linux kernel. The main features of android applications are which have an integrated browser, SQLite for data storage, support for common audio, video formats and it has GSM, EDGE, 3G and Wi-Fi connectivity etc. An android application consists of four important parts. They are Activity, Intent receiver, services and content provider. There are some application development tools like Eclipse for the android phones. Google also develop emulator of android phone. Which help the application developers to run the application without an android phone. Many versions of android operating system are available like Gingerbread, Honeycomb, Froyo etc. The latest one is ‘Jelly Bean i.e, Android 4.1. The development of android made a boom in the mobile technology field.

Upload: mitesh-kha

Post on 18-Apr-2015

860 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: iOS Android OS Seminar Report

1

ABSTRACT

iOS is Apple's mobile operating system developed originally for the iPhone, and later deployed

on the iPod Touch and iPad as well. It is derived from Mac OS X, with which it shares

the Darwin foundation, and is therefore a Unix-like operating system, by nature. In iOS, there are

four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and

the Cocoa Touch layer. The operating system uses roughly 800 megabytes of the device's

storage.

Android is a software stack for mobile devices that includes an operating system, middleware

and key applications. It can be considered as a software platform as well as an operating system

for mobile devices based on the Linux operating system and developed by Google and the Open

Handset Alliance. It allows developers to write managed code in a Java-like language that

utilizes Google-developed Java libraries.

The android architecture consists of key applications, application framework, core libraries,

android runtime and a Linux kernel. The main features of android applications are which have an

integrated browser, SQLite for data storage, support for common audio, video formats and it has

GSM, EDGE, 3G and Wi-Fi connectivity etc.

An android application consists of four important parts. They are Activity, Intent receiver,

services and content provider. There are some application development tools like Eclipse for the

android phones. Google also develop emulator of android phone. Which help the application

developers to run the application without an android phone. Many versions of android operating

system are available like Gingerbread, Honeycomb, Froyo etc. The latest one is ‘Jelly Bean i.e,

Android 4.1. The development of android made a boom in the mobile technology field.

Page 2: iOS Android OS Seminar Report

2

CONTENTS

Abstract 1

Introduction 3

Overview of apple iOS And Android 5

The Birth of Android 7

Origin of iPhone 9

Features of Android 13

Technology Behind iOS 16

Architecture of Android 23

Some Similarities 28

Comparison between Android and iOS 29

Conclusion 30

References 32

Page 3: iOS Android OS Seminar Report

3

INTRODUCTION-iOS

iOS is Apple's mobile operating system. Developed originally for the iPhone, it has since been

shipped on the iPod Touch and iPad as well. Apple does not permit the OS to run on third-party

hardware. As of June 7, 2010, Apple's App Store contained more than 225,000 iOS applications,

which had collectively been downloaded more than five billion times.

The user interface of iOS is based on the concept of direct manipulation, using multi-

touch gestures. Interface control elements consist of sliders, switches, and buttons. The response

to user input is immediate and provides a fluid interface. Interaction with the OS includes

gestures such as swiping, tapping, pinching, and reverse pinching. Internal accelerometers are

used by some applications to respond to shaking the device (one common result is the undo

command) or rotating it in three dimensions (one common result is switching from portrait to

landscape mode).

iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore

a Unix-like operating system by nature.

In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media

layer, and the Cocoa Touch layer. The operating system uses roughly 500 megabytes of the

device's storage.

Page 4: iOS Android OS Seminar Report

4

INTRODUCTION-Android

Android is a software stack for mobile devices that includes an operating system, middleware

and key applications. Android is a software platform and operating system for mobile devices

based on the Linux operating system and developed by Google and the Open Handset Alliance.

It allows developers to write managed code in a Java-like language that utilizes Google-

developed Java libraries, but does not support programs developed in native code.

The unveiling of the Android platform on 5 November 2007 was announced with the founding of

the Open Handset Alliance, a consortium of 34 hardware, software and telecom companies

devoted to advancing open standards for mobile devices. When released in 2008, most of the

Android platform will be made available under the Apache free-software and open-source

license.

Page 5: iOS Android OS Seminar Report

5

OVERVIEW OF APPLE iOS

iOS comprises the operating system and technologies that you use to run applications natively on devices, such as iPad, iPhone, and iPod touch. Although it shares a common heritage and many underlying technologies with Mac OS X, iOS was designed to meet the needs of a mobile

environment, where users’ needs are slightly different. If you have previously developed applications for Mac OS X, you will find many familiar technologies, but you’ll also find

technologies that are available only on iOS, such as the Multi-Touch interface and accelerometer support.

The iPhone SDK contains the code, information, and tools you need to develop, test, run, debug, and tune applications for iOS. The Xcode tools provide the basic editing, compilation, and

debugging environment for your code. Xcode also provides the launching point for testing your applications on an iOS device, and in iPhone Simulator—a platform that mimics the basic iOS environment but runs on your local Macintosh computer.

Page 6: iOS Android OS Seminar Report

6

OVERVIEW OF ANDROID OS

Android™ delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications.

Open

Android was built from the ground-up to enable developers to create compelling mobile applications that take full advantage of all a handset has to offer. It was built to be truly open.

For example, an application can call upon any of the phone’s core functionality such as making calls, sending text messages, or using the camera, allowing developers to create richer and more cohesive experiences for users. Android is built on the open Linux Kernel. Furthermore, it

utilizes a custom virtual machine that was designed to optimize memory and hardware resources in a mobile environment. Android is open source; it can be liberally extended to incorporate new

cutting edge technologies as they emerge. The platform will continue to evolve as the developer community works together to build innovative mobile applications.

All applications are created equal

Android does not differentiate between the phone’s core applications and third-party applications. They can all be built to have equal access to a phone’s capabilities providing users

with a broad spectrum of applications and services. With devices built on the Android Platform, users are able to fully tailor the phone to their interests. They can swap out the phone's home screen, the style of the dialer, or any of the applications. They can even instruct their phones to

use their favorite photo viewing application to handle the viewing of all photos.

Breaking down application boundaries

Android breaks down the barriers to building new and innovative applications. For example, a developer can combine information from the web with data on an individual’s mobile phone — such as the user’s contacts, calendar, or geographic location — to provide a more relevant user

experience. With Android, a developer can build an application that enables users to view the location of their friends and be alerted when they are in the vicinity giving them a chance to

connect.

Fast & easy application development

Android provides access to a wide range of useful libraries and tools that can be used to build

rich applications. For example, Android enables developers to obtain the location of the device, and allows devices to communicate with one another enabling rich peer–to–peer social

applications. In addition, Android includes a full set of tools that have been built from the ground up alongside the platform providing developers with high productivity and deep insight into their applications.

Page 7: iOS Android OS Seminar Report

7

THE BIRTH OF ANDROID

Google Acquires Android Inc.

In July 2005, Google acquired Android Inc., a small startup company based in Palo Alto,

CA. Android's co-founders who went to work at Google included Andy Rubin (co-

founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc), Nick

Sears (once VP at T-Mobile), and Chris White (one of the first engineers at WebTV). At

the time, little was known about the functions of Android Inc. other than they made

software for mobile phones.

At Google, the team, led by Rubin, developed a Linux-based mobile device OS which

they marketed to handset makers and carriers on the premise of providing a flexible,

upgradeable system. It was reported that Google had already lined up a series of

hardware component and software partners and signaled to carriers that it was open to

various degrees of cooperation on their part.

Open Handset Alliance Founded

On 5 November 2007, the Open Handset Alliance, a consortium of several companies

which include Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel and

NVIDIA, was unveiled with the goal to develop open standards for mobile devices.

Along with the formation of the Open Handset Alliance, the OHA also unveiled their first

product, Android, an open source mobile device platform based on the Linux operating

system.

Hardware

Google has unveiled at least three prototypes for Android, at the Mobile World Congress

on February 12, 2008. One prototype at the ARM booth displayed several basic Google

applications. A 'd-pad' control zooming of items in the dock with a relatively quick

response.

Page 8: iOS Android OS Seminar Report

8

A prototype at the Google IO conference on May 28, 2008 had a 528 MHz Qualcomm

processor and a Synaptics capacitive touch screen, and used the UMTS cellular standard.

It had 128 MB of RAM and 256 MB of flash, showing that Android's memory

requirements are reasonable. The demo was carried out using a 3.6 Mbit/s HSDPA

connection.

Page 9: iOS Android OS Seminar Report

9

ORIGIN OF iPHONE

Comments made by Jobs in April 2003 at the "D: All Things Digital" executive conference

expressed his belief that tablet PCs and traditional PDAs were not good choices as high-demand

markets for Apple to enter, despite many requests made to him that Apple create another PDA.

He did believe that cell phones were going to become important devices for portable

information access, and that what cell phones needed to have was excellent

synchronization software.

At the time, instead of focusing on a follow-up to their Newton PDA, Jobs had Apple put

its energies into the iPod, and the iTunes software (which can be used to synchronize

content with iPod devices), released January 2001.

On September 7, 2005, Apple and Motorola released the ROKR E1, the first mobile

phone to use iTunes. Jobs was unhappy with the ROKR, feeling that having to

compromise with a non-Apple designer (Motorola) prevented Apple from designing the

phone they wanted to make.

In September 2006, Apple discontinued support for the ROKR and released a version of

iTunes that included references to an as-yet unknown mobile phone that could display

pictures and video.

On January 9, 2007, Jobs announced the iPhone at the Macworld convention, receiving

substantial media attention, and on June 11, 2007 announced at the Apple's Worldwide

Developers Conference that the iPhone would support third-party applications using the

Safari engine on the device.

Third-parties would create the Web 2.0 applications and users would access them via the

internet.

Page 10: iOS Android OS Seminar Report

10

Such applications appeared even before the release of the iPhone; the first being

"OneTrip", a program meant to keep track of the user's shopping list.

On June 29, 2007, Apple released version 7.3 of iTunes to coincide with the release of

the iPhone. This release contains support for iPhone service activation and syncing

Page 11: iOS Android OS Seminar Report

11

APPLE iOS

ABOUT iOS

Company/developer: Apple inc.

Programmed in: C, C++, Objective-C

OS Family: Mac OS X/UNIX like

Working state: Current

Initial release: June 29, 2007 Latest stable release: iPhone (3GS+) iPod Touch (3G+) iPad (all models)

5.1.1 (Build 9B206) (May 7, 2012; 4 months ago)

Latest unstable release: iPhone (3GS+) iPod Touch (4G+) iPad (2G+) Apple TV (2G+)

6.0 GM seed (Build 10A403) (September 13, 2012; 4 days ago)

Available language(s): 34

Supported platforms: ARM (iPhone, iPod Touch, iPad, and 2nd gen. and higher Apple TV), AppleA4, Apple A5, Apple A5X, Apple A6

Kernel type: Hybrid (XNU)

Default user interface: Cocoa Touch (Multi-touch, GUI)

License: Proprietary EULA except for open source

components

Official website: www.apple.com/ios/

TABLE 1: iOS DETAILS

Page 12: iOS Android OS Seminar Report

12

HISTORY OF iOS:

The operating system was unveiled with the iPhone at the Macworld Conference & Expo on

January 9, 2007, and released in June of that year. At first, Apple marketing literature did not

specify its name, stating simply that the "iPhone uses OS X".

Initially, third-party applications were not supported. Steve Jobs argued that developers could

build web applications that "would behave like native apps on the iPhone". On October 17, 2007,

Apple announced that a native SDK was under development and that they planned to put it "in

developers' hands in February". On March 6, 2008, Apple released the first beta, along with a

new name for the operating system: iPhone OS.

Brisk sales of Apple mobile devices kindled interest in the SDK. The previous September, Apple

had released the iPod Touch, which had most of the non-phone capabilities of the iPhone. Apple

also sold more than one million iPhones during the 2007 holiday season. 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.

Page 13: iOS Android OS Seminar Report

13

Features of Android

Application Framework

It is used to write applications for Android. Unlike other embedded mobile

environments, Android applications are all equal, for instance, an applications

which come with the phone are no different than those that any developer

writes.The framework is supported by numerous open source libraries such as

openssl, SQLite and libc. It is also supported by the Android core libraries. From

the point of security, the framework is based on UNIX file system permissions that

assure applications have only those abilities that mobile phone owner gave them at install

time.

Dalvik Virtual Machine

It is extremely low-memory based virtual machine, which was designed especially for

Android to run on embedded systems and work well in low power situations. It is also

tuned to the CPU attributes. The Dalvik VM creates a special file format (.DEX)

that is created through build time post processing. Conversion between Java classes

and .DEX format is done by included “dx” tool.

Integrated Browser

Google made a right choice on choosing WebKit as open source web browser. They

added a two pass layout and frame flattening. Two pass layout loads a page without

waiting for blocking elements, such as external CSS or external JavaScript and after

a while renders again with all resources downloaded to the device. Frame flattening

Page 14: iOS Android OS Seminar Report

14

converts founded frames into single one and loads into the browser. These features

increase speed and usability browsing the internet via mobile phone.

Optimized Graphics

As Android has 2D graphics library and 3D graphics based on OpenGL ES 1.0,

possibly we will see great applications like Google Earth and spectacular games

like Second Life, which come on Linux version. At this moment, the shooting legendary

3D game Doom was presented using Android on the mobile phone.

SQLite

Extremely small (~500kb) relational database management system, which is integrated in

Android. It is based on function calls and single file, where all definitions, tables and data

are stored. This simple design is more than suitable for a platform such as Android.

Handset Layouts

The platform is adaptable to both larger, VGA, 2D graphics library, 3D graphics library

based on OpenGL ES 1.0 specifications, traditional smart phone layouts. An underlying

2D graphics engine is also included. Surface Manager manages access to the display

subsystem and seamlessly composites 2D and 3D graphic layers from multiple

applications

Data Storage

SQLite is used for structured data storage .SQLite is a powerful and lightweight relational

database engine available to all applications.

Connectivity

Android supports a wide variety of connectivity technologies including GSM, CDMA,

Bluetooth, EDGE, EVDO, 3G and Wi-Fi.

Page 15: iOS Android OS Seminar Report

15

Messaging

SMS, MMS, and XMPP are available forms of messaging including threaded text

messaging.

Web Browser

The web browser available in Android is based on the open-source WebKit application

framework. It includes LibWebCore which is a modern web browser engine which

powers both the Android browser and an embeddable web view.

Java Virtual Machine

Software written in Java can be compiled into Dalvik bytecodes and executed in the

Dalvik virtual machine, which is a specialized VM implementation designed for mobile

device use, although not technically a standard Java Virtual Machine.

Media Support

Android will support advanced audio/video/still media formats such as MPEG-4, H.264,

MP3, and AAC, AMR, JPEG, PNG, GIF.

Additional Hardware Support

Android is fully capable of utilizing video/still cameras, touchscreens, GPS, compasses,

accelerometers, and accelerated 3D graphics.

Development Environment

Includes a device emulator, tools for debugging, memory and performance profiling, a

plugin for the Eclipse IDE. There are a number of hardware dependent features, for

instance, a huge media and connections support, GPS, improved support for Camera

and simply GSM telephony. A great work was done for the developers to start

work with Android using device emulator, tools for debugging and plugin for

Eclipse IDE.

Page 16: iOS Android OS Seminar Report

16

TECHNOLOGY BEHIND iOS

iOS TECHNOLOGY LAYERS

The kernel in iOS is based on a variant of the same basic Mach kernel that is found in Mac OS

X. On top of this kernel are the layers of services that are used to implement applications on the platform. Figure 1-1 shows a high- level overview of these layers.

Figure 4: iOS technology layers

This layering gives you choices when it comes to implementing your code. For example, the

Core OS and 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 and include technologies such as Core Foundation,

CFNetwork, SQLite, and access to POSIX threads and UNIX sockets among others.

As you move into the upper layers, you find more advanced technologies that use interfaces

based on a mixture of C and Objective-C. For example, the Media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video. This layer

includes the C-based technologies OpenGL ES, Quartz, and Core Audio. It also contains Core Animation, which is an advanced Objective-C based animation engine.

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. For example, the

Foundation framework provides object-oriented support for collections, file management, network operations, and more. The UIKit framework provides the visual infrastructure for your application, including classes for windows, views, controls, and the controllers that manage those

objects. Other frameworks at this level give you access to the user’s contact and photo information and to the accelerometers and other hardware features of the device.

The starting point for any new project is the Cocoa Touch layer, and the UIKit framework in particular. When deciding what additional technologies to use, you should start with frameworks

Page 17: iOS Android OS Seminar Report

17

in the higher- level layers. The higher- level frameworks make it easy to support standard system behaviors with the least amount of effort on your part. You should fall back to the lower-level

frameworks only if you want to implement custom behavior that is not provided at a higher level.

WRITING CODE FOR iOS

The iPhone SDK supports the creation of graphically-oriented applications that run natively in

iOS. The applications you create reside on the user’s Home screen, along with the other system applications, such as Photos, Weather, and Clock. While running, your application occupies the

entire screen and is the focus of the user’s attention. There is no concept of separate document windows for displaying content. Instead, all of the application’s data is displayed in a single window.

The event-handling model in iOS represents a significant departure from traditional desktop

applications. Instead of relying on the traditional mouse and keyboard events, iOS introduces the idea of touch events. A touch event can occur at any time and in combination with one or more additional touch events. Touches can be used to detect simple interactions with content, such as

selecting or dragging items, or they can be used to detect complex gestures and interactions, such as swipes or the pinch-open and pinch-close gestures (used, for example, to zoom in and out in

the Photos application).

Beyond considering the basic structure of your application, you need to think about how users

will actually use it. iOS applications should be clean, and focused on what the user needs in the moment. Remember that users who are on-the-go want to get at information quickly and not

spend a lot of time looking through several layers of screens. Providing a simple layout that highlights the key information the user needs is important. For games and other fun applications, you should also consider how the users might want to interact with your application and take

advantage of technologies such as the accelerometers and camera where appropriate.

As you start development, the frameworks you want to use initially are the Foundation and UIKit

frameworks. These frameworks provide the key services used by all iOS applications. As you refine your application, you should investigate the other frameworks in the system to see what

services they offer. The documentation for each framework includes links to relevant conceptual materials to help you learn more about how to use that framework.

Page 18: iOS Android OS Seminar Report

18

iOS TECHNICALITY

iPhone SDK 4 provides support for developing iPhone applications and includes the complete set

of Xcode tools, compilers, and frameworks for creating applications for iOS and Mac OS X. These tools include the Xcode IDE and the Instruments analysis tool among many others.

With this software you can develop applications that run on iPhone or iPod touch using the included iPhone Simulator, which runs iOS. Installing iPhone SDK 4 requires a Macintosh

computer running Mac OS X 10.6.2 (Snow Leopard) or later.

AV Foundation:

In this release, the AVAssetReader and AVAssetWriter classes have been removed from the AV Foundation framework.

Xcode:

LLVM GCC and LLVM compiler are now included as optional compilers for iPhone development.

When selecting a target and then choosing "Update Current Target for iPad," new nib files are created but not converted to iPad. To fix this problem:

Either select each nib file that was copied, open it in Interface Builder, select the

"File -> Create iPad Version" menu option, then select "Save As…" for the document, and save over the nib file.

Or invoke this command in the terminal from the project's folder:

find Resources-iPad -type f -name "*.xib" -exec ibtool --sdk "" --change-target-

runtime IBIPadFramework {} --write {} \;

Debugger:

When debugging your multitasking enabled app, avoid manually pausing and continuing from the debugger when the application is suspended in the background. Pausing an application that is suspended in the background disrupts proper multitasking behavior until the application is relaunched.

Using a datatip on a uninitialized object, or turning it open in the variables view, will

sometimes make it look like the program has crashed. The status bar at the bottom of Xcode's windows will showProgram received signal: "EXC_BAD_ACCESS" and the

Page 19: iOS Android OS Seminar Report

19

toolbar buttons for stepping through the code will be disabled. To recover, choose “Sync with Debugger” from the Run menu and continue debugging.

Interface Builder:

iOS includes a new UINib class to support rapidly unarchiving nib files. While this class is new to iPhone SDK 4, it was present but private, in previous releases. Special care needs to be taken when deploying code that uses the UINib class and also runs on iOS releases prior to version 4. Specifically, you cannot determine the availability of the class solely

using the NSClassFromStringfunction, because that check returns a private class on iOS 3.x and earlier. Instead, after getting the UINib class using NSClassFromString, you must

also use the respondsToSelector: method of the returned class to see if it responds to the nibWithNibName:bundle: method. If it responds to that method, you can use the class.

Core Graphics:

CGFontCreateWithFontName can hang in some circumstances when using the UIAppFonts key in the Info.plist.

GameKit:

The desiredPlayers property has been removed from the GKMatchRequest class

GameKitBeta.h has been renamed to GameKitPreview.h. This will break existing projects

that link against GameKitBeta.h. Please recompile as needed.

Mail:

Mail now supports the following RFC extensions:

COMPRESS (4978)

ESEARCH (4731)

CHUNKING (3030)

8BITMIME (1652)

ENHANCEDSTATUSCODES (3463)

BINARYMIME (3030)

CONDSTORE (4551)

MediaPlayer:

Page 20: iOS Android OS Seminar Report

20

The MPMoviePlayerController class changed behavior in iOS 3.2. The behavior

of this

class is as follows:

In iPhone SDK 3.1.x and earlier, the movie player always plays full screen.

In iPhone SDK 3.2 and later, you must embed the movie player’s view into your application’s interface. (This behavior applies to iPhone, iPad, and Universal applications.)

If you link a Universal application against iPhone SDK 3.2, you must be prepared to

embed the movie player view in your interface when running on iOS and later. In this specific case, the value of theuserInterfaceIdiom property is not a reliable way to determine the behavior of the media player controller. Instead, you should test for the

existence of the view property of theMPMoviePlayerController class to determine if you need to insert the view into your view hierarchy. For more information on how to perform

these checks, see SDK Compatibility Guide.

In iOS 3.2 and later, the MPMoviePlayerController class now defaults to share the

application's audio session for audio playback and related audio behaviors. This allows the movie player's audio to mix with the rest of the application's audio, as well as to conform to the behaviors of the application audio session's audio category (such as mixing with

other applications' audio and/or obeying the Silent Switch). In iOS 3.1.3 and earlier, this class always uses a system-supplied audio session. To obtain that same behavior in iOS 3.2

and later, you must set the useApplicationAudioSessionproperty of the movie player controller object to NO. Please refer to the Audio Session Programming Guide, including the “Working with Movies and iPod Music” section, and the MPMoviePlayerController

Class Reference for more about audio sessions and their behaviors with MPMoviePlayerController.

Multitasking:

In this and future releases, there are changes to networking behavior for suspended apps:

Cancel any Bonjour-related services before being suspended.] When your

application moves to the background, and before it is suspended, it should unregister from Bonjour and close listening sockets associated with any network services. A

suspended application cannot respond to incoming service requests anyway. Closing out those services prevents them from appearing to be available when they actually are not. If you do not close out Bonjour services yourself, the system closes out

those services automatically when your application is suspended.

Be prepared to handle connection failures in your network-based sockets.] The system may tear down socket connections while your application is suspended for any number of reasons. As long as your socket-based code is prepared for other

types of network failures, such as a lost signal or network transition, this should not lead to any unusual problems. When your application resumes, if it encounters a

failure upon using a socket, simply reestablish the connection.

Page 21: iOS Android OS Seminar Report

21

The time limit for task completion changed from 5 minutes to 10 minutes.

In order to preserve the user's context when switching between apps, applications linked on or after iOS will no longer automatically cancel alerts and action sheets when the

application is sent to the background.

Simulator:

iPhone Simulator can now simulate multiple iOS versions from a single build. Currently the simulator supports iOS 3.2 and iOS.0, allowing simulation of a single Universal binary on both iPad and iPhone Simulators.

With the base SDK set to 3.2 but running in the 4.0 simulator, an application calling stat writes beyond the end of stat bufferstat() and can cause unexpected behavior or

a crash.

The Camera application shows up on the iOS simulator (but not on the normal simulator).

This causes the UIImagePickerController object to hang an application when launched in the iOS simulator. The cancel button is disabled and the only way out of an application once the image picker is shown (with the camera for the source type) is to kill the

application manually.

UIKit:

UIInvalidBackgroundTask has been renamed to UIBackgroundTaskInvalid

On iOS.0, applications that add a text field to a UIAlertView will need to stop moving the UIAlertView by hand to avoid layout issues.

Setting animatable properties inside transition animation block may not work.

Tile backgrounds created with the colorWithPatternImage: method of UIColor appear with the image upside down. This is correct behavior, as the pattern and normal coordinate

spaces now match.

The default behavior for the new UIView block-based animation API in 4.0 is to disable

user interactions across the whole interface while the animation is playing. Developers should not rely on this behavior remaining the default as it may be reversed in future

releases, thereby allowing user interactions to occur by default while the animation is playing. Programs compiled against iPhone SDK 4 will continue to work as-is but code compiled under future versions of the SDK may require setting a different option flag to

enable the original behavior.

Page 22: iOS Android OS Seminar Report

22

The default behavior for the new UIView block-based animation API in 4.0 is to inherit the animation duration from an enclosing animation block (when present). Developers

should not rely on this behavior remaining the default, as it may be reversed in future releases, thereby preventing animations from automatically inheriting the duration of their

enclosing animation. Programs compiled against iPhone SDK 4 will continue to work as-is but code compiled under future versions of the SDK may require setting a different option flag to enable the original behavior.

iPhone 4 uses a different system font than earlier devices. References to the Helvetica font

in nib files will be decoded as the system font on these newer devices.

The UIKit Text Input System never calls the methods found in the documentation under

the "Determining Layout and Writing Direction" category.

Page 23: iOS Android OS Seminar Report

23

ARCHITECTURE OF ANDROID OS

The following diagram shows the major components of the Android operating system. Each

section is described in more detail below.

Figure 2.1 : Architecture Of Android

Page 24: iOS Android OS Seminar Report

24

Linux Kernel

Android Architecture is based on Linux 2.6 kernel. It helps to manage security, memory

management, process management, network stack and other important issues. Therefore,

the user should bring Linux in his mobile device as the main operating system and install

all the drivers required in order to run it. Android provides the support for the Qualcomm

MSM7K chipset family. For instance, the current kernel tree supports Qualcomm MSM

7200A chipsets, but in the second half of 2008 we should see mobile devices with stable

version Qualcomm MSM 7200, which includes major features:

WCDMA/HSUPA and EGPRS network support

Bluetooth 1.2 and Wi-Fi support

Digital audio support for mp3 and other formats

Support for Linux and other third-party operating systems

Java hardware acceleration and support for Java applications

Qcamera up to 6.0 megapixels

gpsOne – solution for GPS

and lots of other.

Libraries

In the next level there are a set of native libraries written in C/C++, which are responsible

for stable performance of various components. For example, Surface Manager is

responsible for composing different drawing surfaces on the mobile screen. It manages

the access for different processes to compose 2D and 3D graphic layers.OpenGL ES and

SGL make a core of graphic libraries and are used accordingly for 3D and 2D hardware

acceleration. Moreover, it is possible to use 2D and 3D graphics in the same application

in Android. The media framework was provided by PacketVideo, one of the members of

OHA. It gives libraries for a playback and recording support for all the major media and

Page 25: iOS Android OS Seminar Report

25

static image files. FreeType libraries are used to render all the bitmap and vector fonts.

For data storage, Android uses SQLite. As mentioned before, it is extra light rational

management system, which locates a single file for all operations related to database.

WebKit, the same browser used by Apples’ Safari, was modified by Android in order to

fit better in a small size screens.

Android Runtime

At the same level there is Android Runtime, where the main component Dalvik Virtual

Machine is located. It was designed specifically for Android running in limited

environment, where the limited battery, CPU, memory and data storage are the main

issues. Android gives an integrated tool “dx”, which converts generated byte code from

.jar to .dex file, after this byte code becomes much more efficient to run on the small

processors.

Figure : Conversion from .java to .dex file

As the result, it is possible to have multiple instances of Dalvik virtual machine running

on the single device at the same time. The Core libraries are written in Java language and

contains of the collection classes, the utilities, IO and other tools.

Page 26: iOS Android OS Seminar Report

26

Application Framework

After that, there is Application Framework, written in Java language. It is a toolkit that all

applications use, ones which come with mobile device like Contacts or SMS box, or

applications written by Google and any Android developer. It has several components.

The Activity Manager manages the life circle of the applications and provides a common

navigation back stack for applications, which are running in different processes. The

Package Manager keeps track of the applications, which are installed in the device. The

Windows Manager is Java programming language abstraction on the top of lower level

services that are provided by the Surface Manager.

The Telephony Manager contains of a set of API necessary for calling applications.

Content Providers was built for Android to share a data with other applications, for

instance, the contacts of people in the address book can be used in other applications too.

The Resource Manager is used to store localized strings, bitmaps, layout file descriptions

and other external partsof the application. The View System generates a set of buttons

and lists used in UI. Other components like Notification manager is used to customize

display alerts and other functions.

Application Layer

At the top of Android Architecture we have all the applications, which are used by the

final user. By installing different applications, the user can turn his mobile phone into the

unique, optimized and smart mobile phone. All applications are written using the Java

programming language.

Page 27: iOS Android OS Seminar Report

27

Page 28: iOS Android OS Seminar Report

28

Some Similarities

Page 29: iOS Android OS Seminar Report

29

Comparison Between Android And iOS

Page 30: iOS Android OS Seminar Report

30

CONCLUSION AND FUTURE SCOPE OF ANDROID

Android has been criticized for not being all open-source software despite what was

announced by Google. Parts of the SDK are proprietary and closed source, and some

believe this is so that Google can control the platform. Software installed by end-users must

be written in Java, and will not have access to lower level device APIs. This provides end-

users with less control over their phone's functionality than other free and open source

phone platforms, such as OpenMoko.

With all upcoming applications and mobile services Google Android is stepping into the

next level of Mobile Internet. Android participates in many of the successful open source

projects. That is, architect the solution for participation and the developers will not only

come but will play well together. This is notable contrast with Apple and other companies,

where such architecture of participation is clearly belated.

The first Android based official devices may well be launched sometime in the early half of

2009. Obviously, that's an age away when it comes to handset design, and Android may

well find itself competing against the forthcoming Nokia touch screen phones and maybe

even the iPhone.

Page 31: iOS Android OS Seminar Report

31

CONCLUSION OF iOS

The objective of the seminar report was to study and enhance our knowledge about APPLE iOS ,

mobile operating system. We have learnt about the new features of the iOS operating system,

what’s new in it, how is it different from previous versions of iOS, what the technicality behind

the iOS is and some more information about it.

So we have learnt about the layers of iOS technology viz. core os, core services, media and

cocoa touch. We have studied about some aspects of the iOS that will help us in developing the

applications for iPhone, via this report. Hence we are now acquainted with iOS operating system

for iPhone. We now know its features and technicality.

Despite the fact that all the information regarding iOS cannot be bound in this report, I have

tried to cover almost all points that made our study of iOS worthy.

We have learnt many things about the iOS , which we can implement on our own with just a

little effort. Hence our objective has been achieved through this report.

Page 32: iOS Android OS Seminar Report

32

REFERENCES

1. http://www.android.com - Android Official Webpage

2. http://code.google.com/android/ - Official Android Google Code Webpage

3. http://www.openhandsetalliance.com/ - Open Handset Alliance Webpage

4. http://www.androidwiki.com – Android Wiki

5. http://googleblog.blogspot.com/ - Official Google Blog

6. http://en.wikipedia.org/wiki/Android_(mobile_phone_platform)–Wikipedia

Information

7. http://en.wikipedia.org/wiki/SQLite

8. http://en.wikipedia.org/wiki/WebKit

9. http://en.wikipedia.org/wiki/Eclipse_(software)

10. http://www.itworld.com/google-android-dr-080213

11. https://developer.apple.com

12. http://www.idc.com/getdoc.jsp?containerId=prUS23503312

13. http://www.apple.com/ios/ios6

14. http://en.wikipedia.org/wiki/IOS

15. http://en.wikipedia.org/wiki/IOS_version_history