नेटिव (कंप्यूटिंग)

From Vigyanwiki

कम्प्यूटिंग में, नेटिव सॉफ़्टवेयर या डेटा-प्रारूप वे होते हैं जिन्हें किसी विशेष ऑपरेटिंग प्रणाली पर चलाने के लिए डिज़ाइन किया गया था। अधिक तकनीकी अर्थों में, नेटिव कोड विशेष रूप से निश्चित प्रोसेसर के लिए लिखा गया कोड होता है।[1] इसके विपरीत, क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर को कई ऑपरेटिंग प्रणाली या निर्देश सेट पर चलाया जा सकता है।

उदाहरण के लिए, गेम बॉय अपने सॉफ़्टवेयर को कार्ट्रिज के माध्यम से प्राप्त करता है, जिसमें कोड होता है जो नेटिव रूप से गेम बॉय पर चलता है।[2] इस कोड को दूसरे प्रोसेसर पर चलाने की एकमात्र विधि एमुलेटर का उपयोग करना है, जो वास्तविक गेम बॉय का अनुकरण करता है।[3] यह सामान्यतः गति के नेटिव्य पर आता है।[4]

अनुप्रयोग

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

ऑपरेटिंग प्रणाली

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

मशीन कोड

मशीन कोड, जिसे नेटिव कोड भी कहा जाता है, एक प्रोग्राम है जो मशीनी भाषा में लिखा जाता है। मशीन कोड को सामान्यतः कंप्यूटर के लिए निम्नतम स्तर का कोड माना जाता है, जो अपने निम्नतम स्तर के रूप में, बाइनरी (0s और 1s) में लिखा जाता है, लेकिन अधिकांशतः इसे हेक्साडेसिमल या ऑक्टल में लिखा जाता है जिससे इसे संभालना थोड़ा सरल हो सके।[5] इन निर्देश सेटों की कंप्यूटर द्वारा व्याख्या की जाती है। इसके साथ, अनुवाद की कोई आवश्यकता नहीं है। मशीन कोड दृढ़ता से संख्यात्मक है और सामान्यतः इस जटिल प्रकृति के कारण प्रोग्रामर प्रोग्राम नहीं करते हैं।[6] मशीन कोड भी उतना ही निकट है जितना आप प्रोसेसर के लिए प्राप्त कर सकते हैं, इसलिए इस भाषा का उपयोग करके, आप विशेष रूप से उस प्रोसेसर के लिए प्रोग्रामिंग कर रहे हैं क्योंकि प्रत्येक प्रोसेसर के लिए मशीन कोड भिन्न हो सकते हैं।[7] सामान्यतः प्रोग्रामर उच्च-स्तरीय भाषाओं जैसे C, C++, पास्कल, (या अन्य सीधे संकलित भाषाओं) में कोड करेंगे, जो असेंबली कोड में अनुवादित हो जाते हैं, जो पुनः इसे मशीन कोड में अनुवादित करते हैं (या अधिकतर स्थितियों में कंपाइलर सीधे मशीन कोड उत्पन्न करता है)। चूंकि प्रत्येक सीपीयू अलग होते है, इसलिए उस सीपीयू पर काम करने के लिए प्रोग्राम को पुनः कंपाइल या पुनः लिखने की आवश्यकता होती है।[8]

डेटा

डेटा पर प्रयुक्त, नेटिव डेटा प्रारूप या संचार प्रोटोकॉल वे हैं जो निश्चित कंप्यूटर हार्डवेयर या सॉफ़्टवेयर द्वारा समर्थित हैं, जिसमें अधिकतम स्थिरता और अतिरिक्त घटकों की न्यूनतम मात्रा होती है।

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

संदर्भ

  1. "What is native code? - Definition from WhatIs.com". SearchAppArchitecture (in English). Retrieved 2019-11-22.
  2. "Nintendo Game Boy - Game Console - Computing History". www.computinghistory.org.uk. Retrieved 2019-11-22.
  3. Pot, Justin. "Why Are Video Game Emulators So Important? (Because They Preserve Our History)". How-To Geek (in English). Retrieved 2019-11-22.
  4. "How Does Emulation Work and Why Is It So Slow?". MakeUseOf (in English). Retrieved 2019-11-22.
  5. "What is machine code? Definition and examples". Market Business News (in English). Retrieved 2019-11-23.
  6. "What is machine code? Definition and examples". Market Business News (in English). Retrieved 2019-11-23.
  7. Beal, Vangie. "What is Machine Language? Webopedia Definition". www.webopedia.com (in English). Retrieved 2019-11-23.
  8. Manzoor, Amir (2012-03-19). Information Technology in Business (in English). Amir Manzoor. ISBN 978-1-4699-9188-7.