¿La mayoría de los satélites estadounidenses todavía funcionan en un sistema informático basado en DOS?

TL, DR; Los satélites casi seguramente no funcionan en MS-DOS, no sería apropiado o útil para lo que hacen los satélites.

Primero: la mayoría de los satélites son dispositivos integrados que utilizan un ASIC personalizado para operar un conjunto muy básico de sistemas. La mayoría de los satélites son mucho más tontos de lo que piensas, la mayoría de los satélites de comunicaciones son solo relés pasivos que cuelgan naturalmente en el espacio en la posición correcta para permanecer en su mayoría allí. La función más compleja que debe realizar un satélite es parte del sistema TT&C (telemetría, seguimiento y control). Aquí es donde la nave espacial envía información a la Tierra sobre su estado (estado de la batería, temperaturas, estado / posición del panel solar y estado de la carga útil) y recibe comandos de la Tierra para cambiar ciertos parámetros.

Muy poco sucede de manera inteligente / automática y cualquier cambio / comando debe considerarse con mucho cuidado. Los comandos más importantes y peligrosos son aquellos que tienen que ver con el control de posición / actitud y deben planificarse con mucho cuidado. Debido a que una órbita de satélites es muy predecible y hay muy pocas posibilidades de que golpee algo, no tiene que bailar mucho, pero una vez cada diez días o dos semanas un satélite geoestacionario se habrá desplazado lo suficiente dentro de su ranura orbital (que es un cubo virtual de espacio) que necesita un pequeño empujón hacia atrás. Este pequeño empuje es proporcionado por los propulsores a bordo que proporcionan una pequeña cantidad de fuerza solo para guiarlo suavemente hacia su posición (piense en ello como soplar en un globo de juguete para moverlo un poco). Se envía un conjunto simple de comandos al satélite para encender sus motores durante un período específico de tiempo.

Por lo tanto, los satélites procesan muy poco día a día en comparación con los sistemas informáticos a los que está acostumbrado. Pero debido a que cuestan grandes cantidades de dinero y no puedes repararlos, no quieres que nada salga mal. Así que hacen las cosas muy simples y tienen muchos sistemas a prueba de fallas para prevenir accidentes. Muchas naves espaciales usan CPU muy simples endurecidas por radiación, tal vez emparejadas con FPGAs o DSPs rad-hard. Pero las CPU rad-hard más comunes son núcleos MIPS simples: Procesadores Rad-Hard: espacio porque se han estudiado ampliamente y se ha hecho un gran esfuerzo para hacerlos confiables en lugar de rápidos.

Con solo 100 DMIPS no puede ejecutar nada demasiado complejo y desea que las cosas funcionen de manera muy consistente. DOS no es un sistema operativo consistente, en cambio, desea algo en el que se pueda predecir cada ciclo de reloj y cada acción ocurra exactamente cuando lo espera. El tipo más común de sistema operativo para sistemas integrados de alta confiabilidad es el RTOS.

Vale la pena mirar este documento para obtener más información: http://users.wmin.ac.uk/~beusdul…

Sobre el tema de la actualización: si no está roto, no lo arregles. ¿Cuál es la posibilidad de falla al hacer una actualización de software? Si su satélite cuesta $ 200 millones y su negocio de $ 1 mil millones depende de ello, ¿por qué arriesgaría algo? Recuerde, no puede reparar esto si comete un error y la actualización probablemente no le dará ninguna ventaja.

Sin DOS. He trabajado con pequeños satélites. Para aquellos con cargas útiles realmente simples, el software es a menudo un sistema “básico”, es decir, todo el software está escrito para ese satélite. Trabajo en ejemplos del resto, que se ejecutan en el kernel de Linux. Algunas opciones además de eso son:

  • Distribuciones personalizadas (distribuciones de software), a menudo creadas con Buildroot
  • Ubunto (o eso he escuchado)
  • Android (realmente mucha más carga de la que realmente quieres)

El hardware no se puede actualizar, ¿cómo haría eso? Pero el software sí. De hecho, los tiempos de lanzamiento son tan críticos, que las compañías incluso planean lanzar con una base de software confiable que puedan hacer antes del lanzamiento, y luego cargar el resto del software en órbita. Esto ayuda a reducir el costo del desarrollo de software, que es significativo.