0% found this document useful (0 votes)
12 views3 pages

Execution Virtualization Overview

Chapter 3 discusses virtualization techniques, categorizing them into process-level and system-level virtualization, alongside storage and network virtualization. It explains execution virtualization, the machine reference model, and security rings that manage access levels in computing environments. Real-world analogies illustrate virtualization concepts, comparing it to a building with multiple apartments managed by a hypervisor.

Uploaded by

Sandhya Gandham
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views3 pages

Execution Virtualization Overview

Chapter 3 discusses virtualization techniques, categorizing them into process-level and system-level virtualization, alongside storage and network virtualization. It explains execution virtualization, the machine reference model, and security rings that manage access levels in computing environments. Real-world analogies illustrate virtualization concepts, comparing it to a building with multiple apartments managed by a hypervisor.

Uploaded by

Sandhya Gandham
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 3: Virtualization - Detailed Explanation

SECTION 3.3: TAXONOMY OF VIRTUALIZATION TECHNIQUES

-------------------------------------------------

Virtualization covers various emulation techniques for different areas of computing.

Figure 3.3 shows the classification:

- Execution Environment (Process-level, System-level)

- Storage Virtualization

- Network Virtualization

1. Process-Level Virtualization:

- Emulation: Fully mimics hardware/software (e.g., game console emulators).

- High-Level VM: Language-specific environments like JVM or .NET CLR.

- Multiprogramming: OS executes multiple programs concurrently.

2. System-Level Virtualization:

- Hardware-Assisted Virtualization: Uses CPU extensions (Intel VT, AMD-V).

- Full Virtualization: No OS modification needed (e.g., VMware Workstation).

- Paravirtualization: Guest OS is modified to work with hypervisor (e.g., Xen).

- Partial Virtualization: Only some hardware features are virtualized.

-------------------------------------------------

SECTION 3.3.1: EXECUTION VIRTUALIZATION

----------------------------------------

Execution virtualization creates a separate runtime environment for applications or operating

systems.
It can run on hardware directly (system-level) or on top of another OS (process-level).

-------------------------------------------------

MACHINE REFERENCE MODEL (Figure 3.4)

------------------------------------

A computer system can be represented in layers:

- Hardware: CPU, memory, devices.

- ISA (Instruction Set Architecture): Interface between hardware and OS.

- ABI (Application Binary Interface): Interface between OS and applications.

- API (Application Programming Interface): Interface between applications and libraries.

Applications interact with libraries via API calls, which become system calls through the OS and

finally

convert into ISA-level instructions to control hardware.

-------------------------------------------------

SECURITY RINGS (Figure 3.5)

---------------------------

Modern CPUs implement privilege levels (rings) for secure resource access:

- Ring 0: Kernel (supervisor mode, full hardware access).

- Ring 1-2: OS-level services or drivers.

- Ring 3: User mode (applications).

User mode restricts direct hardware access. Sensitive instructions executed by apps are trapped

and

handled by the OS or hypervisor in supervisor mode.


Analogy: Ring 0 is like an airport pilot with full control. Ring 3 is like passengers with limited access.

-------------------------------------------------

REAL-WORLD ANALOGIES

--------------------

- Virtualization is like a building with multiple apartments (VMs) on a single foundation (hardware).

- The hypervisor acts like the building manager, ensuring each apartment is isolated, safe, and

receives

the required utilities without interfering with others.

Common questions

Powered by AI

Hardware-assisted virtualization leverages CPU extensions such as Intel VT and AMD-V to facilitate the operation of virtual machines, significantly reducing the software overhead involved. Unlike full virtualization, which relies on the hypervisor to trap and emulate privileged instructions, hardware-assisted virtualization offloads these tasks to the processor, enhancing performance and decreasing latency . Compared with paravirtualization, which requires modification of the guest OS to communicate efficiently with the hypervisor, hardware-assisted virtualization does not require any alteration of the guest OS, providing ease of use while maintaining speed and efficiency gains .

The analogy of a hypervisor to a building manager effectively illustrates efficient resource management in virtualization. A hypervisor, similar to a building manager, is responsible for allocating and managing resources. Just as a building manager ensures that each apartment (virtual machines, VMs) receives utilities such as water and electricity without interference from other apartments, a hypervisor allocates computing resources like CPU and memory to VMs, ensuring they operate independently and securely . This comparison highlights the hypervisor’s role in maintaining system efficiency, preventing resource conflicts, and providing isolation to each virtual environment to ensure stable operation, despite sharing the same physical infrastructure .

Executing sensitive instructions at Ring 0 ensures that critical operations are conducted in a secure execution space with full access to hardware resources. This prevents unauthorized access or tampering by less privileged code typically running in higher rings like Ring 3 . The analogy to an airport setting helps conceptualize how access is managed: Ring 0 is like pilots who have full control and access to operate; they need unrestricted access to ensure safe and efficient operation, akin to the OS kernel. Ring 3, however, is like passengers who are limited in their operations to keep the system safe and orderly .

APIs, ABIs, and ISAs are integral components of a computer system's layered architecture, each serving as an interface that encapsulates complexity and enhances abstraction. APIs enable applications to interact with libraries and services without needing to understand their underlying implementation, ABIs provide a standardized interface between the OS and applications, ensuring consistent binary communication, and ISAs define the interface between the software and hardware, specifying supported machine language instructions . In virtualization, these layers enable seamless transitions between different abstraction levels—such as from application commands through to hardware execution—thus enhancing compatibility, scalability, and functionality of virtualized environments by enabling operating systems and applications to run on virtual machines as they would on physical hardware .

Paravirtualization offers several advantages and disadvantages compared to other system-level virtualization techniques. One primary advantage is performance improvement; since the guest OS is modified to interact directly with the hypervisor, overheads related to trapping and emulating privileged instructions are reduced, leading to more efficient CPU usage . However, this approach requires the modification of the guest OS, which may not always be feasible, particularly if the source code is unavailable or if modifications cause compatibility issues with updates . Other techniques like full virtualization allow running unmodified guest operating systems, providing greater flexibility but often at the cost of increased overhead due to the need to emulate hardware features entirely .

Process-level virtualization creates a runtime environment within another operating system, allowing applications to run with a level of isolation from the host OS, often through high-level virtual machines like JVM or .NET CLR, or via emulation. This type of virtualization typically targets application execution . On the other hand, system-level virtualization runs directly on the hardware, allowing multiple OS instances to share a single hardware platform. Techniques like full virtualization, paravirtualization, and hardware-assisted virtualization fall under this category, emphasizing the complete or near-complete virtual abstraction of hardware resources .

In system-level virtualization, the hypervisor acts as a mediator between the hardware and virtual machines, managing resource allocation and ensuring isolation between VMs. It does this by controlling and distributing the underlying physical resources (such as CPU, memory, and I/O) so that each VM operates independently without interference . Additionally, the hypervisor enforces security and isolation protocols, ensuring that processes running inside one VM cannot access or disrupt those in another, similar to how a building manager ensures that each apartment receives resources without affecting others .

Multiprogramming and process-level virtualization differ primarily in their approach to handling concurrent execution. Multiprogramming allows multiple applications to run simultaneously by the operating system managing their time on the CPU, swapping processes in and out as needed to optimize CPU use without running them in separate isolated environments . This is effective for maximizing resource utilization but lacks the isolation and abstraction provided by process-level virtualization, where applications run in isolated environments like virtual machines or high-level VMs, ensuring that they don't interfere with each other even if they fail . This isolation can enhance security and stability, critical in environments that handle sensitive or mission-critical applications. Process-level virtualization also enables applications written for different platforms to run on a single host system .

Emulation would be preferred over high-level VMs in scenarios where there is a need to mimic the exact behavior of different hardware architectures or software environments that are not inherently compatible with the host system. For example, emulation is crucial in situations requiring backward compatibility with legacy systems, such as running older video games on modern PCs where the hardware architecture has significantly changed . Emulators replicate the original environment, down to specific hardware features and timing, allowing software designed for outdated systems to function correctly. In contrast, high-level VMs like JVM are more suited for running new applications designed for the abstraction layer they provide, rather than simulating detailed hardware interactions .

Storage virtualization is a component of the broader virtualization classification alongside execution environment and network virtualization. It abstracts and consolidates physical storage resources, presenting them as a single, logical storage resource to optimize storage management and utilization . This abstraction allows for more efficient data management practices, such as easier data migration, simplified backups, and improved disaster recovery solutions. By decoupling physical storage from applications, it enables improved scalability and flexibility in storage provisioning .

You might also like