摘要:
A system and method for interprocess communication between concurrently executing, cooperating sequential processes in a digital computer system uses a shared memory queue as a mechanism for message passing and process synchronization. Data to be transferred from a sending process to a receiving process is stored in a queue entry which is visible in the virtual address space of the first process. The queue entry is added to a queue by the sending process directing the processor to execute an enqueue instruction. The receiving process removes the queue entry from the queue by directing the processor to execute a dequeue instruction. The receiving process then has direct access and visibility to the contents of the queue entry without having to copy the data into its virtual address space. Instead of sending data in a queue entry, a sending process may send an event indicator and no data. The receiving process may then wait on an empty queue until an event notification is received in a queue entry enqueued to the queue. Protection is provided by the system to prevent unauthorized access to the queue by other processes active in the system.
摘要:
A system and method for removing a queue entry containing message data from a queue shared by communicating, sequential processes includes dequeue (DEQ) and dequeue or wait (DEQW) instructions. The dequeue instruction removes a queue entry from the head of the shared queue, thereby providing access to the message data contained in the queue entry to the dequeuing process. The dequeue or wait instruction removes a queue entry from the shared queue if there is one, otherwise it suspends the execution of the dequeuing process until an entry is enqueued to the queue. If an event is selected by the dequeuing process, the dequeuing process is suspended until notification of the event is detected in the shared queue. Execution of the dequeue and dequeue or wait instructions include blocking access to the queue by other processes, updating queue linkages, deactivating processes waiting on entries or events being made to the queue, monitoring interrupts, and validating the appropriate queue data structures.
摘要:
A system and method for adding a queue entry containing message data to a queue shared by communicating, sequential processes includes an enqueue instruction. The enqueue instruction attaches a queue entry to either the tail or the head of the shared queue, as specified by an application programmer. Execution of the enqueue instruction includes blocking access to the queue by other processes, updating queue linkages, activating processes waiting on entries being made to the queue, monitoring interrupts, and validating the appropriate queue data structures. If desired, in lieu of adding a queue entry containing message data to the queue, the enqueue instruction inserts an event indicator into the shared queue structure, thereby providing synchronization capabilities between communicating processes.
摘要:
A system and method for interprocess communication between concurrently executing, cooperating sequential processes in a digital computer system uses a shared memory queue as a mechanism for message passing and process synchronization. Data to be transferred from a sending process to a receiving process is stored in a queue entry on the shared memory queue. Hierarchical queuing allows a sending process to collect multiple message segments as entries in a local sub-queue, which is enqueued as a single entity to the shared memory queue when all message segments are present. The receiving process dequeues the sub-queue in one operation, thereby increasing the efficiency of message transfer while preventing the erroneous dequeuing of message segments when multiple receiving processes are waiting on the same shared memory queue. In this manner, the logical maximum size of a message being passed between processes is expanded.
摘要:
A network input/output processing system for sending and receiving messages between a large scale computer system and associated communications networks. Executive operating system services provide access to a control table, an input queue, and an output queue stored in the computer system's main memory. A network input/output processor responds to requests by application programs, through a communications program, for receiving input from and sending output to a network, concurrently with requests to communicate with directly attached peripheral devices such as disk drives, tape drives, and printers. The network input/output processor receives initialization, reset, and termination requests via the control table. Requests to receive input are received from the input queue. Input data is stored into buffers as directed by the input request. Requests to send output are received from the output queue. Output data is read from the buffers as directed by the output request. Executive operating system services provide for control of input data transfers and output data transfers. Special purpose Instruction Processor instructions provide the capability to build control programs for processing input and output messages used by the network input/output processor to effect message transfers, thereby minimizing host instruction pathlength for communications I/O. The system architecture minimizes internal data copy between processes by using transferable buffers as communications buffers.
摘要:
In a computer system a system of exchanging tokens for queue banks is created that permits a requester to directly specify which queue bank is wanted. Only the desired queue bank is withdrawn from a queue bank repository to accomplish this and no sorting or FIFO handling of queue banks is needed. The system uses a schema similar to a coat check room, where the requester is given a token when the requestor wants to deposit a queue bank into the queue bank repository. The queue bank repository returns the queue bank when the token is returned by the requester. In its most efficient form, two machine-level instructions handle the entire operation, a withdraw instruction and a deposit instruction.
摘要:
A file operations engine is provided that manages many user interactions with their files via a computer system. The operation engine may provide a user with the option to keep both files that have a file name conflict. It may further permit the user to rename a file involved with a file name conflict. The operations engine may also automatically rename one of the files of a file name conflict by appending a character to a root of the filename. The character may include the lowest integer available for the root in a destination for the files. The operations engine may provide the option to keep both files as part of a pre-calculation of potential errors for a requested operation. The operations engine may place file name conflicts in an error queue and permit the user to select an option to keep both files after the conflict is encountered.
摘要:
A tool management system and interface for a disparate set of data processing tools is disclosed. A main tool menu allows selected tools to be launched so that each tool populates a respective window. A tool is selected by choosing an associated window as the currently-active window. Next, a list of all data items that are available for processing by the tool set may be obtained. A data item that is to undergo processing may be selected. A user interface provides a list of all operations that may be used to process the selected data item, including those operations that are supported by the currently-selected tool, and those operations that are not supported by the selected tool. Following selection of the operation, processing of the selected data item is completed by automatically invoking the appropriate tool.
摘要:
A process-driven object management system for managing data and code modules is disclosed. The object management system includes a repository that stores objects, wherein ones of the objects referred to as “Asset elements” each describe a respective code or data module. The object management system includes a set of scripted tools for performing renovation, transformation, and code development tasks on the code and data modules. According to one aspect of the invention, the tool invocation constructs are stored as objects in the repository, such that some of the same object management tools and automated repository interface functions used to manage the Asset element can also be used to manage and veiw the tool objects.
摘要:
A process for upgrading a Fischer-Tropsch feedstock which comprises (a) recovering from a Fischer-Tropsch reactor a Fischer-Tropsch wax fraction and a Fischer-Tropsch condensate fraction, wherein the Fischer-Tropsch condensate fraction contains alcohols boiling below about 370° C.; (b) contacting the Fischer-Tropsch condensate fraction with a dehydration catalyst in a dehydration zone under dehydration conditions pre-selected to convert at least some of the alcohols present in said fraction into olefins and recovering a first intermediate effluent from said dehydration zone; (c) pyrolyzing the paraffins in the Fischer-Tropsch wax fraction in a thermal cracking zone under thermal cracking conditions pre-selected to crack the Fischer-Tropsch wax molecules to form olefins and collecting a second intermediate effluent from the thermal cracking zone; (d) passing the first and second intermediate effluents recovered from steps (b) and (c) to an oligomerization zone containing an oligomerization catalyst under oligomerization conditions to form an oligomerization mixture having a higher molecular weight than either of said first and second intermediate effluent; (e) hydrofinishing the oligomerization mixture in a hydrofinishing zone; and (f) recovering from the hydrofinishing zone a C10 plus hydrocarbon product, most preferably a lubricating base oil.