Browse Prior Art Database

IBM PC Dos-Compatible Multi-Tasking Operating System

IP.com Disclosure Number: IPCOM000039985D
Original Publication Date: 1987-Sep-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 4 page(s) / 47K

Publishing Venue

IBM

Related People

Graham, CS: AUTHOR [+3]

Abstract

This system allows the performance of a variety of related, but independent, operations, such as serving as a display station, a system printer and handling communications, for example. The system uses an IBM PC (disk operating system (DOS)) program for program preparation and execution. The system, called the PC Attachment Program (PCAP), allows multi-tasking with DOS compatibility, without the requirement to provide code which emulates large pieces of DOS. In this system, DOS is treated as just one of the many tasks running in the system. PCAP is not built on top of DOS; instead, it is independent of DOS (see Fig. 1). In this system there is the restriction that only the task specifically assigned to DOS can utilize the DOS functions.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 32% of the total text.

Page 1 of 4

IBM PC Dos-Compatible Multi-Tasking Operating System

This system allows the performance of a variety of related, but independent, operations, such as serving as a display station, a system printer and handling communications, for example. The system uses an IBM PC (disk operating system (DOS)) program for program preparation and execution. The system, called the PC Attachment Program (PCAP), allows multi-tasking with DOS compatibility, without the requirement to provide code which emulates large pieces of DOS. In this system, DOS is treated as just one of the many tasks running in the system. PCAP is not built on top of DOS; instead, it is independent of DOS (see Fig. 1). In this system there is the restriction that only the task specifically assigned to DOS can utilize the DOS functions. This almost completely eliminates the need for re-entrant DOS functions which are required if DOS functions are to be used by many tasks. This leaves the one DOS task available to support "normal" DOS operations, as requested by any PC application. However, this restriction on the use of DOS functions does not completely solve the re-entrancy problem. A common technique used by many PC programs is to "chain into" the timer 1C interrupt (Figs. 2 and 3). The IBM PC has a hardware device that interrupts periodically, after a presettable time increment, such as 100 milliseconds, and this is the "timer 1C interrupt". The low numbered memory addresses in the PC are interrupt vectors by definition. The "1C" is an interrupt vector number used by the timer of the PC. Altogether there are many vectors, and these are listed in a number of published treatises on the IBM PC. This technique provides a way for a program to periodically get control in a "normal" PC-DOS environment. The user program simply modifies the 1C interrupt vector to point to itself. This is a common expedient, since the timer uses the 1C interrupt. Then at each timer interrupt the user program will receive control. After the user program does its processing, then control is passed on to the DOS timer routine. This is a routine that is simply a part of DOS. DOS itself even includes a print spooler. This is a subprogram (a part of DOS) that allows a number of printer tasks to be queued to be printed. This allows the printer of the system to be kept busy while the computer is doing other things. The print spooler utilizes this technique as a very primitive multi-tasker to switch between DOS and the print spooler code. Utilization of this technique can mean that a DOS function could be interrupted by the timer and then code chained into the timer interrupt vector to execute another DOS function. However, this is exactly the situation in a "normal" PC environment; the multi-tasking operating system has not changed this possibility in any way. Therefore, a program which can operate successfully in a normal PC environment can continue to operate unchanged in the multi-tasking environment under...