Кіріспе

Операциялық жүйе

IBM i (i – интеграцияланған) – IBM компаниясы IBM Power Systems жүйелері үшін әзірлеген операциялық жүйе. Ол 1988 жылы IBM AS/400 жүйелерінің жалғыз операциялық жүйесі ретінде OS/400 деп шығарылды. Кейін 2004 жылы i5/OS деп, ал 2008 жылы тағы да IBM i деп қайта аталды. Бұл System/38 CPF операциялық жүйесінің дамуы болып табылады, сонымен қатар System/36 SSP және AIX қолданбаларымен үйлесімділікке ие қабаттар бар. Форт-Нокс жобасы барысында Рочестерде инженерлер құпия жобаны бастады, олар System/36 қолданбаларын System/38 жүйесінде іске қосуға мүмкіндік беретін кодты жасауға қол жеткізді. Silverlake операциялық жүйесі XPF (Extended CPF) кодовый атымен белгіленді және бастапқыда Форт-Нокс жабдықтарына CPF-тің порты ретінде әзірленді.

PowerPC-ге көшу

PowerPC-ге порттау TIMI-ден төменгі кодтың көп бөлігін қайта жазуды қажет етті. OS/400-дің алғашқы нұсқалары System/38 жүйесінің көлденең және тік микрокод қабаттарын мұралады, бірақ олар тиісінше Ішкі лицензиялық көлденең код (HLIC) және Ішкі лицензиялық тік код (VLIC) деп қайта аталды. Жаңа аппараттық құрылғыға порттау IMPI командалар жиынтығы мен оны іске асыратын көлденең микрокодты PowerPC AS командалар жиынтығымен және PowerAS процессорларындағы оның іске асырылуымен алмастырды. Бұл VLIC-ті IMPI орнына PowerPC-ге бағытталған етіп қайта жазуды, сондай-ақ бұрын HLIC-те іске асырылған операциялық жүйе функционалдығын басқа жерде қайта іске асыруды талап етті. SLIC-ті іске асыруға қажетті жұмыс көлеміне байланысты IBM Rochester жоба үшін бірнеше жүз C++ бағдарламашысын жұмысқа алды, олар SLIC пен CISC AS/400 жүйелері үшін VLIC-тің жаңа өңдеулерімен параллель жұмыс істеді.

Брендті өзгерту

AS/400 өнімдер желісі 1990 және 2000 жылдары бірнеше рет қайта аталды. IBM компаниясы i5/OS-тің V5R3 деген алғашқы нұсқасын "бір операциялық жүйе үшін басқаша атау" деп сипаттады. 2006 жылы IBM AS/400 желісін соңғы рет System i деп қайта атады. 2008 жылдың сәуірінде IBM System i-ді System p платформасымен біріктіріп, IBM Power Systems құрды. Сонымен қатар, POWER5 процессорларымен байланысты жою үшін i5/OS IBM i деп қайта аталды. Ол кезде i5/OS V5R4 және V6R1 ретінде шығарылған операциялық жүйенің ең соңғы екі нұсқасы IBM i 5.4 және 6.1 деп қайта аталды. IBM i брендін өзгертумен бірге IBM операциялық жүйе нұсқаларын белгілеу жүйесін өзгертті. Бұрынғы нұсқалар Version, Release, Modification схемасын қолданған, мысалы V2R1M1. Бұл схема Version.Release схемасымен алмастырылды, мысалы 6.1. IBM i 7.1 нұсқасынан бастап IBM Modification шығарылымдарын Технологиялық жаңартулармен алмастырды. Технологиялық жаңартулар операциялық жүйенің белгілі бір нұсқалары үшін жаңа функционалдық мүмкіндіктерді немесе аппараттық қолдауды қосатын, міндетті емес PTF ретінде жеткізіледі.

Сәулет

IBM i алғаш рет OS/400 ретінде шығарылғанда, ол екі деңгейге бөлінді: аппараттық құралға тәуелді Жүйелік лицензияланған ішкі код (SLIC). Бұл деңгейлер Технологияға тәуелсіз машина интерфейсі (TIMI) деп аталатын аппараттық абстракция деңгейімен бөлінеді. Операциялық жүйенің кейінгі нұсқалары қосымша деңгейлерге ие болды, оның ішінде AIX үйлесімділік деңгейі – Portable Application Solutions Environment (бұрынғыда Жеке адрестік кеңістік ортасы деп аталған) және System/36 SSP қолданбаларын эмуляция арқылы іске қосатын Advanced 36 Machine ортасы. Мысалы, IBM i 7.4 құжаттамасында олар IBM i машина интерфейсі, IBM i лицензияланған ішкі коды және IBM i операциялық жүйесі деп аталады.

Технологияға тәуелсіз машина интерфейсі (TIMI)

TIMI пайдаланушылар мен қолданбаларды негізгі аппараттық жабдықтан оқшаулайды. Бұл оқшаулау басқа операциялық жүйелердің аппараттық абстракцияларына қарағанда толыққандырақ, және процессордың нұсқаулар жиынтығы архитектурасын, адрестік кеңістіктің мөлшерін, сондай-ақ I/O және деректерді сақтаудың ерекшеліктерін абстракциялауды қамтиды. OMI нұсқаулары System/38 Machine Interface нұсқауларымен шамалас, ал NMI нұсқаулары төменгі деңгейде, IBM компиляторлары қолданатын W кодының аралық өрнек форматын еске түсіреді. NMI нұсқаулары ресми түрде құжатталмаған. OMI нұсқауларын бастапқы AS/400 компиляторлары пайдаланса, NMI нұсқауларын Integrated Language Environment компиляторлары қолданады.

SLIC

SLIC – IBM Power архитектурасы негізінде TIMI-ді іске асыратын кодтан тұрады. Операциялық жүйе ядросымен әдетте байланысты болатын көптеген функцияларды қамтитындықтан бөлек, ол TIMI нұсқауларын машиналық кодқа аударуға және IBM i-дің интеграцияланған реляциялық деректер базасы сияқты TIMI арқылы қолжетімді жоғары деңгейдегі функцияларды іске асыруға жауапты. SLIC негізінен C++ тілінде жасалған және V3R6 нұсқасына дейінгі OS/400 нұсқаларында пайдаланылған HLIC және VLIC қабаттарын ығыстырды. XPF – IBM-нің осы қабатқа берген ішкі атауы, және аталымы айқындайтындей, System/38 Control Program Facility-нің дамуы ретінде бастау алды.

PASE

PASE (Portable Applications Solutions Environment) AIX ядросымен тікелей өзара әрекеттеспейтін пайдаланушы режиміндегі AIX атқарылатын файлдары үшін екілік үйлесімділікті қамтамасыз етеді және 32 биттік және 64 биттік AIX қолданба екілік интерфейстерін қолдайды. PASE алғаш рет OS/400 V4R3 нұсқасында, Smalltalk-ты жүктеуді қолдау үшін шектеулі және құжатталмаған түрде енгізілді. Жүйелік шақыру интерфейстері PASE және түпнұсқа IBM i қолданбалары арасында өзара іс-қимылға мүмкіндік береді, мысалы, PASE қолданбалары интеграцияланған деректер базасына қол жеткізе алады немесе түпнұсқа IBM i қолданбаларын шақыра алады, сондай-ақ керісінше. PASE құрылған кезде операциялық жүйеге Teraspace деп аталатын жаңа типтегі бір деңгейлі сақтау нысаны қосылды, бұл әр PASE процесіне 64 биттік көрсеткіштермен адрестелетін жеке 1TiB кеңістік беруге мүмкіндік берді. Бұл қажет болды, өйткені барлық IBM i тапсырмалары (яғни процестер) әдетте бірдей адрестік кеңістікті бөліседі. IBM i үшін ашық кодты бағдарламалық жасақтама әдетте RPM пакет форматында жинақталады және YUM пакеттік басқарушысымен орнатылады. PASE, Unix қабығының және IBM i-нің түпнұсқа POSIX үйлесімді API-леріне негіделген қосымша құралдардың іске асырылуы болып табылатын Qshell ортасынан өзгеше.

Жоғары 36 машина

1994 жылы енгізілген Advanced/36 платформасы өзгертілмеген System/36 қолданбаларын және SSP операциялық жүйесін эмуляция арқылы OS/400 SLIC-тің үстінде іске қосты, аппараттық жабдықтамасы заманауи AS/400 жүйелеріне ұқсас болды. V4R5 нұсқасында қолдау тоқтатылды, бұл IBM-нің Advanced/36 өнімдерінің толық тоқтатылуымен бірге болды. Advanced 36 Machine мүмкіндігі бастапқы OS/400 нұсқасында енгізілген және қазіргі IBM i нұсқаларында қолдау көрсетілетін System/36 Environment-тен ерекшеленеді. Advanced/36-ға дейін System/36 желісі әрбір жүйеде екі түрлі процессорды пайдаланды: SSP операциялық жүйесінің көп бөлігін және пайдаланушы кодын іске қосатын Негізгі сақтау процессоры (MSP) және негізгі операциялық жүйе функционалдығын, сондай-ақ кіріс-шығыс (I/O) операцияларын жүзеге асыратын «микрокод» деп аталатын Бақылау сақтау процессоры (CSP). CSP микрокоды MSP-дан Supervisor Call (SVC) нұсқаулығы арқылы шақырылды. Advanced/36 жүйесінде CSP микрокоды SLIC ішінде қайта іске асырылды. SLIC-ке MSP эмуляторы да енгізілді, кейде оны Технологиядан тәуелсіз эмуляция интерфейсі деп атайды. Эмуляцияның қосымша жүктемесіне қарамастан, Advanced/36 жүйелері PowerPC AS процессорларының жоғары өнімділігіне байланысты ауыстырған бастапқы System/36 жүйелерінен әлдеқайда жылдам болды. 1994 жылы IBM-нің басқа коммерциялық деректер базаларымен салыстыруға болатын функционалдығын көрсету үшін DB2/400 деген ат берілді. IBM i интеграцияланған деректер базасына қол жеткізудің екі механизмін ұсынады: System/38 деректер базасына қол жеткізу моделіне негізделген түпкілікті интерфейс және SQL. Db2 for i-дің кейбір мүмкіндіктері, мысалы, объектілік реляциялық деректер базасын басқару SQL талап етеді және түпкілікті интерфейс арқылы қол жеткізуге болмайды. IBM i екі жеке сұраныс оңтайландырғышын қамтиды, олар Classic Query Engine (CQE) және SQL Query Engine (SQE) деп аталады. Бұл SLIC ішінде, сұрау түріне байланысты тиісті оңтайландырғышты таңдайтын Сұраныс жіберушімен бірге іске асырылады. Түпкілікті интерфейс және SQL арқылы қашықтан қол жеткізуді тиісінше Таратылған деректерді басқару архитектурасы (DDM) және Таратылған реляциялық деректер базасы архитектурасы қамтамасыз етеді. MySQL және MariaDB үшін IBMDB2I деп аталатын сақтау механизмі осы деректер базаларына арналған қолданбаларға Db2 for i-ді қосымша сақтау ретінде пайдалануға мүмкіндік береді. IBM i-ге PostgreSQL, MongoDB және Redis сияқты басқа ашық деректер базалары да көшірілді. Бұл деректер базалары PASE ортасында жұмыс істейді және операциялық жүйенің интеграцияланған деректер базасы мүмкіндіктеріне тәуелсіз.

Желі құру

IBM i, меншік IBM Systems Network Architecture-ға қосымша TCP/IP желісін де қолдайды. Бұрын IBM i жүйелеріне IBM 5250 терминалдары арқылы қол жеткізіліп, басқарылатын. Арнайы терминал аппараттық құралдарының қолданыстан шығуына байланысты, қазіргі заманғы IBM i жүйелеріне көбінесе 5250 терминал эмуляторлары арқылы қол жеткізіледі. IBM, IBM i үшін екі терминал эмуляторын ұсынады: IBM i Access Client Solutions – Linux, macOS және Windows жүйелерінде жұмыс істейтін, 5250 эмуляциясын қамтамасыз ететін Java-ға негізделген клиент. IBM i Access for Web/Mobile веб-базалық 5250 эмуляциясын ұсынады. Бұған қоса, IBM i үшін IBM Navigator деп аталатын веб-базалық басқару консолі мен өнімділікті талдау құралын ұсынады.

Бағдарламалау

IBM i үшін IBM ұсынатын бағдарламалау тілдеріне RPG, Control Language, C, C++, Java, EGL, COBOL және REXX кіреді. Бұрын Pascal, BASIC, PL/I және Smalltalk тілдері үшін де компиляторлар қолжетімді болған, бірақ қазір тоқтатылды. Біріктірілген тілдік орта (ILE) ILE форматымен үйлесімді тілдерде (C, C++, COBOL, RPG және CL) жазылған бағдарламаларды бір орындалатын файлға біріктіруге және басқа ILE тілдерінде жазылған процедураларды шақыруға мүмкіндік береді. PASE енгізілген кезде, PASE үшін кодты AIX жүйесінде компиляциялау қажет болды. OS/400 V5R2 нұсқасында бұл талап алынып тасталды, себебі PASE-дің өзінде IBM XL компиляторлар жиынтығын пайдаланып кодты компиляциялау мүмкін болды. Содан бері басқа компиляторлар да PASE-ге, соның ішінде gcc-ге көшірілді. IBM i үшін кейбір әзірлеу құралдары операциялық жүйенің өзінде жұмыс істейді, мысалы, Source Edit Utility (SEU) мәтін редакторы және Бағдарламалық дамыту менеджері. IBM сондай-ақ IBM i үшін IBM Rational Developer for i деп аталатын Eclipse негізіндегі біріктірілген даму ортасын (IDE) ұсынады, ол әзірлеушілердің жұмыс станцияларында, IBM i орнына жұмыс істейді. Eclipse негізіндегі IDE-ден бұрын IBM, OS/2 жүйесінде WorkFrame/2 негізіндегі CODE/400 IDE және Microsoft Windows жүйесінде VisualAge негізіндегі IDE ұсынған. IBM i әдепкі таңбалық кодтама ретінде EBCDIC-ті пайдаланады, сонымен қатар ASCII, UCS 2 және UTF 16 үшін де қолдау көрсетеді.

Сақтау

IBM i жүйесінде дискілік дисктер деректерді ұйымдастыру үшін, сақтау құрылғысының ақаулықтарының әсерін шектеу және қалпына келтіру уақытын қысқарту мақсатында көмекші сақтау пулына (ASP) топтастырылуы мүмкін. Егер дискілік диск істен шықса, тек істен шыққан құрылғыны қамтитын пулдегі деректерді қалпына келтіру қажет. ASP-лер ұқсас өнімділік сипаттамалары бар объектілерді, мысалы, журнал қабылдағыштарын өздерінің пулына бөлу арқылы өнімділікті жақсарту үшін де пайдаланылуы мүмкін. Дәстүрлі түрде барлық дискілік дисктер 1-пулға тағайындалады. IBM i пулдарының түсінігі Unix/Linux жүйелеріндегі томдық топтардың түсінігіне ұқсас; алайда, IBM i жүйесінде барлық дискілік дисктерді бір ASP-ге тағайындау жиі кездеседі.