CH 2
CH 2
• 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
• 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
• JVM, JRE, and JDK are platform dependent because the configuration of each OS is different
from each other but java is platform independent
• Loads code
• Verfies code
• Executes code
JRE
• 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
• JDK is a software development environment which is used to develop java applications and
applets
• Java SE
• Java EE
• Java ME
Android SDK
• 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
• AVD manager is an interface that can be launched from the android studio which helps to
create and manage AVDs
• 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
• JVM provides high performance and excellent memory management but it needs to be
optimized for low powered handheld devices
• It optimizes the virtual machine for memory, battery life and performance
• The dx tool takes all the class files of an application and generates a single .dex file
• META-INF/: Contains the manifest file, signature, and a list of resources in the
archive
• 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