IOT CC Scheme 1st Ia
IOT CC Scheme 1st Ia
Dept. of CSE-IOT
Bloom's
Sl Answers Marks CO level
No
1a) Cloud computing, characterized by on-demand access to shared resources 6 CO1 L1
over the internet, offers benefits like cost savings, scalability, and
flexibility, making it a valuable tool for businesses and individuals alike.
Here's a more detailed look at the characteristics and benefits of cloud
computing:
Characteristics of Cloud Computing:
On-demand self-service:
Users can provision computing resources (like servers, storage, and
applications) on demand, without requiring human intervention
from the service provider.
Broad network access:
Users can access cloud resources from anywhere with an internet
connection, using various devices.
Resource pooling:
Cloud providers pool computing resources (like servers, storage,
and networks) and dynamically allocate them to multiple users.
Rapid elasticity:
Cloud resources can be scaled up or down quickly and easily to
meet changing demands.
Measured service:
Cloud providers track and measure resource usage, allowing users
to pay only for the resources they consume.
Multi-tenancy:
Cloud providers can support multiple users (tenants) on the same
infrastructure, while maintaining data privacy and security.
Virtualization:
Cloud providers use virtualization technology to abstract
underlying hardware resources and present them as logical
resources to users.
1b) 6 CO1 L1
Traditional Computing
Traditional Computing is a process of using physical data centers for
various data assets. As a result, it also runs complete networking systems
for day-to-day operations.
However, access to data, software, and storage is limited to users and
devices. Hence, it only allows access to authorized devices that connect to
the official network.
Therefore, it limits the users to only access the data from the system that
stores it.
Cloud Computing
Cloud Computing is the combination of configurable components.
Moreover, components like system resources and advanced services help
deliver tasks using internet connections.Further, it runs tasks on third-party
servers and enables the ability to access data from multiple locations. It
also provides a cost-efficient solution and is more user-friendly.
Above all, it offers more storage space, servers, and computing power to
help the apps run efficiently and smoothly. Moreover, it only requires fast,
eligible, and stable internet connections to execute tasks.
Grid Computing
Grid Computing is a process where computers and devices from various
locations work on a single problem. Further, in this system clusters jointly
execute given tasks. As a result, it applies resources from multiple
computers and nodes.Therefore, it is a type of computing environment that
utilizes several and scattered resources. Hence, these resources provide a
functioning environment for executing a single task.
Distributed Computing
Distributed Computing takes place when multiple computers and devices
connect using a common network but are separated physically. As a result,
a single task is performed by various functional units of different and
distributed nodes and units.
Simultaneously, different programs of an application run on separate
nodes. Therefore, communication takes place between different nodes of a
system over the network to execute the task.
Cluster Computing
In this type of computing environment, clusters execute tasks. Cluster
Computing allows clusters to work as a set of loosely or tightly connected
computers.
Consequently, it is viewed as a single system and executes tasks parallelly.
Hence, it is also similar to a parallel type of computing environment.
As a result, the cluster computing environment prefers cluster-aware
applications.
Personal Computing
A Personal Computing Environment includes a single machine. Moreover,
it incorporates complete programs on a computer and performs it.
For example, machines like laptops, mobiles, printers, etc are a part of the
Personal Computing Environment. As a result, this type of computing
environment is for single users to run tasks at home or offices.
Time-Sharing Computing
A Time-Sharing Computing Environment enables multiple users to share a
system concurrently. Furthermore, it allows various time slots for various
users and processes. Hence, the processor switches rapidly and changes
users according to their slots.
For example, Windows 95 and its later versions, Unix, IOS, Linux OS all
run on the time-sharing computing environment.
Client-Server Computing
Client-Server Computing is a type of environment that incorporates two
machines. Therefore, it includes a client machine and a server machine.
Sometimes, the same machine serves as the client and the server.
Subsequently, a client requests a resource or service and a server provides
the same. Moreover, a server provides a resource or service to multiple
clients simultaneously. Hence, the communication takes place using a
computer network.
Categorization of Client-Server Computing Environment is into two types:
● Computer Server: It provides the interface to the clients. Hence, it
helps communicate requests to execute tasks.
Meanwhile, the server performs the task and responds with the
outcome.
● File-Server: The environment provides a file-system interface.
Therefore, allowing clients to create, update, read, and delete files.
Peer-to-Peer Computing
Peer-to-Peer Computing is a type of environment similar to a Distributed
type of Computing Environment. That is to say, there are no differences
between clients and servers in this type of computing environment.
P2P provides an advantage over traditional client-server environments.
That is to say, it provides services using several nodes throughout the
network.
Mobile Computing
Mobile Computing refers to the type of environment that runs tasks on
smartphones and tablets. Hence, it is computing on portable and
lightweight devices.
Although, compared to other devices, mobile systems lack screen size,
memory capacity, and other traditional functionalities. However, it does
provide remote access to multiple services.
Today, mobile computing environments consist of multiple functions.
Hence, it offers services as good as any other traditional device. Moreover,
the two main operating systems that dominate this market are Apple iOS
and Google Android.
3a) This approach was implemented by VMware and many other software 6 CO2 L2
companies. As shown in Figure, VMware puts the VMM at Ring 0 and the
guest OS at Ring 1. The VMM scans the instruction stream and identifies
the privileged, control- and behavior-sensitive instructions. When these
instructions are identified, they are trapped into the VMM, which emulates
the behavior of these instructions. The method used in this emulation is
called binary translation. Therefore, full vir-tualization combines binary
translation and direct execution. The guest OS is completely decoupled
from the underlying hardware. Consequently, the guest OS is unaware that
it is being virtualized.
The performance of full virtualization may not be ideal, because it involves
binary translation which is rather time-consuming. In particular, the full
virtualization of I/O-intensive applications is a really big challenge. Binary
translation employs a code cache to store translated hot instructions to
improve performance, but it increases the cost of memory usage. At the
time of this writing, the performance of full virtualization on the x86
architecture is typically 80 percent to 97 percent that of the host machine.
4a) Since the efficiency of the software shadow page table technique was too 6 CO2 L2
low, Intel developed a hardware-based EPT technique to improve it, as
illustrated in Figure. In addition, Intel offers a Virtual Processor ID (VPID)
to improve use of the TLB. Therefore, the performance of memory
virtualization is greatly improved. In Figure, the page tables of the guest
OS and EPT are all four-level.When a virtual address needs to be
translated, the CPU will first look for the L4 page table pointed to by Guest
CR3. Since the address in Guest CR3 is a physical address in the guest OS,
the CPU needs to convert the Guest CR3 GPA to the host physical address
(HPA) using EPT. In this procedure, the CPU will check the EPT TLB to
see if the translation is there. If there is no required translation in the EPT
TLB, the CPU will look for it in the EPT. If the CPU cannot find the
translation in the EPT, an EPT violation exception will be raised.
When the GPA of the L4 page table is obtained, the CPU will calculate the
GPA of the L3 page table by using the GVA and the content of the L4 page
table. If the entry corresponding to the GVA in the L4 VM1 Process1
Process2 VM2 Process1 Process2 Virtual VA memory Physical PA
memory Machine MA memory FIGURE Two-level memory mapping
procedure.(Courtesy of R. Rblig, et al.
Virtualization of CPU, Memory, and I/O Devices 149 page table is a page
fault, the CPU will generate a page fault interrupt and will let the guest OS
kernel handle the interrupt. When the PGA of the L3 page table is
obtained, the CPU will look for the EPT to get the HPA of the L3 page
table, as described earlier. To get the HPA corresponding to a GVA, the
CPU needs to look for the EPT five times, and each time, the memory
needs to be accessed four times. There- fore, there are 20 memory accesses
in the worst case, which is still very slow. To overcome this short- coming,
Intel increased the size of the EPT TLB to decrease the number of memory
accesses.
4b) Unlike the full virtualization architecture which intercepts and emulates 7 CO2 L3
privileged and sensitive instructions at runtime, para-virtualization handles
these instructions at compile time. The guest OS kernel is modified to
replace the privileged and sensitive instructions with hypercalls to the
hypervisor or VMM. Xen assumes such a para-virtualization architecture.
The guest OS running in a guest domain may run at Ring 1 instead of at
Ring 0. This implies that the guest OS may not be able to execute some
privileged and sensitive instructions. The privileged instructions are
implemented by hypercalls to the hypervisor. After replacing the
instructions with hypercalls, the modified guest OS emulates the behavior
of the original guest OS. On an UNIX system, a system call involves an
interrupt or service routine. The hypercalls apply a dedicated service
routine in Xen.