आईबीएम आई
Main Menu of IBM i 7.1, shown inside a TN5250 client | |
| डेवलपर | IBM |
|---|---|
| लिखा हुआ | C++, C, PL/MI, Java, Assembly language, Modula-2, PL/MP[1][2][3] |
| ओएस परिवार | IBM CPF |
| काम करने की अवस्था | Current |
| स्रोत मॉडल | Closed source |
| आरंभिक रिलीज | August 26, 1988 |
| Latest release | 7.5 / May 10, 2022[4] |
| विपणन लक्ष्य | Minicomputer, midrange computer and enterprise server |
| उपलब्ध | English |
| अद्यतन विधि | Program temporary fixes (PTFs) |
| पैकेज प्रबंधक | RPM and YUM for open source packages |
| प्लेटफार्मों | IBM AS/400, IBM Power Systems |
| कर्नेल प्रकार | shares many Microkernel (SLIC) and Virtual machine (TIMI) design philosophies[5] |
| डिफ़ॉल्ट उपयोगकर्ता इंटरफ़ेस | Text-based user interface |
| लाइसेंस | Proprietary |
| इससे पहले | System Support Program, Control Program Facility |
| आधिकारिक वेबसाइट | ibm |
IBM i (i एकीकृत के लिए खड़ा है)[6] [[ IBM पावर प्रणाली]] के लिए IBM द्वारा विकसित एक संचालन प्रणाली है।[7] यह मूल रूप से 1988 में OS/400 के रूप में जारी किया गया था, IBM AS/400 प्रणाली की पंक्ति के एकमात्र संचालन प्रणाली के रूप में। 2004 में इसका नाम परिवर्तित i5/OS कर दिया गया, 2008 में दूसरी बार IBM i का नाम बदलने से पहले।[8][9] यह IBM System/38|System/38 Control Program Facility संचालन प्रणाली का विकास है,[5] IBM System/36|System/36 प्रणाली सपोर्ट प्रोग्राम और IBM AIX अनुप्रयोगों के लिए अनुकूलता परतों के साथ।[5]यह प्रणाली/38 प्लेटफॉर्म से कई विशिष्ट विशेषताओं को प्राप्त करता है, जिसमें यंत्र अंतरपृष्ठ, एकल-स्तरीय स्टोर के शीर्ष पर वस्तु-आधारित पताभिगमन का कार्यान्वयन, और संचालन में संबधपरक डेटाबेस का तंग एकीकरण सम्मिलित है।[1]
इतिहास
उत्पत्ति
OS/400 को AS/400 हार्डवेयर प्लेटफॉर्म के साथ दिसंबर 1985 में विकसित किया गया था।[5]400#फोर्ट नॉक्स परियोजना की विफलता के बाद विकास शुरू हुआ, जिसने IBM को प्रतिस्पर्धी मिडरेंज प्रणाली के बिना छोड़ दिया।[10][11] फोर्ट नॉक्स परियोजना के पर्यन्त, रोचेस्टर में इंजीनियरों द्वारा एक स्कंकवर्क्स परियोजना शुरू की गई थी, जो कोड विकसित करने में सफल रहे, जिसने प्रणाली/36 अनुप्रयोगों को प्रणाली/38 के शीर्ष पर चलने की अनुमति दी,[12]और जब फोर्ट नॉक्स को रद्द कर दिया गया, तो यह परियोजना प्रणाली/36 और प्रणाली/38 दोनों को एक नए हार्डवेयर और सॉफ्टवेयर प्लेटफॉर्म के साथ बदलने के लिए एक आधिकारिक परियोजना के रूप में विकसित हुई।[5]इस परियोजना को सिल्वरलेक (सिल्वर लेक (रोचेस्टर, मिनेसोटा) के नाम पर रखा गया। रोचेस्टर, मिनेसोटा में सिल्वर लेक) के नाम से जाना जाने लगा।[13][12][14]
सिल्वरलेक के लिए संचालन प्रणाली को XPF (विस्तारित नियंत्रण कार्यक्रम सुविधा) नाम दिया गया था, और मूल रूप से फोर्ट नॉक्स हार्डवेयर में CPF के बंदरगाह के रूप में शुरू हुआ था।[5]प्रणाली/36 अनुप्रयोगों के लिए समर्थन जोड़ने के अतिरिक्त, प्रणाली/36 से कुछ उपयोगकर्ता इंटरफ़ेस और उपयोग में आसान सुविधाओं को नए संचालन प्रणाली पर ले जाया गया।[1]
सिल्वरलेक जून 1988 में फील्ड टेस्ट के लिए उपलब्ध था, और उस वर्ष अगस्त में आधिकारिक तौर पर घोषित किया गया था। उस समय तक, इसका नाम परिवर्तित एप्लिकेशन प्रणाली/400 कर दिया गया था, और संचालन प्रणाली को संचालन प्रणाली/400 नाम दिया गया था।[12]
पावरपीसी में जाना
PowerPC के पोर्ट को IBM i#TIMI के नीचे के अधिकांश कोड को पुनः से लिखने की आवश्यकता है। ओएस/400 के शुरुआती संस्करणों ने प्रणाली/38#माइक्रोकोड परतों को प्रणाली/38 से विरासत में मिला, हालांकि उनका नाम क्रमशः क्षैतिज लाइसेंस आंतरिक कोड (HLIC) और वर्टिकल लाइसेंस आंतरिक कोड (VLIC) रखा गया था।[15] नए हार्डवेयर के पोर्ट ने IMPI इंस्ट्रक्शन सेट का नेतृत्व किया और इसे लागू करने वाले क्षैतिज माइक्रोकोड को PowerPC AS इंस्ट्रक्शन सेट और PowerAS प्रोसेसर में इसके कार्यान्वयन द्वारा प्रतिस्थापित किया जा रहा है। इसके लिए आईएमपीआई के बजाय पावरपीसी को लक्षित करने के लिए वीएलआईसी को पुनः से लिखने की आवश्यकता थी, और एचएलआईसी में पहले से लागू संचालन प्रणाली की कार्यक्षमता को कहीं और पुनः से लागू करने के लिए।[1]इसके कारण एचएलआईसी और वीएलआईसी को प्रणाली लाइसेंस्ड इंटरनल कोड (SLIC) नाम की एक परत से बदल दिया गया। SLIC को ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग | ऑब्जेक्ट-ओरिएंटेड शैली में C++ कोड की 2 मिलियन से अधिक पंक्तियों के साथ कार्यान्वित किया गया था, जिसमें कुछ HLIC कोड और अधिकांश VLIC कोड को प्रतिस्थापित किया गया था।[16][17] SLIC को लागू करने के लिए आवश्यक कार्य की मात्रा के कारण, IBM रोचेस्टर ने परियोजना के लिए कई सौ C++ प्रोग्रामरों को काम पर रखा, जिन्होंने CISC AS/400 प्रणाली के लिए VLIC के नए संशोधनों के समानांतर SLIC पर काम किया।[1]PowerPC-आधारित हार्डवेयर का समर्थन करने के लिए OS/400 का पहला रिलीज़ V3R6 था।[18][19]
रीब्रांडिंग
1990 और 2000 के दशक में AS/400 उत्पाद लाइन को कई बार रीब्रांड किया गया था।[15]2004 में eServer i5 की रीब्रांडिंग के हिस्से के रूप में, OS/400 का नाम परिवर्तित i5/OS कर दिया गया; 5 POWER5 प्रोसेसर के उपयोग को दर्शाता है।[20] i5/OS की पहली रिलीज़, V5R3, को IBM द्वारा उसी संचालन प्रणाली के लिए एक अलग नाम के रूप में वर्णित किया गया था।[21]
2006 में, IBM ने AS/400 लाइन को पिछली बार प्रणाली i में रीब्रांड किया।[22] अप्रैल 2008 में, IBM ने IBM पावर प्रणाली बनाने के लिए IBM प्रणाली पीी प्लेटफॉर्म के साथ प्रणाली i को समेकित किया।[23] उसी समय, i5/OS का नाम परिवर्तित IBM i कर दिया गया, ताकि POWER5 प्रोसेसर के साथ जुड़ाव को हटाया जा सके।[24] उस समय संचालन प्रणाली के दो नवीनतम संस्करण, जो i5/OS V5R4 और V6R1 के रूप में जारी किए गए थे,[25][26] का नाम परिवर्तित IBM i 5.4 और 6.1 कर दिया गया।[27][28][29][30] IBM i की रीब्रांडिंग के साथ, IBM ने संचालन प्रणाली के लिए वर्जनिंग नामकरण को बदल दिया। पूर्व रिलीज़ में संस्करण, रिलीज़, संशोधन योजना का उपयोग किया गया था, उदा। वी2आर1एम1। इसे एक संस्करण के साथ बदल दिया गया था। रिलीज योजना, उदा। 6.1।[31] IBM i 7.1 के साथ शुरुआत करते हुए, IBM ने तकनीकी रिफ्रेश के साथ संशोधन रिलीज़ को बदल दिया।[29] संचालन प्रणाली के विशिष्ट रिलीज़ के लिए तकनीकी रिफ्रेश वैकल्पिक प्रोग्राम अस्थायी फिक्स के रूप में वितरित किए जाते हैं जो संचालन प्रणाली में नई कार्यक्षमता या हार्डवेयर समर्थन जोड़ते हैं।[32]
आर्किटेक्चर
जब IBM i को पहली बार OS/400 के रूप में जारी किया गया था, तो इसे दो परतों में विभाजित किया गया था, हार्डवेयर-निर्भर प्रणाली लाइसेंसयुक्त आंतरिक कोड (SLIC)[15][1]और हार्डवेयर-स्वतंत्र विस्तारित नियंत्रण कार्यक्रम सुविधा (XPF)।[16][8][33][34] इन्हें एक हार्डवेयर अमूर्त परत द्वारा विभाजित किया जाता है जिसे टेक्नोलॉजी इंडिपेंडेंट यंत्र अंतरपृष्ठ (TIMI) कहा जाता है। संचालन प्रणाली के बाद के संस्करणों ने अतिरिक्त परतें प्राप्त कीं, जिसमें पोर्टेबल एप्लिकेशन सॉल्यूशंस एनवायरनमेंट (मूल रूप से प्राइवेट एड्रेस स्पेस एनवायरनमेंट के रूप में जाना जाता है) नामक AIX संगतता परत सम्मिलित है।[5][35] और उन्नत 36 यंत्र वातावरण जो इम्यूलेशन में प्रणाली/36 एसएसपी अनुप्रयोगों को चलाता है।[1]
IBM अक्सर प्रलेखन और विपणन सामग्री में TIMI, SLIC और XPF के लिए अलग-अलग नामों का उपयोग करता है,[36] उदाहरण के लिए, IBM i 7.4 प्रलेखन उन्हें क्रमशः IBM i यंत्र इंटरफ़ेस, IBM i लाइसेंस प्राप्त आंतरिक कोड और IBM i संचालन प्रणाली के रूप में संदर्भित करता है।[37]
टिमी
TIMI उपयोगकर्ताओं और अनुप्रयोगों को अंतर्निहित हार्डवेयर से अलग करता है। यह अलगाव अन्य संचालन प्रणाली के हार्डवेयर सार से अधिक गहन है, और इसमें प्रोसेसर के निर्देश सेट वास्तुकला, पता स्थान के आकार और I/O की बारीकियों और दृढ़ता को सम्मिलित करना सम्मिलित है।[15]यह दो परस्पर संबंधित तंत्रों के माध्यम से पूरा किया जाता है:[1]
- IBM के लिए कंपाइलर सीधे देशी यंत्र कोड उत्पन्न नहीं करते हैं, इसके बजाय वे TIMI द्वारा परिभाषित एक उच्च स्तरीय मध्यवर्ती प्रतिनिधित्व उत्पन्न करते हैं। जब कोई प्रोग्राम चलाया जाता है, तो संचालन प्रणाली प्रोसेसर के लिए देशी यंत्र कोड में TIMI निर्देशों का समय से पहले संकलन | समय से पहले अनुवाद करता है, और प्रोग्राम के भविष्य के निष्पादन के लिए उत्पन्न यंत्र कोड को संग्रहीत करता है। यदि अनुवाद प्रक्रिया बदलती है, या एक अलग सीपीयू निर्देश सेट अपनाया जाता है, तो संचालन प्रणाली स्रोत कोड से पुन: संकलित करने की आवश्यकता के बिना TIMI निर्देशों से यंत्र कोड को पारदर्शी रूप से पुन: उत्पन्न कर सकता है।
- स्मृति पतों पर काम करने के बजाय, TIMI निर्देश वस्तुओं पर काम करते हैं। IBM i में सभी डेटा, जैसे डेटा फ़ाइलें, स्रोत कोड, प्रोग्राम और आवंटित मेमोरी के क्षेत्र, संचालन प्रणाली द्वारा प्रबंधित वस्तुओं के अंदर एनकैप्सुलेट किए जाते हैं (c.f. सब कुछ यूनिक्स में एक फ़ाइल मॉडल है)। IBM i ऑब्जेक्ट्स का एक निश्चित प्रकार होता है, जो उन पर किए जा सकने वाले लागू संचालन के सेट को परिभाषित करता है (उदाहरण के लिए, एक प्रोग्राम ऑब्जेक्ट को निष्पादित किया जा सकता है, लेकिन संपादित नहीं किया जा सकता है)। ऑब्जेक्ट मॉडल छुपाता है कि डेटा प्राथमिक संग्रहण, या द्वितीयक संग्रहण में संग्रहीत है या नहीं। इसके बजाय, संचालन प्रणाली स्वचालित रूप से पुनर्प्राप्ति की प्रक्रिया को संभालता है और पुनः परिवर्तनों को स्थायी भंडारण में संग्रहीत करता है।
TIMI द्वारा प्रदान किए गए हार्डवेयर अलगाव ने IBM को 1995 में AS/400 के 48-बिट IMPI आर्किटेक्चर को 64-बिट RS64 आर्किटेक्चर के साथ बदलने की अनुमति दी। IMPI निर्देश सेट का उपयोग करने वाले प्रणाली पर संकलित एप्लिकेशन बिना किसी नए RS64 प्रणाली के शीर्ष पर चल सकते हैं। कोड परिवर्तन, पुनर्संकलन या अनुकरण, जबकि उन अनुप्रयोगों को 64-बिट पताभिगमन का लाभ उठाने की अनुमति भी देता है।[8]
TIMI निर्देशों के दो अलग-अलग प्रारूप हैं, जिन्हें मूल यंत्र इंटरफ़ेस (OMI) और न्यू यंत्र इंटरफ़ेस (NMI) स्वरूपों के रूप में जाना जाता है।[38] ओएमआई निर्देश अनिवार्य रूप से प्रणाली/38#यंत्र अंतरपृष्ठ|प्रणाली/38 यंत्र अंतरपृष्ठ निर्देशों के समान हैं, जबकि एनएमआई निर्देश निचले स्तर के हैं, जो IBM के कंपाइलरों द्वारा उपयोग किए जाने वाले डब्ल्यू-कोड इंटरमीडिएट प्रतिनिधित्व प्रारूप के समान हैं।[1]IBM आंशिक रूप से OMI निर्देशों का दस्तावेजीकरण करता है,[39] जबकि NMI निर्देश आधिकारिक रूप से प्रलेखित नहीं हैं। ओएमआई निर्देश मूल एएस/400 कंपाइलर्स द्वारा उपयोग किए जाते हैं, जबकि एनएमआई निर्देश एकीकृत भाषा पर्यावरण कंपाइलर्स द्वारा उपयोग किए जाते हैं।[1]पावरपीसी पोर्ट के पर्यन्त, ओएमआई प्रारूप के लिए मूल समर्थन हटा दिया गया था, और एक अनुवादक के साथ बदल दिया गया था जो ओएमआई निर्देशों को एनएमआई निर्देशों में परिवर्तित कर देता था।
देशी यंत्र कोड निर्देशों के साथ-साथ TIMI निर्देशों के भंडारण को पर्यवेक्षण के रूप में जाना जाता है। 2008 में, i5/OS V6R1 (जिसे बाद में IBM i 6.1 के रूप में जाना जाता है) की रिलीज़ ने TIMI परत में कई बदलाव पेश किए, जिससे तृतीय-पक्ष सॉफ़्टवेयर के लिए समस्याएँ पैदा हुईं, जिससे ग्राहकों को भेजे गए एप्लिकेशन ऑब्जेक्ट से अवलोकनीयता को हटा दिया गया।[40]
एसएलआईसी
SLIC में वह कोड होता है जो IBM पावर आर्किटेक्चर के शीर्ष पर TIMI को लागू करता है। आमतौर पर एक संचालन प्रणाली कर्नेल (संचालन प्रणाली) से जुड़ी अधिकांश कार्यक्षमताओं को समाहित करने के अतिरिक्त, यह TIMI निर्देशों को यंत्र कोड में अनुवाद करने के लिए ज़िम्मेदार है, और यह कुछ उच्च स्तरीय कार्यक्षमताओं को भी लागू करता है जो TIMI के माध्यम से उजागर होती हैं, जैसे IBM i's एकीकृत संबंधपरक डेटाबेस।[1]SLIC IBM i के ऑब्जेक्ट-आधारित स्टोरेज मॉडल को सिंगल-लेवल स्टोर पताभिगमन स्कीम के शीर्ष पर लागू करता है, जो प्राइमरी और सेकेंडरी स्टोरेज के बीच अंतर नहीं करता है, और इसके बजाय सिंगल आभासी पता स्थान में सभी प्रकार के स्टोरेज को मैनेज करता है।[41] SLIC को मुख्य रूप से C++ में लागू किया गया है, और IBM i# को V3R6 से पहले OS/400 के संस्करणों में उपयोग किए जाने वाले PowerPC लेयर्स में ले जाया गया है।[16]
XPF
XPF में वह कोड होता है जो संचालन प्रणाली के हार्डवेयर-स्वतंत्र घटकों को लागू करता है, जिन्हें TIMI निर्देशों में संकलित किया जाता है।[16]XPF के घटकों में यूजर अंतरपृष्ठ, नियंत्रण भाषा, डेटा मैनेजमेंट और क्वेरी यूटिलिटीज, डेवलपमेंट टूल्स और प्रणाली मैनेजमेंट यूटिलिटीज सम्मिलित हैं। XPF में प्रणाली/36 एनवायरनमेंट और प्रणाली/38 एनवायरनमेंट भी सम्मिलित है, जो SSP और CPF प्रणाली से माइग्रेट किए गए एप्लिकेशन और डेटा के लिए बैकवर्ड कम्पैटिबिलिटी APIs और यूटिलिटीज प्रदान करते हैं।[42] XPF इस परत के लिए IBM का आंतरिक नाम है, और जैसा कि नाम से पता चलता है, प्रणाली/38 नियंत्रण कार्यक्रम सुविधा के विकास के रूप में शुरू हुआ।[1]XPF ज्यादातर पीएल/एमआई में लागू होता है, हालांकि अन्य भाषाओं का भी उपयोग किया जाता है।[43]
पास
PASE (पोर्टेबल एप्लिकेशन सॉल्यूशंस एनवायरनमेंट) उपयोगकर्ता मोड AIX निष्पादन योग्य के लिए बाइनरी संगतता प्रदान करता है जो सीधे AIX कर्नेल के साथ इंटरैक्ट नहीं करता है, और 32-बिट और 64-बिट AIX एप्लिकेशन बाइनरी इंटरफ़ेस का समर्थन करता है।[44] स्मॉलटाक के बंदरगाह का समर्थन करने के लिए OS/400 के V4R3 रिलीज में PASE को पहले एक सीमित और गैर-दस्तावेजी रूप में सम्मिलित किया गया था।[5]V4R5 रिलीज के समय पहली बार ग्राहकों के लिए इसकी घोषणा की गई थी, उस समय तक इसने महत्वपूर्ण अतिरिक्त कार्यक्षमता प्राप्त कर ली थी।
पीएएसई में एसएलआईसी द्वारा लागू किए गए प्रणाली कॉल अंतरपृष्ठ के शीर्ष पर चल रहे एआईएक्स यूजरस्पेस सम्मिलित हैं।[45] प्रणाली कॉल अंतरपृष्ठ PASE और देशी IBM i अनुप्रयोगों के बीच अंतर की अनुमति देता है, उदाहरण के लिए, PASE अनुप्रयोग एकीकृत डेटाबेस तक पहुँच सकते हैं, या मूल IBM i अनुप्रयोगों को कॉल कर सकते हैं, और इसके विपरीत।[46] PASE के निर्माण के पर्यन्त, टेरास्पेस नाम की एक नई प्रकार की सिंगल लेवल स्टोरेज ऑब्जेक्ट को संचालन प्रणाली में जोड़ा गया था, जो प्रत्येक PASE प्रक्रिया को एक निजी 1TiB स्पेस रखने की अनुमति देता है जिसे 64-बिट पॉइंटर्स के साथ संबोधित किया जाता है।[47] यह आवश्यक था क्योंकि सभी IBM i जॉब्स (अर्थात् प्रक्रियाएँ) आमतौर पर एक ही पता स्थान साझा करते हैं।[5]PASE एप्लिकेशन हार्डवेयर-स्वतंत्र TIMI निर्देशों का उपयोग नहीं करते हैं, और इसके बजाय उन्हें सीधे पावर यंत्र कोड में संकलित किया जाता है।
PASE Qshell वातावरण से अलग है, जो IBM i के मूल POSIX- संगत API के शीर्ष पर निर्मित एक यूनिक्स शेल और संबद्ध उपयोगिताओं का कार्यान्वयन है।[48]
उन्नत 36 यंत्र
1994 में पेश किया गया, उन्नत / 36 प्लेटफॉर्म अनमॉडिफाइड प्रणाली / 36 एप्लिकेशन और ओएस / 400 एसएलआईसी के शीर्ष पर अनुकरण में एसएसपी संचालन प्रणाली हार्डवेयर का उपयोग कर रहा था जो ज्यादातर समकालीन एएस / 400 प्रणाली के समान था।[1]इस कार्यक्षमता को V3R6 से V4R4 के माध्यम से OS/400 में ही सम्मिलित किया गया था, जिससे संचालन प्रणाली की तथाकथित उन्नत 36 यंत्र सुविधा का उपयोग करके चार प्रणाली/36 वर्चुअल यंत्र ( IBM की अवधि का उपयोग करने के लिए) तक चलाना संभव हो गया।[49] V4R5 रिलीज़ में समर्थन बंद कर दिया गया था, IBM द्वारा उन्नत/36 उत्पाद लाइन को समग्र रूप से बंद करने के साथ।[50] उन्नत 36 यंत्र की सुविधा प्रारंभिक OS/400 रिलीज में पेश किए गए प्रणाली/36 पर्यावरण से अलग है और अभी भी वर्तमान IBM i संस्करणों में समर्थित है।
एडवांस्ड/36 से पहले, प्रणाली/36 लाइन प्रत्येक प्रणाली में दो अलग-अलग प्रोसेसर का इस्तेमाल करती थी - मेन स्टोरेज प्रोसेसर (MSP) जो अधिकांश SSP संचालन प्रणाली के साथ-साथ यूजर कोड और कंट्रोल स्टोरेज प्रोसेसर (CSP) चलाता था। तथाकथित माइक्रोकोड चलाया जिसने कोर संचालन प्रणाली की कार्यक्षमता के साथ-साथ I/O को लागू किया। पर्यवेक्षक कॉल (एसवीसी) निर्देश के उपयोग के माध्यम से एमएसपी से सीएसपी माइक्रोकोड लागू किया गया था। उन्नत/36 पर, SLIC के अंदर CSP माइक्रोकोड को पुनः से लागू किया गया था। एक MSP एमुलेटर भी SLIC में बनाया गया था, जिसे कभी-कभी टेक्नोलॉजी इंडिपेंडेंट एमुलेशन इंटरफ़ेस कहा जाता है। यहां तक कि अनुकरण के ऊपरी हिस्से के साथ, उन्नत/36 प्रणाली मूल प्रणाली/36 प्रणाली की तुलना में काफी तेज थे जिन्हें उन्होंने अपने पावरपीसी एएस प्रोसेसर के प्रदर्शन के कारण बदल दिया था।[1]
विशेषताएं
डेटाबेस प्रबंधन
IBM i वर्तमान में IBM Db2 के रूप में जाना जाने वाला एक एकीकृत रिलेशनल डेटाबेस पेश करता है।[37]डेटाबेस रिलेशनल मॉडल और SQL के लिए समर्थन प्राप्त करते हुए नॉन-रिलेशनल प्रणाली/38 डेटाबेस से विकसित हुआ।[1]डेटाबेस का मूल रूप से कोई नाम नहीं था, इसके बजाय इसे केवल डेटा बेस सपोर्ट के रूप में वर्णित किया गया था।[51] 1994 में IBM के अन्य वाणिज्यिक डेटाबेसों की तुलना करने योग्य कार्यक्षमता को इंगित करने के लिए इसे डीबी2/400 नाम दिया गया था।[1]Db2 ब्रांडिंग के बावजूद, IBM i के लिए Db2 अन्य प्लेटफार्मों पर Db2 के लिए एक पूरी तरह से अलग कोडबेस है, और एक वैकल्पिक उत्पाद होने के विरोध में IBM i की SLIC परत में कसकर एकीकृत है।[52][53]
IBM i एकीकृत डेटाबेस तक पहुँचने के लिए दो तंत्र प्रदान करता है - तथाकथित देशी इंटरफ़ेस, जो प्रणाली / 38 और SQL के डेटाबेस एक्सेस मॉडल पर आधारित है।[1]मूल इंटरफ़ेस में डेटा विवरण विनिर्देश (DDS) भाषा होती है, जिसका उपयोग स्कीमा को परिभाषित करने के लिए किया जाता है और OPNQRYF आदेश या QQQQRY क्वेरी एपीआई।[54] ऑब्जेक्ट-रिलेशनल डेटाबेस | ऑब्जेक्ट-रिलेशनल डेटाबेस मैनेजमेंट जैसी सुविधाओं के लिए कुछ Db2 के लिए SQL की आवश्यकता होती है और इसे मूल इंटरफ़ेस के माध्यम से एक्सेस नहीं किया जा सकता है।[55] IBM i के पास दो अलग-अलग क्वेरी अनुकूलन हैं जिन्हें क्लासिक क्वेरी इंजन (CQE) और SQL क्वेरी इंजन (SQE) के रूप में जाना जाता है।[56] इन्हें क्वेरी डिस्पैचर के साथ एसएलआईसी के अंदर कार्यान्वित किया जाता है जो क्वेरी के प्रकार के आधार पर उपयुक्त अनुकूलक का चयन करता है। वितरित डेटा प्रबंधन वास्तुकला (DDM) और DRDA द्वारा क्रमशः नेटिव इंटरफ़ेस और SQL के माध्यम से रिमोट एक्सेस प्रदान किया जाता है।[57]
MySQL और MariaDB नाम के लिए एक स्टोरेज इंजन IBMDB2I उन डेटाबेस के लिए डिज़ाइन किए गए एप्लिकेशन को बैकिंग स्टोर के रूप में Db2 for i का उपयोग करने की अनुमति देता है।[58][59] अन्य ओपन सोर्स डेटाबेस IBM i में पोस्टग्रेएसक्यूएल, मोंगोडीबी और रेडिस सहित पोर्ट किए गए हैं।[60]ये डेटाबेस PASE वातावरण पर चलते हैं, और संचालन प्रणाली की एकीकृत डेटाबेस सुविधाओं से स्वतंत्र हैं।[61]
नेटवर्किंग
IBM i मालिकाना IBM प्रणाली नेटवर्क आर्किटेक्चर के अतिरिक्त इंटरनेट प्रोटोकॉल सूट|TCP/IP नेटवर्किंग का समर्थन करता है।[62] IBM i प्रणाली को ऐतिहासिक रूप से एक्सेस किया गया और IBM 5250 टर्मिनलों के माध्यम से प्रबंधित किया गया, जो जुड़वां अक्षीय केबलिंग केबलिंग के साथ प्रणाली से जुड़े थे। समर्पित टर्मिनल हार्डवेयर की गिरावट के साथ, आधुनिक IBM आई प्रणाली को आमतौर पर 5250 टर्मिनल एमुलेटर के माध्यम से एक्सेस किया जाता है। IBM, IBM i के लिए दो टर्मिनल इम्यूलेटर उत्पाद प्रदान करता है:[63]
- IBM आई एक्सेस क्लाइंट सॉल्यूशंस एक जावा (प्रोग्रामिंग भाषा) आधारित क्लाइंट है जो 5250 एमुलेशन प्रदान करने के लिए लिनक्स, मैकओएस और माइक्रोसॉफ़्ट विंडोज़ पर चलता है।
- IBM i Access for Web/Mobile वेब-आधारित 5250 अनुकरण प्रदान करता है।
इसके अतिरिक्त, IBM एक वेब-आधारित प्रबंधन कंसोल और प्रदर्शन विश्लेषण उत्पाद प्रदान करता है जिसका नाम IBM नेविगेटर i.[64]
ओपन-सोर्स
IBM i में पोर्ट किए गए कुछ ओपन सोर्स एप्लिकेशन में सम्मिलित हैं:[65][60]
- अपाचे HTTP सर्वर
- जावा (प्रोग्रामिंग भाषा)
- नोड.जेएस
- ओपनएसएसएल
- गिट
- जीएनयू संकलक संग्रह
- नगनेक्स
- पीएचपी
- पायथन (प्रोग्रामिंग भाषा)
- रूबी (प्रोग्रामिंग भाषा)
- लुआ (प्रोग्रामिंग भाषा)
- आर (प्रोग्रामिंग भाषा)
- मारियाडीबी[66]
- माई एसक्यूएल
- पर्ल
- रेडिस
- मोंगोडीबी
- पोस्टग्रेएसक्यूएल
- विम (पाठ संपादक)
IBM i के लिए ओपन सोर्स सॉफ्टवेयर आमतौर पर आरपीएम पैकेज मैनेजर पैकेज फॉर्मेट का उपयोग करके पैक किया जाता है, और यम (सॉफ्टवेयर) के साथ स्थापित किया जाता है।[67][68] YUM और RPM ने 5733-OPS उत्पाद को प्रतिस्थापित किया, जिसका उपयोग पहले IBM i पर ओपन सोर्स सॉफ़्टवेयर स्थापित करने के लिए किया गया था।[69] पोर्टिंग को आसान बनाने के लिए IBM i के लिए ओपन सोर्स सॉफ़्टवेयर के पोर्ट आमतौर पर देशी IBM i API के बजाय PASE को लक्षित करते हैं।[70]
प्रोग्रामिंग
IBM के लिए IBM से उपलब्ध प्रोग्रामिंग भाषाओं में IBM आरपीजी, कंट्रोल लैंग्वेज, सी (प्रोग्रामिंग भाषा), सी ++, जावा (प्रोग्रामिंग लैंग्वेज), ईजीएल (प्रोग्रामिंग भाषा), कोबोल और रेक्स सम्मिलित हैं। कंपाइलर पहले पास्कल (प्रोग्रामिंग भाषा), बुनियादी, पीएल/आई और स्मॉलटाक के लिए उपलब्ध थे, लेकिन तब से बंद कर दिए गए हैं। इंटीग्रेटेड लैंग्वेज एनवायरनमेंट (ILE) ILE संगत भाषाओं (C, C++, COBOL, RPG, और CL) के कार्यक्रमों को समान निष्पादन योग्य और कॉल प्रक्रियाओं में से किसी भी अन्य ILE भाषाओं में लिखे जाने की अनुमति देता है।
जब PASE पेश किया गया था, AIX प्रणाली पर PASE के लिए कोड संकलित करना आवश्यक था। यह आवश्यकता OS/400 V5R2 में हटा दी गई थी जब PASE के अंदर ही IBM XL C/C++ कंपाइलर का उपयोग करके कोड को संकलित करना संभव हो गया था।[71] तब से, अन्य कंपाइलरों को PASE में पोर्ट कर दिया गया है, जिसमें GNU कंपाइलर कलेक्शन भी सम्मिलित है।[72] IBM i के लिए कुछ विकास उपकरण संचालन प्रणाली के ऊपर ही चलते हैं, जैसे कि सोर्स एडिट यूटिलिटी (SEU) पाठ संपादक और प्रोग्रामिंग डेवलपमेंट मैनेजर। IBM IBM के लिए एक ग्रहण (सॉफ्टवेयर) आधारित एकीकृत विकास पर्यावरण (आईडीई) भी प्रदान करता है जिसका नाम IBM तर्कसंगत डेवलपर फॉर आई है जो IBM के बजाय डेवलपर वर्कस्टेशन पर चलता है।[73] एक्लिप्स-आधारित IDE से पहले, IBM ने वर्कफ़्रेम/2 पर आधारित एक IDE प्रदान किया जो OS/2 पर चलता था जिसका नाम CODE/400 था और एक IDE VisualAge पर आधारित था जो Microsoft Windows प्रणाली पर चलता था।[74][75] IBM i EBCDIC को डिफ़ॉल्ट
