Live data from Hacker News

How to avoid a BSOD on your 2B dollar spacecraft

clarkwakeland.com

41–50 of 160 posts

Re: How to avoid a BSOD on your 2B dollar spacecraft

#42

Thee are a bunch of comments here asking why one would run Windows on a spacecraft. I am a spacecraft engineer. I don’t see anything in the linked article indicating that they are actually running Windows - the BSOD claim is tongue-in-cheek, or at least that’s how I read it. I also don’t know of anyone anywhere that runs Windows on a spacecraft, with the exception of laptops used by astronauts. Typically one runs vxW…

Seconding the vxWorks and bare metal. Never seen Windows or Linux on a satellite bus. Haven't really touched payloads but I've seen some wonky things shipped to orbit by universities and not all them have been cubesat student projects.

Re: How to avoid a BSOD on your 2B dollar spacecraft

#44

Thee are a bunch of comments here asking why one would run Windows on a spacecraft. I am a spacecraft engineer. I don’t see anything in the linked article indicating that they are actually running Windows - the BSOD claim is tongue-in-cheek, or at least that’s how I read it. I also don’t know of anyone anywhere that runs Windows on a spacecraft, with the exception of laptops used by astronauts. Typically one runs vxW…

Linux(with realtime patch) is used very heavily in spacecraft by Spacex. So both in terms of high visibility/important/danger (dragon 2) and high count (starlink) it is very widely used.

citation https://old.reddit.com/r/spacex/comments/ncj4vz/we_are_the_s...

Re: How to avoid a BSOD on your 2B dollar spacecraft

#45
post #33

Earlier quoted context omitted.

No, but you can review the source code before (or at any point), whereas with Windows, you cannot even do that.

windows is source-available if you have deep enough pockets: https://www.microsoft.com/en-us/sharedsource/enterprise-sour...

I have not heard of anyone building their own, custom Windows though, how common is it? I do not see Windows forks around either (I get it, it would not be legal).

Re: How to avoid a BSOD on your 2B dollar spacecraft

#46

Earlier quoted context omitted.

No, but you can review the source code before (or at any point), whereas with Windows, you cannot even do that.

I've occasionally worked on drivers for windows and linux. In either case, I didn't really need to read the source code; neither was it a valuable proposition. If the advertised API didn't do what it was supposed to, I likely wouldn't have understood enough to fix it: and this is my point. Just because you can read it, doesn't mean you can or will be able to actually fix it; not because of technicality, but because o…

I mean, I agree, I am just saying that it is better (in general) to have the source than not having it.

Re: How to avoid a BSOD on your 2B dollar spacecraft

#48
post #11

Earlier quoted context omitted.

windows is source-available if you have deep enough pockets: https://www.microsoft.com/en-us/sharedsource/enterprise-sour...

Does Microsoft also provide you the tools to build it? I assume there are many Microsoft internal tools, libraries, etc required to compile anything of note. Presumably it has been dog fooded for so long it would be impossible to bootstrap without some number of binary artifacts in hand.

I feel like this misses the point so much that it might as well be nonsense.

A better way to put my argument is: could an average mom build Linux on specialized hardware in space? If the answer is "yes", then you may have a point.

I don't think the answer is yes.

Re: How to avoid a BSOD on your 2B dollar spacecraft

#49

Author here: I should clarify the satellite is not running Windows. Instead, it’s running its own custom OS written in C called Flight Software (FSW) specifically designed for the satellite onboard computer. Re-reading the post, I see how the title, my analogies, and poor attempts at humor would give the incorrect description of what’s happening with the satellite when it enters safemode. I’ll amend the post soon. Th…

Could I ask you to clarify why avoiding safemode is so important? In a non satellite system safemode means everything is driven to a safe state which is fine during testing in the lab. Also do you not run these tests in an even more simulated environment where there is only the flight computer and no real hardware at all?

Having discussed this same question with the more experienced members of my team, the only conclusion I can draw is that the customer (US Government) is incredibly risk averse. Any unexpected entry into safemode would require a report, multiple meetings with the customer, and them being pretty angry. Their line of reasoning seems to be "Safemode->Something is wrong->Why is something wrong? We're not paying you to be wrong". I'm personally of the opinion that safemode isn't that bad. It's fully recoverable and shows the system is working properly.

We normally have a Functional Test Assembly (real computer and some other hardware for testing) to run our tests against, but we only have one setup and it is consistently unreliable. This particular CLT was unable to get a clean run in the lab but it was decided that the issues were related to the lab setup rather than the actual test, so we moved forward to run on the satellite (against our team's protests).

This to me is the real crux of the issue: if we can't even trust our own testing environment, what's the point of having it at all? If the customer is so risk averse, why would we take this chance? Needless to say, I don't think we'll be running anything on the satellite without full FTA vetting anytime in the near future.

Re: How to avoid a BSOD on your 2B dollar spacecraft

#50

Earlier quoted context omitted.

I've occasionally worked on drivers for windows and linux. In either case, I didn't really need to read the source code; neither was it a valuable proposition. If the advertised API didn't do what it was supposed to, I likely wouldn't have understood enough to fix it: and this is my point. Just because you can read it, doesn't mean you can or will be able to actually fix it; not because of technicality, but because o…

I mean, I agree, I am just saying that it is better (in general) to have the source than not having it.

How so?

I once spent three days trying to figure out an issue, stepping line by line through hadoop (after figuring out the issue was in hadoop and not my own code). Yay, I proved the issue was actually in Java itself. Guess what happened next? We avoided the bug. Why?

- We couldn't update Java.

- We couldn't change hadoop because we were using a packaged solution. So, we just filed a bug with them.

Had the source not been available, we would have just skipped all of that, and it would have been our vendor's problem 3 days earlier.

Post reply on HN