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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a24:6241:: with SMTP id d62mr535151itc.18.1551294613055; Wed, 27 Feb 2019 11:10:13 -0800 (PST) X-Received: by 2002:aca:53c6:: with SMTP id h189mr530378oib.0.1551294612757; Wed, 27 Feb 2019 11:10:12 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.szaf.org!3.eu.feeder.erje.net!feeder.erje.net!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!y42no30746ita.0!news-out.google.com!v188ni11itb.0!nntp.google.com!y42no30742ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 27 Feb 2019 11:10:12 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=146.5.2.29; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 146.5.2.29 References: <4s8rud$9j3@tribune> <792fba1b-7a54-4d00-ae85-e6bd0737f001@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <1d9e7148-cc7d-423b-9c4a-2372d1af4ddd@googlegroups.com> Subject: Re: Why couldn't an operating system be written in ada From: Shark8 Injection-Date: Wed, 27 Feb 2019 19:10:13 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:55705 Date: 2019-02-27T11:10:12-08:00 List-Id: On Tuesday, February 26, 2019 at 4:14:03 PM UTC-7, lyttlec wrote: > On 2/26/19 3:46 AM, Niklas Holsti wrote: > > On 19-02-25 23:56 , Rabican wrote: > >> On Saturday, July 13, 1996 at 3:00:00 AM UTC-4, Mark=C2=A0 McKinney wr= ote: > >>> It has been claimed that the capability to interface with other > >>> languages > >>> is a great asset to ada. Sometimes interfacing can be a tremendous > >>> liability. Besides the OS could perform most of work that the languag= e > >>> runtime does. So why not build an OS in ADA? > >> > >> yeah why not?=C2=A0 anything? > >=20 > > This has been discussed many times before in comp.lang.ada. > >=20 > > The first question is not "why not build an OS is Ada", the first > > question is "why build a new OS at all"? > >=20 > > Then, if a new OS is going to be built for some reason, we can ask whic= h > > language should be used, and of course (IMO) Ada would be a strong > > contender. However, for larger systems, the OS must usually implement a > > "process" concept that goes beyond Ada tasking and provides isolation > > between different users and applications. This means that the OS will > > have a process/service-level API that is not, as such, Ada-language > > specific. And so the fact that the OS is implemented in Ada becomes > > invisible on the application level. > >=20 > > This is not to say that an OS API specified in Ada could not be an > > improvement (for Ada applications) on the current OS APIs which are > > usually specified in C. However, such an Ada OS API could also be > > provided for an OS implemented in C or some other language. > >=20 > > At present, for small, (mostly) stand-alone embedded Ada systems, the > > bare-machine Ada run-times are sufficient -- and they are usually > > written in Ada. For larger or network-connected systems, where a > > comprehensive OS is needed, the Ada compiler vendors often provide > > run-times that hide the chosen OS (say, VxWorks) from the Ada > > applications, making the OS implementation language irrelevant (as long > > as the OS works). > >=20 > > There are of course exceptions, such as the RTEMS real-time OS/kernel > > which originally supported Ada run-times but for which I believe there > > is today no vendor-supplier Ada run-time, which means that Ada projects > > that choose to use RTEMS (for some unfathomable reason) have to bind to > > the RTEMS C-level services directly. > >=20 > >> can ada do CSP? > >=20 > > Your question is rather vague, but the answer is almost certainly "yes" > > -- the Ada rendez-vous is very similar to an (unbuffered) Occam channel= . > >=20 > As to why write an OS in Ada, read Bruce Schneier's book "Click Here to > Kill Everybody". There is a need for an OS that can be proven correct > and can be scaled down to SBC size. Only a small subset of Ada would be > required to write the kernel. For example, Tasks are not needed to write > a kernel, nor are any POSIX features. > As far as I can tell, the only candidate language for writing such an OS > are Ada and Fortran. (Not too sure about Fortran.) Tasks would be ideal for a nice chunk OS design, especially considering the= move to multicore architectures.