0% found this document useful (0 votes)
26 views

CH 2

The document discusses key concepts related to operating systems, Java development kits, virtual machines, and the Android software development kit. It provides definitions and descriptions of operating systems, the Java Development Kit (JDK), Java Virtual Machine (JVM), Java Runtime Environment (JRE), Android SDK, Android Studio, emulators, and the Dalvik Virtual Machine (DVM). It also explains the role of the DVM and key differences between the JVM and DVM.

Uploaded by

Kalyani Reyya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

CH 2

The document discusses key concepts related to operating systems, Java development kits, virtual machines, and the Android software development kit. It provides definitions and descriptions of operating systems, the Java Development Kit (JDK), Java Virtual Machine (JVM), Java Runtime Environment (JRE), Android SDK, Android Studio, emulators, and the Dalvik Virtual Machine (DVM). It also explains the role of the DVM and key differences between the JVM and DVM.

Uploaded by

Kalyani Reyya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Operating System

• OS is system software that manages computer hardware, software resources and provides
common services for computer programs

• Time sharing OS schedule tasks for efficient use of the system and may also include
accounting software for cost allocation of processor time, mass storage, printing, and other
resources

• An OS acts as an intermediary between the user of a computer and computer hardware

• The purpose of an OS is to provide an environment in which a user can execute programs in


a convenient and efficient manner

• OS is a software that manages the computer hardware

• Hardware must provide appropriate mechanisms to ensure the correct operation of the
computer system and to prevent user programs from interfering with the proper operation
of the systems

Java JDK

• JDK is a development environment for building applications, applets and components using
java programming languages

• JDK is a software package that contains a variety of tools and utilities that make it possible to
develop, package, monitor and deploy applications built for any standard java platform,
including java platform, Java SE, Java ME, Java EE

JVM

• is a virtual machine which does not exist physically

• It is a specification that provides a runtime environment in which java bytecode can be


executed

• It can also run native code and compiled to java bytecode

• JVMs are available for many hardware and software platforms

• JVM, JRE, and JDK are platform dependent because the configuration of each OS is different
from each other but java is platform independent

• JVM performs the following tasks:

• Loads code

• Verfies code

• Executes code

• Provides runtime environment

JRE

• JRE is Java Runtime Environment

• It consists of a set of software tools which are used for developing java applications
• It is the implementation of JVM which physically exists

• It consists of a set of libraries plus other files that JVM uses at runtime

• JDK

• It is stands for Java Development Kit

• JDK is a software development environment which is used to develop java applications and
applets

• It physically exists and contains JRE and development tools

• It is an implementation of any one of the following java platforms

• Java SE

• Java EE

• Java ME

Android SDK

• It includes complete set of development and debugging tools for android

• It is included with the android studio

• It is a software development kit that enables developers to create applications for android
platform

• It includes sample projects with source code, development tools, an emulator, libraries to
build android applications

• Applications are written using java programming language and run on DVM

Android Studio

• This is the official IDE for android, making it the number one choice for the majority of
developers to develop android applications

Eclipse

• The Eclipse Foundation – Eclipse IDE

Android Virtual Devices(AVD)

• It is a configuration that defines the characteristics of an android phone, tablet, wearables,


android TV that is to be simulated in the android emulator

• AVD manager is an interface that can be launched from the android studio which helps to
create and manage AVDs

• AVD is a device configuration that is run with android emulator

• It works with the emulator to provide a virtual device specific environment to install and run
android apps

Emulators
• Android emulator simulates android devices on the computer to test the app on a variety of
devices and android API levels without needing to have each physical device

• It provides almost all of the capabilities of real android device like incoming calls, text
messages, specify location of the device, simulate rotation, access Google play store etc

• It comes with predefined configurations for various android phone, tablet, wearables,
android TV devices

Dalvik Virtual Machine(DVM)

• JVM provides high performance and excellent memory management but it needs to be
optimized for low powered handheld devices

• DVM is an android virtual machine optimized for mobile devices

• It optimizes the virtual machine for memory, battery life and performance

• javac tool compiles java source file into class file

• The dx tool takes all the class files of an application and generates a single .dex file

• dx is a platform specific tool

• AAPT(Android Assets Packaging Tool) creates a .apk file

• .apk file consists of

• META-INF/: Contains the manifest file, signature, and a list of resources in the
archive

• lib/: Native libraries that run on specific device architectures

• res/: Resources, such as images, that were not compiled into resources.arsc

• assets/: Raw resource files that developers bundle with the app

• AndroidManifest.xml: Describes the name, version, and contents of the APK file
• classes.dex: The compiled Java classes to be run on the device (.DEX file)

• resources.arsc: The compiled resources, such as strings, used by the app (.ARSC file)

Role of DVM

• In android java code is written and compiled using the java compiler

• This code is recompiled using dalvik compiler to dalvik bytecode ie, dx tool converts java
class file into .dex format

• This file is executed in the DVM

Difference between JVM and DVM

You might also like