Hypervisor appeared early was applied to large servers, along with the development of hypervisor technology and the development of hardware equipment, hypervisor gradually applied to personal desktop computer environment, in recent years, Hypervisor also gradually spread in the embedded environment. Obviously, the hypervisor has certain value or the merit, only then can survive and develop in these three kinds of environment. The following lists the advantages of the hypervisor technology and the problems that can be solved [22,23,24]:1] through hypervisor technology, you can debug and test the new architecture platform and privileged instructions; 2 to debug and test the software before porting the platform with hypervisor 3) based on hypervisor, running special and early operating systems on the same platform, 4 as the sandbox of untrusted software, 5 increasing the usage rate of the computer, and 6 improving the portability of the operating system. Hardware changes that do not cause changes to the operating system and applications; 7 simplifies system migration, backup, and recovery. These advantages have a certain commonality, for the embedded field, hypervisor system in some aspects of the advantages of more prominent.
The hypervisor system can support many different kinds of applications (such as real-time tasks and non-real-time tasks) running in parallel on the same platform. The traditional embedded system is closed, all software stacks are provided by the equipment supplier, and are loaded before the sale, later will not be modified, especially the firmware system, the corresponding upgrade is scarce. In addition, the commercial real-time operating system and open source real-time embedded systems are various, and have fixed real-time application software, due to the strong dependence on the operating system, because a single operating system running on the hardware system, the corresponding real-time application software can only run on the operating system, when the operating system has changed, Real-time application software must be updated to adapt to the changes of the underlying platform, which has a direct negative impact on the development and application of the embedded system, increases the cost of system development and prolongs the system development cycle. In hypervisor, a system can support a variety of operating systems at the same time, can be real-time operating system, can also be a non-real-time operating system, so that the top of the system can support real-time and non-real-time application software parallel operation. For example, in the Xtratum hypervisor system, browsers on Linux systems and real-time digital control systems in the Partikle (particular real-time Kernel) real-time operating system (Cnc:computer Numerical controlled) can be run at the same time on one platform.
In addition, the function of embedded system is increasing, the number of software and the complexity of the system increase rapidly. For example, the current size of the software protocol stack in the mobile phone system is 5-7m, and the value is increasing. The software systems of the top-tier cars have reached gigabytes (GB) in size, even "downloading software longer than the time needed to build a physical vehicle". The embedded software has the phenomenon of strong closeness and many software requirements, and it brings inconvenience to the software reuse and transplantation, which leads to the difficulty of development, long development cycle and poor overall efficiency. In addition, the phenomenon that the software system developed for PC platform is used in embedded platform is very obvious, this phenomenon is called software generalization phenomenon, and many new embedded application software developers do not know embedded development technology. In this case, a high-level application-oriented operating system that supports multiple operating system APIs needs to be built. In other words, in the general trend of application software, it is necessary to have a mechanism or architecture that can satisfy many kinds of application software to run on the same hardware platform to solve the problem of software reuse and development. And hypervisor just can meet this need, can solve this kind of problem very well.
Hypervisor can improve the reliability, security, stability and effectiveness of embedded system. Embedded system is ubiquitous, and gradually become a part of daily life, can not think of how to leave the embedded system of human life, especially related to personal life and property security of the field, such as aerospace, medical, train, automobile, national defense and so on. In these special fields, it is obviously not appropriate to use the application software of the common operating system as the embedded software directly. Embedded systems need not only meet the real-time requirements, but also have higher security (Safety), Reliability (reliability), validity (availability). However, in these key areas, due to historical reasons, a variety of real-time operating system of the closure, restricting the parallel operation of different real-time software, such as Vxworks,lynxos,rtlinux,rtai. Similar to the common embedded system, in these key areas, a high security, high stability, support for a variety of real-time system APIs for application-oriented operating system is eagerly awaited [25,26,27,28]. By providing reliable isolation and redundancy mechanism to isolate critical components from untrusted operating systems to ensure the security, reliability, and effectiveness of critical components, hypervisor can improve the above requirements.
Hypervisor technology can speed up the porting of operating systems. The purpose of hypervisor is to establish a layer of hardware abstraction (Hal:hardware abstraction Layer) between the physical hardware and the operating system, which encapsulates the underlying physical hardware structure, such as registers, ports, and so on, providing the appropriate software interface for the operating system, In the process of operating system porting, the operating system does not need to understand the underlying physical information of elaborate, and directly calls the corresponding software interface to complete the corresponding service request or device configuration. However, because of the current diversity of systems management and fragmentation, each hypervisor has its own set of abstract interfaces, without uniform standards and regulations, which results in different porting of operating systems on hypervisor, However, this can still reduce the workload and the work cycle of the operating system porting to different platforms.
In a word, the research of hypervisor system is very important in the field of embedded real time system: 1 It can provide solutions for many problems such as multiple functions, open platform, complex software, etc. 2 hypervisor can run multiple operating systems concurrently on the same physical device. A typical application is to run real-time operating systems that provide real-time tasks at the bottom of the system, while executing customer operating systems and providing corresponding application tasks, such as Linux or windows;3, can protect subsystems with high security requirements, such as communication protocol stacks, which cannot be directly accessed or attacked by individual systems. 4) The separation of physical memory, can prevent the system direct mutual interference, 5 solve license problem. In addition, the research of this technology is still at the beginning stage at home and abroad, and the research on related technology can be taken as early as possible in the future of embedded field competition.
The study of Xtratum Hypervisor has a unique significance. In the field of embedded system, the application of hypervisor can be divided into three kinds: hard time, soft real-time and non-real time according to the real-time capability of the system. Three real-time capabilities are divided according to the severity of the consequences of the system's failure to complete the task at a specified time. Hard time will have serious consequences, even property loss or crisis of personal safety, such as train or car holding system. Soft real-time impact is lighter, almost without loss of property, and may be a sensory effect on people, such as music systems or movie playback systems. Non-real-time will not cause any impact.
Xtratum system is a hard time hypervisor. It mainly solves the security problems caused by the parallel operation of real-time system and non-real-time operating system. The mid 1990s, the first hard real-time operating system based on Linux RTLinux released, it is a dual-core coexistence mechanism to enable Linux real-time capabilities. In the RTLinux system, the RTLinux system with real-time capability coexists with the ordinary Linux kernel while running in the system kernel State (with the highest priority, which can directly access the underlying hardware). However, in the RTLinux system, the real-time system and the Linux kernel run in the same address space, that is, the Linux kernel can illegally access rtlinux kernel space without protection, which will inevitably affect the security (Safety) and reliability of the system. In addition, the RTLinux system also has the corresponding software patent protection: The real-time system runs between the underlying hardware and the Linux system, Linux as a task with the lowest priority is scheduled and executed. Therefore, through hypervisor technology, these two problems can be avoided: 1 Real time system and Linux kernel in the same address space, 2 RTLinux related software structure patent. In this case, the Xtratum hypervisor came into being, replacing the rtlinux real-time structure system and constructing the new hypervisor real-time environment.