CN102193788B - Method for multiplexing cross-platform driver based on binary translation - Google Patents
Method for multiplexing cross-platform driver based on binary translation Download PDFInfo
- 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
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
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.
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)
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)
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 |
-
2010
- 2010-03-12 CN CN201010125034.5A patent/CN102193788B/en not_active Expired - Fee Related
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 |