From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!GMUVAX.GMU.EDU!ecragg From: ecragg@GMUVAX.GMU.EDU ("EDWARD CRAGG") Newsgroups: comp.lang.ada Subject: Operating Systems in Ada Message-ID: <8910231246.AA06300@ajpo.sei.cmu.edu> Date: 23 Oct 89 12:42:00 GMT Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: From: wytten@UMN-CS.CS.UMN.EDU (Dale R. Wyttenbach) >I would like the topic to be either "writing operating systems in ADA", or >"why ADA is not appropriate for writing operating systems". I'll know >which when I'm through writing it ;-) The question is really whether modern software engineering practices and high-level languages are appropriate for writing operating systems. I know of three examples where they weren't--one in COBOL, one in Pascal, and one in CMS-2--and none where they were. Note that I'm excluding C as a high-level language in this context, although performance of C-based operating systems has been generally poor. The problems with writing an OS in an HOL are as follows: 1. The layering inherent in modern software engineering practices generally leads to poor performance. 2. Most hardware interfaces require a "handshake" protocol with timing constraints. This requires a "coroutine" approach on the software side. Except for OO languages, support to coroutine approaches is minimal in modern HOLs. 3. It's difficult to program in an HOL and gain reliable performance. You generally run into special cases that take a long time. That is unacceptable in an OS, which must provide guaranteed performance for many service calls. Harry Erwin crash!pro-novapple!herwin or herwin@pro-novapple.cts.com