Virtual Machines

Executive Summary
The development of the virtual machine and its technologies has been an area of interest for many researchers. Virtualization has enabled multiple virtual machines to operate in a single physical server achieving higher efficiency levels for the computer system. The investment in the research area will lead to discovering the extensive benefits and challenges associated with it. This research paper was focussed on understanding the whole concept of the virtual machine. Therefore, it is a discussion of the virtual machine, its architecture, the technologies incorporated, the systematic taxonomy, its benefits, its challenges and the future understanding. In completion of the research paper, one can gain a foundation knowledge of the virtual machine hence allowing further understanding for any further improvements. It is prudent that resources are directed towards researching and developing virtual machines so that various sectors could incorporate them into their operations for maximal benefits.

The Outline of the Research
1. Introduction
2. The Virtual Machine
3. Current Technology of the Virtual Machine System
● Virtualization
● Resource Scheduling
● Migration
● Security
● Performance Assessment.
4. The Systematic Taxonomy of the Virtual Machine
● ISA and ABI
5. The Benefits of the Virtualization Machine and its Technologies.
6. The Challenges of the Virtual Machines
7. Future Trends of Virtual Machines
8. Conclusion
9. References

Introduction
Businesses in the current contemporary world are increasingly using IT infrastructure to improve productivity levels and optimize resources. Nonetheless, the absence of proper technology for the implementation of such systems leads to businesses incurring increased expenses while dealing with technical difficulties. The older approaches have become obsolete with constant technical challenges. Thus, the introduction of new methods of computing that have been modeled as per the virtualized infrastructure, this has introduced smart management, increased scalability levels and promoted proper utilization of resources.
Furthermore, the field of computer science is using virtual machines to recover interests in research and industries. This is because of their distinct capabilities, such as many guest operating systems co-existing in a similar computer while strongly isolated from each other. Additionally, virtual machines provide an instruction set architecture (ISA) that is distinct from the real device. Their nature or types allow server consolidations with the main types having reached full-virtualization (Praveen, 2011). These are some of the benefits the virtual machines provide the increased interest in more research in virtual machines and the virtualization. Nonetheless, even with the increased capabilities of virtual machines, this field remains a relatively young technology with extensive research and development required. This is the motivation of the research paper which is to comprehend virtual machines. A study of the present technologies used, its architecture, and the future trends will aid in having an understanding of any upcoming system improvements.
The Virtual Machine (VM)
The virtual machine is a typical computer system using virtual technology to consolidate different types of resources. These resources include data, software and hardware which are required to provide services that will achieve distinct functions (Smith & Nair, 2015). The main technology in virtual machines, virtualization, divides the management of hardware and software to avail practical features. Features such as isolation of performance activities, integration of services and live migration, and provision of portable environments in present computer systems involve virtualization technology. It is evident that the computer theory and model improvised in achieving the virtualization technology is achieving extensive functions.
Generally, in the virtual machine’s (VM) architecture, multiple VMs will use a similar host or rather a “physical machine”. The lowest layer that is immediately on top of the hardware layer, the virtual machine monitor is responsible for allocation of resources to virtual machines. Each of the virtual machines has several services running on top of the “guest” Operating System that will in turn avail the customary set of top-notch abstractions (Smith & Nair, 2005). The access to files and support from the network to applications constitute the abstractions offered by virtual machines.Suffice it to say, the virtual machine is a systematic device with alike architecture with the real-host machine running with an operating system. The VM system will run a number of virtual machines but each has an OS running in the single real hoist machine. The machines a;llow the users to create, save, copy, read, make modifications, share, transfer and roll back the execution part of the device just like manipulating a file (Smith & Nair, 2005). It is this kind of flexibility that users and administrators consider virtual machines valuable.

Figure 1: The Virtual Machine’s Architecture.
The virtual machine system utilizes five key technologies; virtualization, resource scheduling, migration and security technology. Each of them has its significant roles in achieving wholesome equity and high-performance features in the virtualized system. The initial versions of the VM system handled the portioning of resources in the processor equitably among the domains (Smith & Nair, 2005). Subsequently, it caused a challenge of poor or unpredictable quality in the system’s service. Nonetheless, the extensive growth in both hardware and software resources, the function of performance Assessment in resource servicing has also become essential. It is now a necessary factor in improving the service performance of the (VMS).
Present Technologies Utilized in the Virtual Machine System
The virtual machine system has five key technologies, namely; virtualization, resource scheduling, migration, security and performance technologies. The virtual machine system is in constant development, and the key technologies must be understood.
1. Virtualization technology.
Its first development occurred in the 1960s done by the IBM Corporation that was initially dealing with partitioning large mainframe computers to form a number of logical instances which run on one physical mainframe hardware, the host (). Overtime, virtualization has rapidly gained popularity in computing to become proven to be an essential building block in contemporary computing.
The hosting and management of present virtual machines in the VM monitor is the responsibility of the software layer. At this time, virtualization technologies utilize two different approaches. They are either the hosted or the hypervisor architecture. The hosted one entails installation and running of the virtualization layer in the form of an application above the operating system. It also offers support to an extensive number of hardware configurations. Conversely, the hypervisor architecture deals with the direct installation of the virtualization layer on the *86-based system (Jayaraman & Rayapudi, 2012). The requirements and objectives of a computer system will intigate which of the alternative techniques dealing with sensitive and privileged instructions will be improvised in the virtualization of physical resources. The four alternative methods are full virtualization, paravirtualization, hardware-Helped virtualization and resource virtualization
2. Migration Technology.
Migrating a virtual machine happens for distinct intentions that correspond to the memory and file system. For instance, in the case of a system administrator, the entire migration of a virtual machine is possible as it is done across the hardware resources thus making the process of maintaining the server simple. The migration of an OS done by an administrator to a different location in order to service the physical machine is also possible. The secondary device requires the web server for it to operate on the primary machine (Aghel Masjedi, 2012). Three main technologies; migration, memory and file system are essential for the VMS to be reliable.
3. Resource Scheduling Technologies.
The VMS has its Virtual Machine monitor responsible for the management and control of resources. Each virtual machine will have resources scheduled for different functions through the utilization of resource scheduling algorithms, the virtual machine monitor will avail these algorithms which include the borrowed virtual time scheduling algorithm, the simplest earliest deadline first scheduling algorithm, the credit scheduling algorithm and the different virtual I/O scheduler (VIOS) (Li, Li & Jiang, 2010).
4. Security Technologies
The computer being virtualized in the virtualization machine system is typically prone to traditional attacks and exploits found in the typical surrounding. Nonetheless, the security levels are expected to be at elevated levels in the VMS compared to the normal environment (Li, Li & Jiang, 2010). The possibility of more entry points, patching holes and interconnection points increases the vulnerability of the virtual machine system. Therefore, it is a necessity for some security techniques to be incorporated.
An intermediate layer that exists in between the host and monitor systems known as revirt is where captured information gets directed to the host through the Syslog process. Nonetheless, compromises in the virtual machine could easily allow an invader to wield log messages which will not be reliable anymore. The VirtualMachine Introspection Intrusion Detection System deals with finding the intrusion evidence (Li,Li & Jiang, 2010). Typically, the virtual machine carries out its activities directly above the hardware. However, the intrusion detection system is set at a privileged virtual machine for data scanning. The data has been retrieved from other virtual machines.
5. Performance Assessment Technologies
Several methods are used in performance Assessment technologies; hence the significant progress these virtual machines can achieve (Li, Li & Jiang, 2010). An analytical performance model by Menasc’e is used in the general virtualized systems where an analytic queuing method is incorporated for performance Assessment. Another technique is the diagnosing performance overheads method for scheduling of resources, especially in the Xen virtual machine environment. The technique utilizes a toolkit for analyzing performance overheads obtained by the networking applications. Coordination of the profiles in the many virtual machines is also allowed by the tool to distribute hardware events.

The Systematic Taxonomy of the Virtual Machine
Apart from the original virtual machine explained, there exist several types of distinct research areas. In the various types, the virtual; machine monitor is based in different layers of the standard systems to carry out different functions (Huang, 2006). The existing differences in the placement of the monitor would lead to top researchers proposing a systematic taxonomy for the virtual machines. The systematic taxonomy would aid in the classification of the virtual machine and also brought in a diagram language that could distinctively differentiate the different types.

ISA and ABI
Considering the virtual machine is an abstraction layer to all the layers below it and also providing an interface to the above segments, the level at which the virtual machine carries out the abstraction is an adequate criterion for the classification of virtual machines. Notably, the virtual machine is viewed in two perspectives; being a process and as a whole system (Huang, 2006). As a process, the device gets the memory address space, instructions and user-level registers. Nonetheless, the process version has no direct access to the disk or any secondary resources for storage. However, it can access the I/O resources through system calls.
Conversely, as a whole system, the machine will provide an entire environment supporting multiple processes while allocating physical memory and I/O resources to the operations. Since an operating system is also included in the system, it deals with how the processes get to interact with the resources. To this effect, process virtual machines and virtual system machines are made based on the level of abstraction.
In the further understanding of the two types of virtual machines, it is prudent to know the two standardized interfaces: ISA and ABI. Instruction Set Architecture (ISA)is a standard that defines the interface between the hardware and software (Huang, 2006). It is part of the processor but visible to the compiler writer. It has user and system instructions. Application Binary Interface (ABI) involves an entire allotment of user instructions and system call interface that allow applications to be used to enter hardware resources. ABI will separate the processes from the other sections of the whole system.
Taxonomy of Virtual Machines Architecture

Figure 2: Taxonomy of Virtual Machines Architecture
The Benefits of the Virtualization Machine and its Technologies
Virtualization offers different sectors a range of benefits, especially time, money and resource savings. System administrators’ distinct areas will benefit especially from the fact that they can think beyond the norm since their focus is solely not a few pieces of machinery (Barker et al., 2012). They could come up with different methods to make improvements in the quality of services offered. The more virtualization becomes popular, the more it becomes possible to have multiple operating systems running concurrently.
Separation of processes that occurs in the virtual machine brings in advantages of security and portability.security is improved because the services are not obligated to trust the guest operating system but only the virtual machine monitor (Chen & Noble, 2001). The monitor is straightforward and smaller and trusting it is similar to trusting the real processor. Both of them have a narrow interface. Conversely, the services offered by the operating system are more prone to malicious activities, faults and reliability holes due to their large size (Perez, Van Doorn & Sailer, 2008). The fact that the services are split away from the guest operating system improves portability since the services can be implemented without the need for changing the operating system. One can work across several operating systems from different vendors and in different versions.
Other benefits that a virtual machine will provide benefits similar to the real machine, it will also have more advantages than the latter one. The first advantage is the ease it offers in modifying it compared to the physical device since its monitor makes the virtual machine an abstraction software layer, the state of the virtual machine can also be manipulated easily by saving, cloning, encryption, movement or restoration (Chen, & Noble, 2001). These are manipulations that are very difficult with physical machines. The third advantage is its ability in fast connections to other computing systems which is the host machine in which the monitor is running. In terms of the virtualization technologies, a range of benefits are provided such as being a new way of recovering disasters, minimizes damages to systems, reduces the clashes of software, easiness in the development of cross platforms, easy desktop management among others (Aghel, Masjedi, 2012).
The Challenges of the Virtual Machines
The first primary challenge deals with a performance where the running of all applications will affect the performance levels caused by virtualization overheads. For instance, the system calls in the virtual machine are generally trapped by the monitor and re-directs to the guest OS (Chen & Noble, 2001). The hardware operations are given by the guest then get trapped by the respective monitor to be translated and reissued. Some of the overheads faced are unavoidable hence very important that the services achieved by the virtual machine surpass the performance cost. The second challenge is the semantic gap created between the virtual machine and the services. Since the provided services function below the abstractions given by the OS and applications, it becomes difficult for the services to be availed. For instance, a service cannot be provided to check the integrity of a file system without needing the knowledge of non-disk structures.
Future Trends for the Virtual Machines
The future modes of the virtual machines will seek to improve on the challenges currently faced. For instance, in performance, the next way must be able to decrease the traps required in implementing virtual machines, and even the time is taken in performing those traps. Resource management is also another area for future research. There is a gap in terms of how both the virtual machine systems and the guest operating systems collaborate in making resource management decisions (Banstola, 2012). Additionally, resource management needs to be considered at the whole data centre level.
The rapid development of hardware and software resources is making it difficult for virtual machines to handle the management. The utilization ratio and the service performance of the resource reduced the computer system’s scale (Banstola, 2012). The inconsistencies on whether to expand the computer system’s scale or make improvements in the utilization ratio and resource service’ performance increases the research gaps for future models. Another consideration is the levels of security in the host and hypervisor (Jayaraman & Rayapudi, 2012). In case any of the two is compromised, the whole system version gets crushed. There is a need to ensure that the security is beefed up, especially of the hypervisor for any new emerging threats. Frequent patches are required to mitigate the risk.
Conclusion
The virtual machine has developed into a cost-effective machine to organize a computer system’s resources for the provision of incredible system flexibility and running of many applications. The ability to run an operating system and most applications of the virtual machine allows system administrators to add more services to the guest OS. With the many functions that a virtual machine can achieve, it is feasible to say that the system is handy for the whole computer system. To this effect, since it is still a modern technology, extensive research and development is required for further advancements and dealing with current challenges.

References
Aghel Masjedi, A. (2012). A study on the performance of virtualization programs (Doctoral dissertation, Auckland University of Technology).
Banstola, B. (2012). Analyzing the Scalability of Virtualized Environment (Master’s thesis).
Barker, S., Wood, T., Shenoy, P., & Sitaraman, R. (2012). An empirical study of memory sharing in virtual machines. Presented as part of the 2012 {USENIX} Annual Technical Conference ({USENIX}{ATC} 12) (pp. 273-284).
Chen, P. M., & Noble, B. D. (2001, May). When virtual is better than real [operating system relocation to virtual machines]. In Proceedings eighth workshop on hot topics in operating systems (pp. 133-138). IEEE.
Huang, Q. (2006). An Introduction to Virtual Machines Implementation and Applications (Doctoral dissertation, The University of British Columbia).
Jayaraman, A., & Rayapudi, P. (2012). Comparative Study of Virtual Machine Software Packages with Real Operating System.
Li, Y., Li, W., & Jiang, C. (2010, July). A survey of the virtual machine system: Current technology and future trends. In 2010 Third International Symposium on Electronic Commerce and Security (pp. 332-336). IEEE.
Perez, R., Van Doorn, L., & Sailer, R. (2008). Virtualization and hardware-based security. IEEE Security & Privacy, 6(5), 24-31.
Praveen, G. (2011). Analysis of performance in the virtual machines environment.
Smith, J., & Nair, R. (2005). Virtual machines: versatile platforms for systems and processes. Elsevier.

Published by
Essays
View all posts