Multi-Tasking Provisions - IBM 5170 Technical Reference

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

A program that requires timing information should use either the
time-of-day clock or the timing channels of the timer/counter.
The input frequency to the timer will be maintained at 1.19 MHz,
providing a constant time reference. Program loops should be
avoided.
Programs that use copy protection schemes should use the ROM
BIOS diskette calls to read and verify the diskette and should not
be timer dependent. Any method can be used to create the
diskette, although manufacturing capability should be considered.
The verifying program can look at the diskette controller's status
bytes in the ROM BIOS data area for additional information
about embedded errors. More information about copy protection
may be found under
I
Copy Protection
I
later in this section.
Any DOS program must be relocatable and insensitive to the size
of DOS or its own load addresses. A program's memory
requirement should be identified and contiguous with the load
module. A program should not assume that all of memory is
available to it.
~
Multi-tasking Provisions
The IBM Personal Computer AT BIOS contains a feature to
assist multi-tasking implementation. "Hooks" are provided for a
multi-tasking dispatcher. Whenever a busy (wait) loop occurs in
the BIOS, a hook is provided for the system to break out of the
loop. Also, whenever an interrupt is serviced by the BIOS, which
causes a corresponding wait loop to be exited, another hook is
provided for the system.
Thus a system may be written which employs the bulk of the
device driver code. The following is valid only in the
microprocessor's real address mode. Several steps must be taken
by the system code in order to allow this support. First, the
system is responsible for the serialization of access to the device
driver. The BIOS code is not reentrant. Second, the system is
responsible for matching corresponding wait and post calls.
Compatibility 9-11

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents