Method and system for simulated multi-tasking
First Claim
1. A method for servicing communication between a processor and multiple external interfaces, the multiple external interfaces including a first external interface having at least one first external interface unit and a second external interface having at least one second external interface unit, the method comprising the steps of:
- checking the first external interface to determine whether said at least one first external interface unit needs servicing;
servicing said at least one first external interface unit when said first external interface checking step determines that servicing is needed;
suspending said servicing of said at least one first external interface unit when at least one partial logical unit of work has been performed in servicing said at least one first external interface unit;
checking the second external interface to determine whether said at least one second external interface unit needs servicing;
servicing said at least one second external interface unit to perform at least one partial logic unit of work when said second external interface checking step determines that servicing is needed; and
resuming said servicing of said at least one first external interface unit when at least one partial logical unit of work has been performed in servicing said second external interface unit, whereby the first and second external interfaces are serviced in a pseudo-parallel manner simulating multi-tasking.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method and apparatus for servicing multiple external interfaces in a pseudo-parallel fashion which simulates multi-tasking. An application program is programmed to switch control during the servicing of multiple external units and/or time-consuming CPU steps to optimize overall application execution time. An application services each of these external interface units through calls to respective program modules. Relatively long program modules contain calls to transfer system control to shorter program modules which await servicing. These calls are strategically inserted in a long program module after one or more partial logic of units of work have been completed. At the time of each call, a check is first made to determine whether servicing of another external interface unit with a short program module is required. If servicing is required, then control is transferred to execute the short program module. Switches between servicing the multiple external interfaces, such as a user-interface and a communication link, are substantially transparent to external users. Sub-second responses are provided simulating multi-tasking of the communication interface and the user-interface during execution of an application by a personal computer.
59 Citations
18 Claims
-
1. A method for servicing communication between a processor and multiple external interfaces, the multiple external interfaces including a first external interface having at least one first external interface unit and a second external interface having at least one second external interface unit, the method comprising the steps of:
-
checking the first external interface to determine whether said at least one first external interface unit needs servicing; servicing said at least one first external interface unit when said first external interface checking step determines that servicing is needed; suspending said servicing of said at least one first external interface unit when at least one partial logical unit of work has been performed in servicing said at least one first external interface unit; checking the second external interface to determine whether said at least one second external interface unit needs servicing; servicing said at least one second external interface unit to perform at least one partial logic unit of work when said second external interface checking step determines that servicing is needed; and resuming said servicing of said at least one first external interface unit when at least one partial logical unit of work has been performed in servicing said second external interface unit, whereby the first and second external interfaces are serviced in a pseudo-parallel manner simulating multi-tasking. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method for transparently switching between servicing first and second external interface units to simulate multi-tasking, the method comprising the steps of:
-
servicing the first external interface unit to perform a first partial logic unit of work in a first task; suspending said servicing of the first external interface unit after said first partial logic unit of work in said first task has been performed; servicing the second interface unit to perform at least one partial logic unit of work in a second task; and resuming servicing of the first external interface unit to perform a second partial logic unit of work in said second task, whereby said second task are performed in a pseudo-parallel sequence simulating multi-tasking. - View Dependent Claims (10, 11)
-
-
12. A processor for performing multiple tasks in a pseudo-parallel manner to simulate multi-tasking comprising:
-
a first external unit servicing means for servicing a first external interface unit to perform a first task; a second external unit servicing means for servicing a second external interface unit to perform a second task; and a simulated multi-task controller for transparently switching processor control between said first and second external unit servicing means; wherein said simulated multi-tasking controller switches control from said first external interface unit servicing means to said second interface unit servicing means when a first partial logic unit of work in said first task has been performed and said second external interface unit needs servicing, and wherein said simulated multi-tasking controller switches control from said second external interface unit servicing means to said first interface unit servicing means to resume servicing a second partial logic unit of work in said first task. - View Dependent Claims (13)
-
-
14. A simulated multi-tasking apparatus for servicing communication between a processor and multiple external interfaces during continuous operation of an application program, the apparatus comprising:
-
a user-interface comprising a plurality of peripheral units; a communication interface comprising at least one communication link; a user-link servicer comprising a plurality of first program modules for servicing respective peripheral units, at least one of said first program modules having a control switch call inserted after each partial logic unit of work; a communication link-servicer comprising second program modules for servicing at least one of in-bound and out-bound communication over said communication link between the processor and said communication interface; a simulated multi-task controller for transparently switching processor control between said user-link servicer and said communication link servicer, wherein said simulated multi-tasking controller switches control from said user-linker servicer to said communication link servicer when said user-interface servicer reads a control switch call after a first partial logic unit of work in a first task of a corresponding first program module being executed and switches control from said communication link-servicer back to said user-interface servicer to resume said first task after at least one partial logical unit of work in a second task of a corresponding second program module has been executed by said communication link servicer.
-
-
15. A computer-implemented method for switching control of a processor between multiple computer tasks to simulate multi-tasking, the method comprising the steps of:
-
switching control of a processor to execute a first module for performing a first task; executing said first module in said processor; suspending said executing of said first computer module after a first partial logic unit of work in said first task has been performed; switching control of the processor from executing said first module to execute a second for performing a second task; executing said second module in said processor; and switching control of the processor from executing said second module to resume executing said first module when at least one partial logic unit of work has been performed toward said second task, whereby the first and second tasks are performed in a pseudo-parallel sequence to simulate multi-tasking. - View Dependent Claims (16)
-
-
17. A simulated multi-tasking processor comprising:
-
a processor for executing first and second computer program modules implementing respective first and second tasks; and a simulated multi-tasking controller for switching control of said processor between executing said first and second computer program modules, wherein said simulated multi-task controller suspends execution of said first computer program module after a first partial logic unit of work in said first task has been performed, switches control of said processor from executing said first computer program module to execute said second computer program module, switches control of said the processor from executing said second computer program module to resume executing said first computer program module when at least one partial logic unit of work has been performed toward said second task, whereby the first and second tasks are performed in a pseudo-parallel sequence to simulate multi-tasking. - View Dependent Claims (18)
-
Specification