[go: up one dir, main page]

CN107391190A - A kind of program module method for dynamically loading - Google Patents

A kind of program module method for dynamically loading Download PDF

Info

Publication number
CN107391190A
CN107391190A CN201710585570.5A CN201710585570A CN107391190A CN 107391190 A CN107391190 A CN 107391190A CN 201710585570 A CN201710585570 A CN 201710585570A CN 107391190 A CN107391190 A CN 107391190A
Authority
CN
China
Prior art keywords
module
program module
memory space
block
global variable
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
CN201710585570.5A
Other languages
Chinese (zh)
Other versions
CN107391190B (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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201710585570.5A priority Critical patent/CN107391190B/en
Publication of CN107391190A publication Critical patent/CN107391190A/en
Application granted granted Critical
Publication of CN107391190B publication Critical patent/CN107391190B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention provides a kind of program module method for dynamically loading, including:Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, program module includes binary code section and data segment;Step 2: providing dynamic loading device, dynamic loading device includes being used for the installation module that program module is installed to program module memory space, and for program module to be operationally loaded into the loading module of runtime data memory space;Step 3: the binary code section of program module passes through the global variable address in the program module data segment base address mapping table calculation procedure source code in runtime data memory space;Step 4: read and write and quote global variable corresponding to global variable address.The present invention can exempt the operation of being backed up, wiped, merged write-in during reorientation to memory space, improve the efficiency of dynamic loading.

Description

A kind of program module method for dynamically loading
Technical field
The present invention relates to computer software technical field, more particularly to a kind of program module method for dynamically loading.
Background technology
Dynamic loading technology enables to large program to call the function for being not belonging to its executable code, and renewal is applied to each Individual module, the other parts without influenceing the program, so as to save the disk and memory headroom needed for application program.At present, Dynamic loading technology has had standardized method, such as dynamic link library (DLL) load of file of windows platform on PC Technology, and shared library (SO) load of file technology of Linux platform.By running on the dynamic loading in respective operations system Device, can identify, load, run these can dynamic loading file.Dynamic loading device passes through the description in reading program module Information, running memory is distributed for program module, by program load into internal memory, the then reorientation in reading program module is believed Breath, is relocated program according to program module actual motion address, most program module behaves at last.
But in most of embedded system, because its storage resource is limited, typically require program code segment and only Reading data segment, which is stored in such as Flash read-only power down memory, directly to be performed, while read-write data segment is copied to In RAM.Because data segment only just can determine that its address when program module is loaded operation, to realize in embedded systems The dynamic loading of program module, in the prior art generally when program module is loaded operation according to data segment address to code segment Dependent instruction carries out reorientation modification, and this dynamic loading mechanism relevant with data segment address is to code segment data access instruction Reorientation can cause to the modification problem of power down storage, it is necessary to inefficient backup, erasing, the operation for merging write-in;In addition, Reorientation of the dynamic loading mechanism to code segment data access instruction needs extra memory space to be taken to deposit in program module The relocation information of band, add the space carrying cost of loading.
Therefore, it is necessary to seek a kind of more efficiently program module method for dynamically loading, for realizing embedded system Dynamic loading function.
The content of the invention
Program module method for dynamically loading provided by the invention, can in view of the shortcomings of the prior art, realize efficiency it is higher, The less program module dynamic loading of space-consuming.
The present invention provides a kind of program module method for dynamically loading, including:
Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, the journey Sequence module includes binary code section and data segment;
Step 2: providing dynamic loading device, the dynamic loading device includes being used to described program module being installed to program The installation module of module memory space, and for described program module operationally to be loaded into runtime data memory space Loading module;
Step 3: the binary code section of described program module passes through the program mould in the runtime data memory space Block number calculates the global variable address in described program source code according to segment base address mapping table;
Step 4: read and write and quote global variable corresponding to the global variable address.
Alternatively, said procedure module memory space is divided into equal-sized memory block, and to store block size alignment Mode deposit the binary code section and data segment of described program module.
Alternatively, above-mentioned loading module is used to deposit in the runtime data memory space for described program module assignment Put the runtime data memory space of runtime data section.Alternatively, in the mapping table of said procedure module data segment base address The memory block call number of the memory block and the memory block in each corresponding program module memory space of list item.
Alternatively, above-mentioned memory block call number ImodulePass through following formula
Imodule=(ADDRblock-Bflash)>>log2(Sblock)
Calculate and obtain, wherein ADDRblockFor the memory block base address shared by program module, SblockTo store block size, BflashFor program module memory space base address.
Alternatively, above-mentioned steps three include passing through calculating formula:
ADDRvar=BDATA+OFFSETvar
The global variable address AD DR is calculatedvar, wherein, BDATAFor the data in runtime data memory space Segment base address, OFFSETvarFor the data segment offset of the global variable.
Alternatively, above-mentioned data segment base address BDATAFrom data segment base address storage address ADDRDBIn obtain, the data Segment base address storage address ADDRDBPass through calculating formula
ADDRDB=Gmodule+Imodule× data segment base address width
It is calculated, wherein, GmoduleFor described program module data segment base address mapping table base address, ImoduleFor program Module index number.
Alternatively, said procedure module data segment base address mapping table base address GmoduleRecord is in a register.
Alternatively, said procedure module index ImodulePass through following formula
Imodule=(PC-Bflash)>>log2(Sblock)
It is calculated, wherein, PC is program counter value, BflashFor the base address of described program module memory space, SblockTo store block size.
Alternatively, the binary code section of said procedure module includes global variable initialization function and the global variable The caller of initialization function, and the reference to the global variable is completed by the global variable initialization function.
Alternatively, above-mentioned global variable initialization function is complete to other including will be converted to the reference of the global variable The reference of office's variable.
Alternatively, above-mentioned global variable initialization function is reprinted to the runtime data in described program module and stored Called during space by the loading module.
Program module method for dynamically loading provided by the invention, consumption of the embedded system to memory space can be reduced, And exempt and memory space being backed up during reorientation, wipe, merging the operation of write-in, improving the efficiency of dynamic loading.
Brief description of the drawings
Fig. 1 is the block schematic illustration of the program module dynamic loading scheme general structure of one embodiment of the invention;
Fig. 2 is the memory block partition structure schematic diagram of the program module memory space of one embodiment of the invention;
Fig. 3 is that the mapping relations of the program module memory space and runtime data memory space of one embodiment of the invention are shown It is intended to;
Fig. 4 is the schematic diagram for obtaining global variable address of one embodiment of the invention;
Fig. 5 is the reference processing side to other global variables in the source code that the global variable of one embodiment of the invention initializes Formula schematic diagram;
Fig. 6 shows the program module method for dynamically loading flow chart of one embodiment of the invention.
Embodiment
To make the purpose, technical scheme and advantage of the embodiment of the present invention clearer, below in conjunction with the embodiment of the present invention In accompanying drawing, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is only Only it is part of the embodiment of the present invention, rather than whole embodiments.Based on the embodiment in the present invention, ordinary skill The every other embodiment that personnel are obtained under the premise of creative work is not made, belongs to the scope of protection of the invention.
The present invention provides a kind of program module method for dynamically loading, is coordinated by compiling system and dynamic loading device and realized. Fig. 1 shows program module dynamic loading scheme overall structure diagram provided by the invention.As illustrated, program module dynamic Loading pattern includes source code 1, compiling system 2, program module 3, dynamic loading device 4, background register 8 etc..Wherein, source code 1 is translated generation program module 3 by compiling system 2, specifically, program module 3 can be with dynamic loading, particularly, journey Sequence module 3 includes binary code section and data segment.Dynamic loading device operates in the operating system (Operation of system equipment System, OS) on.Specifically, dynamic loading device is made up of installation module 5 and loading module 6.Hardware device (HardWare, HW in), there is background register 8.Particularly, module is installed to be used to program module 3 being installed to program module memory space 9 (Fig. 1 is not shown), (Fig. 1 is not for the data space 16 when loading module 6 is for program module 3 to be loaded into operation when running Show).
Fig. 2 shows the memory block partition structure schematic diagram of program module memory space 9.As illustrated, installation module 5 will Memory space 9 for depositing program module 3 is divided into memory block 10, specifically, memory block 10 is equal in magnitude.Particularly, The size S of memory block 10blockIt is defined as 2n, the quantity of memory block 10 is then defined as CNTblock
Further, when program module 3 is being installed to program module memory space 9 by installation module 5, in memory module In memory space 9 memory space 11 is distributed for program module 3.Specifically, memory space 11 is made up of some memory blocks 10, it is used for Deposit the binary code section and data segment of program module 3.Specifically, installation module 5 is according to storage block size SblockAlignment Mode is mounted program module distribution memory space 11 in program module memory space 9, for depositing the He of code segment 12 Data segment 13 (Fig. 1 is not shown).Further, program module memory space 9 arranges memory block 10 from low address to high address, just There is program module memory space base address B at low address to program module memory space 9flash, memory block 10 has from low The memory block call number CNT that address is sequentially arranged to high addressblock, the base address of each memory block 10 is defined as ADDRblock。 Further, installation module 5 can be recorded in the journey of the memory space 11 for the program module 3 distributed in program module memory space 9 Sequence module base address BCODE, and the storage number of blocks CNT in the memory space 11 of program module 3module
Fig. 3 is that the mapping relations of the program module memory space and runtime data memory space of one embodiment of the invention are shown It is intended to.As shown in figure 3,
Loading module 6 safeguards a program module data segment base address mapping table 7, the mapping of program module data segment base address Table 7 is global map table, and the base address of program module data segment base address mapping table 7 is Gmodule, base address GmoduleRecord A general register G being not used by systemsmIn, read so that program module instructs.Specifically, in program module number According in segment base address mapping table 7, each list item 15 corresponds to the memory block 10 in a program module memory space 9, program module The quantity of list item 15 of data segment base address mapping table 7 and the quantity CNT of memory block 10blockUnanimously.
Further, loading module 6 is operationally program mould in data space 16 in load module module 3 The memory space that block 3 distributes runtime data section 17 is used for the runtime data section S for depositing program module 3DATA.Also, record Data segment base address B when program module 3 is run in memory space 16DATA, and by program module runtime data section base Location (BDATA) be written in program module data segment base address mapping table 7 and correspond to list item 15.
Particularly, the list item quantity and program module 3 that loading module 6 writes are shared in program module memory space 9 Storage number of blocks CNTmoduleUnanimously, write each list item call number 14 and program module 3 in program module memory space 9 In shared corresponding memory block call number ImoduleUnanimously.
Further, the corresponding memory block call number I shared in program module memory space 9 of program module 3module The memory block base address ADDR shared by program module 3 can be passed throughblock, memory block 10 size SblockDeposited with program module Store up space base location BflashIt is calculated, i.e. Imodule=(ADDRblock-Bflash)>>log2(Sblock)。
Thus, compiling system 2 by program's source code 1 translate generation can dynamic loading program module 3 when, can be by program Reference in the function of source code 1 to global variable is translated as obtaining global variable address AD DRvarBinary code piece Section, so that program block code fragment position and program module when access of the program's source code 1 to global variable can be with performing Runtime data section SDATA" loaded " position it is unrelated.
Preferably, for obtaining global variable address AD DRvarBinary code fragment can obtain in the following way :
The first step, calculate program module call number I of the current execute instruction in program module memory space 9module, meter Calculation method is Imodule=(PC-Bflash)>>log2(Sblock);Wherein PC is program counter value, BflashStored for program module Space base location, SblockFor the size of memory block 10.
Second step, calculation procedure module data segment base address storage address ADDRDB, computational methods ADDRDB=Gmodule+ Imodule× data segment base address width, wherein, GmoduleFor the base address of module data segment base address mapping table 7, ImoduleFor journey Sequence module index number.Further, data segment base address storage address ADDR is obtainedDBCorresponding data segment base address BDATA;It is special It is other, GmoduleIt can be obtained by general reading register 8 (Gm).
3rd step, calculate global variable address AD DRvar, computational methods ADDRvar=BDATA+OFFSETvar, wherein, BDATAFor the data segment base address in runtime data memory space 16, OFFSETvarFor by compiling system 2 translation generation can The offset during program module 3 of dynamic loading according to obtained by calculating position of the global variable in data segment.Further, obtain Obtain global variable address AD DRvarThe corresponding global variable is simultaneously written and read.
Fig. 4 shows the schematic diagram for obtaining global variable address of one embodiment of the invention.As shown in figure 4, in program mould Have program stored therein data segment 13 in block memory space 9, and routine data section 13 has offset OFFSETvar.Specifically, the skew Measure OFFSETvarBy compiling system 2 translation generation can dynamic loading program module 3 when according to global variable in data segment Position calculate gained.When program module 3, which is loaded onto, turns into runtime data section 17 in runtime data memory space 16, Still offset OFFSET is retainedvar, i.e. the base address of runtime data section 17 is BDATAWith global variable address AD DRvarIt Between there is offset OFFSETvar, therefore, global variable address AD DRvarComputational methods be ADDRvar=BDATA+ OFFSETvar
Fig. 5 is the reference processing side to other global variables in the source code that the global variable of one embodiment of the invention initializes Formula schematic diagram.As illustrated, compiling system 2 by program's source code 1 translate generation can dynamic loading program module 3 when, will be right Global variable VmTo other global variables V in the source code initializednReference 18, the reference 18 passes through a global variable Initialization function 19 and caller fragment 20 to the global variable initialization function are converted to function pair global variable VmAnd Vn Reference.Global variable initialization function is responsible for obtaining the overall situation quoted in program's source code 1 according to above-mentioned binary code fragment Address of variable ADDRvarMethod complete to global variable VmAnd VnReference.Global variable initialization function is in program module Called when being loaded onto runtime data memory space 16 by loading module 6.
Fig. 6 shows the program module method for dynamically loading flow chart of one embodiment of the invention.As illustrated, S61 tables Offer compiling system is provided, for by program's source code compiling generation can dynamic loading program module, described program module include two Carry system code section and data segment;S62 represents offer dynamic loading device, and the dynamic loading device includes being used for described program module The installation module of program module memory space is installed to, and for described program module operationally to be loaded into service hours According to the loading module of memory space;S63 represents that the binary code section of described program module is stored by the runtime data Program module data segment base address mapping table in space calculates the global variable address in described program source code;S64 represents to read Write and quote global variable corresponding to the global variable address.
Program module method for dynamically loading provided by the invention so that the program module of dynamic loading need not be carried and reset Position information, can reduce consumption of the embedded system to memory space.In addition, the program module of the present invention need not be entered when loading Row reorientation, eliminate the operation of being backed up, wiped, merged write-in during reorientation to memory space, it is possible to increase dynamic fills The efficiency of load.
The foregoing is only a specific embodiment of the invention, but protection scope of the present invention is not limited thereto, any Those familiar with the art the invention discloses technical scope in, the change or replacement that can readily occur in, all should It is included within the scope of the present invention.Therefore, protection scope of the present invention should be defined by scope of the claims.

Claims (12)

  1. A kind of 1. program module method for dynamically loading, it is characterised in that including:
    Step 1: provide compiling system, for by program's source code compiling generation can dynamic loading program module, described program mould Block includes binary code section and data segment;
    Step 2: providing dynamic loading device, the dynamic loading device includes being used to described program module being installed to program module The installation module of memory space, and for described program module to be operationally loaded into the dress of runtime data memory space Carry module;
    Step 3: the binary code section of described program module passes through the program module number in the runtime data memory space The global variable address in described program source code is calculated according to segment base address mapping table;
    Step 4: read and write and quote global variable corresponding to the global variable address.
  2. 2. according to the method for claim 1, it is characterised in that described program module memory space is divided into equal-sized Memory block, and deposit the binary code section and data segment of described program module in a manner of storing block size alignment.
  3. 3. according to the method for claim 2, it is characterised in that the loading module is in the runtime data memory space In be used to deposit the runtime data memory space of runtime data section for described program module assignment.
  4. 4. according to the method for claim 2, it is characterised in that every in the mapping table of described program module data segment base address The memory block call number of the memory block and the memory block in the corresponding program module memory space of individual list item.
  5. 5. according to the method for claim 4, it is characterised in that the memory block call number ImodulePass through following formula
    Imodule=(ADDRblock-Bflash)>>log2(Sblock)
    Calculate and obtain, wherein ADDRblockFor the memory block base address shared by program module, SblockTo store block size, Bflash For program module memory space base address.
  6. 6. according to the method for claim 1, it is characterised in that the step 3 includes passing through calculating formula:
    ADDRvar=BDATA+OFFSETvar
    The global variable address AD DR is calculatedvar, wherein, BDATAFor the data segment base in runtime data memory space Location, OFFSETvarFor the data segment offset of the global variable.
  7. 7. according to the method for claim 6, it is characterised in that the data segment base address BDATADeposited from data segment base address Put address AD DRDBIn obtain, the data segment base address storage address ADDRDBPass through calculating formula
    ADDRDB=Gmodule+Imodule× data segment base address width
    It is calculated, wherein, GmoduleFor described program module data segment base address mapping table base address, ImoduleFor program module Call number.
  8. 8. according to the method for claim 7, it is characterised in that described program module data segment base address mapping table base address GmoduleRecord is in a register.
  9. 9. according to the method for claim 7, it is characterised in that described program module index ImodulePass through following formula
    Imodule=(PC-Bflash)>>log2(Sblock)
    It is calculated, wherein, PC is program counter value, BflashFor the base address of described program module memory space, SblockFor Store block size.
  10. 10. according to the method for claim 1, it is characterised in that the binary code section of described program module includes the overall situation The caller of initialization of variable function and the global variable initialization function, and it is complete by the global variable initialization function The reference of the paired global variable.
  11. 11. according to the method for claim 10, it is characterised in that the global variable initialization function includes will be to described The reference of global variable is converted to the reference to other global variables.
  12. 12. according to the method for claim 10, it is characterised in that the global variable initialization function is in described program mould Block is reprinted to during the runtime data memory space to be called by the loading module.
CN201710585570.5A 2017-07-18 2017-07-18 Dynamic loading method for program module Active CN107391190B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710585570.5A CN107391190B (en) 2017-07-18 2017-07-18 Dynamic loading method for program module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710585570.5A CN107391190B (en) 2017-07-18 2017-07-18 Dynamic loading method for program module

Publications (2)

Publication Number Publication Date
CN107391190A true CN107391190A (en) 2017-11-24
CN107391190B CN107391190B (en) 2020-10-13

Family

ID=60340815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710585570.5A Active CN107391190B (en) 2017-07-18 2017-07-18 Dynamic loading method for program module

Country Status (1)

Country Link
CN (1) CN107391190B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204377A (en) * 2020-01-31 2021-08-03 华为技术有限公司 Method and device for loading dynamic link library
CN115079803A (en) * 2022-05-20 2022-09-20 上海瑞浦青创新能源有限公司 Abnormal power failure data storage device suitable for microcontroller
WO2022237610A1 (en) * 2021-05-10 2022-11-17 阿里巴巴(中国)有限公司 Program compiling method and program loading method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375241A (en) * 1992-12-21 1994-12-20 Microsoft Corporation Method and system for dynamic-link library
CN101165648A (en) * 2006-10-16 2008-04-23 中兴通讯股份有限公司 Method for constructing middle library
CN101763273A (en) * 2008-12-26 2010-06-30 上海闻泰电子科技有限公司 Method for dynamically loading code into extended memory of embedded type system
CN102147743A (en) * 2011-03-28 2011-08-10 博视联(苏州)信息科技有限公司 Method for accelerating startup of embedded system application program
JP2013041546A (en) * 2011-08-19 2013-02-28 Fujitsu Ltd Debug support program, debug support method and debug support system
CN103744709A (en) * 2014-01-23 2014-04-23 华为技术有限公司 Patch loading method and device
CN106681828A (en) * 2016-12-09 2017-05-17 北京奇虎科技有限公司 Method and device for reinforcing dynamic link library SO file of Android installation package

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375241A (en) * 1992-12-21 1994-12-20 Microsoft Corporation Method and system for dynamic-link library
CN101165648A (en) * 2006-10-16 2008-04-23 中兴通讯股份有限公司 Method for constructing middle library
CN101763273A (en) * 2008-12-26 2010-06-30 上海闻泰电子科技有限公司 Method for dynamically loading code into extended memory of embedded type system
CN102147743A (en) * 2011-03-28 2011-08-10 博视联(苏州)信息科技有限公司 Method for accelerating startup of embedded system application program
JP2013041546A (en) * 2011-08-19 2013-02-28 Fujitsu Ltd Debug support program, debug support method and debug support system
CN103744709A (en) * 2014-01-23 2014-04-23 华为技术有限公司 Patch loading method and device
CN106681828A (en) * 2016-12-09 2017-05-17 北京奇虎科技有限公司 Method and device for reinforcing dynamic link library SO file of Android installation package

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204377A (en) * 2020-01-31 2021-08-03 华为技术有限公司 Method and device for loading dynamic link library
WO2021151350A1 (en) * 2020-01-31 2021-08-05 华为技术有限公司 Method and apparatus for loading dynamic link library
CN113204377B (en) * 2020-01-31 2022-12-06 华为技术有限公司 Method and device for loading dynamic link library
US11886222B1 (en) 2020-01-31 2024-01-30 Huawei Technologies Co., Ltd. Dynamic link library loading method and apparatus
WO2022237610A1 (en) * 2021-05-10 2022-11-17 阿里巴巴(中国)有限公司 Program compiling method and program loading method
CN115079803A (en) * 2022-05-20 2022-09-20 上海瑞浦青创新能源有限公司 Abnormal power failure data storage device suitable for microcontroller
CN115079803B (en) * 2022-05-20 2024-03-29 上海瑞浦青创新能源有限公司 Abnormal power-down data storage device suitable for microcontroller

Also Published As

Publication number Publication date
CN107391190B (en) 2020-10-13

Similar Documents

Publication Publication Date Title
US11157640B2 (en) Protecting sensitive data in software products and in generating core dumps
CN102662690B (en) Method and apparatus for starting application program
Li et al. Identifying opportunities for byte-addressable non-volatile memory in extreme-scale scientific applications
CN113196243B (en) Improve simulation and trace performance using compiler-generated simulation optimization metadata
US4812981A (en) Memory management system improving the efficiency of fork operations
US9841914B2 (en) Managed energy-efficient hybrid main memory systems
Curry et al. Gibraltar: A Reed‐Solomon coding library for storage applications on programmable graphics processors
CN103294557A (en) Multicore processor having active and inactive execution cores
US9311194B1 (en) Efficient resource utilization in data centers
CN104239096A (en) Method and unit for realizing security data partitions in Android system
CN107391190A (en) A kind of program module method for dynamically loading
Courville et al. Understanding storage I/O behaviors of mobile applications
CN114245892A (en) Data race analysis based on changing the loading inside a function during time travel debugging
CN103502960B (en) Method and system for encryption of memory device
US8910136B2 (en) Generating code that calls functions based on types of memory
US9047403B2 (en) Debugger with previous version feature
Jimenez et al. Software controlled cell bit-density to improve NAND flash lifetime
CN104063234A (en) Compatible method and device
CN107391191A (en) A kind of program module method for dynamically loading
CN102253884A (en) Method and device for simulating operating environment of single-plate software
US9298460B2 (en) Register management in an extended processor architecture
CN108733307A (en) Memory management method, equipment and computer-readable medium
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
US20090313449A1 (en) eXtreme Virtual Memory
US20230409476A1 (en) Cache system simulating method, apparatus, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant