ESEP 2011: 9-10 December 2011, Singapore
An Analysis and Comparison of Open and Closed Mobile
Platforms Abstract
With the release of Android 2.2 Froyo and iPhone 4, the war between open and closed mobile platforms tends to befiercer. Being the representatives of the two parties, Froyo and iOS 4 are quite different at system framework, newfeature, application market and integration model. According to the company spirits of Google and Apple, we do some analyses and comparisons of the above points, explain the differences of Android and iPhone from the shallower to the deeper, then conclude the characteristics of open and closed mobile platforms, aiming at providing an objective reference for researchers of mobile platforms, helping them see clearer into mobile industry. As a result,both Froyo and iOS 4 have their advantages and disadvantages, still they are far from being perfect, there?s room forfurther improvement.
Keywords: Android;iPhone;Froyo;iOS 4;smart phone;mobile platform
1. Introduction
In recent years, the popularity of smart phone kept going up. More and more smart phones are sold anda lot of people are embracing them. Smart phones brought great convenience to users, as well created opportunities for smart phone researchers. That?s to say, the wide spread of smart phones benefited both sides. At the same time, developing of smart phone OS becomes one of the smartest industry. To be a smart phone OS, the system should: 1. Provide services like a PC. 2. Work with a GPU for better visual effects. 3. Allow the user to surf on Internet freely. And apparently, there?re also some weaknesses:1.Limited battery. 2. Poor CPU performance against PC CPU. 3. Small storage. 4. The use of RAM may leads to loss of data when the phone runs out of battery
Now the 2 giants of smart phone OS are Android and iPhone OS. On one side, Android is based on Linux kernel and Dalvik virtual machine, and it is open sourced. The upper layer of Android is Java based,allowing developers to develop Android applications with Google SDK and sell their software in Android Market. On the other side, iPhone OS, which bases on Unix kernel and Darwin model but is closed sourced,evolves from Mac OS X and is the default OS of iPhone, iPod Touch and iPad. Objective C based software can run in iPhone OS, and just like Android, you
1
can develop your own iPhone applications and upload them onto Apple?s ?App Store? for sale [1] [2] [3] [4].
By comparing the latest Android and iPhone OS, Android 2.2 Froyo and iOS 4, we can take a glimpse at the main feature of open and closed smart phone OSs. While the 2 OSs are designed in rather different mentality and functionality, it?s a little early to tell which one is better.
2. Smart Phone OS
2.1. Android
The system architecture of Android consists of 5 layers, which are Linux Kernel, Android Runtime, Libraries, Application Framework and Applications, from bottom to top.
Android provides core services like security, memory management, process management, network stack and drivers, basing on Linux 2.6. Being the abstract layer between software and hardware, the layer of Linux Kernel hides the implementing details of hardware and provides integrated services for upper layer.
Dalvik virtual machine and Java core libraries are included in the layer of Android Runtime, providing most functions in Java core libraries.
The layer of Libraries contains a class of C/C++ libraries for Android components. Those libraries are integrated by the layer of Application Framework and then provided to developers.
The layer of Application Framework provides all kinds of modules for program initialization to simplify the use of components, allowing developers do whatever they want and provide services for other softwares, under the limitation of security, of course.
Mainstream applications are located in the layer of Application, including e-mail, SMS, calendar, Google map, Web browser and contacts. Users interact directly with this layer [1] [2].
The latest version of Android, Android 2.2 Froyo, puts on some new features. They are: 1. Support Flash 10.1, enables user to watch flash on the phone. 2. V8 JavaScript engine in web browser leads to faster Internet data transportation. 3. Big advance in network sharing. You can use the phone as a 3G NIC,or convert 3G signal to Wi-Fi. 4. Automatically software update. 5. Softwares can be setup in SD card to extend file storages.
2.2. iPhone
2
iPhone OS is consist of 4 abstract layers: Core OS, Core Service, Media and Cocoa Touch respectively.
Layers of Core OS and Core Service are designed in C language to handle core system services, enabling developers to perform file access, sockets calling and data handling. CFNetwork and SQLite are also parts of these 2 layers.
The layer of Media, according to its name, this layer is used to control video and audio, as well handle 2D and 3D images. The Open GL-ES Quratz part of the layer is coded with C language, while the part of Core-Audio and Core-Animation is Objective C based.
The layer of Cocoa Touch builds a basic framework for all kinds of programs in iPhone. Most programs run in Cocoa Touch layer, and it?s surely Objective C based [3] [4].
The latest iPhone OS is iOS 4. It includes the following new features: 1.Software classification. This
feature enables user to place sorted softwares into different documents, making it clearer to manage. 2. Email integration. One account is for all e-mails from different providers. 3. iBook, originally from iPad, is built in iOS. 4. A brand new Apple Game Center makes iPhone a tremendous entertainment platform.
2.3. Android vs. iPhone
Being the top 2 smart phone OSs, we?re sure that both Android and iPhone have their own advantages and disadvantages. Now let?s take a look at each of them, and see what unique feature they have.
Android 2.2 Froyo fully support multitask, which means you can listen to music while writing blog. And iOS 4, officially announced to be ?multitasked?, is in fact a play of concept. Only a few of softwares which are authorized by Apple can run ?simultaneously?, whose principle is much easier that multitask:when an application is switched out, its current state is saved and then the system just closes it. And when it?s switched in, we?re back to the previous snapshot [5] [6] [7].
During the publication of Android 2.2 Froyo, Google announced it has ?the most fluent web browser?,because the use of V8 JavaScript engine. V8 is a brand new engine, designed for running big size JavaScript application. In some kind of tests, V8 is much faster than JScript from Internet Explorer, SpiderMonkey from Firefox and JavaScriptCore from Safari. It all owe to 3 key parts of V8, they?re fast attribute access, dynamic code generation, effective trash cleaning.
3
2.3.1. Fast Attribute Access
JavaScript is a kind of dynamic language, which means attributes can be added or deleted at runtime, and they?re frequently changed. Most JavaScript engines use a dictionary style structure to store the attributes of an object, so it requires a whole dictionary search to find the position of attributes in memory.It?s quite inefficient and it?s slower than Java and Smalltalk.
To solve this problem, V8 discarded dynamic search and realized it in a different way: Create hidden classes for objects dynamically. In JavaScript, every time when we?re adding a new attribute to an object,we create a subclass with the new attribute from a hidden class as the super class. It?s a recursive course and the above performance happens only once when we first do this. Later we just use the previous hidden subclass when we?re in the same situation. So there?s no need to repeat operation and create a dictionary. This leads to the save of time and energy, as well make it easier for the implementation of class optimization and inner cache [4].
2.3.2. Dynamic Code Generation
When JavaScript is running for the very first time, V8 translate it directly into local machine code, rather than explain it to bytecode. Attribute access is done by inner cache, which is often translated into instructions by V8 at runtime.
When it comes to the code where certain object is accessed, V8 tries to find the current hidden class. Meanwhile, V8 assumes that all objects in the snippet are described by the same hidden class, so V8 willmodify corresponding inner cache to make the direct use of the hidden class more convenient. If thisassumption is correct, the access of attributes can be all done in only 1 instruction. Even if the predictionfails, inner cache is modified again by V8, which won?t take too much time and resource. When one hidden class is shared by a lot of objects, the access speed can be close to most dynamic language access speed. Inner cache and hidden class, mixed with dynamic code and class optimization, improve the efficiency of JavaScript at a large scale [4].
2.3.3. Effective Trash Cleaning
V8 does memory recycles automatically. To guarantee the speed of object distribution, as well cut the time of trash cleaning and clear fragment up, V8 will interrupt the running application when performing trash cleaning. Mostly, only a small part of object stack is involved in trash cleaning cycle, so the interruption caused little. All location of objects and pointers are logged by V8, so the system
4
won?t take object for pointer and memory overflow is avoided [4].
Besides ?the most fluent web browser?, Google collaborated with Adobe and Android 2.2 Froyo fully supports Flash. That?s to say, not only flash media, but all flash web pages can display perfectly on Android. To the contrary, Apple turned down Adobe and take HTML5 as iPhone?s web protocol, making it unable to show some flash based animation.
Android 2.2 Froyo also leads the way in network sharing. Smart phone with Froyo can be connected toa PC as a 3G NIC, and can also conveniently convert 3G signal to Wi-Fi. iOS 4 can do the first too, butfailed to convert 3G to Wi-Fi.
Video conference is both supported by Froyo and iOS 4, but the conditions are different. You can see aFroyo user via camera as long as you get a camera also. However, iOS 4 user can only do video talk toanother iOS 4 user, which is a big limitation.
While Android is ascendant in network interaction, Apple is unique in its friendship and entertainment.The added feature of ?software classification? enables user to place sorted softwares into differentdocuments, making it clearer to manage. What?s more, there?re hundreds of thousands applications inApp Store, meaning that iPhone can have up to hundreds of thousands functions. This is a ratherremarkable feature that Apple publicizes.
And the most convincing point given by Apple, is that ?Android looks exactly familiar with iPhone.? Although it?s just a subjective sense, the born of iPhone really brought big revolution to the phone industry, and the name ?Apple? itself is a world famous brand [7] [8].
3. Open and Closed platforms
3.1. SDK
The most important part of every developing platform is SDK, enable 3rd party developers to make software for the platform. Usually, libraries, debug tools and emulators are included in SDK. Different platforms distribute their SDKs differently. Some SDK is complete free and open, while others are strictly limited.
Developers of open platforms can get and modify part or all of the source code. Google and Linux are leaders of open platforms; they publicized the whole source code of Android and Linux. The good point is that, platform owners can save a great amount of time and energy developing and maintaining the platform, because 3rd party developers will do this for them. With less money spent on development and
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库安卓系统与IOS系统比较—英文文献翻译(适用于毕业论文外文翻译+在线全文阅读。
相关推荐: