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 PDF

Info

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
Application number
CN2010101250345A
Other languages
Chinese (zh)
Other versions
CN102193788B (en
Inventor
陈海波
陈榕
臧斌宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201010125034.5A priority Critical patent/CN102193788B/en
Publication of CN102193788A publication Critical patent/CN102193788A/en
Application granted granted Critical
Publication of CN102193788B publication Critical patent/CN102193788B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Cross-platform driver multiplexing method based on binary translation
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.
CN201010125034.5A 2010-03-12 2010-03-12 Method for multiplexing cross-platform driver based on binary translation Expired - Fee Related CN102193788B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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