Reference no: EM133218216
Question 1.
Which of the following are ways in which the Layers pattern structures software apps and infrastructure (choose all that apply):
Partitions an overall system architecture into groups of subtasks
Enables end-to-end communication by specifying how data should be (un)packetized, addressed, transmitted, routed, and received
Decomposes groups of subtasks into levels of abstraction
Provides services beyond the operating system and protocol stacks to enable components in a distributed system to communicate and manage data
Question 2
Which of the following are reasons that layering is applied in Android (choose all that apply):
Enables "plug and play" replacement of certain layer implementations
Increases context switching, synchronization, and data copying overhead
Enhances systematic software reuse
Reduces the complexity of APIs that app developers must understand
Question 3
Which of the following are implications of being "higher" in the memory hierarchy of a modern computing device (choose all that apply):
CPU access latency is higher
Cost is greater
Memory bandwidth is slower
CPU access latency is lower
Question 4
Which of the following are correct statements of Android linux RAM (choose all that apply):
User space is a less restrictive protection domain than kernel space
Android Linux executes in kernel space RAMA
All Android apps execute in user space RAM
Apps running in user space can never access RAM of other apps
Question 5
Which of the following are true statements about Android's local and remote inter-process communication (IPC) mechanisms (choose all that apply):
TCP/IP is used to access the Internet
UNIX domain sockets are used to communicate with remote UNIX servers
The Binder driver supports highly optimized LAN and WAN communication
These IPC mechanisms reside within the kernel's device driver framework
Question 6
Which of the following are true statements about processes in Linux (choose all that apply):
A process provides units of execution for instruction streams that run on processor cores
Processes appear at multiple layers in the Android software stack
A process provides a unit of resource allocation and protection
A process contains one thread by default
Question 7
Which of the following are true statements about the Android Hardware Abstraction Layer (HAL) (choose all that apply):
It is implemented in user space and is written largely in C/C++
It is implemented in kernel space to optimize performance and is written largely in C
It's open source license ensures that all HAL driver implementations are available in open-source form
It is implemented in user space and is written largely in Java
It shields higher layers of Android's software stack from Linux kernel idiosyncracies
Android apps rarely access the HAL directly
Question 8
Which of the following are true statements about the the "Android Runtime" (ART) execution environment that are not true for the Dalvik VM execution environment (choose all that apply):
It executes standard Java Bytecode
It provides a better garbage collector
It provides an "Ahead-of-Time" (AOT) compiler
it provides a Just-in-Time (JiT) compiler
Question 9
Which of the following are examples of app components available in Android core libraries (choose all that apply):
Service
Stamped Locks
Content
Provider
Phasers
Activity
Threads
Question 10
Which of the following are benefits of the Android Native Development Kit (NDK) (choose all that apply):
It can help integrate existing C/C++ libraries into Android apps
It provides a managed runtime environment for executing Java garbage collection efficiently
It can help improve portability across heterogeneous Java platforms
It can help enhance performance by minimizing latency and maximizing throughput