Mail Archives: djgpp/1997/09/29/11:17:40
> DOS web browser
Yes, lets do it. It would significantly raise the level of the
djgpp tools. It would require slight improvements in the compiler,
run time libraries, keyboard interrupt handler, VGA codes,
serial interrupt handler, and mouse drivers to make them meet
hard realtime deadlines, and act a tiny bit more in parallel.
While several serial and VGA drivers and numerous keyboard links are
available for use with djgpp tools, there is not a single set which
works together to guarantee meeting realtime deadlines.
The problems required to make this happen are the same which make
it difficult to write any other realtime systems, such as
embedded systems, robots, and Ada compilers. Ada has requirements
which are difficult to meet under DOS because DOS itself is not
reentrant, nor was DOS designed with meeting realtime schedules
in mind. The Ada requirements are equally applicable for C, C++,
and Java. These requirements appear in ANSI Standard 8652:1995,
Appendix C (Interrupt Handlers), Appendix D (Hard Realtime Deadlines),
and Appendix E (Net Communication, including remote procedure
calls).
Unfortunately, there are other details, including writing a kernel
to compete with Windows NT, enhancing the above drivers to work
with each other and the kernel, working around the non-reentrancy
of DOS, integrating all of the realtime system related patches into a
single configuration of the compilers and libraries, implementing a
method of noticing when the system is hung and giving the user an
alternative, re-implementing many DOS interrupts as 32-bit protected
mode handlers to that they are no longer over-written when user
programs go haywire, eliminating purposeful infinite loops as the
method of choice for indicating errors instead of throwing
an exception, permitting parallel disk operation, making an easy
interface to permit executing other EXE files without the
possibility of clobbering local variables.
While all of these things would be nice to have, the number of
volunteers it would take would be about 16 staff years. An
alternative, of course, is to just do the user interface using
the existing drivers and put up with the memory leaks, mouse
hangs, unreliable deadlines, unlimited waits, infinite loops,
lost data, and undocumented bugs. This could be done in less
than a staff year. However, there is already enough commercial
software out there providing these problems, so the free software
community should pick projects it can complete successfully,
that is, with a minimum of the above problems. In summary,
the tremendous speed and price advantage of DOS over Windows
makes a DOS web browser a useful project, and it would require
the same upgrades to the free tools which are needed by many
other projects. However, it would take quite a bit of effort
to make those upgrades.
Mike Brenner
- Raw text -