अपोलो 11 मिशन पर कोड के लिए उपयोग की जाने वाली विकास प्रक्रिया?


57

अपोलो मिशनों में तकनीक की तुलना में पॉकेट कैलकुलेटर की तुलना में अधिक जटिल नहीं था।

यहाँ लिंक से , अपोलो गाइडेंस कंप्यूटर (AGC) के बारे में एक जानकारी है

ऑन-बोर्ड अपोलो गाइडेंस कंप्यूटर (AGC) 16-बिट रैम के 2K के साथ 1 क्यूबिक फीट था और तांबे के तारों के साथ हार्ड-वायर्ड कोर-रस्सी मेमोरी के 36K छोटे चुंबकीय कोर के माध्यम से थ्रेडेड या थ्रेडेड नहीं थे। 16-बिट शब्द आम तौर पर 14 बिट डेटा (या दो ऑप-कोड), 1 साइन बिट और 1 पैरिटी बिट थे। चक्र का समय 11.7 माइक्रो-सेकंड था। प्रोग्रामिंग असेंबली भाषा में और एक व्याख्यात्मक भाषा में, रिवर्स पोलिश में किया गया था।

इसलिए, मैंने कुछ स्रोत कोड पर ठोकर खाई है जब मैंने शोध किया था कि वहां क्या था, और मैंने शानदार टिप्पणियां देखीं (जैसे। TEMPORARY, I HOPE HOPE HOPE)

VRTSTART    TS  WCHVERT
# Page 801
        CAF TWO     # WCHPHASE = 2 ---> VERTICAL: P65,P66,P67
        TS  WCHPHOLD
        TS  WCHPHASE
        TC  BANKCALL    # TEMPORARY, I HOPE HOPE HOPE
        CADR    STOPRATE    # TEMPORARY, I HOPE HOPE HOPE
        TC  DOWNFLAG    # PERMIT X-AXIS OVERRIDE
        ADRES   XOVINFLG
        TC  DOWNFLAG
        ADRES   REDFLAG
        TCF VERTGUID

अंतरिक्ष यान में वास्तविक कार्यक्रमों को कोर रस्सी मेमोरी में संग्रहित किया गया था , जो कपड़े (रस्सी) की बुनाई (शाब्दिक) एक प्राचीन स्मृति तकनीक थी, जहां बिट्स फेराइट सामग्री के भौतिक छल्ले थे। "कोर" मेमोरी कॉस्मिक किरणों के लिए प्रतिरोधी है। बाहरी अंतरिक्ष में विकिरण द्वारा बमबारी करने पर एक कोर बिट की स्थिति नहीं बदलेगी।

वर्चुअल अपोलो गाइडेंस कंप्यूटर (AGC) सॉफ्टवेयर भी GITHUB पर है!

प्रलेखन का कुछ हिस्सा यहाँ है।

महान टिप्पणियों के साथ स्रोत कोड का एक और नमूना।

033911,000064: 32,3017    06037        FLAGORGY        TC       INTPRET      #  DIONYSIAN FLAG WAVING

    034090,000243: 32,3241    13247        BZF      P63SPOT4               #  BRANCH IF ANTENNA ALREADY IN POSITION 1
    034091,000244: 
    034092,000245: 32,3242    33254        CAF      CODE500                #  ASTRONAUT:     PLEASE CRANK THE
    034093,000246: 32,3243    04616        TC       BANKCALL               #                 SILLY THING AROUND
    034094,000247: 32,3244    20623        CADR     GOPERF1                               
    034095,000248: 32,3245    16001        TCF      GOTOP00H               #  TERMINATE
    034096,000249: 32,3246    13235        TCF      P63SPOT3               #  PROCEED        SEE IF HE'S LYING


    034101,000254: 32,3251    04635        TC       POSTJUMP               #  OFF TO SEE THE WIZARD ...
    034102,000255: 32,3252    74126        CADR     BURNBABY

यहाँ मेरा सवाल यह है:

  • उस समय उपकरण को दिए गए कार्यों को लिखने वाली टीम इसे कितना सक्षम बना रही थी?

क्योंकि अगर आप इतना कोड संकलित करते हैं जो अपोलो 11 पर इस्तेमाल किया गया था ... तो इसमें कुछ दिन, सप्ताह भी लगेंगे। मुझे गंभीरता से संदेह है कि प्रोग्रामर वापस तो मौका से होने के लिए सब कुछ छोड़ दिया।


4
इस विषय पर उम्मीद से अधिक बनाने के लिए मैंने काफी महत्वपूर्ण संपादन किया था। मुझे लगता है कि यह एक आकर्षक प्रश्न है और मैं उम्मीद कर रहा हूं कि लोग प्रभावी ढंग से जवाब देने में सक्षम होंगे!
Enderland

3
हैकर्स और पौराणिक मानव महीना पढ़ें । वहाँ सामग्री का एक सा है - मुझे यकीन नहीं है कि यह यहाँ एक जवाब में फिट होगा।

2
स्टैक एक्सचेंज पर "टैग - क्वेश्चन" स्टाइल प्रश्न शीर्षक हतोत्साहित किया जाता है। कृपया शीर्षक को छोड़ दें।

4
आपके प्रश्न का सुझाव जैसा कोई संकलन / तय चक्र नहीं था। आपने रस्सी मेमोरी नहीं बनाई, इसका परीक्षण किया और फिर इसे काम नहीं किया तो इसे फिर से करना; आपने इसे पहली बार सही पाया।
रॉबर्ट हार्वे

7
@RobertHarvey आप HOPE HOPE HOPEइसे सही पहली बार मिलता है।

जवाबों:


13

जॉन 'जैक' के बारे में पीछा करने की कोशिश कर रहा एक प्यारी डॉक्यूमेंट्री थी जिसे 'गार्मन' को "प्राथमिकता" एक शेड्यूल-शेड्यूल किया गया मल्टीप्रोग्रामिंग ऑपरेटिंग सिस्टम "। यह हालांकि लैंडर मॉड्यूल से संबंधित हो सकता है। कहानी यह थी कि जब आप लैंडर उतार रहे थे, तो आप बेहतर तरीके से मार्गदर्शन को प्राथमिकता देते हैं क्योंकि अन्य चीजें, जैसे केबिन में अगले 15 सेकंड के लिए तापमान, वास्तव में कोई फर्क नहीं पड़ता अगर आप दुर्घटनाग्रस्त हो गए और जल गए। पहले शॉट पर उन्होंने कंप्यूटर को ओवरलोड कर दिया और अलार्म बजने लगे क्योंकि कुछ सबरूटीन को अंजाम नहीं मिल रहा था। बहुत सारे लोड किए गए थे, लेकिन प्राथमिकता की अवधारणा के लिए धन्यवाद, जिसे गार्मन ने पूर्वाभास दिया और बनाया क्योंकि उन्हें लगा कि यह एक अच्छा विचार है, कम प्राथमिकता वाली दिनचर्या ने उच्च प्राथमिकता लैंडिंग दिनचर्या को कम नहीं किया।

उस समय डॉक्यूमेंट्री को देखते हुए, मैं इस बारे में चकित था कि यह बिना प्रबंधन को बताए कोड पर एक बड़ी रिफैक्टिंग करने जैसा कैसे था और लगभग निकाल दिया गया था क्योंकि आप जिस चीज पर काम करने वाले थे उस पर आपको देर हो गई थी। इस मामले में हालांकि, जब रिफार्म्स की वजह की जांच की गई तो रिफलेक्टिंग सामने आई। (और प्रबंधन अभी भी नाराज था! :)

कुछ लिंक:

नहीं, एक "चेकलिस्ट त्रुटि" पहले चंद्रमा लैंडिंग से लगभग पटरी से नहीं उतरी

चंद्र मॉडल गाइड कंप्यूटर से बिक्री

कैसे उन्होंने इसे बनाया: अपोलो 11 का सॉफ्टवेयर

नासा जॉनसन स्पेस सेंटर ओरल हिस्ट्री प्रोजेक्ट एडिट ओरल हिस्ट्री ट्रांसक्रिप्ट

नासा के अपोलो प्रोग्राम अंश का संक्षिप्त इतिहास : चंद्रमा के सतह से पांच मिनट और चंद्रमा की सतह से 1,800 मीटर ऊपर, एलएम नेविगेशन और मार्गदर्शन कंप्यूटर ने कई अप्रत्याशित "1202" और "1201" प्रोग्राम अलार्म का पहला उत्पादन किया। ह्यूस्टन के मिशन कंट्रोल सेंटर के कंप्यूटर इंजीनियर जैक गार्मन ने मार्गदर्शन अधिकारी स्टीव बाल्स को बताया कि वंश को जारी रखना सुरक्षित था। ये अलार्म "कार्यकारी ओवरफ्लो" के संकेत थे, जिसका अर्थ है कि मार्गदर्शन कंप्यूटर अपने सभी कार्यों को वास्तविक समय में पूरा नहीं कर सकता था और उनमें से कुछ को स्थगित करना पड़ा था।

'जाइंट लीप' अंश याद करते हुए : हम जानते थे कि ऐसा क्या था और ऐसा नहीं होना चाहिए। लेकिन हमने एक ऐसी प्रणाली तैयार की थी जो किसी भी अधिभार की स्थिति से उबरने के लिए कठिन प्रयास करती थी। इसलिए मुझे याद है कि [नासा के कंप्यूटर इंजीनियर] जैक गर्मन चिल्लाते हुए कहते हैं, "जाओ, जाओ!" और वे चले गए। तब हमने सुना कि नील ने एलईएम पर उड़ान भरी और टचडाउन के लिए एक अच्छा स्थान खोजने की कोशिश कर रहा था। हमारी नई चिंता शेष ईंधन की कमी थी। लेकिन आखिरकार हमने संपर्क नोटिस सुना और फिर, "ईगल उतरा है।"

जैक जरमन साक्षात्कार

संपादित करें: शायद यह वृत्तचित्र था: अपोलो 11: द अनटोल्ड स्टोरी (2006)

कास्ट: जॉन आर। गर्मन ...
खुद - अपोलो 11 कंप्यूटर इंजीनियर (जैक गार्मन के रूप में)

(दूसरों के बीच में)।

अपडेट: दक्षिण अफ्रीका के एक हैकर ने अंतरिक्ष में पहले नासा कंप्यूटर को बचाया


मुझे पता था कि कहानी परिचित है! "अपोलो 11" खंड में इस कहानी के बारे में अधिक है। en.wikipedia.org/wiki/Mggaret_
Hamilton_

31

अगर मैं सही तरीके से समझूं, तो विकास की प्रक्रिया सहकर्मी समीक्षा और प्रयोग थी।

टीम में "मैथ डॉक्टर्स" जैसे लोग शामिल थे - बेहद समर्पित, बुद्धिमान, भावुक, विस्तार उन्मुख लोग जिनके जीवन उनके काम के लिए समर्पित थे। इसलिए जब मैं सहकर्मी समीक्षा कहता हूं, मेरा मतलब है कि कई महीनों (एक वर्ष से अधिक) के दौरान कई सहकर्मी समीक्षा करते हैं।

इन डेवलपर्स ने "अपने सिर में सिमुलेशन चलाया", "कागज पर सॉफ़्टवेयर को डीबग किया" और कई डेवलपर्स के साथ समूह में काम किया, जो एक ही कोड को बार-बार देख रहे थे जब तक कि वे आश्वस्त नहीं थे कि यह सही है। कई टीमें थीं - प्रत्येक पूरे के एक हिस्से पर काम कर रही थीं।

ओहियो स्टेट यूनिवर्सिटी (स्प्रिंग '96) में मेरे न्यूमेरिकल मेथड्स के प्रोफेसर ने वह कोड लिखा, जिसमें तय किया गया था कि बूस्टिंग रॉकेट के एक चरण को कब किक करना है। उन्होंने प्रिंटआउट का वर्णन फोन बुक के आकार के रूप में किया (इसलिए, शायद 2.5 से 3.5 इंच मोटी 8.5 x 11 इंच के पेपर का - उन्होंने फोरट्रान कोड के फ़ॉन्ट आकार का वर्णन नहीं किया)।

आश्वस्त होने पर, उन्होंने एक मानव रहित मिसाइल (रॉकेट तकनीकी रूप से जाइरोस्कोप नहीं है) को एक रेडियो के साथ लॉन्च किया, जो नियमित अंतराल पर एक बीप उत्सर्जित करता है। उन्होंने बीप की बात सुनी, उन्होंने उम्मीद की कि रेडियो चंद्रमा को प्रभावित करेगा (इसे नष्ट कर देगा और खुद को नष्ट कर देगा) और बीप करना बंद कर देगा। वे जानते थे कि अगर वे चूक गए, तो रेडियो प्रभाव की गणना के समय को लंबे समय तक बीप करता रहेगा। गणना किए गए समय के 15 सेकंड बाद प्रभाव हुआ।

यह सराहनीय किस्सा कहानी है डॉक्टर के साथ एक कार्यालय यात्रा से मेरी यादें। वह बहुत बूढ़ा था, और यह बहुत पहले था। यह मेरी सबसे अच्छी याद है।


2
उन्होंने प्रिंटआउट को फोन बुक के आकार का बताया (तो, शायद 8.5 x 11 इंच के कागज के 2.5 से 3.5 इंच मोटे , कोड को लगभग 55-60 लाइनों प्रति पृष्ठ के साथ लैंडस्केप मोड में प्रिंट किया गया था। एक किरण (100 चादरें)। प्रिंटआउट पेपर लगभग 1.75 इंच मोटा है।
गिल्बर्ट ले ब्लैंक

@ गिलबर्टलेबैंक एक किरण आम तौर पर 500 शीट होती है। (कभी-कभी 480)
joshp

@ जोशप: आप सही कह रहे हैं। प्रिंटआउट पेपर की 500 शीट लगभग 1.75 इंच मोटी हैं।
गिल्बर्ट ले ब्लैंक

15

AGC को क्रिया और संज्ञा से नियंत्रित किया जाता है

अपोलो कमांड सॉफ्टवेयर किसी भी वाक्यविन्यास में नहीं लिखा है जो आज उपयोगकर्ता पहचानेंगे। एस्ट्रोनॉट्स इनपुट संख्यात्मक रूप से कमांड करता है, प्रत्येक दो अंकों की संख्या के साथ एक क्रिया या एक संज्ञा का प्रतिनिधित्व करता है। क्रिया ने प्रदर्शन की जाने वाली क्रिया का वर्णन किया, और संज्ञा ने डेटा को क्रिया की क्रिया से प्रभावित होने के लिए निर्दिष्ट किया।

अंतरिक्ष यात्री क्रिया और संज्ञा सेटअप से नफरत करते थे

मूल एजीसी हार्डवेयर डेवलपर्स में से एक, रेमन अलोंसो ने कहा कि इंटरफ़ेस का आविष्कार आगंतुकों को उनकी प्रयोगशाला में प्रभावित करने के लिए किया गया था, लेकिन जब कोई बेहतर इंटरफ़ेस विकसित नहीं करता था, तो उड़ानों के लिए चारों ओर अटक जाता था। आलोचकों ने कहा कि यह "वैज्ञानिक" नहीं था, और पहले अंतरिक्ष यात्री - सभी कुलीन जेट पायलट-एक हवाई जहाज नियंत्रण कक्ष के समान डायल और स्विच पसंद करते थे।

"डिजिटल कंप्यूटर के इतिहास में एजीसी बहुत धीमी गति से, लेकिन उस समय के लिए बहुत विश्वसनीय और बहुत छोटा था। यह एकीकृत सर्किट का उपयोग करने के लिए जल्द से जल्द था।"

जैसा कि यह डिजाइन किया गया था सॉफ्टवेयर मूल रूप से एमआईटी द्वारा खरोंच से बनाया गया था।

आप अपने व्यक्तिगत कंप्यूटर पर अपोलो गाइडेंस कंप्यूटर एमुलेटर प्रोग्राम को डाउनलोड और इंस्टॉल कर सकते हैं, कोई समस्या नहीं। यहाँ यह मैक ओएस एक्स पर कैसा दिखता है।

यहाँ छवि विवरण दर्ज करें


8

हर दूसरे सॉफ्टवेयर प्रोजेक्ट की तरह, यह आक्रामक समय सीमा और गुणवत्ता दबाव के तहत किया गया था। सौभाग्य से सॉफ्टवेयर प्रोजेक्ट मैनेजर हॉवर्ड डब्ल्यू। "बिल" टिंडल, जूनियर से सामग्री का एक बड़ा संग्रह यहां उपलब्ध है

यदि आप मेमो का नमूना लेते हैं, तो आप समय, सुविधाओं और दोषों के बीच सामान्य संघर्ष का एक बहुत अच्छा अर्थ प्राप्त कर सकते हैं। यह ध्यान देने योग्य है कि विकास परियोजना के बाकी वर्षों की तरह कई वर्षों में आगे बढ़ा ।

सिस्टम का डिज़ाइन 1961 की दूसरी तिमाही में शुरू हुआ, और नासा ने 22 सितंबर, 1965 को एक अंतरिक्ष यान में एक ब्लॉक I संस्करण स्थापित किया। मूल सॉफ्टवेयर का विमोचन (जिसका नाम कोरोना था) जनवरी 1966 में, 25 अगस्त को पहली उड़ान के साथ था। 1966. उसके 3 साल से भी कम समय बाद, डिजाइनरों ने अंतिम कार्यक्रम उद्देश्य ( http://history.nasa.gov/ कंप्यूटर्स/ Ch2-5.html ) हासिल किया

मुझे इस बात का कोई विशेष संदर्भ नहीं मिला है कि सॉफ्टवेयर कैसे बनाया गया था, लेकिन मैं यह मान सकता हूं कि यह केवल इतना है कि पेन और पेपर पर किया गया था, "सिमुलेशन" के साथ मैन्युअल रूप से किया गया था। ऐसा लगता है कि पंच कार्डों के साथ एजीसी में कार्यक्रमों को लोड करने के लिए एक प्रणाली थी, संभवतः रस्सी की स्मृति को गढ़ने के लिए जमीन पर "तेजी से" परीक्षण के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.