BSD और GNU / Linux यूजरलैंड के बीच मुख्य अंतर क्या हैं?


38

मैंने बीएसडी और जीएनयू आदि के बारे में यूनिक्स और लिनक्स पर बहुत कुछ पढ़ा है, लेकिन मुझे अभी भी समझ में नहीं आया कि बीएसडी और जीएनयू उपयोगकर्ता के बीच कुछ वास्तविक, व्यावहारिक अंतर क्या हैं, इस तथ्य के बावजूद कि उनका अक्सर उल्लेख किया जाता है। क्या कोई विस्तृत कर सकता है?

उत्तर देते समय, कृपया ऐतिहासिक कनेक्शनों को पूरी तरह से समझें, यह ध्यान में रखते हुए कि मैं काफी समय से जीवित नहीं हूं कि एक समय का अनुभव किया जाए जब GNU / Linux मुख्यधारा UNIX (OS X को छोड़कर) नहीं था।


2
मैंने कमांड लाइन वातावरण में OS X में GNU / Linux से अंतर की एक सूची यहां पोस्ट की: reddit.com/r/commandline/comments/4jydnw/…
निसेतमा

जवाबों:


28

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

बड़ा मुख्य अंतर यह है कि दो उपयोगकर्ता क्षेत्र पूरी तरह से अलग स्रोत कोड से शुरू होते हैं। GNU बिल्ली स्रोत कोड NetBSD बिल्ली स्रोत कोड । बस उस सरल-से-अवधारणा कार्यक्रम से, आप देख सकते हैं कि NetBSD की बिल्ली पारंपरिक, एकल-अक्षर कमांड लाइन झंडे का उपयोग करती है। जीएनयू कार्यक्रमों में एकल-पत्र झंडे होते हैं, लेकिन यह भी --something-longप्रकार के विकल्प होते हैं। GNU प्रोग्राम भी POSIX अनुकूलता की ओर प्रवृत्त होते हैं।

स्रोत कोड में यह अंतर कुछ मामलों में दो उपयोगकर्ता के अलग-अलग व्यवहार को उधार देगा।

यह भी दिखता है कि NetBSD (कम से कम) अपने स्वयं के संस्करण libc का उपयोग करता है, मानक C लाइब्रेरी। मैं अपने सिर के ऊपर यहाँ हो रहा हूँ, लेकिन libc और डायनेमिक लिंकिंग अजीब तरह से = संबंधित हैं। फिर से, अलग स्रोत कोड से अलग व्यवहार होगा।

मुझे लगता है कि एक शेल उपयोगकर्ता के रूप में, आप पाएंगे कि आप psअलग कार्य करेंगे, और lsआपको उपयोग किए जाने की तुलना में थोड़ा अलग आउटपुट दे सकते हैं। यदि आप --long-optionकमांड लाइन झंडे के प्रकार का उपयोग करते हैं, तो आपको कुछ कार्यक्रमों के लिए समान कमांड लाइन झंडे ढूंढने होंगे ।

ऐतिहासिक रूप से, मेरी समझ यह है कि 32D पोर्ट से VAX हार्डवेयर के माध्यम से BSD उपयोगकर्ता भूमि V6 और V7 बेल लैब्स यूनिक्स से अधिक सीधे उतरती है। GNU यूजरलैंड नया है, कम से कम 80 के दशक की शुरुआत में एटी एंड टी के प्रयासों की प्रतिक्रिया में कम से कम कुछ हद तक लिखित रूप से लिखा गया है जो 80 के दशक की शुरुआत में एक बारीकी से संरक्षित रहस्य था। 1983 बेल सिस्टम विभाजन के बाद, एटी एंड टी ने यूनिक्स को "विमुद्रीकृत" करने की कोशिश की। इसका एक हिस्सा स्रोत कोड को इस तरह से लाइसेंस देना था, जो ज्यादातर लोगों को इसे देखने से रोकता था। रिचर्ड स्टालमैन और अन्य को इससे समस्या थी। उनकी जीएनयू परियोजना विशेष रूप से एक स्वतंत्र रूप से साझा करने योग्य यूनिक्स जैसी प्रणाली बनाने के लिए अस्तित्व में थी।

इस बीच, 1993 तक AT & T ने BSD के ऊपर यूनिवर्सिटी ऑफ़ कैलिफ़ोर्निया सिस्टम पर मुकदमा कर दिया ('B' बर्कले, जहाँ कैलिफ़ोर्निया यूनिवर्सिटी स्थित है) सिस्टम। बर्कले के लोगों ने AT & T के सभी मूल स्रोत को नए कोड के साथ बदल दिया था, और यह नया कोड कम से कम NetBSD के उपयोगकर्ताभूमि का पूर्वज बन गया। एटी एंड टी और यूसीबी 1994 में एक निपटान के लिए आया था, 2004 में जनता के सामने आया ।

स्वाभाविक रूप से, कम से कम विचार पार-परागण करते हैं, इसलिए जीएनयू और बीएसडी उपयोगकर्ता के बीच कम से कम वैचारिक समानता है, लेकिन कोने के मामले निश्चित रूप से भिन्न होते हैं।


1
आपके दोनों लिंक एक स्थान पर इंगित होते हैं।

तो क्या यह व्यावहारिक खोल उपयोग के लिए हो सकता है? लंबे झंडे और कोने के मामले?
स्ट्रगलर

12
मेरा अनुभव यह भी है कि जीएनयू स्केलेबिलिटी को अधिक गंभीरता से लेता है। हो सकता है कि यह "कोने के मामलों" के रूप में अच्छी तरह से गिना जाता है, लेकिन यह वास्तव में बहुत निराशा होती है जब sedलंबी इनपुट लाइनों या grepद्विआधारी डेटा पर आपके सेगफॉल्ट पर चुटकुले।
ट्रिपल जू

एक बड़ा अंतर यह है कि जीएनयू का कभी भी अपना कर्नेल नहीं था जबकि बीएसडी आधारित था और अपने कर्नेल का निर्माण करता था, जो कि कुछ हिस्सों में व्यापक रूप से वाणिज्यिक यूनिक्स प्रणालियों में उपयोग किया जाता है। मैक ओएस एक्स उदाहरण के लिए डार्विन को बीएसके आधारित कर्नेल के रूप में उपयोग करता है।
दृश्य

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