Slashdot Mirror


Operating Systems Used In Space?

tik asks: "I'd be really thankful if anyone could tell me what OS's are used in Space (i.e. ISS, MIR, Space Shuttle, Satellites). I have tried finding out myself, but alas have not been able to locate anything worthwhile. Since I am realy curious on the subject I'd appreciate any comment or help." Which operating systems have braved the final frontier and how well did they fare?

3 of 24 comments (clear)

  1. VxWorks/GNU is the RTOS/CC of choice for most new by BitMan · · Score: 5

    [ Note: I was a Software Engineer at Coleman Aerospace for 3 years ]

    Many of the early computers in ballistic missiles and space probes borrowed heavily from the military. Much of the gyros and computing systems were produced by Bendix for the Department of Energy (according to various public documents from about a year ago, Bendix development is still located at the DoE's Kansas City Plant). In case you aren't familiar with how the government works, the DoE was and still is the non-military, government agency tasked with the creation of numerous components of our nuclear arms technology (as well as their normal energy details, a natural tandem role). Looking at their "most advanced computer" in the early 1980s (the Bendix 930 in the Pershing II MRBM), you essentially had a 16-bit CPU and database with 64KB of memory on various cards in a wire-wrapped backplane. And, yes, all the target code for these machines are done in assembler.

    Today, both the military and NASA contractors "better, faster, cheaper" attitude of using off-the-shelf hardware, tools and software revolves mainly around the VME architecture (usually for 68300 and, increasingly, PowerPC boards -- military spec/hardening) with WindRiver's VxWorks RTOS. VxWorks is heavily BSD 4.3-based OS with response times in the tens of microseconds (on a 40-50MHz processor). Development is done using GNU development tools using a customized Cygnus GNUPro (now under RedHat's services group) product called Tornado (customized for WindRiver by Cygnus) so it can target various VxWorks architectures with Linux, Solaris and Windows being the most popular host development platforms. [ I personally found Windows to be a real pain if you also install Visual Studio on the same system because which tries to take over your system -- have to be careful you run the right make, etc... binary ].

    A well-known 68K/VxWorks-based mission was the Mars Pathfinder. Today, the combo is used in a wide variety of launch and space vehicles. At my former employer, we used it for our ballistic target and booster vehicles for the military and LEO (low earth orbit) launch vehicles for NASA (and they continue to do so). A future mission to the outer planets will be PPC/VxWorks-based, all written with the GNU development system. [ Since Linux nor most other general-purpose OSes cannot guarantee such "hard" real-time response times (let alone no Windows platform can seem to deliver even deliver any "soft" real-times either), it is my hope that Cygnus' (now RedHat's) eCos takes off and cuts into VxWorks' market in the next 5 years). ]

    Which brings me to my final point: I think people get caught up with the whole this OS versus that OS issue when the argument should be GNU development versus Microsoft Visual development for "mission critical" purposes. The GNU cross-compilers and tools allow you to target dozens of platforms and massive code reuse whereas Microsoft changes its Visual Studio products on a whim. I mean, it's really harder to port Windows code just for a version change than it is to port to another, completely different architecture with GNU. I personally don't see why Windows developers put up with it because Cygnus makes some damn good IDE and tools for development.

    Personally, I think the best remedy for the whole DOJ v. Microsoft trial would be to force Microsoft to support GNU-based development tools for the Windows platform (both target and host) -- and set a time-frame in which they would have to drop their current, non-GNU-based Visual product (e.g., 5 years). This would do several things: actually force the documentation of the API, thus increase overall stability of the Windows platform, finally address multi-user ignorance as the main problem with Windows security (98% of even Microsoft's own applications are multi-user ignorant!), and many, many other benefits to the developers as well as the consumer. Of course no one in the trial has the forsight to see this as the best remedy, and I seriously doubt we will see any discussion of it either.

    -- Bryan "TheBS" Smith

    --
    -- Bryan "TheBS" Smith
    Independent Author, Consultant and Trainer
  2. WindRiver Systems claims MARS - JPL's precedence by BitMan · · Score: 3

    Here's the direct URL:
    http://www.wrs.com/products/html/jpl.html

    This JPL mission really set the "standard" on what COTS hardware and software could do. It is the main reason why VxWorks was so widely adopted by the rest of the Aerospace industry.

    -- Bryan "TheBS" Smith

    --
    -- Bryan "TheBS" Smith
    Independent Author, Consultant and Trainer
  3. Computers for Critical Systems by BigBlockMopar · · Score: 3

    Okay.

    I work for a major American defense contractor, and I therefore speak with some authority. Note that nothing I'm going to release is a trade secret or a federal secret.

    A lot of mission-critical stuff a few years ago was based on the Texas Instruments TMS9900 CPU chip, which is an old 16-bit processor that is basically a Texas Instruments TI-99000 minicomputer scaled down to a single 64-pin DIP. The most common place that you will find a TMS9900 these days, however, is in a TI-99/4A home computer sitting around in someone's closet.

    Lots of other older stuff used Z-80s. In fact, the control system for the NRX reactor (now decommissioned) at Canada's Chalk River Nuclear Laboratories was using a Z80 processor and core memory due to its relatively minimal vulnerability to the effects of ionizing radiation if something went wrong.

    Our more recent mission-critical stuff around the office uses either Motorola 68000s or Intel i960 processors, both of which are used as embedded processors running machine language off ROM chips. All the mission-critical (ie. radar, etc.) stuff appears to be written in assembly language, then (of course) assembled to machine language.

    That's not to say that a lot of stuff these days is written for Linux and other operating systems, but not with the stuff that I see on a daily basis.

    Besides, with the efficiency required to run a lot of the older processors that you have to use (because of their availability in industrial and military temperature ratings), all OS code must be lean and tight, generally written specifically for the application. Fault tolerance and real-time operation with a processor that people would laugh at having on a desktop are not an option, they are a requirement.

    Let's face it, if you're at war and the guidance computer in a cruise missile you've just fired goes down, you could blow up your allies, not your enemies.

    --
    Fire and Meat. Yummy.