Android on X86 : : An Introduction to Optimizing for Intel Architecture.
Saved in:
: | |
---|---|
TeilnehmendeR: | |
Place / Publishing House: | Berkeley, CA : : Apress L. P.,, 2013. ©2013. |
Year of Publication: | 2013 |
Edition: | 1st ed. |
Language: | English |
Online Access: | |
Physical Description: | 1 online resource (375 pages) |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
5006422701 |
---|---|
ctrlnum |
(MiAaPQ)5006422701 (Au-PeEL)EBL6422701 (OCoLC)1231603746 |
collection |
bib_alma |
record_format |
marc |
spelling |
Krajci, Iggy. Android on X86 : An Introduction to Optimizing for Intel Architecture. 1st ed. Berkeley, CA : Apress L. P., 2013. ©2013. 1 online resource (375 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier Intro -- Contents at a Glance -- Contents -- About the Authors -- Acknowledgments -- Introduction -- Chapter 1: History and Evolution of the Android OS -- Origins -- The First Distribution of Android -- Open Source Apache License -- What Is Android? -- Applications -- Application Frameworks -- Native Libraries -- Surface Manager -- SQLite -- WebKit -- OpenGL/ES -- Android Runtime -- Linux Kernel -- The Open Handset Alliance -- Android Open Source Project -- Astro (1.0) -- Cupcake (1.5) -- Donut (1.6) -- Éclair (2.0/2.1) -- Froyo (2.2.x) -- Gingerbread (2.3.x) -- Honeycomb (3.x) -- Ice Cream Sandwich (4.0.x) -- Jelly Bean (4.1.x) -- KitKat (4.4.x) -- Overview -- Chapter 2: The Mobile Device and Operating System Landscape -- Competition in the Mobile Space -- iOS -- Overview -- Applications -- Platforms -- BlackBerry -- Windows Phone -- Symbian -- MeeGo -- Before Android -- Smartphone History -- Simon Personal Communicator -- Nokia 9000 (Nokia Communicator) -- Kyocera 6035 -- BlackBerry 5810 -- The Mobile Market: Success and Failure -- Motorola i1 -- Droid X -- BlackBerry Torch -- iPhone -- The Mobile Market: Trends -- Location -- Current Mobile Uses -- Commerce -- Overview -- Chapter 3: Beyond the Mobile App-A Technology Foundation -- Connected Devices -- Home Computing -- Automotive -- Digital Entertainment -- Special Requirements -- Ruggedization -- Ingress Protection Rating -- Medical -- Virtualized -- Secure Communications -- Type 1 -- Federal Information Processing Standard -- The Cyber Fiber of Our Connected World -- Cellular Networks -- Open Mobile Alliance -- Wireless Communications -- Wi-Fi -- Bluetooth -- Mobile Interfaces -- Touch Screens -- Capacitive -- Resistive -- Vibration Motors -- LED Lights -- Accelerometer -- Tilt Sensor -- Hardware Buttons -- Overview -- Chapter 4: Android Development- Business Overview and Considerations. The Android Market Share -- How Android Makes Money -- Why Android Is Successful -- Free -- Open Source -- Customization -- Application Base -- Hardware Choices -- Device Price -- Legacy and Future Platform Support -- Legacy Support -- Future Support -- Why x86 and Android Are Right for You -- Cross Compatibility -- Barrier to Entry -- Security of Android -- Application Security -- Platform Security -- Licensing -- Android Licensing Cost -- Application Licensing Cost -- Physical Development Costs -- Software Development Systems -- Android Testing Systems -- Overview -- Chapter 5: The Intel Mobile Processor -- Intel's x86 Line -- History -- Strengths and Weaknesses -- Business Model -- Clash of the Mobile Titans: ARM versus Intel -- ARM -- History -- Strengths and Weaknesses -- Business Model -- Future -- Intel's Atom Line of Microprocessors -- Intel Atom Evolution -- Intel Atom Security -- Intel Atom Features -- Android and the Atom -- Inside the Medfield System-on-Chip -- Zooming In on the Saltwell CPU Architecture -- Architecture Differences between Intel's Saltwell and ARM's Cortex A15 -- Architecture -- Integer Pipelines -- Instruction Sets -- Multi-Core/Thread Support -- Security Technology -- Intel Hyper-Threading Technology -- Application Compatibility: Native Development Kit and Binary Translator -- Overview -- Chapter 6: Installing the Android SDK for Intel Application Development -- Preparing for the SDK Installation -- Supported Operating Systems -- Hardware Requirements -- Installing the JDK -- Installing Eclipse -- Installing Apache Ant (Optional) -- Downloading the SDK Starter Package and Adding SDK Components -- Setting Up Eclipse to work with the SDK -- Installing the ADT Plug-in for Eclipse -- Configuring the ADT Plug-in -- Overview of Android Virtual Device Emulation -- Which Emulator Should You Use -- Why Use the Emulator. Building an Emulator Image -- Setting Up the SDK to Use x86 Emulator Images -- Key Gingerbread Features -- Battery Usage Stats -- Task Manager -- Cut and Paste Text -- Ice Cream Sandwich Emulation -- Prerequisites -- Downloading Through the Android SDK Manager -- Using the System Image -- Downloading Manually -- CPU Acceleration -- GPU Acceleration -- Overview -- Chapter 7: Creating and Porting NDK-Based Android Applications -- JNI and NDK Introduction -- JNI Introduction -- Java Methods and Their Corresponding Relationship with the C Function Prototype Java -- Java and C Data Type Mapping -- NDK Introduction -- NDK Installation -- Android NDK Installation -- Install Cygwin -- Install CDT -- NDK Examples -- Using the Command-Line Method to Generate a Library File -- Create an Android App Project -- Modify the Java Files -- Generate the Project in Eclipse -- Create a Subdirectory in the Project Root Directory -- Create a C Interface File -- Compile the Corresponding. C File -- Create the NDK Makefile File in the jni Directory -- Generating a Library File in the IDE -- Workflow Analysis for NDK Application Development -- NDK Compiler Optimization -- Machine-Independent Compiler Switch Options -- -0 or -01 -- -02 -- -03 -- -00 -- Intel Processor-Related Compiler Switch Options -- Overview -- Chapter 8: Debugging Android -- Prerequisites -- Intel USB Driver for Android Devices -- Installing the Intel Atom x86 System Image for Android Emulator -- Application Debugging Using the Android Debug Bridge -- Setting Up ADB -- ADB on Windows -- ADB Host-Client Communication -- Starting ADB -- Key ADB Device Commands -- Using the Android Debug Tools Plug-in for Eclipse -- The Debug Perspective in Eclipse -- The DDMS Perspective -- Application Runtime Environment for Debugging -- Intel Hardware Accelerated Execution Manager -- KVM Installation. Using a 64-Bit Kernel -- Install KVM -- Starting the Android Virtual Device -- Using AVD Manager in Eclipse to Launch a Virtual Device -- Running Android Within Oracle VirtualBox -- Google x86 VirtualBox Build Targets for Android 4.x -- Downloading the Source Tree and Installing the Repository -- Building a Custom Kernel with Mouse Support -- Add Patched Kernel -- Reduce Compile Time Using CCACHE -- Build Android 4.0.x with New Kernel -- Build the VirtualBox Disk and Android Installer -- Using an Android Installer Disk to Create a Large Virtual Partition -- Serial Port -- Ethernet -- Final Notes -- Debugging with GDB, the GNU Project Debugger -- The Intel Graphics Performance Analyzer (Intel GPA) -- System Debug of Android OS Running on an Intel Atom Processor -- JTAG Debugging -- Android OS Debugging, -- Device Driver Debugging -- Hardware Breakpoints -- Cross-Debug: Intel Atom Processor and ARM Architecture -- Variable Length Instructions -- Hardware Interrupts -- Single Step -- Virtual Memory Mapping -- Considerations for Intel Hyper-Threading Technology -- SoC and Interaction of Heterogeneous Multi-Core -- SVEN (System Visible Event Nexus) -- Signal Encode/Decode Debug -- SVEN Benefits -- Overview -- Chapter 9: Performance Optimizations for Android Applications on x86 -- Basic Concepts of Performance Optimization -- Selection of a Faster Instruction -- Improve the Degree of Parallelism -- Effective Use of the Register Cache -- Methodology of Performance Optimizations -- Performance Optimization Approaches -- Performance Optimizations Automatically Done by a Compiler -- Performance Optimizations Assisted by Development Tools -- Use of High-Performance Libraries -- Performance Optimizations Done Manually -- Performance Tuning with Intel VTune -- System Tuning -- Tuning Based on the Microarchitecture of the Processor -- VTune's two modes. Intel Graphics Performance Analyzers -- Introduction -- Installation -- Sample Usage of Intel GPA on Android -- Android Multithreaded Design -- Android Framework or a Thread -- Java Thread Programming Interface -- Threaded Programming Extensions and Support -- Message -- Handler -- Message Queue -- Looper -- AsyncTask -- Thread Example -- Thread Synchronization -- Thread Communication -- Principles of Multithreaded Optimization for Intel Atom Processors -- Case Study: Intel GPA-Assisted Multithreaded Optimization for an Android Application -- Original Application and Intel GPA Analysis -- Optimized Application and Intel GPA Analysis -- Overview -- Chapter 10: x86 NDK and C/C++ Optimizations -- Vectorization -- Vectorization Report -- Pragmas -- Auto-Vectorization and Limits -- Interprocedural Optimizations -- Optimization with Intel IPP -- NDK Integrated Optimization Examples -- C/C++: The Original Application Acceleration -- Step 1: Create a New Android Application Project -- Step 2: Write the C Implementation Code of the cCodeTask Function -- Compiler Optimization Extension Application -- Step 1: Modify the Android Part of the Application -- Step 2: Modify the Makefile File of mycomputetask.c and Rebuild the Library Files -- Step 2: Write the C Implementation Code for the anotherCCodeTask Function -- Multiple Situations Comparison of Compiler Optimization Extensions -- Example: Compare the Optimization Results by Using SSE Instructions -- Overview -- Chapter 11: Using Intel Hardware Accelerated Execution Manager on Windows, Mac OS, and Linux to Speed Up Android on x86 Emu... -- Introduction -- Downloading Intel HAXM -- Downloading Through Android SDK Manager -- Downloading Manually -- Installing Intel HAXM on Windows -- Adjusting Intel HAXM Memory Allocation -- Intel Virtualization Technology (Intel VT-x) Capability -- Intel VT-x Is Not Supported. Intel VT-x Is Not Enabled. Description based on publisher supplied metadata and other sources. Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. Electronic books. Cummings, Darren. Print version: Krajci, Iggy Android on X86 Berkeley, CA : Apress L. P.,c2013 9781430261308 ProQuest (Firm) https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6422701 Click to View |
language |
English |
format |
eBook |
author |
Krajci, Iggy. |
spellingShingle |
Krajci, Iggy. Android on X86 : An Introduction to Optimizing for Intel Architecture. Intro -- Contents at a Glance -- Contents -- About the Authors -- Acknowledgments -- Introduction -- Chapter 1: History and Evolution of the Android OS -- Origins -- The First Distribution of Android -- Open Source Apache License -- What Is Android? -- Applications -- Application Frameworks -- Native Libraries -- Surface Manager -- SQLite -- WebKit -- OpenGL/ES -- Android Runtime -- Linux Kernel -- The Open Handset Alliance -- Android Open Source Project -- Astro (1.0) -- Cupcake (1.5) -- Donut (1.6) -- Éclair (2.0/2.1) -- Froyo (2.2.x) -- Gingerbread (2.3.x) -- Honeycomb (3.x) -- Ice Cream Sandwich (4.0.x) -- Jelly Bean (4.1.x) -- KitKat (4.4.x) -- Overview -- Chapter 2: The Mobile Device and Operating System Landscape -- Competition in the Mobile Space -- iOS -- Overview -- Applications -- Platforms -- BlackBerry -- Windows Phone -- Symbian -- MeeGo -- Before Android -- Smartphone History -- Simon Personal Communicator -- Nokia 9000 (Nokia Communicator) -- Kyocera 6035 -- BlackBerry 5810 -- The Mobile Market: Success and Failure -- Motorola i1 -- Droid X -- BlackBerry Torch -- iPhone -- The Mobile Market: Trends -- Location -- Current Mobile Uses -- Commerce -- Overview -- Chapter 3: Beyond the Mobile App-A Technology Foundation -- Connected Devices -- Home Computing -- Automotive -- Digital Entertainment -- Special Requirements -- Ruggedization -- Ingress Protection Rating -- Medical -- Virtualized -- Secure Communications -- Type 1 -- Federal Information Processing Standard -- The Cyber Fiber of Our Connected World -- Cellular Networks -- Open Mobile Alliance -- Wireless Communications -- Wi-Fi -- Bluetooth -- Mobile Interfaces -- Touch Screens -- Capacitive -- Resistive -- Vibration Motors -- LED Lights -- Accelerometer -- Tilt Sensor -- Hardware Buttons -- Overview -- Chapter 4: Android Development- Business Overview and Considerations. The Android Market Share -- How Android Makes Money -- Why Android Is Successful -- Free -- Open Source -- Customization -- Application Base -- Hardware Choices -- Device Price -- Legacy and Future Platform Support -- Legacy Support -- Future Support -- Why x86 and Android Are Right for You -- Cross Compatibility -- Barrier to Entry -- Security of Android -- Application Security -- Platform Security -- Licensing -- Android Licensing Cost -- Application Licensing Cost -- Physical Development Costs -- Software Development Systems -- Android Testing Systems -- Overview -- Chapter 5: The Intel Mobile Processor -- Intel's x86 Line -- History -- Strengths and Weaknesses -- Business Model -- Clash of the Mobile Titans: ARM versus Intel -- ARM -- History -- Strengths and Weaknesses -- Business Model -- Future -- Intel's Atom Line of Microprocessors -- Intel Atom Evolution -- Intel Atom Security -- Intel Atom Features -- Android and the Atom -- Inside the Medfield System-on-Chip -- Zooming In on the Saltwell CPU Architecture -- Architecture Differences between Intel's Saltwell and ARM's Cortex A15 -- Architecture -- Integer Pipelines -- Instruction Sets -- Multi-Core/Thread Support -- Security Technology -- Intel Hyper-Threading Technology -- Application Compatibility: Native Development Kit and Binary Translator -- Overview -- Chapter 6: Installing the Android SDK for Intel Application Development -- Preparing for the SDK Installation -- Supported Operating Systems -- Hardware Requirements -- Installing the JDK -- Installing Eclipse -- Installing Apache Ant (Optional) -- Downloading the SDK Starter Package and Adding SDK Components -- Setting Up Eclipse to work with the SDK -- Installing the ADT Plug-in for Eclipse -- Configuring the ADT Plug-in -- Overview of Android Virtual Device Emulation -- Which Emulator Should You Use -- Why Use the Emulator. Building an Emulator Image -- Setting Up the SDK to Use x86 Emulator Images -- Key Gingerbread Features -- Battery Usage Stats -- Task Manager -- Cut and Paste Text -- Ice Cream Sandwich Emulation -- Prerequisites -- Downloading Through the Android SDK Manager -- Using the System Image -- Downloading Manually -- CPU Acceleration -- GPU Acceleration -- Overview -- Chapter 7: Creating and Porting NDK-Based Android Applications -- JNI and NDK Introduction -- JNI Introduction -- Java Methods and Their Corresponding Relationship with the C Function Prototype Java -- Java and C Data Type Mapping -- NDK Introduction -- NDK Installation -- Android NDK Installation -- Install Cygwin -- Install CDT -- NDK Examples -- Using the Command-Line Method to Generate a Library File -- Create an Android App Project -- Modify the Java Files -- Generate the Project in Eclipse -- Create a Subdirectory in the Project Root Directory -- Create a C Interface File -- Compile the Corresponding. C File -- Create the NDK Makefile File in the jni Directory -- Generating a Library File in the IDE -- Workflow Analysis for NDK Application Development -- NDK Compiler Optimization -- Machine-Independent Compiler Switch Options -- -0 or -01 -- -02 -- -03 -- -00 -- Intel Processor-Related Compiler Switch Options -- Overview -- Chapter 8: Debugging Android -- Prerequisites -- Intel USB Driver for Android Devices -- Installing the Intel Atom x86 System Image for Android Emulator -- Application Debugging Using the Android Debug Bridge -- Setting Up ADB -- ADB on Windows -- ADB Host-Client Communication -- Starting ADB -- Key ADB Device Commands -- Using the Android Debug Tools Plug-in for Eclipse -- The Debug Perspective in Eclipse -- The DDMS Perspective -- Application Runtime Environment for Debugging -- Intel Hardware Accelerated Execution Manager -- KVM Installation. Using a 64-Bit Kernel -- Install KVM -- Starting the Android Virtual Device -- Using AVD Manager in Eclipse to Launch a Virtual Device -- Running Android Within Oracle VirtualBox -- Google x86 VirtualBox Build Targets for Android 4.x -- Downloading the Source Tree and Installing the Repository -- Building a Custom Kernel with Mouse Support -- Add Patched Kernel -- Reduce Compile Time Using CCACHE -- Build Android 4.0.x with New Kernel -- Build the VirtualBox Disk and Android Installer -- Using an Android Installer Disk to Create a Large Virtual Partition -- Serial Port -- Ethernet -- Final Notes -- Debugging with GDB, the GNU Project Debugger -- The Intel Graphics Performance Analyzer (Intel GPA) -- System Debug of Android OS Running on an Intel Atom Processor -- JTAG Debugging -- Android OS Debugging, -- Device Driver Debugging -- Hardware Breakpoints -- Cross-Debug: Intel Atom Processor and ARM Architecture -- Variable Length Instructions -- Hardware Interrupts -- Single Step -- Virtual Memory Mapping -- Considerations for Intel Hyper-Threading Technology -- SoC and Interaction of Heterogeneous Multi-Core -- SVEN (System Visible Event Nexus) -- Signal Encode/Decode Debug -- SVEN Benefits -- Overview -- Chapter 9: Performance Optimizations for Android Applications on x86 -- Basic Concepts of Performance Optimization -- Selection of a Faster Instruction -- Improve the Degree of Parallelism -- Effective Use of the Register Cache -- Methodology of Performance Optimizations -- Performance Optimization Approaches -- Performance Optimizations Automatically Done by a Compiler -- Performance Optimizations Assisted by Development Tools -- Use of High-Performance Libraries -- Performance Optimizations Done Manually -- Performance Tuning with Intel VTune -- System Tuning -- Tuning Based on the Microarchitecture of the Processor -- VTune's two modes. Intel Graphics Performance Analyzers -- Introduction -- Installation -- Sample Usage of Intel GPA on Android -- Android Multithreaded Design -- Android Framework or a Thread -- Java Thread Programming Interface -- Threaded Programming Extensions and Support -- Message -- Handler -- Message Queue -- Looper -- AsyncTask -- Thread Example -- Thread Synchronization -- Thread Communication -- Principles of Multithreaded Optimization for Intel Atom Processors -- Case Study: Intel GPA-Assisted Multithreaded Optimization for an Android Application -- Original Application and Intel GPA Analysis -- Optimized Application and Intel GPA Analysis -- Overview -- Chapter 10: x86 NDK and C/C++ Optimizations -- Vectorization -- Vectorization Report -- Pragmas -- Auto-Vectorization and Limits -- Interprocedural Optimizations -- Optimization with Intel IPP -- NDK Integrated Optimization Examples -- C/C++: The Original Application Acceleration -- Step 1: Create a New Android Application Project -- Step 2: Write the C Implementation Code of the cCodeTask Function -- Compiler Optimization Extension Application -- Step 1: Modify the Android Part of the Application -- Step 2: Modify the Makefile File of mycomputetask.c and Rebuild the Library Files -- Step 2: Write the C Implementation Code for the anotherCCodeTask Function -- Multiple Situations Comparison of Compiler Optimization Extensions -- Example: Compare the Optimization Results by Using SSE Instructions -- Overview -- Chapter 11: Using Intel Hardware Accelerated Execution Manager on Windows, Mac OS, and Linux to Speed Up Android on x86 Emu... -- Introduction -- Downloading Intel HAXM -- Downloading Through Android SDK Manager -- Downloading Manually -- Installing Intel HAXM on Windows -- Adjusting Intel HAXM Memory Allocation -- Intel Virtualization Technology (Intel VT-x) Capability -- Intel VT-x Is Not Supported. Intel VT-x Is Not Enabled. |
author_facet |
Krajci, Iggy. Cummings, Darren. |
author_variant |
i k ik |
author2 |
Cummings, Darren. |
author2_variant |
d c dc |
author2_role |
TeilnehmendeR |
author_sort |
Krajci, Iggy. |
title |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
title_sub |
An Introduction to Optimizing for Intel Architecture. |
title_full |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
title_fullStr |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
title_full_unstemmed |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
title_auth |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
title_new |
Android on X86 : |
title_sort |
android on x86 : an introduction to optimizing for intel architecture. |
publisher |
Apress L. P., |
publishDate |
2013 |
physical |
1 online resource (375 pages) |
edition |
1st ed. |
contents |
Intro -- Contents at a Glance -- Contents -- About the Authors -- Acknowledgments -- Introduction -- Chapter 1: History and Evolution of the Android OS -- Origins -- The First Distribution of Android -- Open Source Apache License -- What Is Android? -- Applications -- Application Frameworks -- Native Libraries -- Surface Manager -- SQLite -- WebKit -- OpenGL/ES -- Android Runtime -- Linux Kernel -- The Open Handset Alliance -- Android Open Source Project -- Astro (1.0) -- Cupcake (1.5) -- Donut (1.6) -- Éclair (2.0/2.1) -- Froyo (2.2.x) -- Gingerbread (2.3.x) -- Honeycomb (3.x) -- Ice Cream Sandwich (4.0.x) -- Jelly Bean (4.1.x) -- KitKat (4.4.x) -- Overview -- Chapter 2: The Mobile Device and Operating System Landscape -- Competition in the Mobile Space -- iOS -- Overview -- Applications -- Platforms -- BlackBerry -- Windows Phone -- Symbian -- MeeGo -- Before Android -- Smartphone History -- Simon Personal Communicator -- Nokia 9000 (Nokia Communicator) -- Kyocera 6035 -- BlackBerry 5810 -- The Mobile Market: Success and Failure -- Motorola i1 -- Droid X -- BlackBerry Torch -- iPhone -- The Mobile Market: Trends -- Location -- Current Mobile Uses -- Commerce -- Overview -- Chapter 3: Beyond the Mobile App-A Technology Foundation -- Connected Devices -- Home Computing -- Automotive -- Digital Entertainment -- Special Requirements -- Ruggedization -- Ingress Protection Rating -- Medical -- Virtualized -- Secure Communications -- Type 1 -- Federal Information Processing Standard -- The Cyber Fiber of Our Connected World -- Cellular Networks -- Open Mobile Alliance -- Wireless Communications -- Wi-Fi -- Bluetooth -- Mobile Interfaces -- Touch Screens -- Capacitive -- Resistive -- Vibration Motors -- LED Lights -- Accelerometer -- Tilt Sensor -- Hardware Buttons -- Overview -- Chapter 4: Android Development- Business Overview and Considerations. The Android Market Share -- How Android Makes Money -- Why Android Is Successful -- Free -- Open Source -- Customization -- Application Base -- Hardware Choices -- Device Price -- Legacy and Future Platform Support -- Legacy Support -- Future Support -- Why x86 and Android Are Right for You -- Cross Compatibility -- Barrier to Entry -- Security of Android -- Application Security -- Platform Security -- Licensing -- Android Licensing Cost -- Application Licensing Cost -- Physical Development Costs -- Software Development Systems -- Android Testing Systems -- Overview -- Chapter 5: The Intel Mobile Processor -- Intel's x86 Line -- History -- Strengths and Weaknesses -- Business Model -- Clash of the Mobile Titans: ARM versus Intel -- ARM -- History -- Strengths and Weaknesses -- Business Model -- Future -- Intel's Atom Line of Microprocessors -- Intel Atom Evolution -- Intel Atom Security -- Intel Atom Features -- Android and the Atom -- Inside the Medfield System-on-Chip -- Zooming In on the Saltwell CPU Architecture -- Architecture Differences between Intel's Saltwell and ARM's Cortex A15 -- Architecture -- Integer Pipelines -- Instruction Sets -- Multi-Core/Thread Support -- Security Technology -- Intel Hyper-Threading Technology -- Application Compatibility: Native Development Kit and Binary Translator -- Overview -- Chapter 6: Installing the Android SDK for Intel Application Development -- Preparing for the SDK Installation -- Supported Operating Systems -- Hardware Requirements -- Installing the JDK -- Installing Eclipse -- Installing Apache Ant (Optional) -- Downloading the SDK Starter Package and Adding SDK Components -- Setting Up Eclipse to work with the SDK -- Installing the ADT Plug-in for Eclipse -- Configuring the ADT Plug-in -- Overview of Android Virtual Device Emulation -- Which Emulator Should You Use -- Why Use the Emulator. Building an Emulator Image -- Setting Up the SDK to Use x86 Emulator Images -- Key Gingerbread Features -- Battery Usage Stats -- Task Manager -- Cut and Paste Text -- Ice Cream Sandwich Emulation -- Prerequisites -- Downloading Through the Android SDK Manager -- Using the System Image -- Downloading Manually -- CPU Acceleration -- GPU Acceleration -- Overview -- Chapter 7: Creating and Porting NDK-Based Android Applications -- JNI and NDK Introduction -- JNI Introduction -- Java Methods and Their Corresponding Relationship with the C Function Prototype Java -- Java and C Data Type Mapping -- NDK Introduction -- NDK Installation -- Android NDK Installation -- Install Cygwin -- Install CDT -- NDK Examples -- Using the Command-Line Method to Generate a Library File -- Create an Android App Project -- Modify the Java Files -- Generate the Project in Eclipse -- Create a Subdirectory in the Project Root Directory -- Create a C Interface File -- Compile the Corresponding. C File -- Create the NDK Makefile File in the jni Directory -- Generating a Library File in the IDE -- Workflow Analysis for NDK Application Development -- NDK Compiler Optimization -- Machine-Independent Compiler Switch Options -- -0 or -01 -- -02 -- -03 -- -00 -- Intel Processor-Related Compiler Switch Options -- Overview -- Chapter 8: Debugging Android -- Prerequisites -- Intel USB Driver for Android Devices -- Installing the Intel Atom x86 System Image for Android Emulator -- Application Debugging Using the Android Debug Bridge -- Setting Up ADB -- ADB on Windows -- ADB Host-Client Communication -- Starting ADB -- Key ADB Device Commands -- Using the Android Debug Tools Plug-in for Eclipse -- The Debug Perspective in Eclipse -- The DDMS Perspective -- Application Runtime Environment for Debugging -- Intel Hardware Accelerated Execution Manager -- KVM Installation. Using a 64-Bit Kernel -- Install KVM -- Starting the Android Virtual Device -- Using AVD Manager in Eclipse to Launch a Virtual Device -- Running Android Within Oracle VirtualBox -- Google x86 VirtualBox Build Targets for Android 4.x -- Downloading the Source Tree and Installing the Repository -- Building a Custom Kernel with Mouse Support -- Add Patched Kernel -- Reduce Compile Time Using CCACHE -- Build Android 4.0.x with New Kernel -- Build the VirtualBox Disk and Android Installer -- Using an Android Installer Disk to Create a Large Virtual Partition -- Serial Port -- Ethernet -- Final Notes -- Debugging with GDB, the GNU Project Debugger -- The Intel Graphics Performance Analyzer (Intel GPA) -- System Debug of Android OS Running on an Intel Atom Processor -- JTAG Debugging -- Android OS Debugging, -- Device Driver Debugging -- Hardware Breakpoints -- Cross-Debug: Intel Atom Processor and ARM Architecture -- Variable Length Instructions -- Hardware Interrupts -- Single Step -- Virtual Memory Mapping -- Considerations for Intel Hyper-Threading Technology -- SoC and Interaction of Heterogeneous Multi-Core -- SVEN (System Visible Event Nexus) -- Signal Encode/Decode Debug -- SVEN Benefits -- Overview -- Chapter 9: Performance Optimizations for Android Applications on x86 -- Basic Concepts of Performance Optimization -- Selection of a Faster Instruction -- Improve the Degree of Parallelism -- Effective Use of the Register Cache -- Methodology of Performance Optimizations -- Performance Optimization Approaches -- Performance Optimizations Automatically Done by a Compiler -- Performance Optimizations Assisted by Development Tools -- Use of High-Performance Libraries -- Performance Optimizations Done Manually -- Performance Tuning with Intel VTune -- System Tuning -- Tuning Based on the Microarchitecture of the Processor -- VTune's two modes. Intel Graphics Performance Analyzers -- Introduction -- Installation -- Sample Usage of Intel GPA on Android -- Android Multithreaded Design -- Android Framework or a Thread -- Java Thread Programming Interface -- Threaded Programming Extensions and Support -- Message -- Handler -- Message Queue -- Looper -- AsyncTask -- Thread Example -- Thread Synchronization -- Thread Communication -- Principles of Multithreaded Optimization for Intel Atom Processors -- Case Study: Intel GPA-Assisted Multithreaded Optimization for an Android Application -- Original Application and Intel GPA Analysis -- Optimized Application and Intel GPA Analysis -- Overview -- Chapter 10: x86 NDK and C/C++ Optimizations -- Vectorization -- Vectorization Report -- Pragmas -- Auto-Vectorization and Limits -- Interprocedural Optimizations -- Optimization with Intel IPP -- NDK Integrated Optimization Examples -- C/C++: The Original Application Acceleration -- Step 1: Create a New Android Application Project -- Step 2: Write the C Implementation Code of the cCodeTask Function -- Compiler Optimization Extension Application -- Step 1: Modify the Android Part of the Application -- Step 2: Modify the Makefile File of mycomputetask.c and Rebuild the Library Files -- Step 2: Write the C Implementation Code for the anotherCCodeTask Function -- Multiple Situations Comparison of Compiler Optimization Extensions -- Example: Compare the Optimization Results by Using SSE Instructions -- Overview -- Chapter 11: Using Intel Hardware Accelerated Execution Manager on Windows, Mac OS, and Linux to Speed Up Android on x86 Emu... -- Introduction -- Downloading Intel HAXM -- Downloading Through Android SDK Manager -- Downloading Manually -- Installing Intel HAXM on Windows -- Adjusting Intel HAXM Memory Allocation -- Intel Virtualization Technology (Intel VT-x) Capability -- Intel VT-x Is Not Supported. Intel VT-x Is Not Enabled. |
isbn |
9781430261315 9781430261308 |
callnumber-first |
Q - Science |
callnumber-subject |
QA - Mathematics |
callnumber-label |
QA76 |
callnumber-sort |
QA 276.59 |
genre |
Electronic books. |
genre_facet |
Electronic books. |
url |
https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6422701 |
illustrated |
Not Illustrated |
oclc_num |
1231603746 |
work_keys_str_mv |
AT krajciiggy androidonx86anintroductiontooptimizingforintelarchitecture AT cummingsdarren androidonx86anintroductiontooptimizingforintelarchitecture |
status_str |
n |
ids_txt_mv |
(MiAaPQ)5006422701 (Au-PeEL)EBL6422701 (OCoLC)1231603746 |
carrierType_str_mv |
cr |
is_hierarchy_title |
Android on X86 : An Introduction to Optimizing for Intel Architecture. |
author2_original_writing_str_mv |
noLinkedField |
marc_error |
Info : MARC8 translation shorter than ISO-8859-1, choosing MARC8. --- [ 856 : z ] |
_version_ |
1792331058672304128 |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>10938nam a22004453i 4500</leader><controlfield tag="001">5006422701</controlfield><controlfield tag="003">MiAaPQ</controlfield><controlfield tag="005">20240229073837.0</controlfield><controlfield tag="006">m o d | </controlfield><controlfield tag="007">cr cnu||||||||</controlfield><controlfield tag="008">240229s2013 xx o ||||0 eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781430261315</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781430261308</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(MiAaPQ)5006422701</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(Au-PeEL)EBL6422701</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1231603746</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">MiAaPQ</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">MiAaPQ</subfield><subfield code="d">MiAaPQ</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.59</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Krajci, Iggy.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Android on X86 :</subfield><subfield code="b">An Introduction to Optimizing for Intel Architecture.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1st ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berkeley, CA :</subfield><subfield code="b">Apress L. P.,</subfield><subfield code="c">2013.</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">©2013.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (375 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Intro -- Contents at a Glance -- Contents -- About the Authors -- Acknowledgments -- Introduction -- Chapter 1: History and Evolution of the Android OS -- Origins -- The First Distribution of Android -- Open Source Apache License -- What Is Android? -- Applications -- Application Frameworks -- Native Libraries -- Surface Manager -- SQLite -- WebKit -- OpenGL/ES -- Android Runtime -- Linux Kernel -- The Open Handset Alliance -- Android Open Source Project -- Astro (1.0) -- Cupcake (1.5) -- Donut (1.6) -- Éclair (2.0/2.1) -- Froyo (2.2.x) -- Gingerbread (2.3.x) -- Honeycomb (3.x) -- Ice Cream Sandwich (4.0.x) -- Jelly Bean (4.1.x) -- KitKat (4.4.x) -- Overview -- Chapter 2: The Mobile Device and Operating System Landscape -- Competition in the Mobile Space -- iOS -- Overview -- Applications -- Platforms -- BlackBerry -- Windows Phone -- Symbian -- MeeGo -- Before Android -- Smartphone History -- Simon Personal Communicator -- Nokia 9000 (Nokia Communicator) -- Kyocera 6035 -- BlackBerry 5810 -- The Mobile Market: Success and Failure -- Motorola i1 -- Droid X -- BlackBerry Torch -- iPhone -- The Mobile Market: Trends -- Location -- Current Mobile Uses -- Commerce -- Overview -- Chapter 3: Beyond the Mobile App-A Technology Foundation -- Connected Devices -- Home Computing -- Automotive -- Digital Entertainment -- Special Requirements -- Ruggedization -- Ingress Protection Rating -- Medical -- Virtualized -- Secure Communications -- Type 1 -- Federal Information Processing Standard -- The Cyber Fiber of Our Connected World -- Cellular Networks -- Open Mobile Alliance -- Wireless Communications -- Wi-Fi -- Bluetooth -- Mobile Interfaces -- Touch Screens -- Capacitive -- Resistive -- Vibration Motors -- LED Lights -- Accelerometer -- Tilt Sensor -- Hardware Buttons -- Overview -- Chapter 4: Android Development- Business Overview and Considerations.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The Android Market Share -- How Android Makes Money -- Why Android Is Successful -- Free -- Open Source -- Customization -- Application Base -- Hardware Choices -- Device Price -- Legacy and Future Platform Support -- Legacy Support -- Future Support -- Why x86 and Android Are Right for You -- Cross Compatibility -- Barrier to Entry -- Security of Android -- Application Security -- Platform Security -- Licensing -- Android Licensing Cost -- Application Licensing Cost -- Physical Development Costs -- Software Development Systems -- Android Testing Systems -- Overview -- Chapter 5: The Intel Mobile Processor -- Intel's x86 Line -- History -- Strengths and Weaknesses -- Business Model -- Clash of the Mobile Titans: ARM versus Intel -- ARM -- History -- Strengths and Weaknesses -- Business Model -- Future -- Intel's Atom Line of Microprocessors -- Intel Atom Evolution -- Intel Atom Security -- Intel Atom Features -- Android and the Atom -- Inside the Medfield System-on-Chip -- Zooming In on the Saltwell CPU Architecture -- Architecture Differences between Intel's Saltwell and ARM's Cortex A15 -- Architecture -- Integer Pipelines -- Instruction Sets -- Multi-Core/Thread Support -- Security Technology -- Intel Hyper-Threading Technology -- Application Compatibility: Native Development Kit and Binary Translator -- Overview -- Chapter 6: Installing the Android SDK for Intel Application Development -- Preparing for the SDK Installation -- Supported Operating Systems -- Hardware Requirements -- Installing the JDK -- Installing Eclipse -- Installing Apache Ant (Optional) -- Downloading the SDK Starter Package and Adding SDK Components -- Setting Up Eclipse to work with the SDK -- Installing the ADT Plug-in for Eclipse -- Configuring the ADT Plug-in -- Overview of Android Virtual Device Emulation -- Which Emulator Should You Use -- Why Use the Emulator.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Building an Emulator Image -- Setting Up the SDK to Use x86 Emulator Images -- Key Gingerbread Features -- Battery Usage Stats -- Task Manager -- Cut and Paste Text -- Ice Cream Sandwich Emulation -- Prerequisites -- Downloading Through the Android SDK Manager -- Using the System Image -- Downloading Manually -- CPU Acceleration -- GPU Acceleration -- Overview -- Chapter 7: Creating and Porting NDK-Based Android Applications -- JNI and NDK Introduction -- JNI Introduction -- Java Methods and Their Corresponding Relationship with the C Function Prototype Java -- Java and C Data Type Mapping -- NDK Introduction -- NDK Installation -- Android NDK Installation -- Install Cygwin -- Install CDT -- NDK Examples -- Using the Command-Line Method to Generate a Library File -- Create an Android App Project -- Modify the Java Files -- Generate the Project in Eclipse -- Create a Subdirectory in the Project Root Directory -- Create a C Interface File -- Compile the Corresponding. C File -- Create the NDK Makefile File in the jni Directory -- Generating a Library File in the IDE -- Workflow Analysis for NDK Application Development -- NDK Compiler Optimization -- Machine-Independent Compiler Switch Options -- -0 or -01 -- -02 -- -03 -- -00 -- Intel Processor-Related Compiler Switch Options -- Overview -- Chapter 8: Debugging Android -- Prerequisites -- Intel USB Driver for Android Devices -- Installing the Intel Atom x86 System Image for Android Emulator -- Application Debugging Using the Android Debug Bridge -- Setting Up ADB -- ADB on Windows -- ADB Host-Client Communication -- Starting ADB -- Key ADB Device Commands -- Using the Android Debug Tools Plug-in for Eclipse -- The Debug Perspective in Eclipse -- The DDMS Perspective -- Application Runtime Environment for Debugging -- Intel Hardware Accelerated Execution Manager -- KVM Installation.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Using a 64-Bit Kernel -- Install KVM -- Starting the Android Virtual Device -- Using AVD Manager in Eclipse to Launch a Virtual Device -- Running Android Within Oracle VirtualBox -- Google x86 VirtualBox Build Targets for Android 4.x -- Downloading the Source Tree and Installing the Repository -- Building a Custom Kernel with Mouse Support -- Add Patched Kernel -- Reduce Compile Time Using CCACHE -- Build Android 4.0.x with New Kernel -- Build the VirtualBox Disk and Android Installer -- Using an Android Installer Disk to Create a Large Virtual Partition -- Serial Port -- Ethernet -- Final Notes -- Debugging with GDB, the GNU Project Debugger -- The Intel Graphics Performance Analyzer (Intel GPA) -- System Debug of Android OS Running on an Intel Atom Processor -- JTAG Debugging -- Android OS Debugging, -- Device Driver Debugging -- Hardware Breakpoints -- Cross-Debug: Intel Atom Processor and ARM Architecture -- Variable Length Instructions -- Hardware Interrupts -- Single Step -- Virtual Memory Mapping -- Considerations for Intel Hyper-Threading Technology -- SoC and Interaction of Heterogeneous Multi-Core -- SVEN (System Visible Event Nexus) -- Signal Encode/Decode Debug -- SVEN Benefits -- Overview -- Chapter 9: Performance Optimizations for Android Applications on x86 -- Basic Concepts of Performance Optimization -- Selection of a Faster Instruction -- Improve the Degree of Parallelism -- Effective Use of the Register Cache -- Methodology of Performance Optimizations -- Performance Optimization Approaches -- Performance Optimizations Automatically Done by a Compiler -- Performance Optimizations Assisted by Development Tools -- Use of High-Performance Libraries -- Performance Optimizations Done Manually -- Performance Tuning with Intel VTune -- System Tuning -- Tuning Based on the Microarchitecture of the Processor -- VTune's two modes.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Intel Graphics Performance Analyzers -- Introduction -- Installation -- Sample Usage of Intel GPA on Android -- Android Multithreaded Design -- Android Framework or a Thread -- Java Thread Programming Interface -- Threaded Programming Extensions and Support -- Message -- Handler -- Message Queue -- Looper -- AsyncTask -- Thread Example -- Thread Synchronization -- Thread Communication -- Principles of Multithreaded Optimization for Intel Atom Processors -- Case Study: Intel GPA-Assisted Multithreaded Optimization for an Android Application -- Original Application and Intel GPA Analysis -- Optimized Application and Intel GPA Analysis -- Overview -- Chapter 10: x86 NDK and C/C++ Optimizations -- Vectorization -- Vectorization Report -- Pragmas -- Auto-Vectorization and Limits -- Interprocedural Optimizations -- Optimization with Intel IPP -- NDK Integrated Optimization Examples -- C/C++: The Original Application Acceleration -- Step 1: Create a New Android Application Project -- Step 2: Write the C Implementation Code of the cCodeTask Function -- Compiler Optimization Extension Application -- Step 1: Modify the Android Part of the Application -- Step 2: Modify the Makefile File of mycomputetask.c and Rebuild the Library Files -- Step 2: Write the C Implementation Code for the anotherCCodeTask Function -- Multiple Situations Comparison of Compiler Optimization Extensions -- Example: Compare the Optimization Results by Using SSE Instructions -- Overview -- Chapter 11: Using Intel Hardware Accelerated Execution Manager on Windows, Mac OS, and Linux to Speed Up Android on x86 Emu... -- Introduction -- Downloading Intel HAXM -- Downloading Through Android SDK Manager -- Downloading Manually -- Installing Intel HAXM on Windows -- Adjusting Intel HAXM Memory Allocation -- Intel Virtualization Technology (Intel VT-x) Capability -- Intel VT-x Is Not Supported.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Intel VT-x Is Not Enabled.</subfield></datafield><datafield tag="588" ind1=" " ind2=" "><subfield code="a">Description based on publisher supplied metadata and other sources.</subfield></datafield><datafield tag="590" ind1=" " ind2=" "><subfield code="a">Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. </subfield></datafield><datafield tag="655" ind1=" " ind2="4"><subfield code="a">Electronic books.</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Cummings, Darren.</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Krajci, Iggy</subfield><subfield code="t">Android on X86</subfield><subfield code="d">Berkeley, CA : Apress L. P.,c2013</subfield><subfield code="z">9781430261308</subfield></datafield><datafield tag="797" ind1="2" ind2=" "><subfield code="a">ProQuest (Firm)</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6422701</subfield><subfield code="z">Click to View</subfield></datafield></record></collection> |