Solved Mid Term Paper CS710 (Mobile and Pervasive Computing)
Q.1 The original term ubiquitous computing was coined by Mark Weiser in ________ at Xerox PARC
1. 1990
2. 1999
3 1988
4. 1998
Q2. Which is not the part of Symbian Design Pattern?
1. Micro-Kernel
2. Graphical Application Model
2. An Event based Application Model
3. MVC- Model View Controller
Q.3 Combining knowledge from different layers of the system is?
1. Proactivity
2. Self- Tuning
3. Pervasive Computing
4. None of Above
Q.4 As smart spaces grow in sophistication, the intensity of interactions between a user’s personal computing space and his/her surroundings increases?
1. Invisibility
2. Effective use of smart space
3. Localized Scalability
Q.5 In Thin client significant components are running of user's device?
1. True
2. False
Q.6 A multimodal application is one that supports multiple user interface modalities such as GUI, voice, and a combination of the two.
1. True
2. False
Q.7 Dirty memory is?
1. Allocated by mmap()ed
2. Allocated by malloc()ed
3 Used by Single Process
4. Shared Memory
Q.8 The impact of device heterogeneity on application developers is that applications need to be developed (or ported) to each device and maintained separately for each device.
1. Heterogeneity of Device
2. Heterogeneity of Context
Lecture No. 1
1. The original term ubiquitous computing was coined by Mark Weiser in 1988 at Xerox PARC
2. Weiser sometimes also referred to this as invisible computing
3. Tabs communicated wirelessly with a ceiling-mounted base station using 10 kbps diffuse infrared signaling
4. In the mid-1990s, IBM began a research direction it called pervasive computing (IBM Mobile and Pervasive Computing)
5. One of the first commercial deployments of a pervasive computing system was born from a collaboration between IBM Zurich and Swissair in 1999 (IBM Swissair), enabling passengers to check-in using Web-enabled (WAP) cell phones
6. Classroom 2000 began in July 1995 In 1999, the Aware Home project was founded
7. SenseCam is a small wearable computer that periodically captures images of the world as a user moves around
8. RADAR was the first example of a wireless system allowing mobile computers to locate themselves in a building [an indoor global positioning system (GPS)].
9. EasyLiving, established in 1999.
Lecture No. 2
1. Proactivity – Combining knowledge from different layers of the system
2. Self-Tuning
a. automatically adjusting behavior to fit circumstances
b. ability to move execution state effortlessly across diverse platforms
3. Two distinct earlier steps in this evolution are distributed systems and mobile computing
4. In an atomic transaction, a series of database operations either all occur, or nothing occurs
5. a nested transaction occurs when a new transaction is started by an instruction that is already inside an existing transaction
6. Optimistic Recovery is a technique supporting application-independent transparent recovery from processor failures in distributed systems
Lecture No. 3
1. Mobile computing – concern for battery power consumption
2. Data consistency summarizes the validity, accuracy, usability and integrity of related data between applications and across the IT enterprise
Lecture No. 4
1. Smart space brings together two worlds that have been disjoint until now
a. computing infrastructure
b. building infrastructure
2. Localized Scalability
a. As smart spaces grow in sophistication, the intensity of interactions between a user’s personal computing space and his/her surroundings increases
b. This has severe band-width, energy, and distraction implications for a wireless mobile user. The presence of multiple users will further complicate this problem. Scalability, in the broadest sense, is thus a critical problem in pervasive computing.
c. Like the inverse square laws of nature, good system design has to achieve scalability by severely reducing interactions between distant entities
Lecture No. 5
1. This vision of pervasive computing leads to two fundamental characteristics of pervasive applications — mobility and context-awareness
2. Mobility has three implications.
a. First, applications must run on a wide variety of devices, including the devices embedded in various environments and devices carried by users.
b. Second, because devices may be transported to locations where a high-bandwidth network connection is not available, applications must work (perhaps in a degraded mode) with low-bandwidth network connections or in the absence of any network connection.
c. Third, applications that make use of a user’s location must account for the possibility that the location will change
Lecture No. 6
1. A multi-device application is one that is able to execute on devices with different capabilities
2. A multimodal application is one that supports multiple user interface modalities such as GUI, voice, and a combination of the two
3. A device platform is the distributed software platform to which a pervasive application is targeted
4. A disconnectable application is one that is able to continue to execute when there are different levels of connectivity between the different components of the application
5. A context-aware application is one that is able to sense some aspects of the environment in which it is executing and adapt its behavior to the sensed environment
Lecture No. 7
1. The impact of device heterogeneity on application developers is that applications need to be developed (or ported) to each device and maintained separately for each device
2. multimodal interfaces can use multiple modalities within a single application
3. An application may need to be partitioned differently between the device and the server depending on the processor, memory, and network capabilities of a device
4. The context can be highly dynamic. The data sources that provide information about the application’s environment are called context sources
Lecture No. 8
1. 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
2. Controller logic, model logic, and model data all reside on the server, so disconnected operation is impossible
3. Symbian architecture - OS Security package: provides cryptography services to the layers above including applications written on the OS
4. 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
5. An autonomous-client application resides entirely on the client device
6. An autonomous-client application maintains its own fully functional model, which may be synchronized from time to time with replicas of the model on a server
Lecture No. 9
1. Thin client – full connectivity required.
2. Thick client – weak connectivity required.
3. Autonomous client – disconnected operation supported.
4. Context-aware applications have three sources of complexity:
a. The heterogeneous nature of data sources
b. The dynamic nature of context sources
c. The multiple sources of potentially low-level context data
Lecture No. 10 (Symbian)
1. Symbian developed by Symbian Ltd and runs exclusively on ARM processors
2. Symbian^2 was the first royalty-free version of Symbian
3. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between the application programs and the computer hardware
4. Kernel is a bridge between applications and the actual data processing done at the hardware level.
5. The kernel's responsibilities include managing the system's resources (communication between hardware and software resources)
6. Vendors may add their own layers if needed
Lecture No. 11 (Symbian)
1. Symbian OS – UI Framework layer provides the frameworks and libraries for constructing a user interface
2. Symbian architecture - A layer provides services to higher layers (‘upwards’). A layer delegates tasks to lower layers (‘downwards’)
3. Dependencies flow consistently from higher layers to lower layers (but dependencies are allowed sideways within layers)
4. Requests travel downwards
5. Notifications travel upwards
Lecture No. 12 (Symbian)
1. Symbian Packages are the basic unit of Symbian Foundation organisational control
2. Packages are owned and maintained by a package owner (PkO)
a. PkO has overall responsibility for the package and its contents
b. Contributions also come from the wider Symbian Foundation community
3. Packages split or combine over time
4. Symbian OS was created with three systems design principles in mind:
a. the integrity and security of user data is paramount,
b. user time must not be wasted, and
c. all resources are scarce.
5. EKA2 (EPOC Kernel Architecture 2) is the second-generation Symbian platform Kernel
6. A "nanokernel" which provides the most basic OS facilities upon which other "personality layers" can be built
Lecture No. 13 (Andriod)
1. Android is an open source software stack for mobile devices that includes an operating system, middleware and applications
2. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android
3. Android’s mobile operating system is based upon a modified version of the linux kernel
4. Surface flinger Can combine 2D and 3D surfaces and surfaces from multiple applications Libraries
Lecture No. 16
1. Android runtime Dalvik have 4 kinds of memory;
a. clean vs dirty: clean [mmap () ed and unwritten], dirty [malloc ()]
b. shared (used by many) vs private (used by only one process)
c. clean (shared or private)
d. shared dirty and private dirty
2. Register machine avoid instruction dispatch and unnec memory access
Q1 Constraints of Mobile Computing?
Answer (Lecture 3)
- 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
Q2 Do you think that technical problems of other domain inherited in pervasive computing or they introduced new problems in this domain?
Answer (Lecture 4)
- Some of the technical problems in pervasive computing correspond to problems already identified and studied earlier in the evolution.
a. In some of those cases, existing solutions apply directly;
b. in other cases, the demands of pervasive computing are sufficiently different that new solutions have to be sought.
c. There are also new problems introduced by pervasive computing that have no obvious mapping to problems studied earlier.
Q3 Differentiate the Thin, Thick and Autonomous- Client Application?
Answer (Lecture 6)
- 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
Q4 What are the factors/issue in context-aware application?
Answer (Lecture 9)
1. Context-aware applications have three sources of complexity:
a. The heterogeneous nature of data sources
b. The dynamic nature of context sources
c. The multiple sources of potentially low-level context data
Q5 What is role of middle ware in Symbian?
Answer (Lecture 10)
a. Provides higher-level generic APIs usable by programs in the application layer
b. Includes native UI frameworks, application lifecycle, higher-level protocols and data handling, etc
c. Middleware components are independent of the hardware platform
MW APIs are not used by the OS layer
Two levels:
– generic: Services intended for any class of application
Examples: Text entry, security and GUI widgets are expected to be used by
most apps
most apps
• 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
Q6 What is role of OS model in Symbian?
Answer (Lecture 11)
1. UI Framework Layer
a. UI Framework layer provides the frameworks and libraries for constructing a user interface
2. The Application Services Layer
a. System-level services Text Handling
b. 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
Q7 How Dalvik Virtual Machine works in Android?
Answer (Lecture 13)
DVM
- 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
Q8 What are the functions of Native Servers?
Answer (Lecture 13)
1. Surface Flinger
a. Provides system-wide surface “composer”, handling all surface rendering to frame buffer device
b. Can combine 2D and 3D surfaces and surfaces from multiple applications Libraries
c. Surfaces passed as buffers via Binder IPC calls
d. Can use OpenGL ES and 2D hardware accelerator for its compositions
2. Audio Flinger
a. Manages all audio output devices
b. Processes multiple audio streams into PCM audio out paths
c. Handles audio routing to various outputs
Q9 How Run Time power management works in android?
Answer (Lecture 13)
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
Q10 Describe the areas in android that are enhanced than Linux kernel?
Answer (Lecture 13)
Android Linux Kernel Enhancement
1. Alarm
2. Ashmem
3. Binder
4. Power Management
5. Low Memory Killer
6. Kernel Debugger
7. Logger
Q11 Why Hardware Abstraction Libraries (HAL) is used in android?
Answer (Lecture 13)
1. Why do we need a user-space HAL?
a. Not all components have standardized kernel driver interfaces
b. Kernel drivers are GPL which exposes any proprietary IP
c. Android has specific requirements for hardware drivers
Q12 Describe the role of android native libraries?
Answer (Lecture 13)
Android Native Libraries – libc
1. Bionic libc is Custom c run time implementation, optimized for embedded use.
2. License: keep GPL out of user-space
3. Size: will load in each process, so it needs to be small
4. Fast: limited CPU power means we need to be fast
Q32 Describe function libraries of android?
Answer (Lecture 13)
Android Native Libraries – Function Libraries
1. These are libraries that do most of the heavy lifting
2. Providing a lot of power behind Android platform
3. Abstracted by the higher level API seen in application framework.
4. WebKit – Browser Engine
5. Media Framework - built on top of a set of media libraries, including OpenCore
6. SQLite – Open Source Relational Database
Q14 What are the silent features of EKA2 ?
Answer (Lecture 12)
1. EKA2 (EPOC Kernel Architecture 2) is the second-generation Symbian platform Kernel
2. Like its predecessor it has pre-emptive multithreading and full memory protection. The main differences are:
a. Real-Time guarantees (each API call is quick, but more importantly, time-bound)
b. Multiple threads inside the kernel as well as outside
c. Pluggable memory models, allowing better support for later generations of ARM Instruction set
d. A "nanokernel" which provides the most basic OS facilities upon which other "personality layers" can be built
Q15 How would be able to interpret the run time walk through of android?
Answer (Lecture 18)
1. System Startup
a. Bootloader
b. Kernel
c. Init
d. Zygote
e. System Server
f. Activity Manager
g. Launcher (Home)
Q16 What is .apk in android?
Answer (Lecture 19)
.apk means android package which include following:-
a. .dex files
b. Resources .arsc
c. Un-compiled resources
d. Androidmanifest.xml
Q17 What is 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
No comments: