Earlier quoted context omitted.
>The biggest issue with all of these "write a new operating system in my favorite language X" (where X is Ada, C, C++, D, Rust, etc) is that in almost all cases the operating system design slowly morphs into a buggy, half-baked version of an existing operating system. The whole point of writing a new OS in a language that prioritizes memory safety and provable correctness, like Ada or Rust, is specifically to explore…
I agree that using a safe language is a necessity, especially for safety critical environments and to ensure better security. But a safe language alone does not ensure a good design. Ada is a great language (although strings are a bit of a pain), but that alone will not ensure a good operating system design. POSIX is a great standard, but it is too tightly coupled with C. If a similarly mature and open Ada-based stan…
The AdaOS Operating System (2000)
51–56 of 56 posts
Re: The AdaOS Operating System (2000)
#52Earlier quoted context omitted.
I agree that using a safe language is a necessity, especially for safety critical environments and to ensure better security. But a safe language alone does not ensure a good design. Ada is a great language (although strings are a bit of a pain), but that alone will not ensure a good operating system design. POSIX is a great standard, but it is too tightly coupled with C. If a similarly mature and open Ada-based stan…
There's an official Ada binding for POSIX.
I am aware of Interfaces.C and the non-standard but highly-useful GNAT.OS_Lib. Any others would be nice to know about.
POSIX is a mature set of APIs and designs, but it is C-centric. It is an impedance mismatch discards many of the advantages of using Ada in the first place.
Re: The AdaOS Operating System (2000)
#53Earlier quoted context omitted.
There's an official Ada binding for POSIX.
Do you have a link to the documentation? I am aware of Interfaces.C and the non-standard but highly-useful GNAT.OS_Lib. Any others would be nice to know about. POSIX is a mature set of APIs and designs, but it is C-centric. It is an impedance mismatch discards many of the advantages of using Ada in the first place.
Re: The AdaOS Operating System (2000)
#54I was just looking at this recently, funnily enough, while looking for other examples of x86 Operating-System development in Ada. Here are a few other examples of Operating-System development in Ada, in various levels of completion. - https://github.com/ajxs/cxos - https://github.com/Lucretia/bare_bones - https://marte.unican.es/todo.htm - https://sourceforge.net/projects/lovelaceos/ - https://sourceforge.net/project…
Re: The AdaOS Operating System (2000)
#55Earlier quoted context omitted.
Do you have a link to the documentation? I am aware of Interfaces.C and the non-standard but highly-useful GNAT.OS_Lib. Any others would be nice to know about. POSIX is a mature set of APIs and designs, but it is C-centric. It is an impedance mismatch discards many of the advantages of using Ada in the first place.
http://www.cs.fsu.edu/~baker/florist.html / http://sourceforge.net/projects/gnat-florist/ It's a standard.
Re: The AdaOS Operating System (2000)
#56https://cs.uwaterloo.ca/~Brecht/courses/702/Possible-Reading...