Virtualization is a kind of resource management technology that abstracts and transforms various computer resources such as servers, networks, memory and storage, and breaks the barriers that cannot be cut between physical structures, so that users can use these resources more efficiently.
By using virtualization technology, multiple operating systems can be run simultaneously, and multiple programs can be run on each operating system. Each operating system runs on a virtual CPU or virtual host.
The earliest virtualization technology was based on pure software implementation. There are many limitations to this solution, such as the guest OS can't run at the highest privilege level it expects. The traditional Trap-And-Emulate processing method basically solves the above challenges in a transparent way, but it brings great design complexity and performance degradation.
The CPU virtualization technology is a hardware solution. CPUs supporting virtualization have a specially optimized instruction set to control the virtual process. Through these instruction sets, the VMM can greatly improve the performance, compared with the pure software virtualization solution.
RISC-V is a newly developed RISC open source instruction set architecture in recent years. It has attracted wide attention in the industry with its high openness, simplicity, modularity and scalability. Many processor or chip design companies have developed RISC-V as the strategic direction for the future. At present, the RISC-V architecture is constantly being improved, and the virtualization part has not yet formed a final solution. Therefore, researching the virtualization technology based on the RISC-V architecture is of great significance for perfecting the architecture.
- Forming a CPU virtualization technology architecture based on RISC-V architecture
- Forming an I/O virtualization technology architecture that is compatible with RISC-V architecture CPU virtualization
Related Research Topics
- Privilege level management for virtualization
- Dedicated instruction set design for virtualization
- Processor resource management for virtualization
- Memory management for virtualization
- Interrupt management for virtualization
- Debugging management for virtualization
- Peripheral management for virtualization