6

I, like many others, have been completely enamored with the recent successful landing of Mar's Curiosity rover. After reading a couple of articles, and following a few links, I've found a couple C based coding standards that NASA JPL uses to formalize their code and protect it from error. (See here and here.)

This has me curious. Are there any open-source operating systems available that adhere to these coding standards that are available for common architecture, such as x86, x64 or possibly ARM?

2
  • 95% of that standard is straight from MISRA-C and only concerned with C language mechanisms. So I don't quite see why you would need a special OS to conform with it.
    – user29079
    Aug 8, 2012 at 12:39
  • Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
    – gnat
    Aug 20, 2013 at 21:27

1 Answer 1

2

I don't know of an operating system explicitly developed with the rules mentioned in mind but according to a press release by Wind River VxWorks is used as an embedded Operating System.

The great benefit of these coding rules is that they simplify the code review process and formalize the environment. Some operating systems like Linux have coding style guidelines but they typically only cover syntax and don't have such rigid rules and they are probably not as closely reviewed as the code of NASA.

Some of the rules are also only relevant for embedded systems like no dynamic memory after initialization, or may cause problems like the need for IPC instead of functions pointers (this is especially true for operating systems).

An interesting open-source operating system is eCos as you can configure the parts of your OS, e.g. you can explicitly choose what parts you want to include in your system, POSIX compatibility, BSD sockets, TCP/IP stack...

Not the answer you're looking for? Browse other questions tagged or ask your own question.