Voyager 1 dotarł do przestrzeni międzygwiezdnej w sierpniu 2012 r. I jest najbardziej odległym z istniejących obiektów stworzonych przez człowieka. Wystrzelony wkrótce po swoim bliźniaczym statku kosmicznym, Voyager 2, w 1977 r., Voyager 1 badał układy Jowisza i Saturna, odkrywając nowe księżyce, aktywne wulkany i bogactwo danych o zewnętrznym Układzie Słonecznym.
Voyager 1 i 2 zostały zaprojektowane tak, aby wykorzystać rzadkie ustawienie planetarne, które występuje tylko raz na 176 lat i pozostaje najczęściej podróżowanym statkiem kosmicznym w historii. Oba statki kosmiczne posiadają rodzaj kapsuły czasu zwanej Golden Record, 12-calowym pozłacanym miedzianym dyskiem zawierającym dźwięki i obrazy wybrane do przedstawienia historii naszego świata istotom pozaziemskim.
Zakładam, że zdecydowana większość ludzi tworzących oprogramowanie do tych misji jest obecnie na emeryturze, ale w ciągu ostatnich 35 lat programowania, języki programowania były zaawansowane.
Tak więc wystartował w 1977 roku. Po 35 latach Voyager osiągnął przestrzeń międzygwiezdną. Ile jest wierszy kodu i w jakim języku jest napisany? Jaki był proces rozwoju tych misji (które są nadal aktywne) ?.
Więc jaki był większy plan z kodem w tej misji i w jakim języku napisana jest baza kodu?
Odpowiedzi:
(Edycja: 12.7.2017, rok później znalazłem autorytatywną odpowiedź) W artykule na temat rozwoju oprogramowania dla misji kosmicznych NASA. https ://www. .)
To było pierwotnie pytanie w poszukiwaniu ostatecznej odpowiedzi, dlatego dokonaliśmy następującego oszacowania:
Zgodnie z poniższym postem dostępny jest kod dla Apollo 11 i różnych innych otwartych źródeł NASA, ale źródło sond wydaje się rozczarowująco brakować:
https://voat.co/v/programming/comments/306663
Znalazłem google i nie znalazłem nic bardziej rozstrzygającego poza faktami, że w większości został on ponownie napisany w F77 i potencjalnie mógłby wysłać nam dane w przestrzeni międzygwiezdnej aż do 2024 roku, jeśli wszystko pójdzie idealnie.
To kusząco blisko: http://history.nasa.gov/computers/Ch6-2.html
Tylko „dolna część” banków pamięci 4K wykorzystywanych przez system danych lotu jest przeznaczona na kod. Jest to prawdopodobnie najbardziej złożony z trzech komputerów na Voyagerze, więc możemy uzyskać stąd górną granicę. Zatem 2 000 bajtów pamięci dla instrukcji o rozmiarze instrukcji 1 bajtowej to około 2000 instrukcji montażu. A może 1000 linii kodu Fortran. Pomnóż przez trzy w celu przeprogramowania), a otrzymasz szorstki górny limit 3000 linii montażu w oryginale. Nie naukowe lub rygorystyczne, ale najlepsze, co mogę wymyślić.
I jako ostatnia wiadomość, Allan Lasser wydał Ustawę o wolności informacji dla kodu źródłowego oprogramowania sterującego i analizującego misję Voyager, ujawniając, że kod to (C) Caltech i poza zasięgiem jakiegokolwiek żądania FOIA, fakt, że może skierować dalsze wysiłki na badanie tego kodu źródłowego.
A dzięki powiązanemu żądaniu FOIA złożonemu przez Allana Lassera dowiadujemy się, że umowa JPL / Caltech dla Voyagera również wykracza poza możliwości FOIA, ponieważ NASA uważa, że kontrakt zawiera szczegóły, które mogłyby zagrozić bezpieczeństwu IT.
źródło
Ten artykuł w Wired wyjaśnia, że kod został napisany w Fortran 5, a później przeniesiony do Fortran 77, a niektóre elementy są teraz w wersji C:
źródło