प्र। ऑपरेटिंग सिस्टम को क्रैश करने से असेंबली प्रोग्राम को क्या रोकता है?
A. कुछ नहीं।
हालांकि, बहुत अधिक चतुर प्रोग्रामर ने इसे और अधिक कठिन बनाने के लिए वर्षों में बहुत कोशिश की है। दुर्भाग्य से, हर चतुर प्रोग्रामर के लिए, कई, कई अन्य लोग हैं जो उनके बीच अधिक रचनात्मक, अधिक महत्वाकांक्षी हैं, और कभी-कभी सिर्फ भाग्यशाली और फिर चतुर व्यक्ति हैं। हर बार एक चतुर प्रोग्रामर कहता है कि किसी को कुछ करना चाहिए या नहीं करना चाहिए, कोई व्यक्ति इसे करने का एक तरीका खोज लेगा। Microsoft Windows (एक उदाहरण के रूप में) लगभग 35 वर्षों से है और हमारे पास अभी भी BSoD (ब्लू स्क्रीन ऑफ डेथ) है, जो सिर्फ निर्देश हैं जो ऑपरेटिंग सिस्टम को क्रैश कर गए हैं।
थोड़ा सा शब्दावली के साथ शुरू करते हैं। कंप्यूटर पर चलने वाली हर चीज़ मशीन कोड में ऐसा करती है। बिट जो किस्ट्रोक्स या माउस पॉइंटर के मूवमेंट को पढ़ता है, वह बिट जो डिस्प्ले पर पिक्सेल का रंग बदलता है या किसी फाइल से बाइट पढ़ता है और बिट यह गणना करता है कि आपकी बुलेट खराब आदमी से टकराई है या बिट अगर आपका क्रेडिट कार्ड आवेदन स्वीकार कर लिया जाएगा, तो सभी को मशीन कोड निर्देशों के अनुक्रम के रूप में निष्पादित किया जाएगा। कुछ नौकरियां इतनी आम हैं और इतनी बार की जाती हैं कि उन्हें करने के लिए आवश्यक निर्देशों को इकट्ठा करना समझ में आता है और हर कोई उस विधानसभा का उपयोग करता है। इन नौकरियों का गुच्छा जो दूसरों को कंप्यूटर का उपयोग करने की अनुमति देते हैं या ऑपरेटिंग सिस्टम कहलाते हैं, लेकिन उनके और किसी भी अन्य कार्यक्रमों के बीच कुछ अलग नहीं है। वे सभी मशीन कोड के निर्देशों के सिर्फ अनुक्रम हैं।
क्या ऑपरेटिंग सिस्टम को और अधिक जटिल बनाता है (और इसलिए दुर्घटनाग्रस्त होने का खतरा है) यह है कि उन्हें उन चीजों के लिए जिम्मेदार होना चाहिए जिनके बारे में आपको आमतौर पर सोचने की ज़रूरत नहीं है। उदाहरण के रूप में सबसे सरल नौकरियों को लें। मैं एक फ़ाइल के अंत में एक संदेश लिखना चाहता हूं। उच्च स्तरीय भाषा में आप कुछ इस तरह लिखेंगे:
with open("myFile.txt", "w+") as f:
# do some really clever things
f.write("Goodbye cruel world!")
आइए सभी विवरणों को अनदेखा करें कि भौतिक अवस्थाओं तक कैसे पहुँचा और बदला जाता है या कैसे उन्हें बिट्स और बाइट्स के रूप में व्याख्या की जाती है या कैसे उन बाइट्स को मेमोरी और सीपीयू से स्थानांतरित किया जाता है, और भरोसा है कि ओएस द्वारा प्रदान किए जाने वाले कार्यक्रमों द्वारा सभी को नियंत्रित किया जाता है। परदे के पीछे। आप केवल इस बारे में सोचते हैं कि आप किसी फ़ाइल के अंत में कैसे जुड़ते हैं। 1) पता लगाएँ कि फ़ाइल का अंत कहाँ है, 2) उस स्थिति में कुछ लिखें। क्या गलत होने की सम्भावना है? दरअसल, काफी कुछ। जब आप चतुर चीजें कर रहे हों तो कंप्यूटर पर क्या हो रहा है, इसके बारे में सोचें। अगर किसी और के द्वारा किया जा रहा कुछ भी (ऑपरेटिंग सिस्टम सहित) आप किसी भी तरह से काम कर रहे फ़ाइल को बदल देते हैं, तो यह वास्तव में सरल नौकरी अचानक पूरी तरह से अधिक जटिल हो जाती है। फ़ाइल लंबी है, फ़ाइल छोटी है। फ़ाइल अब वहाँ नहीं है। डिस्क भरा हुआ है,