ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Από τη Γη σε διαστημική τροχιά με Linux και το SpaceX

Στις 30 Μαΐου, το SpaceX‘s Crew Dragon, το πρώτο ιδιωτικό επανδρωμένο διαστημικό σκάφος  και η πρώτη αμερικανική επανδρωμένη  διαστημική πτήση μετά από εννέα χρόνια, μετέφερε επιτυχώς τους αστροναύτες της NASA Bob Behnken και Doug Hurley σε τροχιά. Η αποστολή τους έγινε με το επαναχρησιμοποιήσιμο Falcon 9 του SpaceX, που τροφοδοτείται από καύσιμα,  πυραύλους και Linux.

Όπως οι υπερυπολογιστές, οι συσκευές Internet of Things (IoT) και πολλές κρίσιμες για την αποστολή συσκευές, το Falcon 9 πετά με Linux. Οι μηχανικοί λογισμικού της SpaceX εξήγησαν πριν από αρκετά χρόνια πώς λειτουργεί ο προγραμματισμός Falcon 9.

Εκείνη την εποχή, οι προγραμματιστές είπαν:

«Η ομάδα του λογισμικού πτήσης είναι περίπου 35 άτομα. Γράφουμε όλο τον κώδικα για τις εφαρμογές Falcon 9, Grasshopper και Dragon, και κάνουμε τη βασική πλατφόρμα να λειτουργεί και σε αυτά τα οχήματα. Επίσης γράφουμε λογισμικό προσομοίωσης. δοκιμάζουμε τον κώδικα της πτήσης και γράφουμε το λογισμικό επικοινωνιών και ανάλυσης, που αναπτύσσεται στους επίγειους σταθμούς μας. Εργαζόμαστε επίσης στο Mission Control για την υποστήριξη ενεργών αποστολών. «

Το ενσωματωμένο λειτουργικό σύστημα Falcon 9 είναι ένα απογυμνωμένο Linux που λειτουργεί σε τρεις συνηθισμένους επεξεργαστές x86 διπλού πυρήνα. Το ίδιο το λογισμικό πτήσης εκτελείται ξεχωριστά σε κάθε επεξεργαστή και είναι γραμμένο σε C / C ++.

Συνηθισμένους? Ναι, συνηθισμένους. Βλέπετε, οι CPU των διαστημικών σκαφών απέχουν πολύ από τις νεότερες εκδόσεις. Αναπτύσσονται για διαστημόπλοια, τα οποία χρειάζονται χρόνια – ακόμη και δεκαετίες – για να πάνε από τον σχεδιασμό στη εκτόξευση.  Για παράδειγμα, ο Διεθνής Διαστημικός Σταθμός (ISS) λειτουργεί σε επεξεργαστές Intel 80386SX 20 MHz του 1988. Δεν ξέρουμε, ωστόσο, τι τσιπ χρησιμοποιεί το Falcon 9. Οι πιθανότητες είναι, ωστόσο, ο σχεδιασμός τους είναι τουλάχιστον μια δεκαετία παλαιότερος από αυτό που θα αγοράζατε με έκπτωση σήμερα

Φυσικά, ενώ αυτά τα αρχαία τσιπ λειτουργούν για την αποπολυπλεξία πολλαπλών πολυμερών εντολών και ελέγχου του σταθμού (C&C MDM), δεν είναι πολύ καλά για οτιδήποτε άλλο. Για συνηθισμένη καθημερινή εργασία, οι αστροναύτες χρησιμοποιούν το HP ZBook 15s που τρέχει Debian Linux, Scientific Linux,και Windows 10. Τα συστήματα Linux λειτουργούν ως απομακρυσμένα τερματικά στο C&C MDM, ενώ τα συστήματα Windows χρησιμοποιούνται για email, στο διαδίκτυο, και διασκέδαση.

Συνήθως όμως, τα chips που πηγαίνουν στο διάστημα δεν είναι συνηθισμένες chips. Οι επεξεργαστές που παραμένουν στο διάστημα πρέπει να έχουν σκληρυνθεί με ακτινοβολία. Διαφορετικά, τείνουν να αποτυγχάνουν λόγω των επιδράσεων της ιονίζουσας ακτινοβολίας και των κοσμικών ακτίνων. Αυτοί οι προσαρμοσμένοι επεξεργαστές υποβάλλονται σε χρόνια σχεδιαστικής εργασίας και στη συνέχεια σε περισσότερα χρόνια δοκιμών προτού πιστοποιηθούν για διαστημικές πτήσεις. Για παράδειγμα, η NASA αναμένει από τον επεξεργαστή γενικής χρήσης επόμενης γενιάς, μια παραλλαγή ARM A53 που ίσως γνωρίζετε από το Raspberry Pi 3, να είναι έτοιμο να χρησιμοποιηθεί το 2021.

Γιατί τρεις επεξεργαστές; Αυτό συμβαίνει επειδή, όπως εξηγείται στο StackExchange Space Exploration, , το SpaceX χρησιμοποιεί ένα σύστημα Actor-Judge για να παρέχει ασφάλεια μέσω πλεονασμού. Σε αυτό το σύστημα, κάθε φορά που λαμβάνεται μια απόφαση, συγκρίνεται με τα αποτελέσματα από τους άλλους πυρήνες. Εάν υπάρχει οποιαδήποτε διαφωνία, η απόφαση απορρίπτεται και η διαδικασία ξαναρχίζει. Μόνο όταν κάθε επεξεργαστής εμφανίζει την ίδια απάντηση που αποστέλλεται μια εντολή στους μικροελεγκτές PowerPC.

Αυτοί οι ελεγκτές, οι οποίοι καλούν τις λήψεις για τους κινητήρες πυραύλων και τα πτερύγια πλέγματος, λαμβάνουν τρεις εντολές από καθέναν από τους επεξεργαστές x86. Εάν και οι τρεις συμβολοσειρές εντολών είναι ίδιες, τότε ο μικροελεγκτής εκτελεί την εντολή, αλλά εάν ένα από τα τρία είναι λάθος, ο ελεγκτής ακολουθεί την τελευταία προηγούμενη σωστή εντολή. Αν τα πράγματα πάνε εντελώς άσχημα, το Falcon 9 αγνοεί τις εντολές του τσιπ που δεν ταιριάζουν.

Το πλεονέκτημα αυτού του τριπλού πλεονασμού «τρεις φορές» είναι να δώσει την ανοχή σφαλμάτων που χρειάζεται χωρίς να χρειάζεται να πληρώσει για πανάκριβα chips . Τα σύγχρονα αεροπλάνα, όπως και τα νεότερα αεροσκάφη Airbus, χρησιμοποιούν παρόμοια προσέγγιση στα συστήματα πτήσης από καλώδιο.

Πολύ πριν την πτήση, το SpaceX δοκιμάζει το λογισμικό και το υλικό πτήσης σε ένα τραπέζι. Εκεί, μπορούν να εκτελέσουν προσομοιώσεις πτήσεων, με καταστροφικές αποτυχίες, χωρίς να χάσουν έναν πύραυλο.

Το διαστημικό σκάφος Dragon τρέχει επίσης Linux με λογισμικό πτήσης γραμμένο σε C ++. Η διεπαφή οθόνης αφής του πλοίου αποδίδεται χρησιμοποιώντας Chromium και JavaScript. Αν κάτι πάει στραβά με τη διεπαφή, οι αστροναύτες έχουν φυσικά κουμπιά για τον έλεγχο του διαστημικού σκάφους.

Λοιπόν, χάρη -εν μέρει- στο Linux, το επανδρωμένο διαστημόπλοιο επέστρεψε στις ΗΠΑ. Και, φαίνεται ότι οι πιγκουίνοι μπορούν να πετάξουν, με επαρκή δύναμη πυραύλων πίσω τους.

Πηγή άρθρου: https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex/

Leave a Comment