13
жаңа орындалатын модулдағы алдыңғы мәтін программасын қайтадан компиляция жасауға тура
келеді. Осылайша, алғашқы мәтін деңгейінде үйлесімділік өкімде болатын бастапқы мәтін сөйлемін
құрастырушы үшін маңызы оте зор. Соңғы практикалық сабақты қолданушылар тек осы екілік
орындалатын кодта, әр түрлі ОЖ ортасында және әр түрлі компьютерде арнайы білімсіз программа
өнімін қолдана алады. Өзінің жаңа машинасында, мысалы, WINDOWS NT-нің басқаруымен жұмыс
істейтін машинада өзі үйренген кезінде сатып алған MS-DOS-қа арналған программалар пакеттерін еш
өзгеріссіз іске қосудың маңызы зор. Көп қолданбалы орта ОЖ қосымшалары мен бастапқы мәтін
деңгейінде екілік деңгейде басқа ОЖ және процессор үшін жазылған деректер үйлесімділігін
қамтамасыздандырады.
Екілік немесе бастапқы мәтін үйлесімділік қасиеті бар ОЖ көптеген факторларға байланысты
болады. Олардың ең тәуір, негізгісі – ОЖ жұмыс істейтін процессор архитектурасы. Екілік
үйлесімділікке жету үшін төмендегі шарттар орындалуы керек:
- ОЖ деректерін құптайтын, қолдайдын, құрамында программа
қосымшалары бар АРІ
функциясының шақырылуы;
- Орындаушы файл қосымшаларының ішкі құрылысы ОЖ деректерін орындайтын файл
құрылысымен сәйкес болуы керек;
Ажырата алатын (различающиеся) немесе танитын архитектурасы бар процессор орындауға
арналған ОЖ-дің екілік үйлесімділіктеріне жету қиынға соғады. Жоғарыда айтылған шарттарды
орындаумен қатар міндетті түрде екілік кодтың эмуляциясын ұйымдастыру керек. Компьютер басында
өзіне түсініксіз болған машина инструкциясын түсініп, талдауы үшін машинаға «эмулятор» атты
арнайы программалық қамтама орнатылуы керек.
Эмулятордың тағайындалуы–процессордың әрбір екілік инструкциясын кезекпен таңдауында
болып табылады, мысалы, Intel қандай әрекетті тапсыратынын анықтау үшін программалық әдіспен
оның кодын табады, ал содан кейін процессордың инструкциясында жазылған ішкі программа
эквивалентін орындайды, мысал ретінде Motorola-ны айтуға болады.
Жоғарыда айтылған жағдайдан шығудың бірнеше түрі, яғни, тиімді түрлері бар – ол қолданбалы
программа ортасын пайдалану. Солардың бірі - өзінің қосымша программасын қамтамасыз ететін ОЖ
АРІ қолданбалы программалау функция жиын интерфейсі болып табылады.
Басқа, бөтен программаның орындалу уақытын қысқарту үшін
қолданбалы орта кітапхана
функциясына көңіл аударады. Осы әрекеттің тиімділігі көптеген қазіргі программаларды графикалық
интерфейстің басқаруында (GUL), мысалы, Windows, Unix, сонымен бірге қосымша программа ереже
бойынша аз ғана уақытын бірнеше қажетті әрекеттердің орындалуына жұмсайды. Терезелерді басқару
үшін және т.б. GUL-ға байланысты әрекеттерді орындау үшін олар GUL кітапханасын шақыруға
үздіксіз іске асырады. Осы ерекшелік қолданбалы ортаның уақыт шығынын толтырады. Дұрыс
жоспарланған программа ортасының құрамында кітапхана, ішкі GUL кітапханасы болады, бірақ ол
орнатылған ОЖ-нің «өзінің» кодында жазылған. Осылайша, басқа ОЖ-де АРІ көмегімен программа
жылдам орындалады. Бір ғана командамен орындалатын бұл жағдайды эмулирлеу процессінен
ажыратуды трансляция деп атайды.
Бір ғана ОЖ-ге арналып жазылған программа басқа ОЖ үшін де орындалу керек болса АРІ
үйлесімділігімен қамтамасыздандыру жеткіліксіз. Әр түрлі ОЖ негізіне арналған концепция бір-біріне
қайшы келуі мүмкін. Мысалы, бір ОЖ қамтамасында енгізу-шығару құрылғысын басқаруға рұқсат
етілсе, ал басқа әрекеттерде ОЖ-нің прерогативі болып табылады. Өйткені, әрбір ОЖ-нің жеке
өзінің
қорын қорғау механизмі бар, яғни, олар: кез келген жағдайда
қателерді өңдеу алгоритмі, процесстің
ерекше құрылымы және жадыны басқару схемасы, өзінің файлға семантикалық қатынасы және
қолданушының графикалық интерфейсі. Осы айырмашылықтардың бәрі ОЖ жұмыс істейтін
аппаратты платформа спецификасымен, олардың жүзеге асырылу ерекшеліктерімен немесе жүйе
құрастырушының ендірілуімен анықталады. Үйлесімділікті қамтамасыздандыру үшін бір ғана ОЖ
үшін компьютер құрылғыларын, қорларын басқарудың бірнеше әдістерін міндетті түрде қарама-
қайшылық тумайтындай ұйымдастыру керек.
Үйлесімділікті жүзеге асыру әдістері Қазіргі кезде қосымша программалық қамтама кейбір ОЖ
қолданушыларына «бөтен» программаларды іске қосуына мүмкіндік береді (мысалы, MaCOS және
UNIX, DOS және Windows үшін программаларды орындауға мүмкіндік береді). Бірақ қазіргі ОЖ-де
«бөтен» программаларды орындауға арналған құралдар жүйенің стандартты бөлігіне айналып келеді.
ОЖ-ні таңдау қолданбалы программаны таңдауды көп шектемейді. Бірақ, MaCOS,
Windows және
UNIX үшін қолданушы интерфейс программасымен жұмыс істегенде экранда біраз қиыншылықтармен
күресуге тура келеді, бірақ ОЖ әр түрлі қолданбалы ортасы тышқан немесе мәзір (меню) сияқты
стандартты түрге айналады. Әр түрлі қолданбалы ортаны жүзеге асыру кезінде құрастырушылар
қарама қайшылық талаптарымен қақтығысады. Бір жағынан әрбір қолданбалы ортаның міндетті
15
қолданбалы ортаны қамту керек. Әр түрлі ОЖ-де жүйелік уақытты басқару әр түрлі болуына
қарамастан күннің әр түрлі уақыт форматы, жекеменшік алгоритмі
негізінде процессор уақыты
бөлінеді және т.б. қолданбалы программа интерфейсі функциясы әрбір сәйкесінше ОЖ специфика
есебінен жүзеге асады. Егер, кейбір функциялардың әртүрлі интерфейстері аналогты тағайындалған
болса да әрбір ОЖ үшін өзінің қолданбалы интерфейсі толығымен жүзеге асырыла береді. АРІ-ң
ұсқаларын таңдау ядроға жіберілетін сәйкесінше процесстің мінездемесін ұқсастық негізінде іске
асады.
Микроядроның концепциясын қолданатын көптеген қлданбалы ортаны құру әдісі де бар. Бұл
жағдайда барлық қолданбалы орта үшін ОЖ-нің базалы, жалпы механизмін білу өте қажет.
Микроядролық архитектураға сәйкес ОЖ-нің барлық
функциялары микроядро және қолданушының
серверлі режимі арқылы жүзеге асады. Әр қолданбалы орта қолданушының жеке сервер ретінде де
безендірілетінін және базалық механизмдерді қоспайтынын естен шығармау қажет. АРІ
пайдалануымен бірге, орындалушы файлдар (қосымшалар) микроядро арқылы қолданбалы ортадағы
жүйелік шақырудан сұрайды. Қолданбалы орта сұранысты өңдейді, қолданбалы ортада сұраныстың
орындалуы кезінде ОЖ-нің базалық механизміне сұраныс жасауға тура келеді.
Көптеген қолданбалы ортаны құрастыру жағдайында микроядролық архитектураның барлық
артықшылығы
мен кемшіліктері бар, олар:
-микроядролық ОЖ-нің кең таралуының арқасында қолданбалы ортаны қосу немесе алып тастау;
-қоданбалы ортаның біреуі істен шығып қалса қалғандары жұмыс істеп тұра береді, яғни, сенімді
және стабильді;
-микроядролық ОЖ-нің төменгі өнімділігі қолданбалы ортаның жұмыс істеу жылдамдығына әсер
етеді, яғни файлдардың жылдам орындалуына;
Әр түрлі ОЖ-нің (орындаушы файлдарының) қосымшаларының орындалуы үшін бір ОЖ-де
бірнеше қлданбалы ортаның құрылуы программаның бір ғана версиясының болуын және оны ОЖ-лер
арасында ауысуына мүмкіндік береді. Бірнеше қолданбалы орта берілген ОЖ-нің қосымшаларымен
бірге екілік деңгейде үйлесімдігін басқа ОЖ үшін жазылуын қамтамасыз етеді. Нәтижесінде
қолданушылар ОЖ-лерді таңдауға үлкен мүмкіндікке жетеді және де сапалы программалық
қамтамасыздандыруға жеңіл жол ашады.
Жоғарыда айтылып кеткендей бір ОЖ-ге арналып жазылған программа басқа ОЖ-лер үшін де
орындалуы үшін АРІ үйлесімділігін қолдану жеткіліксіз. Сонымен қатар оған «туған» ортасы өте
қажет, ол: процесс құрылысы, жадыны басқару қралы, кез-келген жағдай үшін және қатені өңдеу
құралы, ресурсты қорғау механизмі және файлға қатынаудың семантикасы. Бұл жерден ОЖ
құрылысымен тығыз байланысқан бірнеше қолданбалы ортаның көмегі
қарапайым емес екндігі
көрінеді. Бұл тапсырма WindowsNT-де өте жоғарғы деңгейде орындалады, сонымен бірге Карнети-
Меллона университеті құрастырушылары Mach ОЖ-ін құрастырғанда бір-бірінен тәжірибе алысты,
яғни, олар өзінің UNIX клиент-серверін жүзеге асыру кезінде ОЖ-нің базалы механизмін әр түрлі ОЖ-
нің АРІ серверлерінен бөліп алуы керек болды.
Әр бір операциялық жүйе кейбір мәліметтер мен жұмыс жасайды, олар басқару әдістері мен
бірігіп олардың қасиетін сипаттайды.
Достарыңызбен бөлісу: