An apparatus for displaying the display outputs of a plurality of simultaneously active computer processes in corresponding windows on a single screen includes a microcomputer, a display screen and display system software. The software represents a plurality of virtual terminals, one corresponding to each active process, for emulating the operation of real terminals communicating with the processes. Each virtual terminal maintains a display list comprising a set of instructions defining a display on a screen according to the output from the corresponding process. The software also includes a screen process for maintaining a subrectangle list comprising a set of instructions for allocating window portions of the screen to the displays defined by the separate display lists. A display list processor is provided for creating the windows on the screen according to the display and subrectangle lists.
A method of displaying windows corresponding to a plurality of applications, each application having at least one corresponding window, and one application currently running on a data processing system. The method controls display of windows by selectively changing between displaying the windows corresponding to their respective applications running on the data processing system and displaying only the windows of the one applications currently running on the data processing system. This method provides an enhancement to interface architecture for application design by providing a blank background feature to mask windows of all but the current application displayed on a data processing system screen when invoked by the user.
A dual process display server comprising a first memory; a second memory; a first process for receiving requests from a client program, dispatching client requests falling within a first prescribed category of requests, storing in the first memory requests falling within a second prescribed category of requests and storing in the second memory messages associated with requests stored in the first memory; and a second process for retrieving messages from the second memory, retrieving client requests from the first memory, and dispatching requests retrieved from the first memory in accordance with messages retrieved from the second memory.
A method of, and apparatus for, running several applications concurrently on a processing system. Virtual terminals are created for running the applications. However, the virtual terminals perform as though the processing system were a single terminal system. In this way, any application written for a single terminal system can run in this multiple virtual terminal environment. For interaction with one of the several applications running on this system, the real physical resources of the system are reallocated to the virtual terminal running the selected application.
In the system of the present invention, a time critical program operating in a window system environment is implemented. The application program containing time critical procedures is divided functionally into two or more processes. The first process contains all of the CPU time slice sensitive or time critical procedures. This process operates independently of the window system interface and communicates directly with the operating system. The second process implements all procedures which require the user input and output through the window system but not including time critical procedures. This process communicates with and operates through the window system interface. The processes exchange data and synchronize execution through the interprocess communication mechanisms such as shared memory such that the two or more processes operate and appear as a single process to the user while insulating the first process from suspension due to window system operations and blocking procedures.
A character drawing method for use in a bit map display system in which after sentence data constituted by character code data have been converted into character pattern data, a bit string for forming characters is transferred to a memory for display corresponding to pixels so as to be displayed. In the character drawing method, drawing of the characters is performed through optimum distribution of functions of processings to be executed such that the processings are executed in parallel by a multiprocessor.