发明名称 |
Dynamic library task switching |
摘要 |
<p>A method for providing per-instance data memory in a particular dynamic link library loaded in a random access memory address space both as part of a first task and as part of a second task loaded in the address space simultaneously, in a computer having memory management hardware including a local descriptor table to map selectors to base addresses. The method includes providing a task switch enhancer DLL (the TSE); providing in the TSE a DLL registration routine to register a DLL with the TSE; providing in the particular DLL a call to the DLL registration routine; providing in the TSE a task registration routine to register a task with the TSE; providing in the first task and in the second task a call to the task registration routine; providing a routine requesting the operating system to provide a switching notification whenever execution of any task is about to begin or end and whenever any task is about to cease to exist; providing in the TSE a segment allocation routine for allocating a memory segment for storing per-instance data of a DLL for a task as a substitute for an original per-instance data segment for that task, and maintaining a substitute base address being a base address for the allocated segment in the LDT entry and maintaining an original base address being the original base address of the original segment in the LDT entry; calling the TSE segment allocation routine for a per-instance data segment of the particular DLL for the first task during initialization of the first task and calling the TSE segment allocation routine for a per-instance data segment of the particular DLL for the second task during initialization of the second task; providing in the TSE a base address setup routine to store in the LDT entry the substitute base address of a per-instance segment of a task before that task begins execution; and invoking the base address setup routine for the substitute base address for the first task in response to a switching notification received by the TSE that the first task is about to begin execution. <IMAGE></p> |
申请公布号 |
EP0766170(A1) |
申请公布日期 |
1997.04.02 |
申请号 |
EP19960202727 |
申请日期 |
1996.09.30 |
申请人 |
INFORMIX SOFTWARE, INC. |
发明人 |
GRIGSBY, KENNETH B.;SMUNDAK, ALEKSANDER L. |
分类号 |
G06F9/06;G06F9/445;G06F9/46;G06F9/48;(IPC1-7):G06F9/445 |
主分类号 |
G06F9/06 |
代理机构 |
|
代理人 |
|
主权项 |
|
地址 |
|