This document discusses virtual machines and their implementation. It begins with an overview of virtual machines, including the key components of a host, virtual machine manager/hypervisor, and guest. It then covers different system models and types of virtual machine managers from hardware-based to software-based. The document discusses the history, benefits, and building blocks of virtual machines like trap-and-emulate and binary translation techniques. It also covers hardware assistance for virtualization and the lifecycle of virtual machines.
Learn about the essentials of the Domain Name System (DNS), including name resolution, different record types, roots, zones, authority and recursion.
See the full webinar and the rest of the series at https://www.thousandeyes.com/resources/intro-to-dns-webinar
Server management - Server Maintenance Tips, Server Maintenance ChecklistYourServerDoctor
This document outlines 12 tips for maintaining servers, including verifying backups, checking disk usage, monitoring RAID alarms, updating the operating system and control panel, checking for application and hardware updates, reviewing server utilization and user accounts, changing passwords, and checking system security. It encourages contacting the server management company Your Server Doctor for server maintenance services.
The document discusses a mid-evaluation of a major project comparing several hypervisors. It will compare Xen, KVM, VMware, and VirtualBox based on their technical differences and performance benchmarks. The benchmarks will test CPU speed, network speed, I/O speed, and performance running various server workloads. This comparison will help determine the best hypervisor for a given virtualization situation. Key factors that will be compared include OS support, security, CPU speed, network speed, I/O speed, and response times.
Apache is an open source web server that is very popular, secure, fast, and reliable. It implements many features including CGI, SSL, virtual domains, and plug-in modules for extensibility. Apache uses simple text configuration files like httpd.conf to configure settings and is run from the command line using scripts like apachectl to start, stop, and restart the server.
Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources.
Vincent Van der Kussen discusses KVM and related virtualization tools. KVM is a kernel module that allows Linux to function as a hypervisor. It supports x86, PowerPC and s390 architectures. Key tools discussed include libvirt (the virtualization API), virsh (command line tool for libvirt), Qemu (runs virtual machines), and virt-tools like virt-install. The document provides an overview of using these tools to manage virtual machines and storage.
Windows Server 2022 is now in preview, the next release in our Long-Term Servicing Channel (LTSC), which will be generally available later this calendar year. It builds on Windows Server 2019, our fastest adopted Windows Server ever. This release includes advanced multi-layer security, hybrid capabilities with Azure, and a flexible platform to modernize applications with containers.
This document provides an overview of Windows 2003 Active Directory. It discusses what Active Directory is, how to build and use its features, the objects it contains, and how to audit Active Directory. It also describes Active Directory's hierarchical structure of domains, trees, forests and trust relationships. The document outlines how to install Active Directory and use tools like DCPROMO. It explains how Active Directory integrates with DNS and is based on directory protocols like LDAP.
Learn about the essentials of the Domain Name System (DNS), including name resolution, different record types, roots, zones, authority and recursion.
See the full webinar and the rest of the series at https://www.thousandeyes.com/resources/intro-to-dns-webinar
Server management - Server Maintenance Tips, Server Maintenance ChecklistYourServerDoctor
This document outlines 12 tips for maintaining servers, including verifying backups, checking disk usage, monitoring RAID alarms, updating the operating system and control panel, checking for application and hardware updates, reviewing server utilization and user accounts, changing passwords, and checking system security. It encourages contacting the server management company Your Server Doctor for server maintenance services.
The document discusses a mid-evaluation of a major project comparing several hypervisors. It will compare Xen, KVM, VMware, and VirtualBox based on their technical differences and performance benchmarks. The benchmarks will test CPU speed, network speed, I/O speed, and performance running various server workloads. This comparison will help determine the best hypervisor for a given virtualization situation. Key factors that will be compared include OS support, security, CPU speed, network speed, I/O speed, and response times.
Apache is an open source web server that is very popular, secure, fast, and reliable. It implements many features including CGI, SSL, virtual domains, and plug-in modules for extensibility. Apache uses simple text configuration files like httpd.conf to configure settings and is run from the command line using scripts like apachectl to start, stop, and restart the server.
Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources.
Vincent Van der Kussen discusses KVM and related virtualization tools. KVM is a kernel module that allows Linux to function as a hypervisor. It supports x86, PowerPC and s390 architectures. Key tools discussed include libvirt (the virtualization API), virsh (command line tool for libvirt), Qemu (runs virtual machines), and virt-tools like virt-install. The document provides an overview of using these tools to manage virtual machines and storage.
Windows Server 2022 is now in preview, the next release in our Long-Term Servicing Channel (LTSC), which will be generally available later this calendar year. It builds on Windows Server 2019, our fastest adopted Windows Server ever. This release includes advanced multi-layer security, hybrid capabilities with Azure, and a flexible platform to modernize applications with containers.
This document provides an overview of Windows 2003 Active Directory. It discusses what Active Directory is, how to build and use its features, the objects it contains, and how to audit Active Directory. It also describes Active Directory's hierarchical structure of domains, trees, forests and trust relationships. The document outlines how to install Active Directory and use tools like DCPROMO. It explains how Active Directory integrates with DNS and is based on directory protocols like LDAP.
Nmap is an open source network scanning tool that can discover hosts on a network, services running on hosts, operating systems in use, and vulnerabilities. It uses raw IP packets to determine details about targets. Nmap runs on Linux, Windows, and other platforms and has both command line and graphical interfaces. Common scan types include TCP connect, SYN stealth, UDP scans, and operating system detection to reveal details about targets on a network.
Network virtualization logically separates network resources and allows multiple virtual networks to operate over a shared physical infrastructure. It provides benefits like efficient usage of network resources, logical isolation of traffic between users, and accommodating dynamic server virtualization. Key enablers of network virtualization are cloud computing, server virtualization, software-defined networking (SDN), and network functions virtualization (NFV). A virtual tenant network (VTN) uses an underlay physical network and an overlay virtual network to logically isolate traffic for different users or groups. Common uses of network virtualization are in data centers and telecommunication networks.
Virtualization is a technique that separates a service from the underlying physical hardware. It allows multiple operating systems to run simultaneously on a single computer by decoupling the software from the hardware. There are two main approaches - hosted virtualization runs atop an operating system, while hypervisor-based virtualization installs directly on the hardware for better performance and scalability. A virtualization layer called a VMM manages and partitions CPU, memory, and I/O access for the guest operating systems. Virtualization overcomes the challenge that x86 operating systems assume sole ownership of the hardware through techniques like binary translation, para-virtualization with OS assistance, or newer hardware-assisted virtualization.
Windows Server 2016 can be installed in several ways depending on the intended use and hardware. It is available in multiple editions with different licensing options. Planning involves determining hardware requirements, choosing an edition, and deciding between a desktop, server core, or nano server installation type. Key steps involve installing Windows Server 2016, configuring roles and features, and managing the installation remotely via PowerShell or other methods.
A virtual machine (VM) uses software to run programs and deploy apps instead of using physical computer hardware. Multiple VMs can run on a single physical host machine. Each VM runs its own operating system separately from other VMs. VMs provide benefits like cost savings, agility, scalability, and security by isolating applications. However, VMs can also result in slower performance compared to physical machines. A hypervisor manages interactions between the physical hardware and VMs, enabling virtualization. There are two main types of hypervisors - type 1 runs directly on the hardware while type 2 runs within a host operating system.
Increase security, evolve your datacentre, and innovate faster with Microsoft Windows Server 2016—the cloud-ready operating system.
Learn more about:
» Windows Server 2016 as the 4th Era of Windows Server
» Editions & features
» Hardware requirements
» Features:
• Nano server
• Containers
• Hyper-V Hot-Add Virtual Hardware
• Nested Virtualization
I have tried my best to describe Samba Server through this PPT. I hope you guys will love this and this ppt will be helpful for you all.
Thanks,
Veeral Arora
Apache is an open-source web server that is the most popular on the internet. It is secure, fast, and reliable. Apache supports many features including CGI, SSL, virtual domains, and plug-in modules for extensibility. Apache uses simple text configuration files and is controlled through command line scripts to start, stop, and restart the server process.
This document provides an overview of iptables in Linux. Iptables is the user-space utility that allows configuration of Linux's built-in netfilter firewall. It can be used to filter packets, perform network address translation, and mangling packets. Iptables uses tables, chains, and rules to examine packets and determine whether to accept, drop, reject, or log them. Examples are provided of rules that drop or accept ICMP packets on the INPUT chain.
This document provides information about Rofiq Fauzi and his work as a network consultant and certified trainer. It discusses his background and experience working as an engineer and his current role providing MikroTik training and consulting. It also describes the non-profit organization he co-founded, IDNFoundation, and its programs providing free IT education. Finally, it discusses various network monitoring systems including Cacti, The Dude, PRTG and their features.
The 3 aspects of network performance managementManageEngine
Do you think it is enough to monitor the device or link availability and performance to manage your network? But that is just the first step!
Go through this slide to understand the 3 aspects of network performance management.
The document summarizes the architecture of the Linux operating system. It discusses the main components of Linux including the kernel, process management, memory management, file systems, device drivers, network stack, and architecture-dependent code. The kernel is at the core and acts as a resource manager. It uses a monolithic design. Process and memory management are handled via data structures like task_struct and buddy allocation. Virtual memory is implemented using page tables. File systems organize files in a hierarchy with inodes. Device drivers interface with hardware. The network stack follows a layered model. Architecture code is separated by subdirectory.
1. A distributed switch functions as a single virtual switch across all associated hosts and is configured in vCenter Server at the data center level. It consists of a control plane in vCenter Server and I/O planes in the VMkernel of each ESXi host.
2. Key components of a distributed switch include distributed ports, uplinks, and port groups. Distributed ports can connect VMs or VMkernel interfaces. Uplinks associate physical NICs across hosts. Port groups define connection configurations.
3. Configuring a distributed switch involves adding the switch in vCenter Server, creating distributed port groups, and defining properties like uplink ports and multicast filtering mode. This provides a consistent network configuration template across
A proxy server acts as an intermediary between clients and the internet or other network resources. Squid is a caching and forwarding proxy server that can improve performance by caching frequently requested files. It can restrict access based on client IP, domain, or time of day. Configuring Squid involves installing it, editing the squid.conf file to define access controls and caching, and configuring clients to use the proxy. The access log can be tailed to view current proxy requests.
The document provides information about server training, including the basics of servers and server hardware components. It defines what a server is, describes different types of servers based on size and use (e.g. rack mount, tower, blade). It also outlines the client-server model. The hardware components of a server are explained, such as the motherboard, hard drives, fans, power supplies, memory, RAID controllers. Different types of RAID configurations are defined. Finally, it discusses server processor diagnostics using tools like light path diagnostics and baseboard management controllers.
Here I covered the cores of Apache and also discuss each and every core. Virtual host, resistance server process some protocols like HTTP, SMTP, DNS FTP, are also be highlighted.
Focus on some installing part of apache.
Virtualization allows multiple operating systems and applications to run on the same physical server at the same time. This increases hardware utilization and flexibility while reducing IT costs. VMware virtualization solutions can reduce energy costs by 80% through server consolidation and powering down unused servers without affecting applications or users. Virtualization makes hardware resources independent of operating systems and applications, treating them as single unified units that can be more easily deployed, maintained, and supported.
F5 provides both on-premises and cloud-based DDoS protection solutions. Their hybrid approach mitigates attacks at the network, transport, and application layers using hardware-accelerated detection and filtering of over 110 DDoS vector types. Key capabilities include comprehensive L3-L7 protection, multi-terabit cloud scrubbing, and integration of network firewall and web application firewall technologies to strengthen security and ensure application availability even during large DDoS attacks.
Virtual machines allow users to run separate operating systems on a single computer by partitioning the hardware resources. Each virtual machine has its own virtual CPU, memory, disk, etc. mapped to the physical computer. This allows testing software in different environments, trying new operating systems safely, and setting up office systems quickly. However, virtual machines use the same physical resources as the host computer, so running multiple virtual machines can slow down lower-spec computers that run out of RAM and swap to disk storage.
The document discusses client-server architecture. In a client-server architecture, clients rely on servers for files, devices, and other network resources. Servers manage these resources and provide them to clients. Common examples of servers include file servers, database servers, web servers, and application servers. Clients are user applications that access and use resources from various servers via communication networks.
Binary translation is a technique used in virtualization to handle special or privileged instructions when a guest operating system is running in kernel mode. It works by having the virtual machine monitor examine upcoming instructions and translating special ones into an equivalent set of native instructions. While conceptually simple, binary translation implementations are complex. Products like VMware improve performance using caching, only retranslating code when needed. Nested page tables are another technique used to support memory management in virtualized environments.
VMMs use various techniques to virtualize CPU, memory, and I/O for multiple VMs. For CPU virtualization, approaches include paravirtualization (modifying guest OS), full virtualization (binary translation), and hardware-assisted virtualization (using CPU virtualization mode). For memory, shadow paging combines guest and host page tables, while EPT uses separate tables. I/O is virtualized through emulation or direct device passthrough. The VMM handles scheduling VMs and trapping privileged operations to provide isolation between VMs.
Nmap is an open source network scanning tool that can discover hosts on a network, services running on hosts, operating systems in use, and vulnerabilities. It uses raw IP packets to determine details about targets. Nmap runs on Linux, Windows, and other platforms and has both command line and graphical interfaces. Common scan types include TCP connect, SYN stealth, UDP scans, and operating system detection to reveal details about targets on a network.
Network virtualization logically separates network resources and allows multiple virtual networks to operate over a shared physical infrastructure. It provides benefits like efficient usage of network resources, logical isolation of traffic between users, and accommodating dynamic server virtualization. Key enablers of network virtualization are cloud computing, server virtualization, software-defined networking (SDN), and network functions virtualization (NFV). A virtual tenant network (VTN) uses an underlay physical network and an overlay virtual network to logically isolate traffic for different users or groups. Common uses of network virtualization are in data centers and telecommunication networks.
Virtualization is a technique that separates a service from the underlying physical hardware. It allows multiple operating systems to run simultaneously on a single computer by decoupling the software from the hardware. There are two main approaches - hosted virtualization runs atop an operating system, while hypervisor-based virtualization installs directly on the hardware for better performance and scalability. A virtualization layer called a VMM manages and partitions CPU, memory, and I/O access for the guest operating systems. Virtualization overcomes the challenge that x86 operating systems assume sole ownership of the hardware through techniques like binary translation, para-virtualization with OS assistance, or newer hardware-assisted virtualization.
Windows Server 2016 can be installed in several ways depending on the intended use and hardware. It is available in multiple editions with different licensing options. Planning involves determining hardware requirements, choosing an edition, and deciding between a desktop, server core, or nano server installation type. Key steps involve installing Windows Server 2016, configuring roles and features, and managing the installation remotely via PowerShell or other methods.
A virtual machine (VM) uses software to run programs and deploy apps instead of using physical computer hardware. Multiple VMs can run on a single physical host machine. Each VM runs its own operating system separately from other VMs. VMs provide benefits like cost savings, agility, scalability, and security by isolating applications. However, VMs can also result in slower performance compared to physical machines. A hypervisor manages interactions between the physical hardware and VMs, enabling virtualization. There are two main types of hypervisors - type 1 runs directly on the hardware while type 2 runs within a host operating system.
Increase security, evolve your datacentre, and innovate faster with Microsoft Windows Server 2016—the cloud-ready operating system.
Learn more about:
» Windows Server 2016 as the 4th Era of Windows Server
» Editions & features
» Hardware requirements
» Features:
• Nano server
• Containers
• Hyper-V Hot-Add Virtual Hardware
• Nested Virtualization
I have tried my best to describe Samba Server through this PPT. I hope you guys will love this and this ppt will be helpful for you all.
Thanks,
Veeral Arora
Apache is an open-source web server that is the most popular on the internet. It is secure, fast, and reliable. Apache supports many features including CGI, SSL, virtual domains, and plug-in modules for extensibility. Apache uses simple text configuration files and is controlled through command line scripts to start, stop, and restart the server process.
This document provides an overview of iptables in Linux. Iptables is the user-space utility that allows configuration of Linux's built-in netfilter firewall. It can be used to filter packets, perform network address translation, and mangling packets. Iptables uses tables, chains, and rules to examine packets and determine whether to accept, drop, reject, or log them. Examples are provided of rules that drop or accept ICMP packets on the INPUT chain.
This document provides information about Rofiq Fauzi and his work as a network consultant and certified trainer. It discusses his background and experience working as an engineer and his current role providing MikroTik training and consulting. It also describes the non-profit organization he co-founded, IDNFoundation, and its programs providing free IT education. Finally, it discusses various network monitoring systems including Cacti, The Dude, PRTG and their features.
The 3 aspects of network performance managementManageEngine
Do you think it is enough to monitor the device or link availability and performance to manage your network? But that is just the first step!
Go through this slide to understand the 3 aspects of network performance management.
The document summarizes the architecture of the Linux operating system. It discusses the main components of Linux including the kernel, process management, memory management, file systems, device drivers, network stack, and architecture-dependent code. The kernel is at the core and acts as a resource manager. It uses a monolithic design. Process and memory management are handled via data structures like task_struct and buddy allocation. Virtual memory is implemented using page tables. File systems organize files in a hierarchy with inodes. Device drivers interface with hardware. The network stack follows a layered model. Architecture code is separated by subdirectory.
1. A distributed switch functions as a single virtual switch across all associated hosts and is configured in vCenter Server at the data center level. It consists of a control plane in vCenter Server and I/O planes in the VMkernel of each ESXi host.
2. Key components of a distributed switch include distributed ports, uplinks, and port groups. Distributed ports can connect VMs or VMkernel interfaces. Uplinks associate physical NICs across hosts. Port groups define connection configurations.
3. Configuring a distributed switch involves adding the switch in vCenter Server, creating distributed port groups, and defining properties like uplink ports and multicast filtering mode. This provides a consistent network configuration template across
A proxy server acts as an intermediary between clients and the internet or other network resources. Squid is a caching and forwarding proxy server that can improve performance by caching frequently requested files. It can restrict access based on client IP, domain, or time of day. Configuring Squid involves installing it, editing the squid.conf file to define access controls and caching, and configuring clients to use the proxy. The access log can be tailed to view current proxy requests.
The document provides information about server training, including the basics of servers and server hardware components. It defines what a server is, describes different types of servers based on size and use (e.g. rack mount, tower, blade). It also outlines the client-server model. The hardware components of a server are explained, such as the motherboard, hard drives, fans, power supplies, memory, RAID controllers. Different types of RAID configurations are defined. Finally, it discusses server processor diagnostics using tools like light path diagnostics and baseboard management controllers.
Here I covered the cores of Apache and also discuss each and every core. Virtual host, resistance server process some protocols like HTTP, SMTP, DNS FTP, are also be highlighted.
Focus on some installing part of apache.
Virtualization allows multiple operating systems and applications to run on the same physical server at the same time. This increases hardware utilization and flexibility while reducing IT costs. VMware virtualization solutions can reduce energy costs by 80% through server consolidation and powering down unused servers without affecting applications or users. Virtualization makes hardware resources independent of operating systems and applications, treating them as single unified units that can be more easily deployed, maintained, and supported.
F5 provides both on-premises and cloud-based DDoS protection solutions. Their hybrid approach mitigates attacks at the network, transport, and application layers using hardware-accelerated detection and filtering of over 110 DDoS vector types. Key capabilities include comprehensive L3-L7 protection, multi-terabit cloud scrubbing, and integration of network firewall and web application firewall technologies to strengthen security and ensure application availability even during large DDoS attacks.
Virtual machines allow users to run separate operating systems on a single computer by partitioning the hardware resources. Each virtual machine has its own virtual CPU, memory, disk, etc. mapped to the physical computer. This allows testing software in different environments, trying new operating systems safely, and setting up office systems quickly. However, virtual machines use the same physical resources as the host computer, so running multiple virtual machines can slow down lower-spec computers that run out of RAM and swap to disk storage.
The document discusses client-server architecture. In a client-server architecture, clients rely on servers for files, devices, and other network resources. Servers manage these resources and provide them to clients. Common examples of servers include file servers, database servers, web servers, and application servers. Clients are user applications that access and use resources from various servers via communication networks.
Binary translation is a technique used in virtualization to handle special or privileged instructions when a guest operating system is running in kernel mode. It works by having the virtual machine monitor examine upcoming instructions and translating special ones into an equivalent set of native instructions. While conceptually simple, binary translation implementations are complex. Products like VMware improve performance using caching, only retranslating code when needed. Nested page tables are another technique used to support memory management in virtualized environments.
VMMs use various techniques to virtualize CPU, memory, and I/O for multiple VMs. For CPU virtualization, approaches include paravirtualization (modifying guest OS), full virtualization (binary translation), and hardware-assisted virtualization (using CPU virtualization mode). For memory, shadow paging combines guest and host page tables, while EPT uses separate tables. I/O is virtualized through emulation or direct device passthrough. The VMM handles scheduling VMs and trapping privileged operations to provide isolation between VMs.
The document describes hypervisors and their role in virtualization. It discusses how a hypervisor sits between virtual machines and hardware to provide an isolated environment for each VM. It also compares different types of hypervisors, including describing how early hypervisors used full virtualization through trap-and-emulate to virtualize privileged instructions. The document then discusses the design conditions for a hypervisor based on Popek and Goldberg's virtualization theorem, including how the hypervisor must provide equivalence, performance, and resource control for virtual machines.
This document discusses different types of virtual machines (VMs), including programming environment virtualization using Java Virtual Machines (JVMs), emulation VMs that allow different architectures to run on each other, and application containment VMs like Oracle containers that isolate applications without full system virtualization. It also covers key operating system components in virtualization like CPU scheduling, memory management, I/O, storage, and live migration capabilities. Examples of VMware Workstation and Java VMs are provided.
Server virtualization concepts allow partitioning of physical servers into multiple virtual servers using virtualization software and hardware techniques. This improves resource utilization by running multiple virtual machines on a single physical server. Server virtualization provides benefits like reduced costs, higher efficiency, lower power consumption, and improved availability compared to running each application on its own physical server. Key components of server virtualization include virtual machines, hypervisors, CPU virtualization using techniques like Intel VT-x or AMD-V, memory virtualization, and I/O virtualization through methods like emulated, paravirtualized or direct I/O. KVM and QEMU are popular open source virtualization solutions, with KVM providing kernel-level virtualization support and Q
Virtualization allows multiple operating systems to run on a single physical system by sharing underlying hardware resources. It provides flexibility for users, amortizes hardware costs, and isolates separate users. Early virtualization approaches required binary translation or modifying guest operating systems to address challenges posed by the x86 architecture. Modern virtualization leverages hardware extensions like Intel VT-x and AMD-V that introduce a new virtual machine mode to allow guest operating systems to run unmodified while providing hooks for the hypervisor to control privileged operations and resources. This improves performance over earlier software-only approaches.
webinar vmware v-sphere performance management Challenges and Best PracticesMetron
With the majority of businesses using internal Cloud Services, whether it be Software as a Service (SaaS), Platform as a Service (PaaS) or Infrastructure as a Service (IaaS) in a VMware vSphere environment, this presentation gives an insight into how to manage the gathering Storm Clouds. After an introduction to VMware's Virtual Infrastructure 4 (vSphere) environment andCloud Computing, we discuss how Capacity Management provides the means to spot potential Storm Clouds far in advance and more specifically, how you can avoid them.
Delving deeper we look at IaaS and how to identify potential capacity on demand issues. Discussion focuses on topics such as:
•identifying whether virtual machines are under or over provisioned
•the advantages/disadvantages of application sizing
•how to minimize SLA impact
•whether to scale the infrastructure out, up or in and ultimately how to get it right.
Typically organizations have adopted a "silo mentality" whereby they ring fence IT systems and don’t share resources through lack of trust and confidence. We look at the advantages virtualization brings in terms of flexibility, scalability, cost reduction (monetary and environmental) and how we can protect our 'loved ones' through resource pools, shares, reservations and limits.
With all this in mind, join us to find out what information and processes we recommend you need to have and implement to avoid an Internal Storm and ensure that Brighter Outlook!
Virtualization allows multiple operating systems and applications to run on a single host machine. It does this through virtual machines (VMs) which are isolated software containers that act like independent machines. The document discusses virtualization techniques including hardware virtualization using a hypervisor, paravirtualization, containers, and Docker. It covers concepts such as the virtual machine monitor (VMM), guest and host operating systems, and how virtualization improves efficiency and resource utilization.
Virtualization allows multiple operating systems to run on a single physical system by sharing hardware resources. It is used to improve efficiency and reduce costs. A virtual machine (VM) isolates a guest operating system and applications. The hypervisor controls host resources and allocates them to VMs. Benefits include resource sharing, isolation, hardware independence, and portability. Cloud computing takes virtualization further by offering on-demand resources over the internet. Security challenges include the large trusted computing base of the hypervisor. Solutions aim to reduce the TCB by removing the hypervisor or isolating its functions in hardware and management software.
Virtualization allows multiple operating systems to run on a single physical system by sharing hardware resources. It is used to improve efficiency and reduce costs. A virtual machine (VM) isolates a guest operating system and applications. The hypervisor controls host resources and allocates them to VMs. Benefits include resource sharing, isolation, hardware independence, and portability. Cloud computing takes virtualization further by offering on-demand resources over the internet. Security challenges include the large trusted computing base of the hypervisor. Solutions aim to reduce the TCB by removing the hypervisor or isolating its functions in hardware and management software.
Virtualization can be implemented at different levels including the instruction set architecture level, hardware abstraction level, operating system level, library support level, and user-application level. Hardware-level virtualization inserts a virtualization layer called a hypervisor or virtual machine monitor (VMM) that virtualizes CPU, memory, and I/O resources and allows multiple guest operating systems to run simultaneously on the same physical hardware. Operating system-level virtualization provides benefits like low startup/shutdown costs and high scalability compared to hardware-level virtualization.
Hypervisors are a kind of software which runs different virtual systems called virtual machines on a single computer giving the view to guest running on each virtual machine that it is running on its own single computer. This presentation talks about hypervisors and different techniques of their implementation in brief.
Virtualization, A Concept Implementation of CloudNishant Munjal
This presentation will guide through deploying virtualization in linux environment and get its access to another machine followed by virtualization concept.
This document discusses different virtualization techniques used for cloud computing and data centers. It begins by outlining the needs for virtualization in addressing issues like server underutilization and high power consumption in data centers. It then covers various types of virtualization including full virtualization, paravirtualization, and hardware-assisted virtualization. The document also discusses challenges of virtualizing x86 hardware and solutions like binary translation and using modified guest operating systems to enable paravirtualization. Finally, it mentions how newer CPUs support hardware virtualization to improve the efficiency and security of virtualization.
This document discusses I/O virtualization and GPU virtualization. It covers:
- Two approaches to I/O virtualization: hosted and device driver approaches. Hosted has lower engineering cost but lower performance.
- Methods to optimize para-virtualized I/O including split-driver models, reducing data copy costs, and hardware supports like IOMMU and SR-IOV.
- Challenges of GPU virtualization including whether to take a low-level virtualization or high-level API remoting approach. API remoting is preferred due to closed and evolving GPU hardware.
- Hardware pass-through of GPUs for high performance but low scalability. Industry solutions for remote desktop
This document provides an overview of virtualization technologies for high performance computing environments. It discusses what virtualization and hypervisors are, as well as common hypervisors like Xen, KVM, and VirtualBox. The document analyzes these hypervisors based on features, usability, and performance benchmarks. Benchmark results are presented from running SPEC CPU, memory, and I/O benchmarks, as well as HPCC benchmarks, on virtual machines created with each hypervisor compared to native hardware. The analysis finds that all hypervisors provide acceptable virtualization features for HPC and that Xen supports the most resources but also has more complex installation.
Virtualization allows multiple virtual machines (VMs) to run on the same physical hardware. It can be implemented at different levels including the instruction set architecture, hardware, operating system, library, and application levels. Each level provides varying degrees of performance, application flexibility, isolation, and implementation complexity. Common virtualization software includes hypervisors like Xen and VMware ESX which create virtual hardware for VMs. Virtualization is widely used to create virtual clusters in datacenters by interconnecting VMs running on different physical servers.
Generative AI Use cases applications solutions and implementation.pdfmahaffeycheryld
Generative AI solutions encompass a range of capabilities from content creation to complex problem-solving across industries. Implementing generative AI involves identifying specific business needs, developing tailored AI models using techniques like GANs and VAEs, and integrating these models into existing workflows. Data quality and continuous model refinement are crucial for effective implementation. Businesses must also consider ethical implications and ensure transparency in AI decision-making. Generative AI's implementation aims to enhance efficiency, creativity, and innovation by leveraging autonomous generation and sophisticated learning algorithms to meet diverse business challenges.
https://www.leewayhertz.com/generative-ai-use-cases-and-applications/
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Applications of artificial Intelligence in Mechanical Engineering.pdfAtif Razi
Historically, mechanical engineering has relied heavily on human expertise and empirical methods to solve complex problems. With the introduction of computer-aided design (CAD) and finite element analysis (FEA), the field took its first steps towards digitization. These tools allowed engineers to simulate and analyze mechanical systems with greater accuracy and efficiency. However, the sheer volume of data generated by modern engineering systems and the increasing complexity of these systems have necessitated more advanced analytical tools, paving the way for AI.
AI offers the capability to process vast amounts of data, identify patterns, and make predictions with a level of speed and accuracy unattainable by traditional methods. This has profound implications for mechanical engineering, enabling more efficient design processes, predictive maintenance strategies, and optimized manufacturing operations. AI-driven tools can learn from historical data, adapt to new information, and continuously improve their performance, making them invaluable in tackling the multifaceted challenges of modern mechanical engineering.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
Rainfall intensity duration frequency curve statistical analysis and modeling...bijceesjournal
Using data from 41 years in Patna’ India’ the study’s goal is to analyze the trends of how often it rains on a weekly, seasonal, and annual basis (1981−2020). First, utilizing the intensity-duration-frequency (IDF) curve and the relationship by statistically analyzing rainfall’ the historical rainfall data set for Patna’ India’ during a 41 year period (1981−2020), was evaluated for its quality. Changes in the hydrologic cycle as a result of increased greenhouse gas emissions are expected to induce variations in the intensity, length, and frequency of precipitation events. One strategy to lessen vulnerability is to quantify probable changes and adapt to them. Techniques such as log-normal, normal, and Gumbel are used (EV-I). Distributions were created with durations of 1, 2, 3, 6, and 24 h and return times of 2, 5, 10, 25, and 100 years. There were also mathematical correlations discovered between rainfall and recurrence interval.
Findings: Based on findings, the Gumbel approach produced the highest intensity values, whereas the other approaches produced values that were close to each other. The data indicates that 461.9 mm of rain fell during the monsoon season’s 301st week. However, it was found that the 29th week had the greatest average rainfall, 92.6 mm. With 952.6 mm on average, the monsoon season saw the highest rainfall. Calculations revealed that the yearly rainfall averaged 1171.1 mm. Using Weibull’s method, the study was subsequently expanded to examine rainfall distribution at different recurrence intervals of 2, 5, 10, and 25 years. Rainfall and recurrence interval mathematical correlations were also developed. Further regression analysis revealed that short wave irrigation, wind direction, wind speed, pressure, relative humidity, and temperature all had a substantial influence on rainfall.
Originality and value: The results of the rainfall IDF curves can provide useful information to policymakers in making appropriate decisions in managing and minimizing floods in the study area.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...PIMR BHOPAL
Variable frequency drive .A Variable Frequency Drive (VFD) is an electronic device used to control the speed and torque of an electric motor by varying the frequency and voltage of its power supply. VFDs are widely used in industrial applications for motor control, providing significant energy savings and precise motor operation.
Build the Next Generation of Apps with the Einstein 1 Platform.
Rejoignez Philippe Ozil pour une session de workshops qui vous guidera à travers les détails de la plateforme Einstein 1, l'importance des données pour la création d'applications d'intelligence artificielle et les différents outils et technologies que Salesforce propose pour vous apporter tous les bénéfices de l'IA.
Gas agency management system project report.pdfKamal Acharya
The project entitled "Gas Agency" is done to make the manual process easier by making it a computerized system for billing and maintaining stock. The Gas Agencies get the order request through phone calls or by personal from their customers and deliver the gas cylinders to their address based on their demand and previous delivery date. This process is made computerized and the customer's name, address and stock details are stored in a database. Based on this the billing for a customer is made simple and easier, since a customer order for gas can be accepted only after completing a certain period from the previous delivery. This can be calculated and billed easily through this. There are two types of delivery like domestic purpose use delivery and commercial purpose use delivery. The bill rate and capacity differs for both. This can be easily maintained and charged accordingly.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
2. Overview
• Fundamental idea – abstract hardware of a single computer into several different
execution environments
• Similar to layered approach
• But layer creates virtual system (virtual machine, or VM) on which operation systems or
applications can run
• Several components
• Host – underlying hardware system
• Virtual machine manager (VMM) or hypervisor – creates and runs virtual machines by
providing interface that is identical to the host
• (Except in the case of paravirtualization)
• Guest – process provided with virtual copy of the host
• Usually an operating system
• Single physical machine can run multiple operating systems concurrently, each in
its own virtual machine
4. Implementation of VMMs
• Vary greatly, with options including:
• Type 0 hypervisors - Hardware-based solutions that provide support for
virtual machine creation and management via firmware
• IBM LPARs and Oracle LDOMs are examples
• Type 1 hypervisors - Operating-system-like software built to provide
virtualization
• Including VMware ESX, Joyent SmartOS, and Citrix XenServer
• Type 1 hypervisors – Also includes general-purpose operating systems that
provide standard functions as well as VMM functions
• Including Microsoft Windows Server with HyperV and RedHat Linux with KVM
• Type 2 hypervisors - Applications that run on standard operating systems but
provide VMM features to guest operating systems
• Includeing VMware Workstation and Fusion, Parallels Desktop, and Oracle VirtualBox
5. Implementation of VMMs (2)
• Other variations include:
• Paravirtualization - Technique in which the guest operating system is modified to work in cooperation with the VMM
to optimize performance
• Programming-environment virtualization - VMMs do not virtualize real hardware but instead create an optimized
virtual system
• Used by Oracle Java and Microsoft.Net
• Emulators – Allow applications written for one hardware environment to run on a very different hardware
environment, such as a different type of CPU
• Application containment - Not virtualization at all but rather provides virtualization-like features by segregating
applications from the operating system, making them more secure, manageable
• Including Oracle Solaris Zones, BSD Jails, and IBM AIX WPARs
• Much variation due to breadth, depth and importance of
virtualization in modern computing
6. History
• First appeared in IBM mainframes in 1972
• Allowed multiple users to share a batch-oriented system
• Formal definition of virtualization helped move it beyond IBM
1.A VMM provides an environment for programs that is essentially identical to the
original machine
2.Programs running within that environment show only minor performance decreases
3.The VMM is in complete control of system resources
• In late 1990s Intel CPUs fast enough for researchers to try virtualizing on
general purpose PCs
• Xen and VMware created technologies, still used today
• Virtualization has expanded to many OSes, CPUs, VMMs
7. Benefits and Features
• Host system protected from VMs, VMs protected from each other
• I.e. A virus less likely to spread
• Sharing is provided though via shared file system volume, network communication
• Freeze, suspend, running VM
• Then can move or copy somewhere else and resume
• Snapshot of a given state, able to restore back to that state
• Some VMMs allow multiple snapshots per VM
• Clone by creating copy and running both original and copy
• Great for OS research, better system development efficiency
• Run multiple, different OSes on a single machine
• Consolidation, app dev, …
8. Benefits and Features (cont.)
• Templating – create an OS + application VM, provide it to customers,
use it to create multiple instances of that combination
• Live migration – move a running VM from one host to another!
• No interruption of user access
• All those features taken together -> cloud computing
• Using APIs, programs tell cloud infrastructure (servers, networking, storage)
to create new guests, VMs, virtual desktops
9. Building Blocks
• Generally difficult to provide an exact duplicate of underlying
machine
• Especially if only dual-mode operation available on CPU
• But getting easier over time as CPU features and support for VMM improves
• Most VMMs implement virtual CPU (VCPU) to represent state of CPU per
guest as guest believes it to be
• When guest context switched onto CPU by VMM, information from VCPU loaded and
stored
• Several techniques, as described in next slides
10. Building Block – Trap and Emulate
• Dual mode CPU means guest executes in user mode
• Kernel runs in kernel mode
• Not safe to let guest kernel run in kernel mode too
• So VM needs two modes – virtual user mode and virtual kernel mode
• Both of which run in real user mode
• Actions in guest that usually cause switch to kernel mode must cause switch
to virtual kernel mode
11. Trap-and-Emulate (cont.)
• How does switch from virtual user mode to virtual kernel mode occur?
• Attempting a privileged instruction in user mode causes an error -> trap
• VMM gains control, analyzes error, executes operation as attempted by guest
• Returns control to guest in user mode
• Known as trap-and-emulate
• Most virtualization products use this at least in part
• User mode code in guest runs at same speed as if not a guest
• But kernel mode privilege mode code runs slower due to trap-and-emulate
• Especially a problem when multiple guests running, each needing trap-and-emulate
• CPUs adding hardware support, mode CPU modes to improve virtualization
performance
13. Building Block – Binary Translation
• Some CPUs don’t have clean separation between privileged and
nonprivileged instructions
• Earlier Intel x86 CPUs are among them
• Earliest Intel CPU designed for a calculator
• Backward compatibility means difficult to improve
• Consider Intel x86 popf instruction
• Loads CPU flags register from contents of the stack
• If CPU in privileged mode -> all flags replaced
• If CPU in user mode -> on some flags replaced
• No trap is generated
14. Binary Translation (cont.)
• Other similar problem instructions we will call special instructions
• Caused trap-and-emulate method considered impossible until 1998
• Binary translation solves the problem
• Basics are simple, but implementation very complex
1. If guest VCPU is in user mode, guest can run instructions natively
2. If guest VCPU in kernel mode (guest believes it is in kernel mode)
1. VMM examines every instruction guest is about to execute by reading a few instructions
ahead of program counter
2. Non-special-instructions run natively
3. Special instructions translated into new set of instructions that perform equivalent task
(for example changing the flags in the VCPU)
15. Binary Translation (cont.)
• Implemented by translation of code within VMM
• Code reads native instructions dynamically from guest, on demand,
generates native binary code that executes in place of original code
• Performance of this method would be poor without optimizations
• Products like VMware use caching
• Translate once, and when guest executes code containing special instruction cached
translation used instead of translating again
• Testing showed booting Windows XP as guest caused 950,000 translations, at 3
microseconds each, or 3 second (5 %) slowdown over native
17. Nested Page Tables
• Memory management another general challenge to VMM implementations
• How can VMM keep page-table state for both guests believing they control the page tables and VMM that does control
the tables?
• Common method (for trap-and-emulate and binary translation) is nested page tables (NPTs)
• Each guest maintains page tables to translate virtual to physical addresses
• VMM maintains per guest NPTs to represent guest’s page-table state
• Just as VCPU stores guest CPU state
• When guest on CPU -> VMM makes that guest’s NPTs the active system page tables
• Guest tries to change page table -> VMM makes equivalent change to NPTs and its own page tables
• Can cause many more TLB misses -> much slower performance
18. Building Blocks – Hardware Assistance
• All virtualization needs some HW support
• More support -> more feature rich, stable, better performance of guests
• Intel added new VT-x instructions in 2005 and AMD the AMD-V
instructions in 2006
• CPUs with these instructions remove need for binary translation
• Generally define more CPU modes – “guest” and “host”
• VMM can enable host mode, define characteristics of each guest VM, switch to guest mode and guest(s) on CPU(s)
• In guest mode, guest OS thinks it is running natively, sees devices (as defined by VMM for that guest)
• Access to virtualized device, priv instructions cause trap to VMM
• CPU maintains VCPU, context switches it as needed
• HW support for Nested Page Tables, DMA, interrupts as well over time
20. Types of Virtual Machines and Implementations
• Many variations as well as HW details
• Assume VMMs take advantage of HW features
• HW features can simplify implementation, improve performance
• Whatever the type, a VM has a lifecycle
• Created by VMM
• Resources assigned to it (number of cores, amount of memory, networking details,
storage details)
• In type 0 hypervisor, resources usually dedicated
• Other types dedicate or share resources, or a mix
• When no longer needed, VM can be deleted, freeing resouces
• Steps simpler, faster than with a physical machine install
• Can lead to virtual machine sprawl with lots of VMs, history and state difficult to
track
21. Types of VMs – Type 0 Hypervisor
• Old idea, under many names by HW manufacturers
• “partitions”, “domains”
• A HW feature implemented by firmware
• OS need to nothing special, VMM is in firmware
• Smaller feature set than other types
• Each guest has dedicated HW
• I/O a challenge as difficult to have enough devices, controllers to dedicate to each
guest
• Sometimes VMM implements a control partition running daemons that other
guests communicate with for shared I/O
• Can provide virtualization-within-virtualization (guest itself can be a VMM with
guests
• Other types have difficulty doing this
23. Types of VMs – Type 1 Hypervisor
• Commonly found in company datacenters
• In a sense becoming “datacenter operating systems”
• Datacenter managers control and manage OSes in new, sophisticated ways by controlling the
Type 1 hypervisor
• Consolidation of multiple OSes and apps onto less HW
• Move guests between systems to balance performance
• Snapshots and cloning
• Special purpose operating systems that run natively on HW
• Rather than providing system call interface, create run and manage guest OSes
• Can run on Type 0 hypervisors but not on other Type 1s
• Run in kernel mode
• Guests generally don’t know they are running in a VM
• Implement device drivers for host HW because no other component can
• Also provide other traditional OS services like CPU and memory management
24. Types of VMs – Type 1 Hypervisor (cont.)
• Another variation is a general purpose OS that also provides VMM
functionality
• RedHat Enterprise Linux with KVM, Windows with Hyper-V, Oracle Solaris
• Perform normal duties as well as VMM duties
• Typically less feature rich than dedicated Type 1 hypervisors
• In many ways, treat guests OSes as just another process
• Albeit with special handling when guest tries to execute special instructions
25. Types of VMs – Type 2 Hypervisor
• Less interesting from an OS perspective
• Very little OS involvement in virtualization
• VMM is simply another process, run and managed by host
• Even the host doesn’t know they are a VMM running guests
• Tend to have poorer overall performance because can’t take advantage of
some HW features
• But also a benefit because require no changes to host OS
• Student could have Type 2 hypervisor on native host, run multiple guests, all on standard
host OS such as Windows, Linux, MacOS
26. Types of VMs – Paravirtualization
• Does not fit the definition of virtualization – VMM not presenting an
exact duplication of underlying hardware
• But still useful!
• VMM provides services that guest must be modified to use
• Leads to increased performance
• Less needed as hardware support for VMs grows
• Xen, leader in paravirtualized space, adds several techniques
• For example, clean and simple device abstractions
• Efficient I/O
• Good communication between guest and VMM about device I/O
• Each device has circular buffer shared by guest and VMM via shared memory
28. Types of VMs – Paravirtualization (cont.)
• Xen, leader in paravirtualized space, adds several techniques (Cont.)
• Memory management does not include nested page tables
• Each guest has own read-only tables
• Guest uses hypercall (call to hypervisor) when page-table changes needed
• Paravirtualization allowed virtualization of older x86 CPUs (and
others) without binary translation
• Guest had to be modified to use run on paravirtualized VMM
• But on modern CPUs Xen no longer requires guest modification -> no
longer paravirtualization
29. Types of VMs – Programming Environment
Virtualization
• Also not-really-virtualization but using same techniques, providing similar
features
• Programming language is designed to run within custom-built virtualized
environment
• For example Oracle Java has many features that depend on running in Java Virtual
Machine (JVM)
• In this case virtualization is defined as providing APIs that define a set of
features made available to a language and programs written in that
language to provide an improved execution environment
• JVM compiled to run on many systems (including some smart phones even)
• Programs written in Java run in the JVM no matter the underlying system
• Similar to interpreted languages
30. Types of VMs – Emulation
• Another (older) way for running one operating system on a different
operating system
• Virtualization requires underlying CPU to be same as guest was compiled for
• Emulation allows guest to run on different CPU
• Necessary to translate all guest instructions from guest CPU to native CPU
• Emulation, not virtualization
• Useful when host system has one architecture, guest compiled for other
architecture
• Company replacing outdated servers with new servers containing different CPU
architecture, but still want to run old applications
• Performance challenge – order of magnitude slower than native code
• New machines faster than older machines so can reduce slowdown
• Very popular – especially in gaming where old consoles emulated on new
31. Types of VMs – Application Containment
• Some goals of virtualization are segregation of apps, performance and
resource management, easy start, stop, move, and management of them
• Can do those things without full-fledged virtualization
• If applications compiled for the host operating system, don’t need full virtualization
to meet these goals
• Oracle containers / zones for example create virtual layer between OS and
apps
• Only one kernel running – host OS
• OS and devices are virtualized, providing resources within zone with impression that
they are only processes on system
• Each zone has its own applications; networking stack, addresses, and ports; user
accounts, etc
• CPU and memory resources divided between zones
• Zone can have its own scheduler to use those resources
33. Virtualization and Operating-System
Components
• Now look at operating system aspects of virtualization
• CPU scheduling, memory management, I/O, storage, and unique VM
migration feature
• How do VMMs schedule CPU use when guests believe they have dedicated CPUs?
• How can memory management work when many guests require large amounts of
memory?
34. OS Component – CPU Scheduling
• Even single-CPU systems act like multiprocessor ones when virtualized
• One or more virtual CPUs per guest
• Generally VMM has one or more physical CPUs and number of
threads to run on them
• Guests configured with certain number of VCPUs
• Can be adjusted throughout life of VM
• When enough CPUs for all guests -> VMM can allocate dedicated CPUs, each
guest much like native operating system managing its CPUs
• Usually not enough CPUs -> CPU overcommitment
• VMM can use standard scheduling algorithms to put threads on CPUs
• Some add fairness aspect
35. OS Component – CPU Scheduling (cont.)
• Cycle stealing by VMM and oversubscription of CPUs means guests
don’t get CPU cycles they expect
• Consider timesharing scheduler in a guest trying to schedule 100ms time
slices -> each may take 100ms, 1 second, or longer
• Poor response times for users of guest
• Time-of-day clocks incorrect
• Some VMMs provide application to run in each guest to fix time-of-day and
provide other integration features
36. OS Component – Memory Management
• Also suffers from oversubscription -> requires extra management
efficiency from VMM
• For example, VMware ESX guests have a configured amount of
physical memory, then ESX uses 3 methods of memory management
• Double-paging, in which the guest page table indicates a page is in a physical
frame but the VMM moves some of those pages to backing store
• Install a pseudo-device driver in each guest (it looks like a device driver to the
guest kernel but really just adds kernel-mode code to the guest)
• Balloon memory manager communicates with VMM and is told to allocate or deallocate
memory to decrease or increase physical memory use of guest, causing guest OS to free
or have more memory available
• Deduplication by VMM determining if same page loaded more than once,
memory mapping the same page into multiple guests
37. OS Component – I/O
• Easier for VMMs to integrate with guests because I/O has lots of variation
• Already somewhat segregated / flexible via device drivers
• VMM can provide new devices and device drivers
• But overall I/O is complicated for VMMs
• Many short paths for I/O in standard OSes for improved performance
• Less hypervisor needs to do for I/O for guests, the better
• Possibilities include direct device access, DMA pass-through, direct interrupt delivery
• Again, HW support needed for these
• Networking also complex as VMM and guests all need network access
• VMM can bridge guest to network (allowing direct access)
• And / or provide network address translation (NAT)
• NAT address local to machine on which guest is running, VMM provides address translation to
guest to hide its address
38. OS Component – Storage Management
• Both boot disk and general data access need be provided by VMM
• Need to support potentially dozens of guests per VMM (so standard disk
partitioning not sufficient)
• Type 1 – storage guest root disks and config information within file system
provided by VMM as a disk image
• Type 2 – store as files in file system provided by host OS
• Duplicate file -> create new guest
• Move file to another system -> move guest
• Physical-to-virtual (P-to-V) convert native disk blocks into VMM format
• Virtual-to-physical (V-to-P) convert from virtual format to native or disk format
• VMM also needs to provide access to network attached storage (just networking)
and other disk images, disk partitions, disks, etc
39. OS Component – Live Migration
• Taking advantage of VMM features leads to new functionality not found on
general operating systems such as live migration
• Running guest can be moved between systems, without interrupting user access
to the guest or its apps
• Very useful for resource management, maintenance downtime windows, etc
1. The source VMM establishes a connection with the target VMM
2. The target creates a new guest by creating a new VCPU, etc
3. The source sends all read-only guest memory pages to the target
4. The source sends all read-write pages to the target, marking them as clean
5. The source repeats step 4, as during that step some pages were probably modified by the
guest and are now dirty
6. When cycle of steps 4 and 5 becomes very short, source VMM freezes guest, sends VCPU’s
final state, sends other state details, sends final dirty pages, and tells target to start running
the guest
• Once target acknowledges that guest running, source terminates guest
41. Examples - VMware
• VMware Workstation runs on x86, provides VMM for guests
• Runs as application on other native, installed host operating system ->
Type 2
• Lots of guests possible, including Windows, Linux, etc all runnable
concurrently (as resources allow)
• Virtualization layer abstracts underlying HW, providing guest with is
own virtual CPUs, memory, disk drives, network interfaces, etc
• Physical disks can be provided to guests, or virtual physical disks (just
files within host file system)
43. Examples – Java Virtual Machine
• Example of programming-environment virtualization
• Very popular language / application environment invented by Sun Microsystems
in 1995
• Write once, run anywhere
• Includes language specification (Java), API library, Java virtual machine (JVM)
• Java objects specified by class construct, Java program is one or more objects
• Each Java object compiled into architecture-neutral bytecode output (.class)
which JVM class loader loads
• JVM compiled per architecture, reads bytecode and executes
• Includes garbage collection to reclaim memory no longer in use
• Made faster by just-in-time (JIT) compiler that turns bytecodes into native code
and caches them