Font Size: a A A

Research On System-Level Virtual Layer In Linux Kernel

Posted on:2015-03-30Degree:MasterType:Thesis
Country:ChinaCandidate:Y X XuFull Text:PDF
GTID:2268330428999756Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Code migration problem becomes increasingly important with the continuous development of computer architecture. In general, if a new architecture cannot be supported widely by software, it will be difficult to get opportunity to survive. The Loongson processor is a general-purpose CPU that developed by China independently based on the MIPS instruction set. And the development of Loongson is of great significance. However, the CPU based on X86architecture is dominant in today’s processor market, and a large number of software and operating systems are based on it. Therefore, achieve compatible with X86architecture in software layer has become the most important task of the Loongson platform. An effective method is generally used to solve this problem by building a virtual layer above the architecture through dynamic binary translation technique to allow the common software running smoothly on it. At present, research and optimization of the dynamic binary translation tools which construct the system-level virtual layer is based upon the user space. On this basis, we proposed a new idea that embeds the virtual layer that supports the cross-platform and does not depend on the hardware into the operating system. It is to make the operating system directly support the virtual layer and the virtual layer directly interact with the real hardware without the performance cost of virtual device and user space.To validate this idea, QEMU was embedded into the Linux kernel, which is called kernelized-QEMU. Thus, kernelized-QEMU can construct the system-level virtual layer in kernel space and monopolize the computer resources. The ultimate goal of kernelized-QEMU is to build a virtual layer in kernel space on Loongson platform, and the virtual layer was achieved by kernelized-QEMU on X86platform in this paper for the short-term goal. This paper will analyze the main idea of the kernelized-QEMU, and also describe the architecture of kernelized-QEMU and the implementation process. Then, interface transplantation problem will be introduced in detail. The essence of interface transplantation problem is that transplanting the library functions which used by QEMU in user space to the Linux kernel. There are four main kinds of transplantation interface, which are directly transplanted interface, partially modified interface, interface that replaced by the kernel function, and also the interface needs to be rewritten. The key solution of solving the problem of interface transplantation is exploiting the kernel functions to realize library functions which called by QEMU. Furthermore, device emulation problem of kernelized-QEMU will be analyzed emphatically. The main way to solve this problem is that allow the virtual layer directly interact with hardware in order to reduce the performance loss from the device emulation. Generally, in introducing the problem of device emulation, there are three main implementation schemes provided to analyze in detail, which included VGA problem, virtual layer input problem and the DMA emulation of kernelized-QEMU. Finally, Linux kernel which contains the kernelized-QEMU will be deployed on X86platform for experiment. Through a series of testing, the performance of the kernelized-QEMU really has improved which demonstrates the proposed optimization approach is effective. According to the research results of kernelized-QEMU, there is a new method provided to build a cross-platform system-level virtual layer with high-performance on Loongson.
Keywords/Search Tags:system-level virtual layer, Linux kernel, QEMU, cross-platform, interface transplantation, device emulation
PDF Full Text Request
Related items