Method for communicating information between independently loaded, concurrently executing processes
First Claim
1. The method of communicating between background and foreground processes which operate on data stored within background and foreground regions respectively of a random access memory, said background and foreground processes being independently loaded by and concurrently executed under the supervisory control of an operating system which implements installable device drivers, said method comprising, in combination, the steps of:
- requesting the operating system to load a special-purpose installable device driver into memory, said device driver being adapted to relay an I/O request from said operating system to an interface routine located at an entry point address, the value of said entry point address being stored at a predetermined memory location,requesting the operating system to load a background program into memory for carrying out said background process, said background program including said interface routine which comprises instructions for transferring information between said background region and said foreground region, the location of said foreground region being specified by a transfer address contained in said I/O request relayed to said background process via said device driver from said operating system,determining the run-time address of the entry point of said interface routine as loaded by said operating system and storing said run-time address in said predetermined memory location, andrequesting the operating system to load a foreground program in said memory for carrying out said foreground process, said foreground program including a routine which supplies an I/O request to said operating system, said I/O request containing information identifying said special-purpose device driver and further specifying said tranfer address.
5 Assignments
0 Petitions
Accused Products
Abstract
A subprogram which operates as a MS/PC-DOS device driver provides a communication path between a data acquisition program which operates as an interrupt driven memory-resident program in background and a conventional data analysis program which operates in foreground. Information transfers are initiated by the foreground program which issues standard I/O requests to the DOS, identifying the device driver and the information storage area within the foreground address space from which or to which the information is to be communicated. The device driver subprogram relays the information to the background process by calling the background program at an entry point which is made available to the device driver at a predetermined interrupt vector location, enabling the device driver to pass the memory address of the foreground storage area, together with the size of the block of information to be communicated, to the background program. The background program operates in a selected one of several possible modes, one of which waits for data to supplied from an external data acquisition instrument before returning control to the foreground process so that the two processes can operate in synchronism.
70 Citations
8 Claims
-
1. The method of communicating between background and foreground processes which operate on data stored within background and foreground regions respectively of a random access memory, said background and foreground processes being independently loaded by and concurrently executed under the supervisory control of an operating system which implements installable device drivers, said method comprising, in combination, the steps of:
-
requesting the operating system to load a special-purpose installable device driver into memory, said device driver being adapted to relay an I/O request from said operating system to an interface routine located at an entry point address, the value of said entry point address being stored at a predetermined memory location, requesting the operating system to load a background program into memory for carrying out said background process, said background program including said interface routine which comprises instructions for transferring information between said background region and said foreground region, the location of said foreground region being specified by a transfer address contained in said I/O request relayed to said background process via said device driver from said operating system, determining the run-time address of the entry point of said interface routine as loaded by said operating system and storing said run-time address in said predetermined memory location, and requesting the operating system to load a foreground program in said memory for carrying out said foreground process, said foreground program including a routine which supplies an I/O request to said operating system, said I/O request containing information identifying said special-purpose device driver and further specifying said tranfer address. - View Dependent Claims (2, 3, 4)
-
-
5. In a data processing system employing a memory and an operating system program, a method for transferring information between concurrently executing background and foreground programs which comprises, in combination, the steps of
requesting the operating system to install a special-purpose device driver routine which is adapted to call an interface procedure, the first instruction of which is located at an run-time entry point address specified by the contents of a predetermined memory location, requesting the operating system to load said background program into memory and to begin executing said background program, said background program comprising instructions for performing said interface procedure and further comprising, in combination, instructions for determining the said run-time entry point address of said interface routine as loaded by the operating system and for storing said run-time address in said predetermined memory location, instructions for processing information stored in a background memory region, and an instruction for returning control to said operating system leaving said background program loaded in memory, requesting the operating system to load said foreground program into main memory for processing information stored in a foreground memory region, said foreground program including instructions for issuing input-output requests for the transfer of information between said background and foreground memory regions.
Specification