In today's world, where we are used to working with millisecond latencies across thousands of kilometers, just to be able to do something with latency of minutes to tens of hours, boggles my mind!
Amazing accomplishment of humankind!
In today's world, where we are used to working with millisecond latencies across thousands of kilometers, just to be able to do something with latency of minutes to tens of hours, boggles my mind!
Amazing accomplishment of humankind!
a Japanese holdout who did not surrender at the war's end in August 1945. After the war ended Onoda spent 29 years hiding out in the Philippines until his former commander travelled from Japan to formally relieve him from duty by order of Emperor Shōwa in 1974.
From the little I understand, these chips behave a quite a bit different than the types of stuff we work with. For one, you have to assume that your programs will be corrupted via cosmic rays causing bit-flips. Chips are slower and more rigorous as a result.
This being HN, there may be a person on here that can speak more to program design with space rated hardware. I'd love to learn a bit more!
Modern computing is all complementary mosfet based. You have a transistor to pull the signal up quickly, and a transistor to pull the signal down quickly.
The thing with CMOS is that, if both transistors turn on at the same time, it creates a short circuit. Depending on details of how the silicon was actually made, a short like that could either permanently cause damage, or it could just cause the circuit to transiently crap out until it reboots.
Exotic radioactive particles have a tendency to turn mosfets on when they smash into them. This can cause those sorts of short circuits. Some computers blow up, while others just stop working until power cycled.
In space, you obviously don't want to use the computers that blow up when that happens. If you use the computers that just transiently fail, then you generally need to have redundant computers able to keep the rest of the system running while they reboot the computer that failed. That does add a lot of software complexity, but at least the computers are relatively normal.
Transistors are less likely to be toggled by radiation the larger and more capacitive (slow to toggle) they are, so if you make a computer with big slow transistors, it will be unlikely to crap out even if a bunch of radiation is hitting it. That's handy because the software can actually be really simple. You just run your program and trust that it will be reliable enough to get it's job done.
Not all errant transistor flips cause a short circuit, they may just cause a miscalculation. Most of the calculations a computer does don't actually matter, and no one ever notices. It does mean the computer is slightly irrational, though, and that's bad for a computer. There's chips that have hardware support for detecting miscalculations and memory corruption. There's nothing particularly special about writing software for them. Typically you just need to implement an interrupt handler for when the hardware detects corruption, and you need to write a task that periodically reads every physical memory address so that the memory controller can proactively fix any bit flips in the memory.