Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday June 05 2020, @09:33PM   Printer-friendly
from the powered-by-systemd? dept.

From Earth to orbit with Linux and SpaceX

SpaceX's Crew Dragon [...] successfully delivered NASA astronauts Bob Behnken and Doug Hurley into orbit. Taking them was SpaceX's reusable Falcon 9, powered by rocket fuel and Linux.

Like supercomputers, Internet of Things (IoT) devices, and many mission-critical devices, the Falcon 9 flies with Linux. SpaceX's software engineers explained several years ago how the Falcon 9 programming works.

[...] The Falcon 9's onboard operating system is a stripped-down Linux running on three ordinary dual-core x86 processors. The flight software itself runs separately on each processor and is written in C/C++.

[...] Because the first stage of the Falcon 9 lands itself, its chips don't need to be radiation hardened.

[...] as explained on StackExchange Space Exploration, SpaceX uses an Actor-Judge system to provide safety through redundancy. In this system, every time a decision is made, it's compared to the results from the other cores. If there's any disagreement, the decision is thrown out and the process is restarted. It's only when every processor comes up with the same answer that a command is sent to the PowerPC microcontrollers.

[...] The point of this triple "tell-me three times" redundancy is to give the fault tolerance it needs without having to pay for expensive space-specific chips. Modern planes, like the newer Airbus planes, use a similar approach in their fly-by-wire systems.

The Dragon spacecraft also runs Linux with flight software written in C++. The ship's touchscreen interface is rendered using Chromium and JavaScript. If something were to go wrong with the interface, the astronauts have physical buttons to control the spacecraft.

Chromium and JavaScript are used for the Dragon 2's interactive displays -- with 100% test coverage.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by Snotnose on Saturday June 06 2020, @12:41AM (1 child)

    by Snotnose (1623) on Saturday June 06 2020, @12:41AM (#1004020)

    Back in '00 or so I was working with 2 companies for embedded Linux, Monte Vista is the one I remember. I remember working with a guy working for a company in Los Angeles trying to get Linux running on an SH-4, we were both using Monte Vista code and working with them on the port. There was a chunk of kernel code I flat out could not figure out, he did. And wouldn't tell me the secret sauce. Once he figured it out the relationship between our 2 companies went into the toilet, and, after 4-5 months of close collaboration, I never heard from them again.

    Fast forward to, I dunno, '03? Was consulting and got a job for embedded Linux. Problem was, the company was wedded to a processor (PIC) that was the absolute low end, but some guy in England had ported a TCP/IP stack to it. Problem was, the stack switched connections to the last IP that it heard from. So if you made a connection, then someone else pinged it, the connection switched to the pinger's IP. I got really good with Steven's first TCP/IP book fixing that. Their hardware guy was actually a 60's relic who had never even used a logic analyzer (hella nice guy, Larry was into model trains and his setup was awesome. But, talk about being 20 years behind tech) and they finally fired him, leaving me in charge of developing the board our stuff would run (a software guy that understood hardware on the debug level, no clue on development) on (this board would be in basically PoS terminals, cheap and plentiful). I looked around and saw several boards running a full Linux stack for about $120, but no, we had to have a board running a PIC because, dang, we've been working on that for over a year. I oversaw development of the hardware via a 3rd party company. The 3rd party company was awesome, but the result sucked donkey balls. Not because their solution sucked, but it was something like $500k development plus $1200 per board. Did I mention that 5 months earlier I'd found boards that ran full Linux for about $120 per board? Yeah, I'm kinda pissed off at management at that company and mention it every chance I get. Fun fact: I called the board Pinky, and it got engraved on the board. Why? Because it wasn't smart enough to be the Brain. I still have a prototype Pinky on a shelf.

    Fast forward to '04, working for a startup that was trying to beat 802.11g to standard. Everything was embedded Linux. We were doing a wireless chip for whatever, our secret sauce was you could choose which streams had highest priority. Everything was standard networking, then I discovered the TUN/TAP Linux interface. Basically, I would look at every packet going out, and inspect every packet coming in. To the packets going out I added our unique header, to those coming in I deleted those headers. Worked like a champ, with maybe a day of me researching and implementing.

    The point is embedded Linux has not only been a thing, but a rock solid thing, for a good 15-20 years now. I've worked with pSos, VxWorks, and I don't remember how many other embedded RTOS systems. Linux seems to have taken over all of them.

    --
    Why shouldn't we judge a book by it's cover? It's got the author, title, and a summary of what the book's about.
    Starting Score:    1  point
    Moderation   +4  
       Interesting=4, Total=4
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 0) by Anonymous Coward on Saturday June 06 2020, @09:10AM

    by Anonymous Coward on Saturday June 06 2020, @09:10AM (#1004129)

    The point is embedded Linux has not only been a thing, but a rock solid thing, for a good 15-20 years now.

    Have a TV in last decade or two? It has Linux inside. It even says so in the manual. I bought an LG TV in 2006. It had Linux inside.

    As for PIC processors, it's fine for some things but it's shit for others. PIC are for real simple devices that do one thing only. For example, you can have PIC sitting on an I2C bus checking some input device. But if you need network anything, it's probably not the thing for you unless you want to have a really specific network implementation that ignores most of the incoming packets. Think DOS network driver from 1980s ;)