From: mfb AT mbunix DOT mitre DOT org (Michael F Brenner) Newsgroups: comp.os.msdos.djgpp Subject: Re: A DJ Web Browser Date: 29 Sep 1997 14:12:00 GMT Organization: The MITRE Corporation Lines: 54 Message-ID: <60ocvg$t6m@top.mitre.org> References: <342DB71E DOT C33F119A AT uni-bremen DOT de> NNTP-Posting-Host: mbunix.mitre.org Summary: Do it, it would raise the level of the djgpp tools To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk > 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