CS710 Mobile and Pervasive Computing
midterm past papers
Question No.1 Constraints of Mobile Computing?
- unpredictable variation in network quality,
- lowered trust and robustness of mobile elements,
- limitations on local resources imposed by weight and size constraints, and
- concern for battery power consumption
Question No.2 Do you think that technical problems of other domain inherited in pervasive computing or they introduced new problems in this domain?
- Some of the technical problems in pervasive computing correspond to problems already identified and studied earlier in the evolution.
- In some of those cases, existing solutions apply directly;
- in other cases, the demands of pervasive computing are sufficiently different that new solutions have to be sought.
- There are also new problems introduced by pervasive computing that have no obvious mapping to problems studied earlier.
Question No.3 Differentiate the Thin, Thick and Autonomous- Client Application?
- A thin-client application is a networked application in which the user interface rendering component is executing on the user’s device, whereas the rest of the application is executing on a networked computer.
- In a thin-client application, views are generated on the server and then rendered on the client device by a component such as a Web browser
- A thick-client application, on the other hand, has significant application components executing on the user’s device.
- In a thick-client application, the model still resides on a server, perhaps accessed through Web services, but the rest of the application resides on the client device
- An autonomous-client application resides entirely on the client device. It maintains its own fully functional model, which may be synchronized from time to time with replicas of the model on a server
Question No.4 What are the factors/issue in context-aware application?
- Context-aware applications have three sources of complexity:
- The heterogeneous nature of data sources
- The dynamic nature of context sources
- The multiple sources of potentially low-level context data
Question No.5 What is role of middle ware in Symbian?
- Provides higher-level generic APIs usable by programs in the application layer
- Includes native UI frameworks, application lifecycle, higher-level protocols and data handling, etc
- Middleware components are independent of the hardware platform
MW APIs are not used by the OS layer
- generic: Services intended for any class of application
Examples: Text entry, security and GUI widgets are expected to be used by
- This level and below is a general purpose computer
- specific: Services intended for a specific class of application
Examples: Presence is mainly used by instant messaging apps, the Phone Server is expected to only be used by a Phone application
- This level and below is sufficient for phone application development
Question No.6 What is role of OS model in Symbian?
- UI Framework Layer
- UI Framework layer provides the frameworks and libraries for constructing a user interface
- The Application Services Layer
- System-level services Text Handling
- Services that support generic types of application, Alarm Server, data synchronization services, Printing Support
Services based on more generic but application-centric technologies, mail, messaging and browsing
Question No.7 How Dalvik Virtual Machine works in Android?
- Performance requirements on handsets are severe
- Packages in Android, are full-featured and extensive
- These system libraries might use as much as 10 to 20MB (even with the optimized JVM)
- Welcome to Dalvik JVM :It reuses duplicate information from multiple class files, effectively reducing the space requirement (uncompressed) by half from a traditional .jar file
- Many of Android’s core libraries, including the graphics libraries, are implemented in C and C++
- Fine-tuned the garbage collection
- Dalvik VM uses a different kind of assembly-code generation use of registers rather than stack
- Used to write all the classes or core system services
- Services that are essential to the Android platform
- Behind the scenes – applications typically donʼt access them directly
- Androidʼs custom clean-room implementation virtual Machine
- Provides application portability and runtime consistency
- Runs optimized file format (.dex) and Dalvik bytecode
- Java .class / .jar files converted to .dex at build time
Question No.8 What are the functions of Native Servers?
- Provides system-wide surface “composer”, handling all surface rendering to frame buffer device
- Can combine 2D and 3D surfaces and surfaces from multiple applications Libraries
- Surfaces passed as buffers via Binder IPC calls
- Can use OpenGL ES and 2D hardware accelerator for its compositions
- Audio Flinger
- Manages all audio output devices
- Processes multiple audio streams into PCM audio out paths
- Handles audio routing to various outputs
Question No.9 How Run Time power management works in android?
Android Kernel – Power Management
- Mobile devices run on battery power
- Batteries have limited capacity
- Built on top of standard Linux Power Management (PM)
- More aggressive power management policy
- Components make requests to keep the power on through “wake locks”
- Supports different types of wake locks
Question No.10 Describe the areas in android that are enhanced than Linux kernel?
Android Linux Kernel Enhancement
- Power Management
- Low Memory Killer
- Kernel Debugger
Question No.11 Why Hardware Abstraction Libraries (HAL) is used in android?
- Why do we need a user-space HAL?
- Not all components have standardized kernel driver interfaces
- Kernel drivers are GPL which exposes any proprietary IP
- Android has specific requirements for hardware drivers
Question No.12 Describe the role of android native libraries?
Android Native Libraries – libc
- Bionic libc is Custom c run time implementation, optimized for embedded use.
- License: keep GPL out of user-space
- Size: will load in each process, so it needs to be small
- Fast: limited CPU power means we need to be fast
Question No.13 Describe function libraries of android?
Android Native Libraries – Function Libraries
- These are libraries that do most of the heavy lifting
- Providing a lot of power behind Android platform
- Abstracted by the higher level API seen in application framework.
- WebKit – Browser Engine
- Media Framework – built on top of a set of media libraries, including OpenCore
- SQLite – Open Source Relational Database
Question No.14 What are the silent features of EKA2 ?
- EKA2 (EPOC Kernel Architecture 2) is the second-generation Symbian platform Kernel
- Like its predecessor it has pre-emptive multithreading and full memory protection. The main differences are:
- Real-Time guarantees (each API call is quick, but more importantly, time-bound)
- Multiple threads inside the kernel as well as outside
- Pluggable memory models, allowing better support for later generations of ARM Instruction set
- A “nanokernel” which provides the most basic OS facilities upon which other “personality layers” can be built
Question No.15 How would be able to interpret the run time walk through of android?
- System Startup
- System Server
- Activity Manager
- Launcher (Home)
Question No.16 What is .apk in android?
.apk means android package which include following:-
- .dex files
- Resources .arsc
- Un-compiled resources
Question No.17 What is JNI?
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.