Providing application programs with unmediated access to a contested hardware resource
First Claim
1. In a computer system comprising a processor, a peripheral device, and a device control mechanism for controlling operations of the peripheral device responsively to commands issued by the processor, a method comprising the steps of:
- executing an application program with the processor as a task of a multitasking operating system, the operating system comprising software executable by the processor, the software having a first component for issuing commands to the device control mechanism, the application program having a second component for issuing commands to the device control mechanism, the application program comprising one of a multitask program and a single-task program;
while executing the application program,using the second component of the application program to issue a command directly to the device control mechanism;
generating an exception with the processor;
transferring control to an exception handling routine in the operation system;
determining a status of a lock with the operating system;
responsively to the directly issued command, temporarily bypassing the first component; and
controlling an operation of the peripheral device with the device control mechanism.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for executing, in a multitasking operating system, an application program that accesses a protected resource directly without mediation by the operating system. For example, the application can be a backup application and the resource can be a floppy disk drive, QIC tape drive, or other storage device. The method of the invention can be executed in a computer system having a processor, a storage device, and a device control mechanism for controlling operations of the storage device responsively to commands issued by the processor. The device control mechanism can be, for example, a floppy disk controller chip if the storage device is, for example, a floppy disk drive. According to the invention, the processor executes the application program as a task of the operating system. The operating system includes a software component, such as a device driver, for issuing commands to the device control mechanism. The application program has its own component for issuing commands to the device control mechanism. While the application program is executing, the operating system'"'"'s command-issuing component is temporarily bypassed, and the application program'"'"'s command-issuing component is used to issue a command to the device control mechanism, which controls an operation of the storage device responsively to the issued command.
71 Citations
28 Claims
-
1. In a computer system comprising a processor, a peripheral device, and a device control mechanism for controlling operations of the peripheral device responsively to commands issued by the processor, a method comprising the steps of:
executing an application program with the processor as a task of a multitasking operating system, the operating system comprising software executable by the processor, the software having a first component for issuing commands to the device control mechanism, the application program having a second component for issuing commands to the device control mechanism, the application program comprising one of a multitask program and a single-task program; while executing the application program, using the second component of the application program to issue a command directly to the device control mechanism; generating an exception with the processor; transferring control to an exception handling routine in the operation system; determining a status of a lock with the operating system; responsively to the directly issued command, temporarily bypassing the first component; and controlling an operation of the peripheral device with the device control mechanism. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. In a computer system comprising a processor and a peripheral device responsive to commands issued by the processor, a method comprising the steps of:
-
executing an application program with the processor as a task of a multitasking operating system, the operating system comprising software executable by the processor, the operating system lacking any component for issuing commands to the peripheral device, the application program having a software component for issuing commands to the peripheral device, the application program comprising one of a multitask program and a single-task program; while executing the application program, using the software component to issue a command to the peripheral device from the processor; and performing an operation with the peripheral device responsively to the issued command.
-
-
8. In a computer system comprising a processor, a peripheral device, and a multitasking operating system comprising software executable by the processor for governing a plurality of tasks, the software including a first device driver for the peripheral device, a method comprising the steps of:
-
executing an application program as a task of the operating system, the application program including a second device driver for the peripheral device; while executing the application program, issuing a command from the second device driver directly to the peripheral device; generating an exception with the processor; transferring control to an exception handling routine in the operation system; determining a status of a lock with the operating system; setting the lock to temporarily bypass the first device driver in response to said issuing the command; and while the lock is set, using the second device driver to drive an operation of the peripheral device. - View Dependent Claims (10)
-
-
9. The method of clam 8 and further comprising the step of releasing the lock.
-
11. An apparatus comprising:
-
a processor; a peripheral device; a device control mechanism for controlling operations of the peripheral device responsively to commands issued by the processor; a multitasking operating system, comprising software executable by the processor for governing a plurality of tasks, the multitasking operating system including a first component for issuing commands from the processor to the device control mechanism, the multitasking operating system further including an exception handling routine; an application program, comprising one of a multitasking software program and single-task software program executable by the processor as a task governed by the operating system, the application program including a second component for issuing commands for the processor to the device control mechanism; and means within said multitasking operating system for temporarily bypassing the first component of said multitasking operating system when the second component of said application program issues a command directly from the processor to the device control mechanism and when said multitasking operating system determines a status of a lock. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method in a computer for executing a multitasking environment an application program that attempts to access a resource directly without requesting access from an operating system, the method comprising:
-
executing the application program such that, when the application program attempts to access the resource directly, an exception is generated and control is transferred to an exception handling routine in the operating system, the application program comprising one of a multitask program and a single-task program; upon the application program attempting to access the resource directly, transferring control to the operating system and determining a status of a lock with the operating system; under control of the operating system, performing functionality of the access attempted by the application program; and returning control to the application program wherein subsequent attempts by the application program to access the resource directly will not transfer control to the operating system. - View Dependent Claims (20, 21)
-
-
22. A computer-readable medium containing instructions for controlling a computer system to perform a method, the computer system comprising a processor, a peripheral device, and a device control mechanism for controlling operations of the peripheral device responsively to commands issued by the processor, the method comprising the steps of:
-
executing an application program with the processor as a task of a multitasking operating system, the operating system comprising software executable by the processor, the software having a first component for issuing commands to the device control mechanism, the application program having a second component for issuing commands to the device control mechanism, the application program comprising one of a multitask program and a single-task program; generating an exception with the processor; transferring control to an exception handling routine in the operation system; determining a status of a lock with the operating system; while executing the application program, using the second component of the application program to issue a command directly to the device control mechanism; responsively to the directly issued command, temporarily bypassing the first component; and controlling an operation of the peripheral device with the device control mechanism. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A computer-readable medium containing instructions for controlling a computer system to perform a method for executing in a multitasking environment an application program that attempts to access a resource directly without requesting access from an operating system, the method comprising:
-
executing the application such that when the application program attempts to access the resource directly, an exception is generated and control is transferred to an exception handling routine in the operation system, the application program comprising one of a multitask program and a single-task program; upon the application program attempting to access the resource directly, transferring control to the operating system and determining a status of a lock with the operating system; under control of the operation system, performing functionality of the access attempted by the application program; and returning control to the application program wherein subsequent attempts by the application program to access the resource directly will not transfer control to the operating system.
-
Specification