CN102193788A - Method for multiplexing cross-platform driver based on dynamic binary translation - Google Patents
Method for multiplexing cross-platform driver based on dynamic binary translation Download PDFInfo
- Publication number
- CN102193788A CN102193788A CN2010101250345A CN201010125034A CN102193788A CN 102193788 A CN102193788 A CN 102193788A CN 2010101250345 A CN2010101250345 A CN 2010101250345A CN 201010125034 A CN201010125034 A CN 201010125034A CN 102193788 A CN102193788 A CN 102193788A
- Authority
- CN
- China
- Prior art keywords
- driver
- platform
- binary translation
- cross
- multiplexing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
The invention belongs to the field of computer system software and software application and relates to a method for multiplexing a cross-platform driver based on dynamic binary translation. The method comprises the following steps of: creating a lightweight independent running environment for the driver in a target operation system based on a dynamic binary translation technology; and realizing the conversion of a cross-platform order set by adopting a binary translation module, realizing multiplexing of different file formats by using an isomeric file format loading module, providing a cross-platform system service by using a system service simulation module and realizing the operation of hardware equipment by using a general hardware control module. Due to the adoption of the method, cross-platform multiplexing of a binary driver can be realized effectively, and the multiplexing of the conventional binary driver among different processors and different operating systems is realized without source codes or recompilation. The method is beneficial to various processors and operating systems, and an effective support to a large amount of external equipment can be realized under the condition of needing lower developing cost.
Description
Technical field
The invention belongs to computer system software and software application field, relate to cross-platform driver multiplexing method based on binary translation.It is multiplexing and strengthen aspect such as driver reliability and use between different platform to be specifically related to driver.
Background technology
In recent years, for many-sided factor such as national security, the national economic development is considered that processor chips and operating system more and more show it safely and effectively vital strategic importance, national departments concerned is paid close attention to this art and is supported.In recent years, the chip and the operating system of domestic research and development continue to bring out, as the Godson general processor by the research and development of certain research institution, by the milky way kylin operating system of certain scientific ﹠ technical corporation's research and development etc.But practicality that the autonomous computing platform that described processor chips and operating system constituted is real and universal also facing from challenge with existing a large amount of external unit collaborative works.Driver is as the interworking of extension realization basic computer with the different external units of operating system, therefore the degree of ripeness of operating system depends on whether have enough drivers to support all kinds of external units, and for example the code above 70% is a device driver in the Microsoft's Window operating system.For the computing platform of researching and developing recently, develop all device drivers and unrealistic fully again, therefore how to reuse existing driver to greatest extent, realize cross-platform multiplexing practicality and the key of popularizing novel computing platform of becoming of driver.
Yet the realization of driver depends on the driving programming model that operating system provides, and both close-coupled together.There is not unified standard in the driving programming model that current operation system provided, from DLL (dynamic link library) to the system service that provides, all have greatest differences to various aspects such as physical hardware modes of operation again.Therefore for same external unit, the driver on the different operating system is realized different fully, can't be multiplexing.On the other hand, between different processor as the x86 processor of Intel company and the distinct instruction set of Godson processor adopting of the Chinese Academy of Sciences.And driver is often issued with binary mode, increases income except minority and realizes not providing source code, even therefore same operating system also can't the multiplexing driver of straight binary on the different disposal applicator platform.This directly causes driver to have serious scaling concern, depends on the processor and the operating system environment of bottom, is difficult to realize that cross-platform scale-of-two is multiplexing.
Existing solution is that hardware vendor or operating system developer are the driver of different operating system environment write specialized.But for the consideration of cost of development, have only minority mainstream operation system platform,, just can obtain comprehensive driver support as Microsoft's Window operating system.And these drivers are underground source code also, and the binary version of section processes applicator platform only is provided.For a large amount of non-mainstream or emerging operating systems, as the operating system of domestic independent research, often can not get hardware vendor's support, can only write driver for some the most frequently used external units and realize the part major function.Even the driver on the ripe operating system platform that has a large number of users that Linux is so still exist support limited, upgrading slowly, problems such as poor reliability and performance be not good.
Summary of the invention
The objective of the invention is to overcome the defective of prior art, what mainly solve is how to realize that the scale-of-two of driver is multiplexing between the computing platform of different processor and operating system formation, and a kind of cross-platform driver multiplex technique based on binary translation is provided.
Because therefore binary driver dependent of prior art, will realize that cross-platform scale-of-two is multiplexing in floor processor and operating system and just must overcome the difficulty that the difference of calling aspects such as hardware device operation from the instruction set to the file layout, from system service causes.
For addressing the above problem, the invention provides a kind of cross-platform driver multiplex technique based on binary translation, it comprises: with the binary translation technology serves as that the basis is that driver makes up lightweight independent operating environment in destination OS; Adopt the binary translation module to realize cross-platform instruction set conversion respectively, isomery file layout loading module realizes that different file layouts are multiplexing, provide the cross platform system service with the system service analog module, and the common hardware control module realizes the operation of hardware device.
Among the present invention, be the binary translation module based on the core of the multiplex technique of binary translation, this module adopts binary translation technology ripe in emulator and simulator to realize cross-platform instruction set conversion.The binary translation technology can realize the dynamic translation from the sourse instruction sequence to the target instruction target word sequence, and can handle targetedly special instruction as required, the feasible multiplexing possibility that becomes of scale-of-two of striding processor instruction set.The binary translation technology only needs the translation rule of disposable realization from general metainstruction collection to new processor instruction set, has good versatility, is independent of concrete hardware device and driver.For the multiplexing driver of needs, translation module at first will use the scale-of-two of source instruction set to drive code and translate into metainstruction collection code dynamically as required when operation, translate into the final binary code that can carry out according to the translation rule that adds on new processor again.And with respect to common applications, drive code itself and also have long, code of the cycle of operation and carry out the relatively stable and insensitive characteristics of preface interactivity of stream, help sharing and optimizes of the influence of employing binary translation technology at aspect of performance.
Among the present invention, the different operating system platform adopts multiple different binary file format, even same operating system is also supported multiple different-format.Isomery file layout loading module is finished the work that binary file is loaded into the internal memory process space from disk with the binary file format under the extendible support different platform of plug-in unit mode.The system service analog module provides the system service consistent with driver for driver.By the origin system service of the system service on goal systems platform simulation lightweight, and realize making the scale-of-two driver to finish operations necessary by the goal systems service to being redirected of service call by the binary translation module.The bottom operation that has general character in the last abstract hardware operation of common hardware control module separates the dependence of driver for interior nuclear environment.Make driver operation and user's attitude, act on behalf of by the common hardware control module and finish necessary kernel state operation, as creating the application programming interfaces on the target platform, the register of hardware adaptor is carried out read-write operation etc.
The invention has the beneficial effects as follows, effectively realize the cross-platform multiplexing of scale-of-two driver, utilize technology such as binary translation need not source code and recompiling under the situation, be implemented in multiplexing existing scale-of-two driver between different processor and different operating system.The present invention helps various processors and operating system, and especially the practicability of the computing platform of independent research and universal realizes the effective support to a large amount of external units under the situation that only needs less cost of development.
For the ease of understanding, below will describe in detail of the present invention by concrete drawings and Examples.It needs to be noted, instantiation and accompanying drawing only are in order to illustrate, obviously those of ordinary skill in the art can illustrate according to this paper, within the scope of the invention the present invention is made various corrections and change, and these corrections and change are also included in the scope of the present invention.
Description of drawings
Fig. 1 drives cross-platform multiplex technique configuration diagram for scale-of-two of the present invention.
Embodiment
Embodiment 1
Fig. 1 has described the overall system architecture based on the cross-platform driving multiplex technique of binary translation.Loading module at first uses suitable form plug-in unit that driver is loaded into the process space according to scale-of-two driver file type.When needs were carried out instruction in the driver, the binary translation module was at first translated into target processor instruction sequence section with the sourse instruction tract of correspondence and is carried out then, and this result is stored in and avoids in the translation buffer repeatedly translating.For the system service request on the operating system of source,, be translated module and intercept and capture and be redirected to the system service analog module in the driver such as the request of storage allocation space.The service analog module uses the system service on the destination OS to simulate the request of finishing.And driver and common applications and physical hardware devices the mutual and visit of kernel state resource all finished by the common hardware control module agency who is positioned at kernel state.
Claims (6)
1. based on the cross-platform driver multiplexing method of binary translation, it is characterized in that it comprises:, in destination OS, make up lightweight independent operating environment for driver based on the binary translation technology; Wherein, adopt the binary translation module to realize cross-platform instruction set conversion respectively, isomery file layout loading module realizes that different file layouts are multiplexing, provides the cross platform system service with the system service analog module, and the common hardware control module realizes the operation of hardware device.
2. by the described method of claim 1, it is characterized in that wherein said binary translation module adopts binary translation technology ripe in emulator and simulator to realize cross-platform instruction set conversion.
3. by the described method of claim 2, it is characterized in that wherein said binary translation technology realizes the dynamic translation from the sourse instruction sequence to the target instruction target word sequence, and as required special instruction is handled targetedly.
4. by the described method of claim 2, it is characterized in that, the translation rule of the disposable realization of wherein said binary translation technology from general metainstruction collection to new processor instruction set, and be independent of the particular hardware Devices and Drivers.
5. by the described method of claim 1, it is characterized in that, wherein said isomery file layout loading module is finished the work that binary file is loaded into the internal memory process space from disk with the binary file format under the extendible support different platform of plug-in unit mode.
6. by the described method of claim 1, it is characterized in that wherein said system service analog module provides the system service consistent with driver for driver.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010125034.5A CN102193788B (en) | 2010-03-12 | 2010-03-12 | Method for multiplexing cross-platform driver based on binary translation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010125034.5A CN102193788B (en) | 2010-03-12 | 2010-03-12 | Method for multiplexing cross-platform driver based on binary translation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102193788A true CN102193788A (en) | 2011-09-21 |
CN102193788B CN102193788B (en) | 2016-08-03 |
Family
ID=44601910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010125034.5A Expired - Fee Related CN102193788B (en) | 2010-03-12 | 2010-03-12 | Method for multiplexing cross-platform driver based on binary translation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102193788B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761203A (en) * | 2013-11-29 | 2014-04-30 | 北京中启智源数字信息技术有限责任公司 | General connection method for different types of hardware equipment |
CN106325819A (en) * | 2015-06-17 | 2017-01-11 | 华为技术有限公司 | Computer instruction processing method, coprocessor and system |
CN106648544A (en) * | 2015-11-02 | 2017-05-10 | 龙芯中科技术有限公司 | Allocation method and device for registers |
CN108519921A (en) * | 2011-12-23 | 2018-09-11 | 英特尔公司 | Device and method for being broadcasted from from general register to vector registor |
CN109471668A (en) * | 2018-11-20 | 2019-03-15 | 南方电网科学研究院有限责任公司 | Cross-platform video card firmware translation executes method, apparatus, equipment and readable medium |
WO2022042252A1 (en) * | 2020-08-29 | 2022-03-03 | 华为技术有限公司 | Driver configuration management method and apparatus, medium, device, and system |
CN114423024A (en) * | 2020-09-10 | 2022-04-29 | 华为技术有限公司 | WLAN driving framework, assembly method of WLAN driving framework and related equipment |
CN114721719A (en) * | 2022-04-20 | 2022-07-08 | 上海道客网络科技有限公司 | Method and system for containerized deployment of heterogeneous applications in cluster |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387969A (en) * | 2008-10-16 | 2009-03-18 | 上海交通大学 | Dynamic binary translation method for cooperation design of software and hardware |
CN101452396A (en) * | 2008-12-25 | 2009-06-10 | 上海交通大学 | Binary translation method combining static optimization |
CN101504613A (en) * | 2009-03-12 | 2009-08-12 | 上海交通大学 | Distributed dynamic binary translation method used for limited system |
-
2010
- 2010-03-12 CN CN201010125034.5A patent/CN102193788B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387969A (en) * | 2008-10-16 | 2009-03-18 | 上海交通大学 | Dynamic binary translation method for cooperation design of software and hardware |
CN101452396A (en) * | 2008-12-25 | 2009-06-10 | 上海交通大学 | Binary translation method combining static optimization |
CN101504613A (en) * | 2009-03-12 | 2009-08-12 | 上海交通大学 | Distributed dynamic binary translation method used for limited system |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519921A (en) * | 2011-12-23 | 2018-09-11 | 英特尔公司 | Device and method for being broadcasted from from general register to vector registor |
CN108519921B (en) * | 2011-12-23 | 2022-07-12 | 英特尔公司 | Apparatus and method for broadcasting from general purpose registers to vector registers |
CN103761203A (en) * | 2013-11-29 | 2014-04-30 | 北京中启智源数字信息技术有限责任公司 | General connection method for different types of hardware equipment |
CN103761203B (en) * | 2013-11-29 | 2017-09-22 | 北京中启智源数字信息技术有限责任公司 | A kind of general connection method for different hardware equipment |
US10514929B2 (en) | 2015-06-17 | 2019-12-24 | Huawei Technologies Co., Ltd. | Computer instruction processing method, coprocessor, and system |
CN106325819B (en) * | 2015-06-17 | 2019-08-02 | 华为技术有限公司 | Computer instruction processing method, coprocessor and system |
CN106325819A (en) * | 2015-06-17 | 2017-01-11 | 华为技术有限公司 | Computer instruction processing method, coprocessor and system |
CN106648544B (en) * | 2015-11-02 | 2019-03-26 | 龙芯中科技术有限公司 | The distribution method and device of register |
CN106648544A (en) * | 2015-11-02 | 2017-05-10 | 龙芯中科技术有限公司 | Allocation method and device for registers |
CN109471668A (en) * | 2018-11-20 | 2019-03-15 | 南方电网科学研究院有限责任公司 | Cross-platform video card firmware translation executes method, apparatus, equipment and readable medium |
CN109471668B (en) * | 2018-11-20 | 2021-11-26 | 南方电网科学研究院有限责任公司 | Cross-platform display card firmware translation execution method, device, equipment and readable medium |
WO2022042252A1 (en) * | 2020-08-29 | 2022-03-03 | 华为技术有限公司 | Driver configuration management method and apparatus, medium, device, and system |
CN114398086A (en) * | 2020-08-29 | 2022-04-26 | 华为技术有限公司 | Drive configuration management method, device, medium, equipment and system |
CN114398086B (en) * | 2020-08-29 | 2022-11-25 | 华为技术有限公司 | Drive configuration management method, device, medium, equipment and system |
CN114423024A (en) * | 2020-09-10 | 2022-04-29 | 华为技术有限公司 | WLAN driving framework, assembly method of WLAN driving framework and related equipment |
CN114423024B (en) * | 2020-09-10 | 2022-11-25 | 华为技术有限公司 | WLAN driving framework, assembly method of WLAN driving framework and related equipment |
CN114721719A (en) * | 2022-04-20 | 2022-07-08 | 上海道客网络科技有限公司 | Method and system for containerized deployment of heterogeneous applications in cluster |
Also Published As
Publication number | Publication date |
---|---|
CN102193788B (en) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102193788A (en) | Method for multiplexing cross-platform driver based on dynamic binary translation | |
Smith et al. | The architecture of virtual machines | |
JP5139975B2 (en) | Function level just-in-time conversion engine with multiple path optimizations | |
US11366643B2 (en) | Generating dynamic modular proxies | |
US6751737B1 (en) | Multiple protected mode execution environments using multiple register sets and meta-protected instructions | |
CN102541619B (en) | Virtual machine management device and method | |
US7657881B2 (en) | Using optimized libraries to improve performance of deployed application code at runtime | |
CN102087609B (en) | Dynamic binary translation method under multi-processor platform | |
US20040003377A1 (en) | Converting byte code instructions to a new instruction set | |
US20210042138A1 (en) | Computing devices | |
WO2018013189A1 (en) | Overriding a migrated method of an updated type | |
CN111045646B (en) | Vehicle-mounted application cross-hardware platform based on virtualization technology | |
CN105051682A (en) | Software interface for a hardware device | |
CN103793260A (en) | Platform virtualization system | |
CN100428184C (en) | Command simulation analytic system with automatic driving function and realizing method thereof | |
CN205103599U (en) | Cross -border trade BPO uses cloud terminating set | |
Shen et al. | Native simulation of MPSoC using hardware-assisted virtualization | |
Li et al. | Optimizing dynamic binary translation for SIMD instructions | |
CN117369993A (en) | Method for compatibly running different service systems in Linux environment and credit creation server | |
CN103631648A (en) | Task processing method and system | |
Okafor et al. | Eliminating the operating system via the bare machine computing paradigm | |
US11803487B2 (en) | Transitioning between thread-confined memory segment views and shared memory segment views | |
CN115545136B (en) | Method for managing RAID card in domestic processor platform firmware | |
US20110219224A1 (en) | Computer system and its hw abstraction method | |
Smith et al. | Introduction to virtual Machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20190312 |
|
CF01 | Termination of patent right due to non-payment of annual fee |