CN102193788B - Method for multiplexing cross-platform driver based on binary translation - Google Patents

Method for multiplexing cross-platform driver based on binary translation Download PDF

Info

Publication number
CN102193788B
CN102193788B CN201010125034.5A CN201010125034A CN102193788B CN 102193788 B CN102193788 B CN 102193788B CN 201010125034 A CN201010125034 A CN 201010125034A CN 102193788 B CN102193788 B CN 102193788B
Authority
CN
China
Prior art keywords
driver
platform
binary
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.)
Expired - Fee Related
Application number
CN201010125034.5A
Other languages
Chinese (zh)
Other versions
CN102193788A (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

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

The invention belongs to computer system software and software application field, relate to method for multiplexing cross-platform driver based on binary translation.Comprising: based on binary translation technology, build lightweight independent operating environment for driver in destination OS;Using binary translation module to realize the conversion of cross-platform instruction set, heterogeneous file form loading module realizes different file format multiplexing, provides cross platform system service with system service analog module, and common hardware control module realizes the operation of hardware device.The present invention can effectively realize the cross-platform multiplexing of binary system driver, without source code with in the case of recompiling, it is achieved multiplexing existing binary system driver between different processor and different operating system.The present invention is conducive to various processor and operating system, realizes the effective support to a large amount of external equipments in the case of only needing less development cost.

Description

Method for multiplexing cross-platform driver based on binary translation
Technical field
The invention belongs to computer system software and software application field, relate to method for multiplexing cross-platform driver based on binary translation.It is specifically related to driver aspect application such as multiplexing and enhancing driver reliability between different platform.
Background technology
In recent years, considering for the many factors such as national security, the national economic development, safely and effectively processor chips and operating system more and more show it vital strategic importance, and this art is paid close attention and supports by national departments concerned.In recent years, chip and the operating system of domestic research and development continue to bring out, such as the Godson general processor researched and developed by certain research institution, certain scientific & technical corporation milky way kylin operating system etc. researched and developed.But the practicality real from host computing platforms that described processor chips and operating system are constituted is also faced with from the challenge compared with a large amount of external equipment collaborative works with universal.Driver realizes the interworking of basic computer and different external equipments as the extension of operating system, therefore the Maturity of operating system depend on whether enough drivers to support all kinds of external equipment, such as in Microsoft's Window operating system, the code more than 70% is device driver.For newly developed calculating platform, the most again develop all of device driver unrealistic, reuse existing driver the most to greatest extent, it is achieved the cross-platform key being multiplexing into practical and universal novel calculating platform of driver.
But the realization of driver depends on the Driven programming model that operating system is provided, both close-coupled are together.There is not unified standard in the Driven programming model that current operation system is provided, from DLL to provide system service, all there is greatest differences to various aspects such as physical hardware modes of operation again.Therefore for same external equipment, the driver on different operating system realizes entirely different, it is impossible to multiplexing.On the other hand, distinct instruction set is used such as the x86 processor of Intel company with the Loongson processor of the Chinese Academy of Sciences between different processor.And driver is issued the most in binary form, increase income except minority and realize not providing source code, even the most same operating system also cannot straight binary multiplexing driver on different processor platform.This directly results in driver and there is serious scaling concern, depends on processor and the operating system environment of bottom, it is difficult to realize cross-platform binary system multiplexing.
Existing solution is hardware vendor or operating system developer writes special driver for different operating system environment.But it is in order at the consideration of development cost, only minority mainstream operation system platform, such as Microsoft's Window operating system, just can obtain comprehensive driver support.And these drivers underground source code, provide only the binary version of segment processor platform.For the most non-mainstream or emerging operating system, such as the operating system of domestic independent research, often can not get the support of hardware vendor, be only some the most frequently used external equipments and write driver and realize part major function.Even the driver in the such ripe operating system platform having a large number of users of Linux still suffer from supporting limited, upgrading slowly, poor reliability and the problems such as performance is the best.
Summary of the invention
It is an object of the invention to overcome the defect of prior art, mainly solve is the binary system multiplexing how realizing driver between the calculating platform that different processor and operating system are constituted, it is provided that a kind of cross-platform driver multiplex technique based on binary translation.
Owing to binary driver dependent of prior art is in floor processor and operating system, therefore to realize the difficulty that cross-platform binary system multiplexing such as is necessary for overcoming from instruction set to file format, from system service dispatch to hardware device operation to cause at the difference of aspect.
For solving the problems referred to above, the present invention provides a kind of cross-platform driver multiplex technique based on binary translation, comprising: build lightweight independent operating environment for driver in destination OS based on binary translation technology;Being respectively adopted binary translation module and realize the conversion of cross-platform instruction set, heterogeneous file form loading module realizes different file format multiplexing, provides cross platform system service with system service analog module, and common hardware control module realizes the operation of hardware device.
In the present invention, the core of multiplex technique based on binary translation is binary translation module, and this module uses binary translation technology ripe in emulator and simulator to realize the conversion of cross-platform instruction set.Binary translation technology is capable of from sourse instruction sequence to the dynamic translation of target instruction target word sequence, and on-demand can process special instruction targetedly so that the binary system across processor instruction set is multiplexing into possibility.Binary translation technology only need to disposably realize from general intermediate command set to the translation rule of new processor instruction set, has good versatility, independent of concrete hardware device and driver.For needing the driver of multiplexing, first the binary system using source instruction set is driven code operationally dynamic on-demand translation to become intermediate command set code by translation module, translates into the final binary code that can perform on new processor further according to the translation rule added.And relative to common applications, drive code itself also to have the feature that cycle of operation length, code execution flow are relatively stable and sequence interactivity is insensitive, be conducive to sharing and optimizing using binary translation technology in the impact of aspect of performance.
In the present invention, different operating system platform uses multiple different binary file format, even same operating system also supports multiple different-format.Heterogeneous file form loading module, with the binary file format under plug-in unit mode extendible support different platform, completes to be loaded into binary file from disk the work of the internal memory process space.System service analog module provides the system service consistent with driver for driver.Simulated the origin system service of lightweight by the system service on goal systems platform, and realized the redirection to service call by binary translation module so that binary system driver can complete the operation of necessity by goal systems service.The last abstract hardware operation of common hardware control module has the bottom operation of general character, separates the driver dependence for kernel environment.Make driver run and User space, common hardware control module the kernel state having acted on behalf of necessity operates, and as created the application programming interfaces on target platform, the depositor of hardware adaptor is written and read operation etc..
The invention has the beneficial effects as follows, effectively realize the cross-platform multiplexing of binary system driver, utilize the technology such as binary translation without source code with in the case of recompiling, it is achieved multiplexing existing binary system driver between different processor and different operating system.The present invention is conducive to the practical and universal of the calculating platform of various processor and operating system, especially independent research, realizes the effective support to a large amount of external equipments in the case of only needing less development cost.
By concrete drawings and Examples, the present invention will be described in detail in order to make it easy to understand, following.It needs to be noted, instantiation and accompanying drawing are merely to explanation, obviously the present invention can be made various correction and change according to illustrating herein by those of ordinary skill in the art within the scope of the invention, and these are revised and change and also include in the scope of the present invention.
Accompanying drawing explanation
Fig. 1 is that the binary system of the present invention drives cross-platform multiplex technique configuration diagram.
Detailed description of the invention
Embodiment 1
Fig. 1 describes the overall system architecture of cross-platform driving multiplex technique based on binary translation.Loading module is first depending on binary system driver file type and uses suitable form plug-in unit that driver is loaded into the process space.When needing to perform the instruction in driver, first corresponding sourse instruction tract is translated into target processor job sequence section and is then performed by binary translation module, and this result is stored in translation buffer and avoids repeatedly translating.Driver is asked for the system service in the operating system of source, such as storage allocation space request, be translated module and intercept and capture and be redirected to system service analog module.Service analog module uses the system service request of having simulated on destination OS.And mutual and to kernel state resource the access of driver and common applications and physical hardware devices has all been acted on behalf of by the common hardware control module being positioned at kernel state.

Claims (2)

1. method for multiplexing cross-platform driver based on binary translation, it is characterised in that comprising: build lightweight independent operating environment for driver in destination OS;Wherein, it is respectively adopted binary translation module and realizes the conversion of cross-platform instruction set, heterogeneous file form loading module realizes different file format multiplexing, provides cross platform system service with system service analog module, and common hardware control module realizes the operation of hardware device;
Described binary translation module uses binary translation technology in emulator and simulator to realize the conversion of cross-platform instruction set, and wherein binary translation technology realizes from sourse instruction sequence to the dynamic translation of target instruction target word sequence, and on-demand processes;
Described heterogeneous file form loading module with plug-in unit mode expansible support the binary file format under different platform, complete to be loaded into binary file from disk the work of the internal memory process space;
Described system service analog module provides the system service consistent with driver for driver.
2. the method as described in claim 1, it is characterised in that wherein said binary translation technology realizes from general intermediate command set to the translation rule of new processor instruction set, and independent of particular hardware Devices and Drivers.
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 CN102193788A (en) 2011-09-21
CN102193788B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519921B (en) * 2011-12-23 2022-07-12 英特尔公司 Apparatus and method for broadcasting from general purpose registers to vector registers
CN103761203B (en) * 2013-11-29 2017-09-22 北京中启智源数字信息技术有限责任公司 A kind of general connection method for different hardware equipment
CN106325819B (en) 2015-06-17 2019-08-02 华为技术有限公司 Computer instruction processing method, coprocessor and system
CN106648544B (en) * 2015-11-02 2019-03-26 龙芯中科技术有限公司 The distribution method and device of register
CN109471668B (en) * 2018-11-20 2021-11-26 南方电网科学研究院有限责任公司 Cross-platform display card firmware translation execution method, device, equipment and readable medium
CN114398086B (en) * 2020-08-29 2022-11-25 华为技术有限公司 Drive configuration management method, device, medium, equipment and system
CN114173354A (en) * 2020-09-10 2022-03-11 华为技术有限公司 WLAN driving framework, assembly method of WLAN driving framework and related equipment
CN114721719B (en) * 2022-04-20 2023-08-01 上海道客网络科技有限公司 Method and system for containerized deployment of heterogeneous applications in cluster

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387969B (en) * 2008-10-16 2011-04-13 上海交通大学 Dynamic binary translation method for cooperation design of software and hardware
CN101452396B (en) * 2008-12-25 2012-04-25 上海交通大学 Dynamic binary translation method combined with static optimization
CN101504613B (en) * 2009-03-12 2011-09-28 上海交通大学 Distributed dynamic binary translation method used for limited system

Also Published As

Publication number Publication date
CN102193788A (en) 2011-09-21

Similar Documents

Publication Publication Date Title
CN102193788B (en) Method for multiplexing cross-platform driver based on binary translation
JP5139975B2 (en) Function level just-in-time conversion engine with multiple path optimizations
US9766867B2 (en) Systems and methods for improving performance of mobile applications
JP6559793B2 (en) Binary conversion at the shared object level
CN111045646B (en) Vehicle-mounted application cross-hardware platform based on virtualization technology
RU2009115662A (en) SOFTWARE DEVELOPMENT ENVIRONMENT FOR A THIN CUSTOMER
US7069412B2 (en) Method of using a plurality of virtual memory spaces for providing efficient binary compatibility between a plurality of source architectures and a single target architecture
CN102087609B (en) Dynamic binary translation method under multi-processor platform
US20050071616A1 (en) Use of common language infrastructure for sharing drivers and executable content across execution environments
CN103473059B (en) A kind of general-purpose operating system supporting multiple architectural framework
JP2017508208A (en) Co-designed dynamic language accelerator for processors
CN111142935A (en) Method, apparatus, computer system, and medium for cross-platform running of applications
CN104335162A (en) Execution using multiple page tables
US8387031B2 (en) Providing code improvements for nested virtual machines
CN117369993A (en) Method for compatibly running different service systems in Linux environment and credit creation server
CN101876954A (en) Virtual machine control system and working method thereof
CN105556473A (en) I/O task processing method, device and system
CN100428184C (en) Command simulation analytic system with automatic driving function and realizing method thereof
CN103714288A (en) Data stream tracking method
CN100514298C (en) System for software transplantation between isomerization hardware systems
CN205103599U (en) Cross -border trade BPO uses cloud terminating set
CN101673210A (en) Cross-platform and cross-processor method based on extensible firmware interface and device
US20160224325A1 (en) Hiding compilation latency
Prabhu et al. vAttention: Dynamic Memory Management for Serving LLMs without PagedAttention
CN118132195A (en) Gem 5-based CXL memory pooling system simulation method and device

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803

Termination date: 20190312