Mail Archives: opendos/1997/03/15/12:59:48
I've had some more thoughts on this...
On 14 Mar 97 at 21:05, Alaric B. Williams wrote:
> To ease compatability, the OD extensions runtime should be a TSR,
> with perhaps the option of transient loading like CWSDPMI, where it
> is used only to invoke something. This TSR would contain EMM386's
> memory management and multitasking, such that anything already in
> memory is not reloaded (DPMI support etc), so an overlay structure
> would be useful, as well as excessive highloading!
Of course, it can be a DJGPP application that goes into extended
memory anyway, and provide a DOS realmode int callback interface.
Real mode access would be slower than PM, but we have to make a
tradeoff either way, I think.
> A full feature list:
[snip]
- A proper driver interface, such that applications need not access
the hardware. The drivers exist in the same address space so a far
call interface is provided for speed. This boosts device
independence, and also makes it easier for the tasker to know what
resources a task is using. Drivers are provided for console I/O,
sound, the keyboard, etc; stream drivers (like stdout) can register
as virtual pathnames like the DJGPP filesystem extension, so we can
open a file "/dev/tty". Since file I/O via handles is done through
the advanced interface, it can detect driver handles as opposed to
filesystem handles and reroute them automatically. When a program
registers for special execution, it passes it's DOS standard handles
(stdout, stderr, etc) to the initialisation call, which returns
handles suitable for the extended filer interface (they will probably
use a different numbering scheme to avoid conflicts); in this
process, it will see if stdout is connected to the console rather
than redirected, and have the option of replacing it by a virtual
console handle capable of direct screen writes but safe under the
multitasker, for example. Redirected handles are just left as the
standard system file handles - DOS handles are 16 bit, so we should
use 32 bit handles; the upper 16 bits nominate a driver. Driver
number 0 is a stub to the INT21 file system so normal file handles
can be used.
- The low level hardware resource server used by drivers and low
level applications. This allows an application or driver to, say,
requrest a range of I/O ports. The system complains if two things try
to use the same ports.
ABW
--
Governments are merely protection rackets with good images.
Alaric B. Williams Internet : alaric AT abwillms DOT demon DOT co DOT uk
http://www.abwillms.demon.co.uk/
- Raw text -