Free Essay

Android

In:

Submitted By podanimesh
Words 2951
Pages 12
TERM PAPER

System Software

Topic: Compiler Generator

Name: Animesh Poddar

Section: K1R04

Roll: A07

Registration no.: 11003532

Course Code: CSE318

Submitted to:

Ms. Himanshi

Introduction

In the field of computer sciences, we define a compiler-compiler or compiler generator as a tool which creates a parser, interpreter, or compiler from some form of formal description of a language and machine. The earliest and still most common form of compiler-compiler is a parser generator, whose input is a grammar (usually in BNF) of a programming language, and whose generated output is the source code of a parser often used as a component of a compiler. Similarly, code generator-generators (such as J Burg) exist, but such tools have not yet reached maturity.

The ideal compiler-compiler takes a description of a programming language and a target instruction set architecture, and automatically generates a usable compiler from them. In practice, the state of the art has yet to reach this degree of sophistication and most compiler generators are not capable of handling semantic or target architecture information.

History

The first compiler-compiler to use that name was written by Tony Brooker in 1960 and was used to create compilers for the Atlas computer at the University of Manchester, including the Atlas Auto code compiler. However it was rather different from modern compiler-compilers, and today would probably be described as being somewhere between a highly customizable generic compiler and an extensible-syntax language. The name 'compiler-compiler' was far more appropriate for Brooker's system than it is for most modern compiler-compilers, which are more accurately described as parser generators. It is almost certain that the "Compiler Compiler" name has entered common use due to YACC rather than Brooker's work being remembered.

Different Variants of Compiler Generator

A typical parser generator associates executable code with each of the rules of the grammar that should be executed when these rules are applied by the parser. These pieces of code are sometimes referred to as semantic action routines since they define the semantics of the syntactic structure that is analyzed by the parser. Depending upon the type of parser that should be generated, these routines may construct a parse tree (or abstract syntax tree), or generate executable code directly.

One of the earliest (1964), surprisingly powerful, versions of compiler-compilers is META II, which accepted grammars and code generation rules, and is able to compile in itself and other languages.

Some experimental compiler-compilers take as input a formal description of programming language semantics, typically using denotation semantics. This approach is often called 'semantics-based compiling', and was pioneered by Peter Mosses' Semantic Implementation System (SIS) in 1978. However, both the generated compiler and the code it produced were inefficient in time and space. No production compilers are currently built in this way, but research continues.

The Production Quality Compiler-Compiler project at Carnegie-Mellon University does not formalize semantics, but does have a semi-formal framework for machine description.

Compiler-compilers exist in many flavors, including bottom-up rewrite machine generators used to tile syntax trees according to a rewrite grammar for code generation, and attribute grammar parser generators (e.g. ANTLR can be used for simultaneous type checking, constant propagation, and more during the parsing stage).

Some types of Compiler Compiler

▪ ANTLR In computer-based language recognition, ANTLR (pronounced Antler), or Another Tool for Language Recognition, is a parser generator that uses LL(*) parsing. ANTLR is the successor to the Purdue Compiler Construction Tool Set (PCCTS), first developed in 1989, and is under active development. Its maintainer is professor Terence Parr of the University of San Francisco. ANTLR takes as input a grammar that specifies a language and generates as output source code for a recognizer for that language. At the moment, ANTLR supports generating code in the programming languages Ada95, Action Script, C, C#, Java, JavaScript, Objective-C, Perl, Python, and Ruby. A language is specified using a context-free grammar which is expressed using Extended Backus–Naur Form (EBNF). ANTLR allows generating lexers, parsers, tree parsers, and combined lexer-parsers. Parsers can automatically generate abstract syntax trees which can be further processed with tree parsers. ANTLR provides a single consistent notation for specifying lexers, parsers, and tree parsers. This is in contrast with other parser/lexer generators and adds greatly to the tool's ease of use. By default, ANTLR reads a grammar and generates a recognizer for the language defined by the grammar (i.e. a program that reads an input stream and generates an error if the input stream does not conform to the syntax specified by the grammar). If there are no syntax errors, then the default action is to simply exit without printing any message. In order to do something useful with the language, actions can be attached to grammar elements in the grammar. These actions are written in the programming language in which the recognizer is being generated. When the recognizer is being generated, the actions are embedded in the source code of the recognizer at the appropriate points. Actions can be used to build and check symbol tables and to emit instructions in a target language, in the case of a compiler. As well as lexers and parsers, ANTLR can be used to generate tree parsers. These are recognizers that process abstract syntax trees which can be automatically generated by parsers. These tree parsers are unique to ANTLR and greatly simplify the processing of abstract syntax trees. ANTLR 3 is free software, published under a three-clause BSD License. Prior versions were released as public domain software. While ANTLR itself is free, however, the documentation necessary to use it is not. The ANTLR manual is a commercial book, The Definitive ANTLR Reference. Free documentation is limited to a handful of tutorials, code examples, and very basic API listings.

▪ Bison GNU bison, commonly known as Bison, is a parser generator that is part of the GNU Project. Bison reads a specification of a context-free language, warns about any parsing ambiguities, and generates a parser (either in C, C++, or Java) which reads sequences of tokens and decides whether the sequence conforms to the syntax specified by the grammar. Bison generates LALR parsers. Bison also supports “Generalized Left-to-right Rightmost” (GLR) parsers for grammars that are not LALR. In POSIX mode, Bison is compatible with YACC, but also supports several improvements over this earlier program. Flex, an automatic lexical analyzer, is often used with Bison, to tokenize input data and provide Bison with tokens. Bison is licensed as free software and is available in source code form. Earlier releases of Bison used to stipulate that parts of its output were protected under the GPL, due to the inclusion of the yyparse() function from the original source code in the output. However, an exception was made, to allow other licenses to apply to the use of the output. ▪ Coco/R Coco/R is a compiler generator that takes an L-attributed Extended Backus–Naur Form (EBNF) grammar of a source language and generates a scanner and a parser for that language. The scanner works as a deterministic finite automaton. It supports Unicode characters in UTF-8 encoding and can be made case-sensitive or case-insensitive. It can also recognize tokens based on their right-hand-side context. In addition to terminal symbols the scanner can also recognize pragmas, which are tokens that are not part of the syntax but can occur anywhere in the input stream (e.g. compiler directives or end-of-line characters). The parser uses recursive descent; LL(1) conflicts can be resolved by either a multi-symbol look ahead or by semantic checks. Thus the class of accepted grammars is LL(k) for an arbitrary k. Fuzzy parsing is supported by so-called ANY symbols that match complementary sets of tokens. Semantic actions are written in the same language as the generated scanner and parser. The parser's error handling can be tuned by specifying synchronization points and "weak symbols" in the grammar. Coco/R checks the grammar for completeness, consistency, non-redundancy as well as for LL(1) conflicts. There are versions of Coco/R for most modern languages (Java, C#, C++, Pascal, Modula-2, Modula-3, Delphi, VB.NET, Python, Ruby and others). The latest versions from the University of Linz are those for C#, Java and C++. For the Java version, there is an Eclipse plug-in and for C#, a Visual Studio plug-in. There are also sample grammars for Java and C#. Coco/R was originally developed at the University of Linz and is distributed under the terms of a slightly relaxed GNU General Public License. ▪ DMS Software Reengineering Toolkit

The DMS(R) Software Reengineering toolkit is a proprietary set of program transformation tools available for automating custom source program analysis, modification, translation or generation of software systems for arbitrary mixtures of source languages for large scale software systems. DMS has been used to implement a wide variety of practical tools, include domain-specific languages (such as code generation for factory control), test coverage and profiling tools, clone detection, language migration tools, and C++ component reengineering. The toolkit provides means for defining language grammars and will produce parsers which automatically construct abstract syntax trees (ASTs), and pretty printers to convert original or modified ASTs back into compliable source text. The parse trees capture and the pretty printers regenerate, complete detail about the original source program, including source position, comments, radix and format of numbers, etc., to ensure that regenerated source text is as recognizable to a programmer as the original text modulo any applied transformations. Many program analysis and transformation tools are limited to ASCII or Western European character sets such as ISO-8859; DMS can handle these as well as UTF-8, UTF-16, EBCDIC, Shift-JIS and a variety of Microsoft character encodings. DMS uses GLR parsing technology, enabling it to handle all practical context-free grammars. Semantic predicates extend this capability to interesting non-context-free grammars (FORTRAN requires matching of multiple DO loops with shared CONTINUE statements by label; GLR with semantic predicates enables the DMS Fortran parser to produce ASTs for correctly nested loops as it parses). DMS provides attribute grammar evaluators for computing custom analyses over ASTs, such as metrics, and including special support for symbol table construction. Other program facts can be extracted by built-in control- and data- flow analysis engines, local and global pointer analysis, whole-program call graph extraction, and symbolic range analysis by abstract interpretation. ▪ Lemon Lemon is a parser generator, maintained as part of the SQLite project that generates an LALR parser in the C programming language from an input context-free grammar. The generator is quite simple, implemented in a single C source file with another file used as a template for output. Lexical analysis is performed externally. Lemon is similar to bison and YACC; however it is not compatible with these programs. The grammar input format is different to help prevent common coding errors. Other distinctive features include a reentrant, thread-safe output parser, and the concept of "non-terminal destructors" that try to make it easier to avoid leaking memory. SQLite uses Lemon with a hand-coded tokenize to parse SQL strings. In 2008 a Lemon-generated parser was suggested to replace the bison-generated parser used for the PHP programming language; as of 2010 this project was listed as "in the works". ▪ Java CC Java CC (Java Compiler Compiler) is an open source parser generator and lexical analyzer generator for the Java programming language. Java CC is similar to YACC in that it generates a parser from a formal grammar written in EBNF notation, except the output is Java source code. Unlike YACC, however, Java CC generates top-down parsers, which limits it to the LL(k) class of grammars (in particular, left recursion cannot be used). Java CC also generates lexical analyzers in a fashion similar to lex. The tree builder that accompanies it, JJ Tree, constructs its trees from the bottom up. Java CC is licensed under a BSD license. ▪ Packrat parser In computer science, a parsing expression grammar, or PEG, is a type of analytic formal grammar, i.e. it describes a formal language in terms of a set of rules for recognizing strings in the language. The formalism was introduced by Bryan Ford in 2004and is closely related to the family of top-down parsing languages introduced in the early 1970s. Syntactically, PEGs also look similar to context-free grammars (CFGs), but they have a different interpretation: the choice operator selects the first match in PEG, while it is ambiguous in CFG. This is closer to how string recognition tends to be done in practice, e.g. by a recursive descent parser. Unlike CFGs, PEGs cannot be ambiguous; if a string parses, it has exactly one valid parse tree. This makes PEGs well-suited to parsing computer languages, but not natural languages.

▪ PQCC, a compiler-compiler that is more than a parser generator. The Production Quality Compiler-Compiler Project (or PQCC) was a long-term project led by William Wulf at Carnegie Mellon University to produce an industrial-strength compiler-compiler. PQCC would produce full, optimizing programming language compilers from descriptions of the programming language and the target machine. Though the goal of a fully automatic process was not realized, PQCC technology and ideas were the basis of production compilers from Inter metrics, Tartan Laboratories, and others. The focus of the project was on the semantics and machine-dependent phases of compilation, since lexical and syntactic analysis was already well-understood. Each phase was formalized in a manner that permits expression in table-driven form. The automatic construction of the compiler then consists of deriving these tables from the semantic definitions of the language and target machine. Though this approach was largely successful for target machine description, it was less so for semantics. ▪ Visual Lang Lab, a visual parser generator for JVM languages. Visual Lang Lab (Visual Language Laboratory) is a completely visual, open source parser generator for JVM (Java Virtual Machine) languages. Visual Lang Lab allows users to create, edit and test graphical grammar-trees that represent grammar rules, without any textual (BNF, EBNF, ABNF, etc.) grammar specification. Visual Lang Lab was The Java Posse's Project of the Week for episode 364. A Quick Tour and Rapid Prototyping for Scale are tutorials that use examples from other sources. An introductory article, Grammar without Tears is available online. Visual Lang Lab provides a graphical user interface (GUI) This interactive IDE (Integrated Development Environment)-style interface differentiates it from other parser generators. The grammar-trees are executable, and can be test-run at the click of a GUI button. Parsers can be created and tested entirely within the user interface without additional tools or skills. Because of its ease of use, Visual Lang Lab is an effective prototype and training environment. It also allows the use of semantic actions (written as Scala or JavaScript functions) embedded within the grammar where needed. A comment on lambda-the-ultimate in October 2004 describes Visual Lang Lab as a YACC with a GUI. Most other parser generators for Java (e.g. Java CC, ANTLR) use a textual grammar specification in Extended Backus-Naur Form (EBNF) or Parsing expression grammar (PEG). However, unlike them, the Visual Lang Lab instead creates a visual grammar of the language, using its GUI. Visual Lang Lab's grammar-trees are equivalent to PEGs; they support sequences, ordered choices, multiplicities (*, +, ?), as well as syntactic and semantic predicates. These grammar-trees are turned directly into instances of Scala's Parser type at run-time. The grammar-trees and other GUI features are intuitive, and the user does not have to understand PEGs or Scala programming, but familiarity with Scala's standard data types is useful in understanding the abstract syntax tree (AST). ▪ YACC The computer program YACC is a parser generator developed by Stephen C. Johnson at AT&T Corporation for the UNIX operating system in 1970. The name is an acronym for "Yet Another Compiler Compiler." It generates a parser (the part of a compiler that tries to make syntactic sense of the source code) based on an analytic grammar written in a notation similar to BNF. YACC used to be available as the default parser generator on most UNIX systems. It has since been supplanted as the default by more recent, largely compatible, programs such as Berkeley YACC, GNU bison, MKS YACC and Abraxas PCYACC. An updated version of the original AT&T version is included as part of Sun's Open Solaris project. Each offers slight improvements and additional features over the original YACC, but the concept has remained the same. YACC has also been rewritten for other languages, including Rat for, ML, Ada, Pascal, Java, Python, Ruby and Common Lisp. The parser generated by YACC is a LALR parser. In order to run it requires an external lexical analyzer. Lexical analyzer generators, such as Lex or Flex are widely available. The IEEE POSIX P1003.2 standard defines the functionality and requirements for both Lex and YACC. Some versions of AT&T YACC have become open source. For example, source code (for different implementations) is available with the standard distributions of Plan 9 and Open Solaris.

References

• Stephen C. Johnson. YACC: Yet Another Compiler-Compiler. Unix Programmer's Manual Vol 2b, 1979.

• http://vll.java.net/TheGUI.html

• http://www.scala-lang.org/api/current/scala/util/parsing/combinator/RegexParsers.html

• http://www.antlr.org/pipermail/antlr-interest/2004-February/006340.html

• http://www.gnu.org/software/bison/manual/html_node/Pure-Calling.html

• http://www.hwaci.com/sw/lemon/

Similar Documents

Free Essay

Android

...Android by 2012 A study on present and future of Google's Android Dot Com Infoway - Position Paper- www.dotcominfoway.com Android by 2012 A study on present and future of Google's Android S.No 1 2 3 4 5 6 7 8 9 10 11 12 13 Contents Executive Summary The Android Tale Why Google Android Android: Breaking the 'Walled Gardens' What's so different in Android Advantages of Dalvik Virtual machines Android: A promising haven for app developers and OEMs? Market Predictions Final Comments About Dot Com Infoway Sources Interesting Android links Glossary Dot Com Infoway - Position Paper- www.dotcominfoway.com Executive Summary: This paper attempts to study the present conditions of Android OS and unveils the predicted future market possibilities for Android, based on results from several research firms, using current market statistics and popularity among developers and end-users. All the flimflams and excitement about the costlier iphones and Blackberrys are vanishing, after the arrival of the most anticipated, open source mobile operating system, the Google Android, which is fated to turn the industry upside down. Despite the growth and popularity for iPhones and Blackberrys, it is predicted that, Android will make a history in sales and on acquiring the market share, slicing down the markets of both Symbians and iPhones. This paper will elaborately examine the predictions about the future of Android phones, considering the present facts and reasons. The Android Tale:...

Words: 2607 - Pages: 11

Free Essay

Android

...Essay on “Google Android OS vs. Apple iOS” The competition between Google Android and Apple iOSis one of the most talked after wars in mobile gadget platforms. The Google Android platform is increasingly becoming dominant in the smartphones and tablets market. Nokia, a once leading company in the mobile phone market is slowly entering the smartphone market with a new range of Lumia smartphones powered by Windows 8 mobile as it phases out its range of Symbian powered smartphones. Equally, Motorola Mobility is trying to gain a share of the market by increasing its product portfolio of smartphones in the Droid family. The Android Operating System powers the Droid range of smartphones. Samsung is by far the largest mobile manufacturing company in the world with a full range of Android powered smartphones in the Galaxy family. The recent entry of the Samsung Galaxy SIII heightened the competitive advantage of the Android Software Platform based on the Android 4.0 (Ice Cream Sandwich) software. With HTC,Blackberry OS, and Microsoft Mobile as a distant competitors, the war is clearly not between mobile phone manufacturers but the war is between software manufacturers, and in this case,Apple iOS and Google Android (Katie, 2012). Currently, the competition between Apple iOS and Google Android is so close such that it becomes difficult to tell the superior operating system (Ian, 2011). Undeniably, each mobile platform has its strengths and weaknesses. Advantages of Android OS over Apple iOS...

Words: 1828 - Pages: 8

Free Essay

Android

...What is android? • Android is a Linux-based operating system designed primarily for touchscreen mobile devices such as smartphones and tablet computers. It is currently developed by Google in conjunction with the Open Handset Alliance. Initially developed by Android Inc, whom Google financially backed and later purchased in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance, a consortium of 86 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. 1. History Androids? • Android beta i. The Android beta was released on 5 November 2007, while the software developer's kit (SDK) was released on 12 November 2007. • Android 1.0 i. Android 1.0, the first commercial version of the software, was released on 23 September 2008. The first Android device, the HTC Dream. • Android 1.1 i. On 9 February 2009, the Android 1.1 update was released, initially for the HTC Dream only. Android 1.1 was known as "Petit Four" internally, though this name was not used officially. The update resolved bugs, changed the API and added a number of features. • Android 1.5 Cupcake i. On 30 April 2009, the Android 1.5 update was released, based on Linux kernel 2.6.27. This was the first release to officially use a name based on a dessert ("Cupcake"), a theme which would be used for all releases henceforth...

Words: 712 - Pages: 3

Premium Essay

Android

...ANDROID VERSION ICE CREAM SANDWICH WHAT IS ANDROID Let me first give you an intro about Android. As we all know it is an operating system and platform for mobile devices. It is an open source product. Android is a ground-breaking innovation from the scientists down at Google Labs. It is touted as the next big revolution in the mobile phone Operating System play ground. The reason why Android Operating System is so famous amongst them asses of today is because of its flexibility and ease of resources. Android Inc, was founded in Palo Alto, California, United States Developed by Andy Rubin, Rich Miner, Nick Sears and Cris White - October 2003 Google acquired Android Inc. - August 2005 The Open Handset Allience, a consortium of several companies was formed - November 2007 Android Beta SDK Realeased - November 2007 VERSIONS OF ANDROID Google has always sought for fun in everything they do and Android is no exception to it. The versions of Android are named after mouth watering desserts. Platform | Codename | Release Date | Android | Beta | November 5, 2007 | Android 1.0 | | September 23, 2008 | Android 1.1 | | February 9, 2009 | Android 1.5 | Cupcake | April 30, 2009 | Android 1.6 | Donut | September 15, 2009 | Android 2.1 | Éclair | October 26, 2009 | Android 2.2 | Android 2.2 | May 20, 2010 | Android 2.3 | Gingerbread | December 6, 2010 | Android 3.0 | Honeycomb | February 22, 2011 | Android 4.0 | Ice Cream Sandwich | October 19...

Words: 2278 - Pages: 10

Free Essay

Android

...| AndroidMobile Operating System | Jamie Caves | 4/1/13 | COM156 | | | AndroidMobile Operating System | Jamie Caves | 4/1/13 | COM156 | | With over 400 million Android devices activated to date, it is by far the most popular mobile operating system in use today. The Android OS is one of the most used worldwide, and its open source permits unlimited customization by anyone with the desire to learn it and use it. I have done quite a bit of research on it in the past for my personal use and have learned just a small portion of just how open and customizable Android can be, whether it be personal customization or productivity of the software. Android has helped to change the way we work, socialize, and entertain ourselves. The majority of social media users now use their smartphones, with Android software and applications, to access and post to various sites like Facebook, Twitter, and Instagram where people like to post what they are currently eating. Joking aside, Android has helped to push mobile technology farther than ever before. The Android mobile operating system is currently the most widely used and the most popular for smartphones and tablets today. Android has a distinct advantage over its competition in that it is available on a myriad of devices from nearly all the smartphone and tablet manufacturers today like Samsung, LG, Motorola, HTC, and many others whereas their closest competitors Apple and Blackberry...

Words: 1407 - Pages: 6

Free Essay

Android

...companies with R&D plans that carter towards certain parties promising slick user interfaces, application channels, and a complete web experience. Couple that with feature rich phones that allow one to text, call, global positioning (GPS), and well, you have a product to sell. Google has done just that. Taking bits and pieces of everything one could ever ask for, and merging it all into its mobile operating system titled Android. Represented by a green round-headed robot figure, Android is passing its two year anniversary, and has surpassed other prominent mobile architectures like Apple’s iPhone software. But what exactly is Android? Why would one desire to chuck away their limited iPhone, or stray away from the Blackberry Enterprise lineup? One word: Open source. Couple that with the experience (the art of customizing your device), and the synchronization aspects of the device for virtually any account you have on the net, and you have a total package. Having a total package within arm’s reach, and inside your pocket is quite a powerful tool. With Google’s Android platform, there is never a point where you can say No. Any and every idea can and could be coded into the device if you have the means to do so. Open source is the ticket. Asking yourself what this means is actually a very simple question. Open source is the definition of computer code that is freely available to anyone who wishes to find it. Google has opened up the software to all who have a spirit to create and provide...

Words: 495 - Pages: 2

Premium Essay

Android

...Introduction……………………………………………………………….3 2. Literature review…………………………………………………………..4 3. Architecture……………………………………………………………...5-6 4. Version of android OS…………………………………………………. 7-9 5. Feature version……………………………………………………………10 6. Conclusion…………………………………………………………………11 INTRODUCTION Android is a software stack for mobile devices that includes an operating system middleware and mobile applications .It is LINUX based operating system developed by google. It is specially designed for touch screen mobiles like smart phones and computer tablets. It was developed by google and later on open handset alliance. Handset Alliance, a consortium of 34hardware, software and telecom companies devoted to advancing open standards for mobile devices. When released in 2008, most of The unveiling of the Android platform on 5 November 2007 was announced with the founding of the Open the Android platform will be made available under the Apache free-software and open-source license. 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. Applications   written   in   C   and   other   languages can   be compiled to ARM native code and run, but this development path   isn’t   officially   supported by Google. Android   is available   as   open   source. Google   threw open   the   entire...

Words: 2440 - Pages: 10

Free Essay

Android

...Android vs iPhone Junyao Zhang April 12, 2010 This is a complete analysis and comparison between Android and iPhone OS. The rest of this report is organized as follows. Section ?? outlines the system architecture, history and detail management configuration. Section ?? discusses the iPhone system. In Section ??, a comparison between these two systems is presented. 1 Android Android, originally meaning “robot”, is a mobile operating system using a modified version of the Linux kernel. It was initially developed by Android Inc., a firm later purchased by Google,[?]and lately by the Open Handset Alliance[?]. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.[8] It empolys the software stack architecture, as shown in Figure 1. • Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. It is implemented by programming language C. • The middleware level includes Runtime and Libraries. The Runtime includes core libraries, providing most of the functionality available in the core libraries of the Java programming language, and Dalvik virtual machine which allows every Android application runs in its own process. The Libraries is used by various components of the Android system, such as Media Libraries, 3D libraries...

Words: 6786 - Pages: 28

Free Essay

Android

...2. What is Android ? Android is a Linux-based operating system for mobile devices such as smartphones and tablet computers. Android specially developed for applications There are more than 4,00,000 apps in Android market The Android is an open source. 3. Foundation of an Android Android, Inc. found in Palo alto in California united states by Andy Rubin. - October 2003 Google acquired Android, Inc. – August 2005 The open handset alliance, a group of several companies was formed - 5 November 2007 Android Beta SDK Released - 12 November 2007. 4. Features of Android Android can run multiple apps at the Same Time Also support optimized graphics VGA, 2D graphics and 3D graphics Android has a better app market Android lets you change your settings faster It gives you more options to fit your budget Android keeps information visible on your home screen. Android also support Java applications. 5. Versions of an Android Android 1.0 23 September 2008 Android 1.1 9 February 2009 Android 1.5 (Cupcake) 30 April 2009 Android 1.6 (Donut) 15 September 2009 Android 2.0 (Éclair) 26 October 2009 Android 2.2 (Froyo) 20 May 2010 Android 2.3 (Gingerbread) 6 December 2010 Android 3.0 (Honeycomb) 10 May 2011 Android 4.0 (Ice cream sandwich) 19 October 2011 Android 4.1 (Jelly Bean) 13 July 2012 6. Why Android OS is better than iPhone OS ? Android OS iPhone OS We can set any app as a  It is impossible on iPhone. default on Android Have to click manually Android just drag and...

Words: 385 - Pages: 2

Premium Essay

Android

...ANDROID OPERATION SYSTEM INTRODUCTION Android is a mobile operating system that is currently developed by Google, it is based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android’s user-interface is mainly based on direct manipulation, using touch gestures that loosely corresponds to real-world actions, such as swiping, tapping and pinching to manipulate on-screen objects along with a virtual keyboard for text input. In addition to touchscreen devices Google has also developed android for other platforms such Android TV for Television, Android Auto for Cars and Android Wear for wristwatches. Each of these platform have special interface to sooth the platform. Variant of Android are also used on Notebooks, game console, digital camera and other electronics. As smartphones and tablets become more popular, the operating systems for those devices become more important. Android is such an operating system for low powered devices that run on battery and contain hardware like Global Positioning System (GPS) receivers, cameras, light and orientation sensors, WiFi and UMTS (3G telephony) connectivity and a touch screen. Like all operating systems, Android enables applications to make use of the hardware features through abstraction and provide a defined environment for applications. Unlike on other mobile operating systems like Apple’s iOS, Palm’s web OS or Symbian, Android applications are written in Java and run in virtual...

Words: 3950 - Pages: 16

Free Essay

Android

...Android operating system revolution in mobile technology Published: 23, March 2015 Android (Operating System) - Revolution in Mobile Technology Abstract Android's mobile operating system is based on the Linux kernel and it is a software stack for mobile devices. This operating system is one of the world's best-selling Smartphone platform. Android involves many developers writing applications that helps in extended the functionality of the devices. There are currently over 1,50,000 applications available for Android. Android Market is the online application store run by Google, though applications can also be downloaded from third-party sites. Developers write in the Java language. The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Most of the Android code is released by Google under the Apache License. The Android open-source software stack consists of Java applications running on a Java-based, object-oriented applicationlication framework on top of Java core libraries . Libraries written in C include SQLite relational database management system, WebKit layout engine, SGL graphics engine, SSL. The Android operating system, including the Linux kernel, consists of roughly 12million lines of code including 3million lines of XML, 2.8million lines of C, 2.1million lines of Java, and 1.75million lines...

Words: 1342 - Pages: 6

Free Essay

Android

...|Google Android |November 15 | | |2011 | |An operating system for mobile devices such as smartphones and tablet computers. Developed by the Open |Operating System | |Handset Alliance led by Google. | | Table of Contents Introduction 3 About 4 Architecture 7 System Threading 11 CPU Scheduling 12 Process States 14 Memory Management 18 Synchronization Techniques 19 Event Handling 20 Security 21 Networking 22 Evaluation 23 Bibliography 24 Introduction Since its initial launch on the T-Mobile G1 in October of 2008, Google's Android operating system has evolved rapidly, perhaps more rapidly than any other operating system in recent memory, to become one of the most important and prolific smartphone platforms in the market today. The Android OS is the name of the Linux based operating system owned by Google and supported by the Open Handset Alliance. Android is used as an operating system for devices such as cell phones, tablets and netbooks. Google bought the original developer of the software, Android Inc., in 2005. Android's kernel (core of the OS) was derived from Linux but has been modified by Google developers. Android is also open source, which means developers can customize the OS for different phones and applications. This is why different phones may have different looking graphical interfaces and features even though they are running the same OS. Android OS is completely open Taking a speech class and had a chance to...

Words: 1317 - Pages: 6

Premium Essay

Android Deviecs

...Android devices enjoy a majority share in the total sales volume for all smartphones and tablets. This could be attributed to several reasons, the primary one being the fact that Android is an open-source product, which allows any handset manufacturer to adopt and modify it for their hardware devices. Secondly, the open-source philosophy makes its source code available to everyone, which is why it is easier to develop apps that run on the Android platform. However, Android did not start off as an operating system for mobile phones when the idea was conceived by Andrew Rubin, Chris White, Nick Sears and Rich Miner. The initial idea was to develop an intelligent operating system to handle digital cameras. Midway through the development, it was realized that the market for such a system was inadequate, which is why all the efforts were redirected to creating a mobile operating system. At that time, the market was dominated by Nokia's Symbian and Microsoft's Windows Mobile operating systems, none of which were open-source or open to development from individual app developers. The endeavor was quickly noticed and appreciated when Google took over the entire project and started developing the Android system on the Linux kernel. This became a huge turning point for Android, as the Linux-based kernel provided it with much-needed stability and security. After years of speculation regarding Google's intention to enter the mobile market, an "Open Handset Alliance" was formed that includes...

Words: 504 - Pages: 3

Free Essay

Wp7 for Android

...Microsoft6/6/2011Rev 1.0 | | Windows Phone 7 Guide for Android Application Developers | | About this Document 4 Target Audience 4 Conventions Used in this Document 4 Chapter 1: Introducing Windows Phone 7 Platform to Android Application Developers 5 The Developer Tools 5 Windows Phone 7 Architecture 5 Comparing the Programming Stack of Windows Phone 7 with Android 7 Summary 11 Related Resources 11 Chapter 2: User Interface Guidelines 12 Designing the Application Interface 13 Application User Interface Design 14 Comparing Windows Phone 7 and Android Navigation 18 Windows Phone 7 Frame and Page Structure 19 Application Templates 21 Summary 21 Related Resources 21 Chapter 3: The Developer and Designer Tools 23 A Comparison of Android and Windows Phone 7 Tools 23 Development Life Cycle and Windows Phone 7 Developer Tools 24 The UI Design Tools 26 Building Applications 33 Debugging 34 Summary 38 Chapter 4: C# programming 39 Managed Programming 40 A Comparison between C# Features and Java Classes 41 A Comparison of Important Class Libraries 51 The New features of C# 54 Comparing API Documentation Tools 58 NDoc 58 NDocs vs. Javadoc 61 Summary 61 Related Resources 62 Chapter 5: A Comparison of Application Life Cycles in Windows Phone 7 and Android 63 Multitasking in Android and Windows Phone 7 63 Tombstoning of Applications in Windows Phone 7 64 Life Cycle of a Windows Phone 7 Application...

Words: 19181 - Pages: 77

Premium Essay

Android Malware

...devices to increase productivity and collaboration among employees. As of December 2013 Google’s Android Operation System was the top smart phone platform with 52.5% of the market share ("iOS Continues Gaining U.S. Smartphone Share"). As these numbers continue to grow cybercriminals have taken notice and there has been an increase in the number of malware programs developed for the Android operating system. These malware programs can present a variety of threats from allowing criminals access to important personal information to intercepting private text messages and emails as well as even allowing someone to remotely turn on the phone’s mic. These threats can present a problem to both private individuals and businesses alike. It is important that steps be taken to prevent cybercriminals from accessing this information by preventing malware from being installed on these devices. If I was responsible for strengthening this area of IT security, I would recommend several steps. For starters, I would provide education to personal and business users to instruct them on the proper software to have installed in order to protect their devices as well as things to look out for and avoid. For businesses, I would recommend they employ strict guidelines for users of company equipment and dictate polices for users that bring their own devices. An important step in protecting against Android malware is educating device owners. According to research firm IDC only 5 percent of smartphones and...

Words: 803 - Pages: 4