4 पॉइंट द्वारा GN⁺ 2024-10-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Apple के नवीनतम OS रिलीज़ वर्ज़न को Open Group सूची में आधिकारिक रूप से सत्यापित नवीनतम UNIX™ अनुरूप वर्ज़न के रूप में दर्ज किया गया है, लेकिन यह वैसा नहीं हो सकता जैसा आप सोचते हैं
    • macOS, AT&T source code का उपयोग नहीं करता। "Unix" का अर्थ 1993 में Novell द्वारा Bell Labs से UNIX अधिग्रहण के बाद से अब वैसा नहीं रहा
  • संदर्भ: OS X को 16 साल पहले ही UNIX प्रमाणन मिल चुका था

UNIX™ प्रमाणन का मतलब

  • इसका code से कोई संबंध नहीं है। 30 से अधिक वर्षों से ऐसा ही है
  • UNIX™ प्रमाणन अब मूलतः "POSIX compatibility" का मतलब है
  • POSIX एक compatibility specification और test suite है, जिसमें सही tools सही जगह पर होने चाहिए
  • IBM का z/OS mainframe operating system भी इस सूची में शामिल है

Unix-जैसे OS की परिभाषा

  • वह Unix जैसा दिखे, Unix जैसा काम करे, और Unix के लिए लिखे गए programs को बड़े बदलाव के बिना port किया जा सके
  • macOS का core इस मानक पर काफ़ी हद तक खरा उतरता है। यह XNU kernel और मुख्यतः BSD code से निकले user space का उपयोग करता है
  • XNU, Mach kernel पर आधारित है, और इसमें BSD code से निकला एक बड़ा in-kernel "Unix server" भी है
  • user space का अधिकांश हिस्सा open source है और BSD से आया है
  • GUI layer और उसे आकर्षक दिखाने वाले दृश्य हिस्से proprietary हैं

Apple का Darwin project

  • Apple ने पहले Darwin नामक project के ज़रिये OS की निचली परतों का standalone version उपलब्ध कराया था
  • OpenDarwin, PureDarwin जैसे अन्य FOSS OS के bits का उपयोग करके इसे पूरा करने की कोशिश करने वाले कई distributions भी थे
  • NextBSD project ने उलटी दिशा में काम किया, जहाँ FreeBSD kernel को बनाए रखते हुए launchd जैसे Apple के उच्च-स्तरीय code का उपयोग संभव बनाने के लिए उसमें बदलाव किए गए

macOS का विकास क्रम

  • 1996 के अंत में Apple ने NeXT Computer के अधिग्रहण की घोषणा की, और अक्टूबर 1997 में अगली पीढ़ी के OS Rhapsody का preview जारी किया
  • Rhapsody लगभग NeXTstep 5 के समान था
  • 1999 में यह Mac OS X Server 1.0 बना, जो आगे चलकर 2000 में Mac OS X 1.0 में विकसित हुआ
  • 10.8 Mountain Lion से इसे OS X कहा जाने लगा, और 10.12 Sierra से नाम सरल होकर macOS हो गया
  • फिर भी यह अभी तक 1988 में Steve Jobs द्वारा प्रदर्शित NeXTstep 0.8 से पहचानने योग्य रूप से मिलता-जुलता OS है

GN⁺ की राय

  • macOS को UNIX प्रमाणन मिलना बहुत बड़ा मामला नहीं लगता। अधिकांश लोगों पर इसका व्यावहारिक प्रभाव नहीं होगा
  • लेकिन यह बात ध्यान देने योग्य है कि macOS की नींव Darwin open source है। इससे developers को macOS के अंदरूनी कामकाज को बेहतर समझने में मदद मिल सकती है
  • POSIX compatibility अब भी OS के बीच portability सुनिश्चित करने में महत्वपूर्ण भूमिका निभाती है, लेकिन नवीनतम standards का पालन करना अब शायद प्राथमिकता नहीं रह गया है
  • NeXTSTEP से macOS तक के विकास को देखें तो यह स्पष्ट होता है कि user interface और developer experience में नवाचार किसी operating system की सफलता के लिए कितना महत्वपूर्ण है
  • अंततः UNIX प्रमाणन से ज़्यादा महत्वपूर्ण यह लगता है कि macOS developer-friendly है, उपयोग में आसान है, और इसका ecosystem मज़बूत है। फिर भी UNIX प्रमाणन macOS की मज़बूत नींव का एक प्रतीकात्मक संकेत है

1 टिप्पणियां

 
GN⁺ 2024-10-16
Hacker News टिप्पणियाँ
  • Sequoia का certification कोई नई बात नहीं है। OS X को लंबे समय से Open Group का certification मिलता रहा है
  • यह certification आखिर क्यों महत्वपूर्ण है, इस पर सवाल है
  • macOS को 'Unix' के रूप में certified किया गया है, लेकिन आधुनिक BSD ऐसा नहीं है। दोनों एक ही codebase से आए हैं, इसलिए ऐसा क्यों है यह जानने की जिज्ञासा है
  • क्या terminal device पर poll() call किया जा सकता है, यह महत्वपूर्ण है
    • Mac OS X के शुरुआती दौर से ही इस feature की कमी रही है
    • cross-platform software को हमेशा select() और poll() दोनों को support करना पड़ता है
    • Mac OS X पर select(), और दूसरे systems पर poll() इस्तेमाल करना पड़ता है
    • अच्छा होगा अगर poll() पर standardize किया जा सके
  • macOS manual pages और certification requirements की तुलना
    • macOS का poll() system call devices को support नहीं करता
    • certification requirements में poll() और ppoll() functions को विभिन्न devices support करने चाहिए
  • सवाल है कि macOS 15 में यह bug ठीक हुआ है, या फिर certification का कोई मतलब ही नहीं है
  • certification से अलग देखें तो Linux और macOS काफी समान हैं
    • xdg-open और open, systemd और launchd, sed -i और sed -i '' जैसे अंतर हैं
  • समझ नहीं आता कि POSIX semaphore macOS पर काम नहीं करते, फिर भी इसे लगातार certification क्यों मिल रहा है
  • जिज्ञासा है कि Apple यह certification क्यों लेना चाहता है
    • ऐसा नहीं लगता कि इसका मकसद macOS servers का इस्तेमाल बढ़ाना है
  • जिज्ञासा है कि क्या Apple के पास कोई नया server plan है
  • उम्मीद है कि Apple Unix compatibility की बड़ी कमियों को दूर करने के लिए, खासकर pipe2 को implement करने की दिशा में आगे बढ़ेगा