құрастырмалы блоктар ретінде шығатын шағын программалық модульдер құруға
мүмкіндік береді.
Shell командалық процессормен жұмыс істегенде тұтынушылар тап болатын
элементтердің бірі енгізу/шығаруға арналған мүмкіндік болып табылады.
Екінші құрылымды элемент канал болып саналады, орындалуы оқу мен жазу
операцияларымен байланысты процестер арасындағы айырбасты қамтамасыз ететін
механизм.
5.1.2 Процестердің тұтынушылық және өзектік құрылымдары
Әрбір процеске контекст сәйкес келеді. Бұл контекст құрамында –
1. тұтынушылық адресті кеңістіктің құрамы – тұтынушылық контекст (яғни,
виртуальды жадыда бейнеленетін программалық код, мәліметтер, стектің, бөлінетін
сегменттер және сегменттік файлдар құрамы)
2. аппаратты тіркегіштің құрамы- тіркегіш –контекст (команда санауышының
тіркегіші, процессор күйінің тіркегіші, стек көрсеткішінің тіркегіші, жалпы мақсаттағы
тіркегіш)
3. Процеспен байланысты берілген өзектің құрылымы –
жүйелік деңгейдегі
контекст.
Процестік контекстінің динамикалық бөлігі -өзек режимінде поцестің орындалуы
кезінде қолданылатын бір немесе бірнеше стектер. Процестің ядролық стектерінің саны
нақты аппаратурамен ұсынылады. Үзілу деңгейінің сандарына сәйкес келеді.
5.1.3 Көп қолданбалы режимдердің ұйымдастырылу принциптері
Бөлу уақыт жүйелерінде кең таралған жоспарлау алгоритмі сақиналық режим (round
robin) болып табылады. Уақыттың бөліну кестесі басымдықты процестер арасында жалпы
алғанда төмендегідей белгіленеді. Орындалуға дайын процестер процессорға кезекке өз
басымдықтарының азаюына байланысты тұрады. Егер кейбір процесс өзінің
процесаралық уақыт квантын орындап болса, бірақ әлі орындауға дайын болса, онда әрбір
төмендеу басымдықты процес алдына, бірақ сол басымдықты әрбір процестен кейін
кезекке тұрады. Егер кейбір процес белсендірілсе, онда ол сол басымдықты процестен
кейін кезекке қойылады.
UNIX ОЖ -нің дәстүрлі шешімі динамикалық өзгермелі басымдығын қолдануға
негізделген.
5.1.4 Тұтынушы деңгейінде процестерді басқарудың дәстүрлі механизмі
UNIX ОЖ -нің процестерді басқарудың 2 мүмкіндігі бар – командалық тілді
қолдану (осы не басқа Shell нұсқасы) және ОЖ-нің өзегінің жүйелік шақырулары тікелей
қолданумен программалар тілін қолдану.
5.1.5 Тізбек ұғымы (threads)
«Тізбек» (threads) - әлдебір процестің контекстінде орындалатын басқарудың тәулсіз
ағыны. Нақтырақ айтқанда, процес контексті ұғымы келесі түрде өзгереді. Басқару
ағынына жатпайтынның барлығы (виртуальді жады, ашық файл дескрипторы) жалпы
процес контекстінде қалады.
5.2 Енгізу / шығару буферлеудің жүйелік принциптері
UNIX ОЖ негізінен енгізіу/шығару ұйымының дәстүрлі 3 түрі бар , оған сәйкес 3
драйвер түрі бар.
Блокты енгізу/шығару нақты түрде базалық деңгейде құрылымды каталогтар мен
файлдық жүйенің кәдімгі файлдарымен жұмыс істеуге арналған.
Символды енгізу/шығару тұтынушының адресті кеңістігі мен сәйкес құрылғы
арасындағы айырбастың тура орындалуына арналған. Барлық далпы өзекті символды
драйвер үшін ортақ тұтынушылық және ядролық адресті кеңістіктер арасында
мәліметтерді көшіру қызмтеін қамтамасыз етеді.
Ағынды енгізу/шығару смволды енгізу/шығаруға ұқсас , бірақ аралық өңеуші
модульдер ағынына қосу мүмкіндігіне қарай тиімдіреу болады.
5.2.1 Семафорлар
UNIX ОЖ -де семафорлар келесі элементтерден тұрады:
семафордың мәні
семаформен соңғы хронологиялық жұмыс жасаған процесс идентификаторы
семафор маңызы артқанын тосатын процестер саны
семафордың нөлдік маңызын күтуші процестер саны
5.2.2 Хаттар кезегі
Хаттарды процестер арасында тасымалдау мүмкіндігін қамтамасыз ету үшін бұл
механизм төмендегі жүйелік шақыруларды ұстанылады.
Өзек берілген хатты берілген хаттар кезегіне сәтті қою үшін келесі шарттар
орындалуы қажет:
Қарастырылған процесс берілген хаттар кезегіне жазылу бойынша сәйкес
құқықтарға ие болу керек.
Хат ұзындығы жүйедегі бекітілген жоғарғы шектен асып түспеуі қажет.
Хаттардың жалпы ұзындығы (қайта жіберілгенмен қоса) бекітілген шектен асып
түспеуі қажет.
Хатта көрсетілген хаттың түрі оң бүтін сан болуы керек.
5.3 Үзілулер мен ерекше жағдайлар
Ерекше жағдайлар процеспен шақырылатын, адресация, артықшыланған
командалардың тапсырмалары, нөльге бөлу және т.б. сияқты жоспарланбаған
оқиғалардың пайда болуымен тығыз байланысты. Олардың процеске қатысты сыртқы
оқиғалармен пайда болатын үзілулерден айырмашылығы бар. Ерекше жағдайлар
команданың орындалуының дәл ортасында пайда болады, жүйе ерекше жағдайларды
өңдеп, команданы қайта құруға тырысады, үзілулер 2 командалар арасында пайда болады
деп есептелінеді, оған қарамастан, жүйе үзілулерді өңдеуден кейін келесі командадан
кейін процестің орындалуын жалғастырады. Үзілулер мен ерекше жағдайларды өңдеу
үшін UNIX жүйесінде бірдей механизм қолданылады.
5.3.1. Процессорлық үзілу деңгейі
2
сурет. Үзілулердің стандартты деңгейлері
5.4 Unix ОЖ ортасын қабылдайтын келешек ОЖ
Микроядро-модульді және айнымалы кеңейтулер үшін негіз болатын ОЖ-ң ең аз
серіппелі бөлігі. Көріп отырғанымыздай, келешек ұрпақтың ОЖ көбісінде микроядролар
болады.
Микроядро- ұғымын кең қолданылымға Next компаниясы енгізді, оның ОЖ Mach
микроядросын қолданды.
Келесі микроядролық ОЖ Microsoft компаниясының Windows NT болды.
Кейінірек, ОЖ-ң микроядролық архитектуралары Novell/USL, Open Software
Foundation (OSF), IBM, Apple және т.б. компаниялармен ұсынылды. Монолитті
жүйелерден микроядролық жүйелерге ауысу тенденциясы анықталды.
5.4.1.
Тұтынушының графикалық интерфейс құрылғылары
UNIX ОЖ -ң қазіргі заманғы барлық нұсқаларында тұтынушының графикалық
интерфейсі жүйемен бірге ұстанылады, тұтынушыға программамен жасалатын
графикалық интерфейс жасау үшін аспапты құрылғылар қолданылады.