comp.lang.ada
 help / color / Atom feed
* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
@ 2020-07-25  7:37 ` mockturtle
  2020-07-26 19:45   ` Stéphane Rivière
  2020-07-25  8:47 ` Niklas Holsti
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 33+ messages in thread
From: mockturtle @ 2020-07-25  7:37 UTC (permalink / raw)


On Saturday, July 25, 2020 at 12:11:49 AM UTC+2, [email protected] wrote:
> is there a unix like OS written completely in Ada?
I remember someone was writing an OS in Ada, but I do not remember who was, nor the name of the project, nor if it was unix-ish. 

I'm not much help, I'm afraid (but maybe I'll trigger someone else... ;-)

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
  2020-07-25  7:37 ` is there a version of unix written in Ada mockturtle
@ 2020-07-25  8:47 ` Niklas Holsti
  2020-07-25  9:36   ` Stéphane Rivière
  2020-07-25 10:41 ` Luke A. Guest
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 33+ messages in thread
From: Niklas Holsti @ 2020-07-25  8:47 UTC (permalink / raw)


On 2020-07-25 1:11, [email protected] wrote:
> is there a unix like OS written completely in Ada?


The short answer is "no".

There have certainly been operating systems written in Ada -- the OS for 
the Nokia MPS-10 minicomputer is an example.

There are several real-time kernels and similar low-level SW components 
written in Ada, but probably they do not qualify as "Unix-like", 
depending on what you mean by that term.

Why do you ask?

-- 
Niklas Holsti
niklas holsti tidorum fi
       .      @       .

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-25  8:47 ` Niklas Holsti
@ 2020-07-25  9:36   ` Stéphane Rivière
  0 siblings, 0 replies; 33+ messages in thread
From: Stéphane Rivière @ 2020-07-25  9:36 UTC (permalink / raw)


See OS section of https://github.com/ohenley/awesome-ada

> There have certainly been operating systems written in Ada -- the OS for
> the Nokia MPS-10 minicomputer is an example.

Wasn't aware, thanks ! Find that... Very few refs on the net...

https://dl.acm.org/doi/abs/10.1145/989798.989799

-- 
Be Seeing You
Number Six

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
  2020-07-25  7:37 ` is there a version of unix written in Ada mockturtle
  2020-07-25  8:47 ` Niklas Holsti
@ 2020-07-25 10:41 ` Luke A. Guest
  2020-07-25 14:43 ` Jesper Quorning
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 33+ messages in thread
From: Luke A. Guest @ 2020-07-25 10:41 UTC (permalink / raw)


On 24/07/2020 23:11, [email protected] wrote:
> is there a unix like OS written completely in Ada?
> 

You implement this:


https://en.wikipedia.org/wiki/Xv6

Starting with this:

https://wiki.osdev.org/Ada_Bare_bones

But be prepared to break into C for some bits, i.e. varargs.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (2 preceding siblings ...)
  2020-07-25 10:41 ` Luke A. Guest
@ 2020-07-25 14:43 ` Jesper Quorning
  2020-07-25 19:20 ` Andreas ZEURCHER
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 33+ messages in thread
From: Jesper Quorning @ 2020-07-25 14:43 UTC (permalink / raw)


lørdag den 25. juli 2020 kl. 00.11.49 UTC+2 skrev [email protected]:
> is there a unix like OS written completely in Ada?

Do not know if it is unix-like, but this [1] looks active. Maybe he needs help..

My own dream was to port GNU/Hurd to Ada while renaming it to something not hurding so much.

[1] https://github.com/ajxs/cxos


/j

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (3 preceding siblings ...)
  2020-07-25 14:43 ` Jesper Quorning
@ 2020-07-25 19:20 ` Andreas ZEURCHER
  2020-07-27  7:40   ` Stéphane Rivière
  2020-07-27 14:58   ` nobody in particular
  2020-07-27 20:28 ` Shark8
                   ` (4 subsequent siblings)
  9 siblings, 2 replies; 33+ messages in thread
From: Andreas ZEURCHER @ 2020-07-25 19:20 UTC (permalink / raw)


On Friday, July 24, 2020 at 5:11:49 PM UTC-5, [email protected] wrote:
> is there a unix like OS written completely in Ada?

In 1981, there in fact was one that had 2 public releases with work in progress on Version 3:  iMAX-432, depending on how puritanical one wishes to be about what is or is not Unix-like.  (iMAX-432 was far more Unix-like than, say, MVS-like or CP/M-like.)

If anyone has an inside negotiating track at Intel (or the contracting firm that Intel hired to develop it), perhaps they would be willing open-source the old iMAX432 operating system that was released for the iAPX432 processor that was designed from the ground up to have an Ada-centric instruction set.  Although it was more Multics-esque than Unix-esque* and although it was written specifically for the iAPX432 (and thus had much iAPX432-only assembly language), it should be relatively easily transliterable into other ISAs because the iAPX432 ISA more closely resembles Java bytecode, LLVM bitcode, and C# CIL/MSIL than other rudimentary machine codes of that era, due to being object-based/OO-lite in the hardware's machine code (which is what doomed the iAPX432 in the early 1980s:  it was so complex that it required 3 separate IC dies in 3 separate ceramic packages, and it ran relatively hot).

* Conversely, both Multics & our modern Unix are nowadays birds of the same feather despite the multi-decade dislocation in time from each other, due to both having:
1) multiple threads per address space;
2) multiple DLLs per address-space;
3) multiple memory-mapped files (i.e., mmap(2) in Unixes versus snapping segment-files in Multics);
4) IPC based on multiple threads or multiple processes pending on a single message-queue;
5) soft real-time thread scheduling priorities in addition to time-sharing scheduling priorities;
and
6) a GNU-esque long-form whole-words and short-form abbreviated-letters of each hyphenated command-line flag
are birds of much the same feather, as opposed to 1970s-era spartan Unix that abhorred all of these multiplicities, hence AT&T's uni-based name in AT&T's 1970-divorce-from-MIT's/GE's/AT&T's/Honeywell's-Project-MAC in defiance of Project MAC's multi-based name, because the tongue-in-cheek humor of Unix's name as eunuchs is Multics castrated.  Eschewing singleton this and singleton that, Unix nowadays is no longer a castrated eunuch, due to reintroducing a cousin-like variant of nearly every multiplicity feature of Multics other than the multiple rings (unless one counts VM hypervisors nowadays as reintroducing a cousin of that one too).

https://en.wikipedia.org/wiki/IMAX_432

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-25  7:37 ` is there a version of unix written in Ada mockturtle
@ 2020-07-26 19:45   ` Stéphane Rivière
  2020-07-26 22:15     ` Jeffrey R. Carter
  0 siblings, 1 reply; 33+ messages in thread
From: Stéphane Rivière @ 2020-07-26 19:45 UTC (permalink / raw)



> I remember someone was writing an OS in Ada, but I do not remember who was, nor the name of the project, nor if it was unix-ish. 

In the very old archive https://stef.genesix.org/aide/aide-src-1.04.zip
you will find :

- The last RTEMS 3.2.1 Ada sources (yes... old RTEMS releases are
offered in two flavors : Ada and C ) comes with docs & manuals.

- the Ada sos-os ada series (based from edu-os in C)

-- 
Be Seeing You
Number Six

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-26 19:45   ` Stéphane Rivière
@ 2020-07-26 22:15     ` Jeffrey R. Carter
  2020-07-27  7:40       ` Stéphane Rivière
  2020-07-28 13:08       ` DrPi
  0 siblings, 2 replies; 33+ messages in thread
From: Jeffrey R. Carter @ 2020-07-26 22:15 UTC (permalink / raw)


On 7/26/20 9:45 PM, Stéphane Rivière wrote:
> 
> - The last RTEMS 3.2.1 Ada sources (yes... old RTEMS releases are
> offered in two flavors : Ada and C ) comes with docs & manuals.

Marte OS implements Minimal Real-Time POSIX.13 in Ada, so it should be Unix-like.

https://marte.unican.es/

The same group recently announed M2OS, which is also in Ada, but not Unix-like.

https://m2os.unican.es/

-- 
Jeff Carter
"Drown in a vat of whiskey. Death, where is thy sting?"
Never Give a Sucker an Even Break
106

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-26 22:15     ` Jeffrey R. Carter
@ 2020-07-27  7:40       ` Stéphane Rivière
  2020-07-28 13:08       ` DrPi
  1 sibling, 0 replies; 33+ messages in thread
From: Stéphane Rivière @ 2020-07-27  7:40 UTC (permalink / raw)



> The same group recently announed M2OS, which is also in Ada, but not
> Unix-like.
> 
> https://m2os.unican.es/

Not aware of that, Thanks Jeffrey

I will test that, the Toolchain isLinux based and include GDB...

-- 
Be Seeing You
Number Six

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-25 19:20 ` Andreas ZEURCHER
@ 2020-07-27  7:40   ` Stéphane Rivière
  2020-07-27 15:00     ` nobody in particular
  2020-07-27 14:58   ` nobody in particular
  1 sibling, 1 reply; 33+ messages in thread
From: Stéphane Rivière @ 2020-07-27  7:40 UTC (permalink / raw)


> In 1981, there in fact was one that had 2 public releases with work in progress on Version 3:  iMAX-432, depending on how puritanical one wishes to be about what is or is not Unix-like.  (iMAX-432 was far more Unix-like than, say, MVS-like or CP/M-like.)

Very interesting Adreas, thanks for this part of Ada and CPU history...

-- 
Be Seeing You
Number Six

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-25 19:20 ` Andreas ZEURCHER
  2020-07-27  7:40   ` Stéphane Rivière
@ 2020-07-27 14:58   ` nobody in particular
  1 sibling, 0 replies; 33+ messages in thread
From: nobody in particular @ 2020-07-27 14:58 UTC (permalink / raw)


On 25/07/2020 19:20, Andreas ZEURCHER wrote:
> On Friday, July 24, 2020 at 5:11:49 PM UTC-5, [email protected] wrote:
>> is there a unix like OS written completely in Ada?
> 
> In 1981, there in fact was one that had 2 public releases with work in progress on Version 3:  iMAX-432, depending on how puritanical one wishes to be about what is or is not Unix-like.  (iMAX-432 was far more Unix-like than, say, MVS-like or CP/M-like.)
> 
> If anyone has an inside negotiating track at Intel (or the contracting firm that Intel hired to develop it), perhaps they would be willing open-source the old iMAX432 operating system that was released for the iAPX432 processor that was designed from the ground up to have an Ada-centric instruction set.

I guess it could be worthwile contacting Steve Lionel who recently 
retired from Intel after working for DEC, COMPAQ, HP, on Fortran 
compilers. He has a blog site, I'll not post the details here so as not 
to encourage automated spam. Doctor Fortran is his nickname.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-27  7:40   ` Stéphane Rivière
@ 2020-07-27 15:00     ` nobody in particular
  0 siblings, 0 replies; 33+ messages in thread
From: nobody in particular @ 2020-07-27 15:00 UTC (permalink / raw)


On 27/07/2020 07:40, Stéphane Rivière wrote:
>> In 1981, there in fact was one that had 2 public releases with work in progress on Version 3:  iMAX-432, depending on how puritanical one wishes to be about what is or is not Unix-like.  (iMAX-432 was far more Unix-like than, say, MVS-like or CP/M-like.)
> 
> Very interesting Adreas, thanks for this part of Ada and CPU history...

Have you seen the iment site of Mary Van Deusen? It is full of Ada 
history, wonderful site.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (4 preceding siblings ...)
  2020-07-25 19:20 ` Andreas ZEURCHER
@ 2020-07-27 20:28 ` Shark8
  2020-07-30  0:57 ` gdotone
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 33+ messages in thread
From: Shark8 @ 2020-07-27 20:28 UTC (permalink / raw)


On Friday, July 24, 2020 at 4:11:49 PM UTC-6, [email protected] wrote:
> is there a unix like OS written completely in Ada?

Not that I'm aware of.
But here's an even better question: if Unix derives many of its warts from C, then what would an OS developed with Ada look like? -- There were several references I found to an "Army Secure Operating System" which was an implementation of the "Orange Book" requirements of a secure operating system.

IMO, Unix and C have put the industry back decades. / If OSes interest you, please, study and take inspiration from non-Unix OSes.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-26 22:15     ` Jeffrey R. Carter
  2020-07-27  7:40       ` Stéphane Rivière
@ 2020-07-28 13:08       ` DrPi
  2020-07-28 16:48         ` Simon Wright
  1 sibling, 1 reply; 33+ messages in thread
From: DrPi @ 2020-07-28 13:08 UTC (permalink / raw)


Le 27/07/2020 à 00:15, Jeffrey R. Carter a écrit :
> On 7/26/20 9:45 PM, Stéphane Rivière wrote:
>>
>> - The last RTEMS 3.2.1 Ada sources (yes... old RTEMS releases are
>> offered in two flavors : Ada and C ) comes with docs & manuals.
> 
> Marte OS implements Minimal Real-Time POSIX.13 in Ada, so it should be
> Unix-like.
> 
> https://marte.unican.es/
> 
> The same group recently announed M2OS, which is also in Ada, but not
> Unix-like.
> 
> https://m2os.unican.es/

Ada has embedded thread scheduling. What's the usefulness of m2os ?


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-28 13:08       ` DrPi
@ 2020-07-28 16:48         ` Simon Wright
  2020-07-28 17:00           ` Fabien Chouteau
  2020-07-29  9:20           ` DrPi
  0 siblings, 2 replies; 33+ messages in thread
From: Simon Wright @ 2020-07-28 16:48 UTC (permalink / raw)


DrPi <[email protected]> writes:

> Ada has embedded thread scheduling. What's the usefulness of m2os ?

The Ada language defines the syntax and semantics of tasking, but
whether an implementation supports tasking is a different matter.

If tasking is supported, there will be a runtime system that provides
it, and the compiler knows how to translate the code you write into
calls on that runtime system. If you write 'task T;' the code generated
by GNAT (in a Ravenscar system) will call

   procedure Create_Restricted_Task
     (Priority             :        Integer;
      Stack_Address        :        System.Address;
      Size                 :        System.Parameters.Size_Type;
      Sec_Stack_Address    :        System.Secondary_Stack.SS_Stack_Ptr;
      Secondary_Stack_Size :        System.Parameters.Size_Type;
      Task_Info            :        System.Task_Info.Task_Info_Type;
      CPU                  :        Integer;
      State                :        Task_Procedure_Access;
      Discriminants        :        System.Address;
      Elaborated           :        Access_Boolean;
      Chain                : in out Activation_Chain;
      Task_Image           :        String;
      Created_Task         :        Task_Id);

The procedure body is the business of the specific runtime system.

M2OS doesn't support Ada tasking at all. Instead, it provides a set of
primitive operations or API (see the web site); to create a "task", you
provide an initialization procedure and a body procedure and call an API
operation to register the code so that it can be called when necessary.

A higher-level facility can translate your code using (some?) Ada
tasking constructs into equivalent code calling the M2OS API.

The advantage claimed is that the memory footprint is much reduced, so
that the application will fit into a smaller MCU.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-28 16:48         ` Simon Wright
@ 2020-07-28 17:00           ` Fabien Chouteau
  2020-07-29  9:21             ` DrPi
  2020-07-29  9:20           ` DrPi
  1 sibling, 1 reply; 33+ messages in thread
From: Fabien Chouteau @ 2020-07-28 17:00 UTC (permalink / raw)


On Tuesday, July 28, 2020 at 6:48:49 PM UTC+2, Simon Wright wrote:
> A higher-level facility can translate your code using (some?) Ada
> tasking constructs into equivalent code calling the M2OS API.

The do the translation of the code with Libadalang. This is an interesting approach.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-28 16:48         ` Simon Wright
  2020-07-28 17:00           ` Fabien Chouteau
@ 2020-07-29  9:20           ` DrPi
  2020-07-29 16:53             ` Simon Wright
  1 sibling, 1 reply; 33+ messages in thread
From: DrPi @ 2020-07-29  9:20 UTC (permalink / raw)


Le 28/07/2020 à 18:48, Simon Wright a écrit :
> DrPi <[email protected]> writes:
> 
>> Ada has embedded thread scheduling. What's the usefulness of m2os ?
> 
> The Ada language defines the syntax and semantics of tasking, but
> whether an implementation supports tasking is a different matter.
> 
> If tasking is supported, there will be a runtime system that provides
> it, and the compiler knows how to translate the code you write into
> calls on that runtime system. If you write 'task T;' the code generated
> by GNAT (in a Ravenscar system) will call
> 
>    procedure Create_Restricted_Task
>      (Priority             :        Integer;
>       Stack_Address        :        System.Address;
>       Size                 :        System.Parameters.Size_Type;
>       Sec_Stack_Address    :        System.Secondary_Stack.SS_Stack_Ptr;
>       Secondary_Stack_Size :        System.Parameters.Size_Type;
>       Task_Info            :        System.Task_Info.Task_Info_Type;
>       CPU                  :        Integer;
>       State                :        Task_Procedure_Access;
>       Discriminants        :        System.Address;
>       Elaborated           :        Access_Boolean;
>       Chain                : in out Activation_Chain;
>       Task_Image           :        String;
>       Created_Task         :        Task_Id);
> 
> The procedure body is the business of the specific runtime system.
> 
> M2OS doesn't support Ada tasking at all. Instead, it provides a set of
> primitive operations or API (see the web site); to create a "task", you
> provide an initialization procedure and a body procedure and call an API
> operation to register the code so that it can be called when necessary.
> 
> A higher-level facility can translate your code using (some?) Ada
> tasking constructs into equivalent code calling the M2OS API.
> 
> The advantage claimed is that the memory footprint is much reduced, so
> that the application will fit into a smaller MCU.
> 
Thanks for the explanation.
Difficult to understand how adding a software layer achieves a lower
resources consumption.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-28 17:00           ` Fabien Chouteau
@ 2020-07-29  9:21             ` DrPi
  2020-07-29  9:28               ` Fabien Chouteau
  0 siblings, 1 reply; 33+ messages in thread
From: DrPi @ 2020-07-29  9:21 UTC (permalink / raw)


Le 28/07/2020 à 19:00, Fabien Chouteau a écrit :
> On Tuesday, July 28, 2020 at 6:48:49 PM UTC+2, Simon Wright wrote:
>> A higher-level facility can translate your code using (some?) Ada
>> tasking constructs into equivalent code calling the M2OS API.
> 
> The do the translation of the code with Libadalang. This is an interesting approach.
> 
Fabien, does AGATHE (https://github.com/Fabien-Chouteau/AGATE) achieves
the same goal ?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29  9:21             ` DrPi
@ 2020-07-29  9:28               ` Fabien Chouteau
  2020-07-29 15:02                 ` DrPi
  0 siblings, 1 reply; 33+ messages in thread
From: Fabien Chouteau @ 2020-07-29  9:28 UTC (permalink / raw)


On Wednesday, July 29, 2020 at 11:21:39 AM UTC+2, DrPi wrote:
> Fabien, does AGATHE (https://github.com/Fabien-Chouteau/AGATE) achieves
> the same goal ?

I have nothing to transform the code in AGATE. I didn't think about it, that's why I say this is interesting :)

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29  9:28               ` Fabien Chouteau
@ 2020-07-29 15:02                 ` DrPi
  2020-07-29 15:11                   ` Fabien Chouteau
  0 siblings, 1 reply; 33+ messages in thread
From: DrPi @ 2020-07-29 15:02 UTC (permalink / raw)


Le 29/07/2020 à 11:28, Fabien Chouteau a écrit :
> On Wednesday, July 29, 2020 at 11:21:39 AM UTC+2, DrPi wrote:
>> Fabien, does AGATHE (https://github.com/Fabien-Chouteau/AGATE) achieves
>> the same goal ?
> 
> I have nothing to transform the code in AGATE. I didn't think about it, that's why I say this is interesting :)
> 
I mean, what is the goal of AGATHE ? Replacing Ada threading ?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29 15:02                 ` DrPi
@ 2020-07-29 15:11                   ` Fabien Chouteau
  2020-07-29 20:41                     ` DrPi
  0 siblings, 1 reply; 33+ messages in thread
From: Fabien Chouteau @ 2020-07-29 15:11 UTC (permalink / raw)


On Wednesday, July 29, 2020 at 5:02:56 PM UTC+2, DrPi wrote:
> I mean, what is the goal of AGATHE ? Replacing Ada threading ?

There is no real goal for AGATE. It was a two days hacking session to see if was still able to write an "RTOS" from scratch.

But indeed, one thing I wanted to see was what the API of an Ada tasking library would look like, as opposed to have the tasking in the run-time. In that sense it is similar to m2os.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29  9:20           ` DrPi
@ 2020-07-29 16:53             ` Simon Wright
  2020-07-29 20:42               ` DrPi
  0 siblings, 1 reply; 33+ messages in thread
From: Simon Wright @ 2020-07-29 16:53 UTC (permalink / raw)


DrPi <[email protected]> writes:

> Difficult to understand how adding a software layer achieves a lower
> resources consumption.

If you have no support for Ada tasking, i.e. pragma Restrictions
(No_Tasking), then the compiler will never generate code that calls
Create_Restricted_Task and will reject a compilation with the word
'task' in it.

M2OS is in this respect quite like pthreads.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29 15:11                   ` Fabien Chouteau
@ 2020-07-29 20:41                     ` DrPi
  0 siblings, 0 replies; 33+ messages in thread
From: DrPi @ 2020-07-29 20:41 UTC (permalink / raw)


Le 29/07/2020 à 17:11, Fabien Chouteau a écrit :
> On Wednesday, July 29, 2020 at 5:02:56 PM UTC+2, DrPi wrote:
>> I mean, what is the goal of AGATHE ? Replacing Ada threading ?
> 
> There is no real goal for AGATE. It was a two days hacking session to see if was still able to write an "RTOS" from scratch.
> 
> But indeed, one thing I wanted to see was what the API of an Ada tasking library would look like, as opposed to have the tasking in the run-time. In that sense it is similar to m2os.
> 

Ok. Thanks.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-29 16:53             ` Simon Wright
@ 2020-07-29 20:42               ` DrPi
  0 siblings, 0 replies; 33+ messages in thread
From: DrPi @ 2020-07-29 20:42 UTC (permalink / raw)


Le 29/07/2020 à 18:53, Simon Wright a écrit :
> DrPi <[email protected]> writes:
> 
>> Difficult to understand how adding a software layer achieves a lower
>> resources consumption.
> 
> If you have no support for Ada tasking, i.e. pragma Restrictions
> (No_Tasking), then the compiler will never generate code that calls
> Create_Restricted_Task and will reject a compilation with the word
> 'task' in it.
> 
> M2OS is in this respect quite like pthreads.
> 
Understood. Thanks.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (5 preceding siblings ...)
  2020-07-27 20:28 ` Shark8
@ 2020-07-30  0:57 ` gdotone
  2020-07-31 14:01   ` Shark8
  2020-09-23 17:39   ` Olivier Henley
  2020-09-03 10:32 ` c+
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 33+ messages in thread
From: gdotone @ 2020-07-30  0:57 UTC (permalink / raw)


On Friday, July 24, 2020 at 6:11:49 PM UTC-4, [email protected] wrote:
> is there a unix like OS written completely in Ada?

i don't quite remember where i read C was not intended 
for coding in the million of line, but it has done
some amazing work for something not intended. It 
seems that Ada was intended to handle such massively 
large coding efforts. i guess though an OS unix in 
type maybe done with a 100,000 lines or so. i have wondered
with the language features would using produce a secure
os, with much less need for security updates.

Thanks everyone, it is more than clear Ada can do an OS, from the 
realtime OS links. 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-30  0:57 ` gdotone
@ 2020-07-31 14:01   ` Shark8
  2020-09-23 17:39   ` Olivier Henley
  1 sibling, 0 replies; 33+ messages in thread
From: Shark8 @ 2020-07-31 14:01 UTC (permalink / raw)


On Wednesday, July 29, 2020 at 6:57:07 PM UTC-6, [email protected] wrote:
> On Friday, July 24, 2020 at 6:11:49 PM UTC-4, [email protected] wrote:
> > is there a unix like OS written completely in Ada?
> 
> i don't quite remember where i read C was not intended 
> for coding in the million of line, but it has done
> some amazing work for something not intended. It 
> seems that Ada was intended to handle such massively 
> large coding efforts. i guess though an OS unix in 
> type maybe done with a 100,000 lines or so. i have wondered
> with the language features would using produce a secure
> os, with much less need for security updates.
> 
> Thanks everyone, it is more than clear Ada can do an OS, from the 
> realtime OS links.

Part of the issue with security is also on the underlying methodology/design of the system. One good example here is the "text-first" approach of the command-line, especially if you're piping together inputs and outputs: inherent to this is the forced ad hoc re-parsing of of data. This text-first approach is quick because it's easier, at first, but more error-prone; see here: https://www.reddit.com/r/programming/comments/faxlva/i_want_off_mr_golangs_wild_ride/fj2z4zi?utm_source=share&utm_medium=web2x

To contrast, here's an alternative & proper design for command-line:
(1) Have an underlying typesystem the operating-system is aware of.
(2) Have objects in this typesystem with round-trip stable serialize/deseralize functions.
(3) Have the command-line interpreter parse the commands into streams of these objects. [This should be done by a common OS-library.]
(4) Have programs with streams for input and output.

And now you have a system which not only has a consistent interface, but requires less cycles (due to not having to re-parse data), and is more secure.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (6 preceding siblings ...)
  2020-07-30  0:57 ` gdotone
@ 2020-09-03 10:32 ` c+
  2020-09-12  4:30 ` sumde121
  2020-09-19 14:09 ` erchetan33
  9 siblings, 0 replies; 33+ messages in thread
From: c+ @ 2020-09-03 10:32 UTC (permalink / raw)


On Saturday, 25 July 2020 03:41:49 UTC+5:30, [email protected]  wrote:
> is there a unix like OS written completely in Ada?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (7 preceding siblings ...)
  2020-09-03 10:32 ` c+
@ 2020-09-12  4:30 ` sumde121
  2020-09-19 14:09 ` erchetan33
  9 siblings, 0 replies; 33+ messages in thread
From: sumde121 @ 2020-09-12  4:30 UTC (permalink / raw)


On Saturday, 25 July 2020 03:41:49 UTC+5:30, [email protected]  wrote:
> is there a unix like OS written completely in Ada?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
       [not found] <[email protected]>
                   ` (8 preceding siblings ...)
  2020-09-12  4:30 ` sumde121
@ 2020-09-19 14:09 ` erchetan33
  9 siblings, 0 replies; 33+ messages in thread
From: erchetan33 @ 2020-09-19 14:09 UTC (permalink / raw)


On Saturday, July 25, 2020 at 3:41:49 AM UTC+5:30, [email protected] wrote:
> is there a unix like OS written completely in Ada?

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-07-30  0:57 ` gdotone
  2020-07-31 14:01   ` Shark8
@ 2020-09-23 17:39   ` Olivier Henley
  2020-09-25 15:06     ` DrPi
  1 sibling, 1 reply; 33+ messages in thread
From: Olivier Henley @ 2020-09-23 17:39 UTC (permalink / raw)


> Thanks everyone, it is more than clear Ada can do an OS, from the 
> realtime OS links.

There has been some interesting development lately:

- https://blog.adacore.com/cubit-a-general-purpose-operating-system-in-spark-ada
- https://github.com/RavSS/HAVK
- https://github.com/ajxs/cxos
- https://archive.fosdem.org/2020/schedule/event/ada_spunky/

Also, you can find a 'probably' complete list here: https://github.com/ohenley/awesome-ada#OS-and-Kernels

Personally, I think:

a) efforts should be organized around a single project, 
b) we should find some financing for such a project and 
c) a lightweight, but formal design procedure should be put in place.

Else, we will live with non-lasting attempts and a C base linux, forever unstable with new holes every 3 months, and some Rust that will inevitably makes its way in.

I do not have the pocket to finance such a project but I could definitely project myself as thriving to organize and bridge different developers.

If by any chance you know of a billionaire that has better ideas than trying to go to Mars and/or build a bigger yacht than its neighbor... give him my contact. Thx.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-09-23 17:39   ` Olivier Henley
@ 2020-09-25 15:06     ` DrPi
  2020-09-25 17:31       ` Andreas ZEURCHER
  0 siblings, 1 reply; 33+ messages in thread
From: DrPi @ 2020-09-25 15:06 UTC (permalink / raw)


Le 23/09/2020 à 19:39, Olivier Henley a écrit :
>> Thanks everyone, it is more than clear Ada can do an OS, from the
>> realtime OS links.
> 
> There has been some interesting development lately:
> 
> - https://blog.adacore.com/cubit-a-general-purpose-operating-system-in-spark-ada
> - https://github.com/RavSS/HAVK
> - https://github.com/ajxs/cxos
> - https://archive.fosdem.org/2020/schedule/event/ada_spunky/
> 
> Also, you can find a 'probably' complete list here: https://github.com/ohenley/awesome-ada#OS-and-Kernels
> 
> Personally, I think:
> 
> a) efforts should be organized around a single project,
Which kind of OS ?
- General purpose ?
- Real-time ?
- Real-time Posix ?
- For microprocessor ?
- For microcontroller ?

> b) we should find some financing for such a project and
> c) a lightweight, but formal design procedure should be put in place.
> 
> Else, we will live with non-lasting attempts and a C base linux, forever unstable with new holes every 3 months, and some Rust that will inevitably makes its way in.
> 
> I do not have the pocket to finance such a project but I could definitely project myself as thriving to organize and bridge different developers.
> 
> If by any chance you know of a billionaire that has better ideas than trying to go to Mars and/or build a bigger yacht than its neighbor... give him my contact. Thx.
> 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-09-25 15:06     ` DrPi
@ 2020-09-25 17:31       ` Andreas ZEURCHER
  2020-09-26  8:50         ` DrPi
  0 siblings, 1 reply; 33+ messages in thread
From: Andreas ZEURCHER @ 2020-09-25 17:31 UTC (permalink / raw)


On Friday, September 25, 2020 at 10:06:49 AM UTC-5, DrPi wrote:
> Le 23/09/2020 à 19:39, Olivier Henley a écrit : 
> >> Thanks everyone, it is more than clear Ada can do an OS, from the 
> >> realtime OS links. 
> > 
> > There has been some interesting development lately: 
> > 
> > - https://blog.adacore.com/cubit-a-general-purpose-operating-system-in-spark-ada 
> > - https://github.com/RavSS/HAVK 
> > - https://github.com/ajxs/cxos 
> > - https://archive.fosdem.org/2020/schedule/event/ada_spunky/ 
> > 
> > Also, you can find a 'probably' complete list here: https://github.com/ohenley/awesome-ada#OS-and-Kernels 
> > 
> > Personally, I think: 
> > 
> > a) efforts should be organized around a single project,
> Which kind of OS ? 
> - General purpose ? 
> - Real-time ? 
> - Real-time Posix ? 
> - For microprocessor ? 
> - For microcontroller ?

It would be real-time POSIX with general-purpose time-sharing during the idle(-from-realtime's-vantage-point) loop.  It would be focused primarily on embedded processors (all 32-bit & 64-bit processors), likely not 8-bit and 16-bit microcontrollers (although there do exist some 32-bit processors that are categorized as microcontrollers nowadays).  The bigger question would be GPUs & DSPs.

> > b) we should find some financing for such a project and 

That is always the trick:  how to have a funding and business model that enables a long-term going-concern.  Depending on volunteers and donationware quickly exhausts its limited funding.

> > c) a lightweight, but formal design procedure should be put in place. 

A guiding committee of like-minded people should be benevolent dictators.  Linux has been successful because it had Linus as benevolent dictator.

> > Else, we will live with non-lasting attempts and a C base linux, forever unstable with new holes every 3 months, and some Rust that will inevitably makes its way in. 
> > 
> > I do not have the pocket to finance such a project but I could definitely project myself as thriving to organize and bridge different developers. 
> > 
> > If by any chance you know of a billionaire that has better ideas than trying to go to Mars and/or build a bigger yacht than its neighbor... give him my contact. Thx. 
> >

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: is there a version of unix written in Ada
  2020-09-25 17:31       ` Andreas ZEURCHER
@ 2020-09-26  8:50         ` DrPi
  0 siblings, 0 replies; 33+ messages in thread
From: DrPi @ 2020-09-26  8:50 UTC (permalink / raw)


Le 25/09/2020 à 19:31, Andreas ZEURCHER a écrit :
> On Friday, September 25, 2020 at 10:06:49 AM UTC-5, DrPi wrote:
>> Le 23/09/2020 à 19:39, Olivier Henley a écrit :
>>>> Thanks everyone, it is more than clear Ada can do an OS, from the
>>>> realtime OS links.
>>>
>>> There has been some interesting development lately:
>>>
>>> - https://blog.adacore.com/cubit-a-general-purpose-operating-system-in-spark-ada
>>> - https://github.com/RavSS/HAVK
>>> - https://github.com/ajxs/cxos
>>> - https://archive.fosdem.org/2020/schedule/event/ada_spunky/
>>>
>>> Also, you can find a 'probably' complete list here: https://github.com/ohenley/awesome-ada#OS-and-Kernels
>>>
>>> Personally, I think:
>>>
>>> a) efforts should be organized around a single project,
>> Which kind of OS ?
>> - General purpose ?
>> - Real-time ?
>> - Real-time Posix ?
>> - For microprocessor ?
>> - For microcontroller ?
> 
> It would be real-time POSIX with general-purpose time-sharing during the idle(-from-realtime's-vantage-point) loop.  It would be focused primarily on embedded processors (all 32-bit & 64-bit processors), likely not 8-bit and 16-bit microcontrollers (although there do exist some 32-bit processors that are categorized as microcontrollers nowadays).  The bigger question would be GPUs & DSPs.

If the OS is micro-kernel based, there is no concern about GPUs & DSPs 
drivers as they are standard processes (running in user mode).

My "ideal" real-time POSIX OS would be a open source QNX.
Written in Ada, of course ;)

> 
>>> b) we should find some financing for such a project and
> 
> That is always the trick:  how to have a funding and business model that enables a long-term going-concern.  Depending on volunteers and donationware quickly exhausts its limited funding.
> 
>>> c) a lightweight, but formal design procedure should be put in place.
> 
> A guiding committee of like-minded people should be benevolent dictators.  Linux has been successful because it had Linus as benevolent dictator.
> 
>>> Else, we will live with non-lasting attempts and a C base linux, forever unstable with new holes every 3 months, and some Rust that will inevitably makes its way in.
>>>
>>> I do not have the pocket to finance such a project but I could definitely project myself as thriving to organize and bridge different developers.
>>>
>>> If by any chance you know of a billionaire that has better ideas than trying to go to Mars and/or build a bigger yacht than its neighbor... give him my contact. Thx.
>>>

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, back to index

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <[email protected]>
2020-07-25  7:37 ` is there a version of unix written in Ada mockturtle
2020-07-26 19:45   ` Stéphane Rivière
2020-07-26 22:15     ` Jeffrey R. Carter
2020-07-27  7:40       ` Stéphane Rivière
2020-07-28 13:08       ` DrPi
2020-07-28 16:48         ` Simon Wright
2020-07-28 17:00           ` Fabien Chouteau
2020-07-29  9:21             ` DrPi
2020-07-29  9:28               ` Fabien Chouteau
2020-07-29 15:02                 ` DrPi
2020-07-29 15:11                   ` Fabien Chouteau
2020-07-29 20:41                     ` DrPi
2020-07-29  9:20           ` DrPi
2020-07-29 16:53             ` Simon Wright
2020-07-29 20:42               ` DrPi
2020-07-25  8:47 ` Niklas Holsti
2020-07-25  9:36   ` Stéphane Rivière
2020-07-25 10:41 ` Luke A. Guest
2020-07-25 14:43 ` Jesper Quorning
2020-07-25 19:20 ` Andreas ZEURCHER
2020-07-27  7:40   ` Stéphane Rivière
2020-07-27 15:00     ` nobody in particular
2020-07-27 14:58   ` nobody in particular
2020-07-27 20:28 ` Shark8
2020-07-30  0:57 ` gdotone
2020-07-31 14:01   ` Shark8
2020-09-23 17:39   ` Olivier Henley
2020-09-25 15:06     ` DrPi
2020-09-25 17:31       ` Andreas ZEURCHER
2020-09-26  8:50         ` DrPi
2020-09-03 10:32 ` c+
2020-09-12  4:30 ` sumde121
2020-09-19 14:09 ` erchetan33

comp.lang.ada

Archives are clonable: git clone --mirror https://archive.legitdata.co/comp.lang.ada

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git