OS development Questions
OS development Questions
Exist a OS develop in ADA, or other language not C or ASM?
What OS source code it?s easy to understand?
Thanks
What OS source code it?s easy to understand?
Thanks
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:OS development Questions
http://marte.unican.es/ seems to be an ADA-written OS, but this doesn't means anything to me ...
Re:OS development Questions
Hi,
I know one in "Pascal" listed in a book on `Operating Sytems` by Milenkovic.
Its readable enough and easy to understand.
I know one in "Pascal" listed in a book on `Operating Sytems` by Milenkovic.
Its readable enough and easy to understand.
Re:OS development Questions
As was said above, MaRTE OS is fact written in ADA. Also, check out AdaOS at (last time I checked the site was down):
http://www.adaos.org
If it is also down for you, check info on it (along with a bootable floppy image) at:
http://web.wanadoo.be/rc.s/AdaOS/
http://www.advogato.org/proj/AdaOS/
http://www.adaos.org
If it is also down for you, check info on it (along with a bootable floppy image) at:
http://web.wanadoo.be/rc.s/AdaOS/
http://www.advogato.org/proj/AdaOS/
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:OS development Questions
Is there a special ADA feature that makes it a good language for OS development ?
Re:OS development Questions
Yes and no. No one feature of the language makes it excell t OS development, but the language as a whole is meant to support low-level coding in a high-levl environment. This is both a good and a bad thing.Pype.Clicker wrote: Is there a special ADA feature that makes it a good language for OS development ?
Ada was designed to be an efficient, flexible and reliable langauge for programming embedded systems in. Programmers familiar with the language always find this claim to be immensely funny.
The good news is, Ada is powerful, and highly modular, and has features like exception handling, rendevous based multitasking, and methods for direct hardware interfacing.
The bad news is, Ada is huge, and awkward to code in. It is among the largest languages ever designed - indeed, it is one of the most complex designs of any kind in human history - and it is very difficult to compile efficiently. Ada executables are often considerably larger and slower than the equivalent in other languages.
It is also verbose - it was designed with the idea that it was more important to be complete than concise, and thus has some of the longest built-in names in any language, comparable to those in Common LISP.
It is, in other words, a language designed by committee, based on the prevailing theories of software engineering rather than on the actual experience of desiging and implementing programs. It is in some ways an amazing piece of work, but it is also a huge set of compromises and it shows.
Some programmers love Ada; others - the majority - think it is a typical Defense Dept. SNAFU. The best that can be said about it (as C.A.R. Hoare put it) is that there is a good small language hidden in it crying to get out. It certainly has it's own sort of elegance (like, say, a nuclear-powered aircraft supercarrier does), but it is not a language suited for the casual hacking most programers favor. YMMV.
Re:OS development Questions
In principle, any language can be used to write an OS in. There are some rather serious limits on which ones are suitable for it in practice. However, even interpreted languages such as LISP, Smalltalk or FORTH, have been used to write OSes, as have bytecode-interpreted languages such as Java and UCSD Pascal.
The main issues that need to be addressed are efficiency (will the compiled or interpreted code run fast enough in a small enough memory); low-level access to the hardware and/or the assembly language; stability (will it run without crashing); and modularity (can new hardware be supported, can it run user programs effectively, etc.). Which of these are most important are design tradeoffs you'd have to consider yourself, as the OS developer.
The main issues that need to be addressed are efficiency (will the compiled or interpreted code run fast enough in a small enough memory); low-level access to the hardware and/or the assembly language; stability (will it run without crashing); and modularity (can new hardware be supported, can it run user programs effectively, etc.). Which of these are most important are design tradeoffs you'd have to consider yourself, as the OS developer.
Re: Re:OS development Questions
Another old thread, but just in case a newbie comes to this thread/Ada and reads this bullshit, it needs to pointed out that all these points are complete fallacies:Schol-R-LEA wrote:The good news is, Ada is powerful, and highly modular, and has features like exception handling, rendevous based multitasking, and methods for direct hardware interfacing.Pype.Clicker wrote: Is there a special ADA feature that makes it a good language for OS development ?
The bad news is, Ada is huge, and awkward to code in. It is among the largest languages ever designed - indeed, it is one of the most complex designs of any kind in human history - and it is very difficult to compile efficiently. Ada executables are often considerably larger and slower than the equivalent in other languages.
It is also verbose - it was designed with the idea that it was more important to be complete than concise, and thus has some of the longest built-in names in any language, comparable to those in Common LISP.
It is, in other words, a language designed by committee, based on the prevailing theories of software engineering rather than on the actual experience of desiging and implementing programs. It is in some ways an amazing piece of work, but it is also a huge set of compromises and it shows.
- "Rendevous based multitasking" is Ada83, Ada95 has had protected objects for tasking features, I'm not sure what Ada 2012 has added.
- Executables are not considerably larger."
- It wasn't designed to be complete rather than concise - it was designed to be readable as source is read more than written.
- It was not designed by committee, it was designed by 1 man, Jean Ichbiah whilst working for Honeywell in France, this was 1 "group" (known as "green") who submitted a design to the DOD, there were other groups who were not successful.
Luke.
Re: OS development Questions
You've got to wonder what sort of fanatic revives a 10-year old thread. (Still, I suppose that I'm just as bad.)
The fact is that Ada is not a popular language for OS development, so the niceties of why hardly matter.
The fact is that Ada is not a popular language for OS development, so the niceties of why hardly matter.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: OS development Questions
Not wrong. no reason to complain.The good news is, Ada is powerful, and highly modular, and has features like exception handling, rendevous based multitasking, and methods for direct hardware interfacing.
Did you by chance forget to account for the runtime - you know - all the files that are not of the binary itself?Executables are not considerably larger.
Which is the same essence as what he said - being verbose.It wasn't designed to be complete rather than concise - it was designed to be readable as source is read more than written.
As for the committeeWikipedia on design by committee wrote:Often, when software is designed by a committee, the original motivation, specifications and technical criteria take a backseat and poor choices may be made merely to appease the egos of several individual committee members. Such products and standards end up doing too many things or having parts that fit together poorly
And for you:Wikipedia on ADA wrote:This proposal was influenced by the programming language LIS that Ichbiah and his group had developed in the 1970s.
In other words, are you necroing to troll? seriously? This is not the way to get bonus points for your favourite language.Forum rules wrote:programming language battles have been fought many times and resulted in a draw every single time. After you've written a post, check to see if it's polite, professional and helpful; and if it's not then it'd be wise to rewrite it or delete it instead of sending it