MS Computer Science Virtual University of Pakistan

CS-710 Mobile and Pervasive Computing Viva Preparation

CS-710 Mobile and Pervasive Computing Viva Preparation

QNo.1 What is pervasive computing/ubiquitous computing?
Answer: Pervasive Computing: Computing that is omnipresent and is, appears to be everywhere all the time many different computing devices that are embedded in various devices or appliances and operate in the background. It is also called age of calm technology. Where technology recedes into background of our life.
QNo.2 What are key features of pervasive computing?
Answer: Invisibility and availability, Proactively, Self-tuning, context awareness
QNo.3 What is Omnipresence?

Answer: Omnipresence or ubiquity is the property of being present everywhere.
QNo.4 What is difference between Mobile computing and pervasive computing
Answer: The human-computer collaboration by which a computer is expected to be conveyed during regular usage is Mobile computing and it consists of mobile communication, software and hardware. Whereas Pervasive computing is access to information and software no matter the time or location.
QNo.5 What are smart spaces?
Answer: Smart space brings together two worlds that have been disjoint until now: 1.Computing infrastructure 2. Building infrastructure. Invisibility and localizability are key features
QNo. 6 What are proactively and Self-Tuning?
Answer: Proactivity: Combining knowledge from different layers of the system.
Self-Tuning: 1. Automatically adjusting behavior to fit circumstances
QNo. 7 What is invisibility?
Answer: Invisibility: The idea is to complete disappearance of pervasive computing technology from a user’s consciousness.
QNo.8 What are Android Native Libraries?
Answer: Bionic Libc: libc is Custom c run time implementation, optimized for embedded use Function Libraries: These are libraries that do most of the heavy lifting

• Providing a lot of power behind Android platform
Native Servers:
Surface Flinger: provide system wide surface composer handling all surface rendering to frame
buffer Device

• Can combine 2D and 3D surfaces and surfaces from multiple applications Libraries
Audio Flinger:

• Manages all audio output devices

• Processes multiple audio streams into PCM audio out paths

• Handles audio routing to various outputs.
QNo.9 Hardware Abstraction Libraries:
Answer: A HAL defines a standard interface for hardware vendors to implement, which enables Android to be agnostic about lower-level driver implementations. Using a HAL allows you to implement functionality without affecting or modifying the higher level system. HAL
implementations are packaged into modules and loaded by the Android system at the appropriate time.
QNo.10 How Many layers of symbian operating system:
Answer: There are three layers in symbian operating system which are given below.
1. Operating System layer 2. Middleware Layer 3. Application layer
QNo.11 What are Context Aware Applications?
Answer: Application is one that is sensitive to the environment in which it is being used (e.g., the location or the particular user of the application)
QNo.12 What are multi device and multimodal applicaiton
Answer: A multi-device application: is one that is able to execute on devices with different capabilities. A multimodal application: is one that supports multiple user interface modalities such as GUI, voice, and a combination of the two.
QNo.13 What is API?
Answer: An application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. Application
Programming Interfaces (APIs): Web – Multimedia – Program interaction – Wrapper Libraries
QNo.14 What is Dalvik Machine (DVM)
Answer: Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple instance VMs efficiently for each application. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is
optimized for minimal memory footprint. The VM is register-based .
QNo. 15 Java virtual Machine (JVM)
Answer: JVM is stacked base and java byte code runs .class file having jIT (just in time compiler). Single instance of JVM is shared with multiple applications. JVM support multiple operating system. Here executable file is .JAR.
QNo.16 What is Java Byte Code?

Answer: JBC is intermediate code which converts java code in to executable form after compilation.
QNo.17 What is Android Binder:
Answer: Binder is an Android-specific inter-process communication mechanism, and remote method invocation system. That is, one Android process can call a routine in another Android process, using binder to indentify the method to invoke and pass the arguments between
processes. High performance through shared memory. Synchronous calls between processes done by Android.
QNo. 18 What is Augmented Reality:

Answer: Augmented reality is the integration of digital information with the user’s environment in real time. ugmented reality uses the existing environment and overlays new information on top of it. AR applications for smartphones typically include global positioning system (GPS) to pinpoint
the user’s location and its compass to detect device orientation.
QNo.19What is APK?

Answer: Android Package Kit. is the file format used by the Android operating system for distribution and installation of mobile application.
QNo. 20 What are JNI
Answer: Java Native Interface (JNI) is a programming framework that enables Java code running in a Java Virtual Machine (JVM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages such as C, C++ and assembly. JNI enables programmers to write native methods to handle situations when an application cannot be written entirely in the Java programming language. It is also used to modify an existing application to be accessible to Java applications.
QNo.21 What is Android Kernal
Answer: It s the component responsible for helping your applications communicate with your hardware. It manages the system resources, communicates with external devices when needed, and so on. Android Linux Kernel have Great memory and process management •
Permissions-based security model • Proven driver model • Support for shared libraries, Open source.
QNo.22 Whar are Android Runtime Dalvik Memories name them?
Answer: Clean (mmap()ed and unwritten) , Dirty (malloc()ed) , shared and private memory.
QNo.23 What is Zygote?
Answer: Zygote is initial stage of Dalvik Virtual Machine. This process is a “Warmed-up” process. It preloads and initializes core library classes. It also enables shared code across DVM.
QNo.22 What is mutual Authenticaiton?
Answer: Mutual Authentication is a security feature in which a client process must prove its identity to a server, and the server must prove its identity to the client, before any application traffic is sent over the client-to-server connection.
QNo. 24 What are Thin and Thick client Application?
Answer: A thin-client application: A thin-client application is a networked application in which the user interface rendering component is executing on user device where as rest of the application is executing on network computer. A thick-client application: on the other hand, has significant application components executing on the users device.
QNo. 25 What is MVC
Answer: MVC: The view represents the presentation, and the controller represents the application flow, including the navigation, validation, error handling, and event handling. The view and the controller together deal with the user interaction of the application. The model component includes the application logic as well as the data underlying the application logic.