UNIX कहाँ से आता है?

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

इन वर्षों में उन पुस्तकों की सूची, जो मैंने पढ़ी हैं और उन पुस्तकों की सूची जिन्हें मैं सुझा सकता हूं, काफी अलग हो सकते हैं, लेकिन मेरे कुछ पसंदीदा लोगों के बीच संदेह के बिना (कोई विशेष क्रम में नहीं):

  • मैट वॉकर द्वारा CEH प्रमाणित एथिकल हैकर।
  • शुरुआत पायथन: मैग्नस ले हेटलैंड द्वारा नौसिखिया से पेशेवर तक।
  • हैकिंग: जॉन एरिकसन द्वारा शोषण की कला।
  • मास्सिमो बंजी द्वारा Arduino के साथ शुरुआत करना।
  • कैमरून न्यूबम और बिल रोसेनब्लट द्वारा बैश शेल सीखना।
  • अर्नोल्ड रॉबिन्स, एल्बर्ट हन्ना और लिंडा लैंब द्वारा vi और विम संपादकों को सीखना।
  • ग्रेग क्रोहा-हार्टमैन (एक गेंटू डेवलपर भी) द्वारा संक्षेप में लिनक्स कर्नेल।
  • जेन्स गुस्टेड द्वारा आधुनिक सी
  • शेलकोडर की हैंडबुक, क्रिस एनली, जॉन हैसमैन, फेलिक्स «एफएक्स» लिंडर और जेरार्डो रिचर्ड्ट द्वारा।
  • ब्रायन डब्ल्यू। केर्निघन और डेनिस एम। रिची की सी प्रोग्रामिंग भाषा (सी के निर्माता)
  • रिचर्ड स्टालमैन, रोलैंड पेस, स्टेन शेब्स, एट अल द्वारा जीडीबी के साथ डिबगिंग।
  • हैकिंग लिनक्स एक्सपोज्ड: पीएसई हर्ज़ोग, मार्गो बार्सेलो, रिक टकर, एंड्रिया बारिसानी (एक अन्य पूर्व जेंटो डेवलपर), थॉमस बैडर, साइमन माइल्स, कोल्बी क्लार्क, राउल चियासा, पाब्लो एंड्रेस सहित आईएसएसईसी शोधकर्ताओं के एक बड़े समूह से लिनक्स सुरक्षा रहस्य और समाधान। , रिचर्ड फेइस्ट, एंड्रिया घिरार्दिनी, जूलियन "हैमरजैमर" हो, मार्को इवाल्डी, ड्रू लविग्ने, स्टीफन लो प्रेस्टी, क्रिस्टोफर लो, टाय मिलर, आर्मंड प्यूकेट्टी और एट अल।
  • ऑपरेटिंग सिस्टम: धनंजय एम। धम्मधर द्वारा एक अवधारणा-आधारित दृष्टिकोण
  • स्कॉट चैन और बेन स्ट्राब द्वारा प्रो गिट
  • विशेषज्ञ सी प्रोग्रामिंग: पीटर वान डेर लिंडेन द्वारा गहन रहस्य।

मैं इनमें से प्रत्येक पुस्तक के बारे में बहुत कुछ बोल सकता था, लेकिन आज के लिए हम सूची में पिछले एक से कुछ अंश लेंगे, क्योंकि इनमें से कई विपर्ययकों ने मुझे मोहित कर लिया है और मुझे सी और प्रोग्रामिंग के कुछ जटिल रहस्यों को समझने में बेहतर मदद की है। सामान्य तौर पर। 🙂

यूनिक्स और सी

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

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

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

प्रारंभिक सी

इन वर्षों में (1972-3) सी शब्द का प्रयोग तब से शुरू हुआ जब से नई भाषा ने आकार लेना शुरू किया और इस समय के आसपास एक और जिज्ञासु तथ्य का जन्म हुआ, कई प्रोग्रामर और प्रोग्रामर चुटकुले कहते हैं:

प्रोग्रामर जानते हैं कि आप 0 के बजाय 1 से गिनना शुरू करते हैं।

खैर, यह पूरी तरह से सच नहीं है this असली कारण यह है कि इस दिन इस तरह से माना जाता है क्योंकि इसके निर्माण पर, संकलक लेखकों के लिए एक सरणी का उपयोग करके गणना करना आसान था ऑफसेट, ये उस दूरी को इंगित करते हैं जो मूल बिंदु से वांछित उद्देश्य तक मौजूद है, इसीलिए:

array[8]=2;

यह हमें बताता है कि तत्व सरणी को 2 के रूप में परिभाषित किया गया है, क्योंकि मेमोरी यूनिट तक पहुंचने के लिए 8 इकाइयों को सरणी में जोड़ा जाता है जहां तत्व 2 संग्रहीत किया जाएगा। सी से पहले, कई भाषाओं ने 1 से गिनती शुरू की, सी के लिए धन्यवाद, अब लगभग सभी 0 XNUMX से शुरू होते हैं इसलिए यह प्रोग्रामर की गलती नहीं है, लेकिन संकलक लेखकों की गलती है कि यह ऐसा है।

बॉर्न शेल

यह एक ऐसा विषय है, जो कि सीधे सी से संबंधित नहीं है, यह समझने में एक से अधिक मदद कर सकता है कि शैल प्रोग्रामिंग इतनी अजीब क्यों है, और यह निश्चित रूप से जानने के लिए उत्सुक है। स्टीव बॉर्न ने उस सीजन में अल्गोल -68 के लिए एक कंपाइलर लिखा, यह एक ऐसी भाषा है जिसमें चाबियाँ ( {} ) शब्दों द्वारा प्रतिस्थापित किया जाता है, इसलिए हम इसे सी के रूप में परिभाषित कर सकते हैं:

#define IF if(

#define THEN ){

#define ELSE }else{

#define FI };

ये केवल कुछ उदाहरण हैं जो अल्गोल समझते हैं, लेकिन अगर हम इसे शेल प्रोग्रामिंग पर आज लागू करते हैं, तो आप समझेंगे कि शेल कार्यक्रमों में ए क्यों fi प्रत्येक के लिए if 🙂 निश्चित रूप से दिलचस्प है।

पढ़ना शुरू करें

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


13 टिप्पणियाँ, तुम्हारा छोड़ दो

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   जॉन कहा

    आपका लेख मेरे लिए बहुत दिलचस्प रहा है। बहुत बहुत धन्यवाद।

  2.   HO2Gi कहा

    हमेशा की तरह बहुत दिलचस्प।

  3.   जोस राफेल कहा

    बहुत दिलचस्प स्पष्टीकरण अच्छे हैं।

  4.   एलेक्स कहा

    उत्कृष्ट

  5.   डैनियलगा कहा

    दिलचस्प !!! बहुत बहुत धन्यवाद।

  6.   Segundo कहा

    मल्टीमीडिया? यह मल्टीिक्स नहीं होगी (https://en.wikipedia.org/wiki/Multics)

    1 से अनुक्रमित भाषाएं शैतानी का एक आविष्कार हैं ...

    1.    क्रिसड आर कहा

      दिलचस्प बात यह है कि मुझे लगता है कि इतिहास में कुछ बिंदुओं पर दोनों शब्दों का इस्तेमाल किया गया है:

      https://www.landley.net/history/mirror/collate/unix.htm

      और जाहिर है वही पुस्तक जो 90 के दशक के मध्य में लिखी गई है।

      स्पष्टीकरण के लिए धन्यवाद 🙂 अभिवादन

      1.    Segundo कहा

        वा, क्या अजीब बात है, आपने मुझ पर संदेह किया है, मैंने विशेषज्ञ सी प्रोग्रामिंग की "खरीदी हुई" कॉपी में देखा है: गहरे रहस्य और मल्टीक्स आ रहे हैं, यह पहली बार है जब मैंने उस मल्टीमीडिया को सुना है। कितना जिज्ञासु है, यह तीनों खरगोशों की याद दिलाता है

        1.    क्रिसड आर कहा

          हाहा निश्चित रूप से जिज्ञासु, मैंने गहरे रहस्यों की अपनी अंग्रेजी प्रति की जाँच की, वहाँ यह भी कहता है कि मल्टीमीडिया (क्योंकि आपने भी मुझे संदेह किया था) ... शायद यह उस समय की अभिव्यक्ति थी ious

          सादर

  7.   ED774 कहा

    महान योगदान

  8.   गुमनाम कहा

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

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

    1.    क्रिसड आर कहा

      किंवदंतियों के बारे में बुरी बात यह है कि वे इतिहास को विकृत करते हैं, एक से अधिक तरीकों से ... और वे आपको यह सोच सकते हैं कि ऐसा कुछ तब होता है जब ऐसा नहीं होता है ... जैसे थॉम्पसन और रिची के बीच मौजूदा बातचीत के तथ्य (जिसे मैंने छोड़ दिया था) पर) के बाद से यह ऐतिहासिक और तकनीकी त्रुटियों की ओर जाता है (सी UNIX से पहले नहीं था) ...

      और दूसरे के रूप में ... एक और किंवदंती जो वास्तविकता को विकृत करती है, क्योंकि सी से पहले बी, ए, पास्कल, एडा, अल्गोल -60, पीएल / 1 और कुछ और थे जो ठीक से प्रोग्रामिंग लैंग्वेज (विधानसभा से बहुत अलग) थे और आर्किटेक्चर द्वारा इसकी बोलियाँ जो प्रोसेसर के हार्डवेयर पर निर्भर हैं) इसलिए C ने इस अर्थ में "नया" नहीं किया, उसने बस ऐसे उपाय अपनाए जो पहले से ही अन्य भाषाओं में मौजूद थे और अंत में यह तेजी से लोकप्रिय हुआ और इनसे बेहतर ... केवल एक ही सच्चाई यह है कि जावा पोर्टेबिलिटी की इस अवधारणा पर आधारित था, ताकि बाद में इसकी वर्चुअल मशीन बनाई जा सके, लेकिन इसके लिए न केवल सी पर भरोसा किया, बल्कि इसने अन्य मॉडलों का पालन किया, अन्यथा हमारे पास वस्तु नहीं होती- जावा में उन्मुख प्रोग्रामिंग प्रतिमान ...

      मुझे लगा कि मुझे स्थिति स्पष्ट करनी चाहिए क्योंकि कोई भी अच्छी तरह से काम करने वाला इसे सच मान सकता है और फिर यह विश्वास कर सकता है कि यह इस तरह हुआ ... ... clar

  9.   इग्नासियो एस्क्विवेल कहा

    हमेशा की तरह, लेख बहुत दिलचस्प है, योगदान के लिए धन्यवाद।