Операциялық жүйелердің даму бағыттары. Операциялық жүйенің функциялары және міндеттері
Нақты уақыт режимі.
Операциялық жүйеденің архитектурасы.
Операциялық жүйелердің үйлесімділігі. Үрдісті басқару және ұйымдастыру.
Операциялық жүйеденің архитектурасы.
Операциялық жүйелердің үйлесімділігі. Үрдісті басқару және ұйымдастыру.
Операциялық жүйе (ОЖ) – дегеніміз компьютер құрылғыларын қолданушы үшін ыңғайлы пайдалану мүмкіншіліктерін қамтамасыздандыруға арналып жазылған программа.
Операциялық жүйе (ОЖ), жүйелік программалық қамтаманың негізгі құраушысы. ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды әдісі болатын және олардың детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен өзара әсерін бір жерге жинауға мүмкіншілік беретін абстракциялау тең қолданады. Бұл мағынада ОЖ қоданушы мен компьютер арасындағы интерфейсті көрсетеді.
Көптеген компьютерлердің архитектурасы машиналар командасы деңгейінде қолданбалы программаларды пайдалануға өте қолайсыз. Мысалы, дискімен жұмыс істеу оның электрондық құрауышының ішкі жабдығын дискіні айналдыру командасын енгізу, жолшықтарды іздеу және форматтау, секторлардан оқу және жазу т.б. үшін – контроллерді біледі деп ұйғарады. Орташа программисттің жабдықтар жұмысының бүкіл ерекшеліктерін ескеруге мүмкіншілігі жоқ екені (қазіргі заманғы терминологиямен айтқанда жабдық драйверін дамытумен шұғылдануға) басқаша айтқанда анық орташа программистің дискінің ақпараттық кеңістігін файлдар жиыны ретінде көрсететін қарапайым жоғарғы деңгейдегі абстракциясы болу керек. Файлды оқу немесе жазу үшін ашуға, ақпаратты алу немесе босату үшін пайдалануға, содан кейін жабуға болады. Дискінің бастиегінің детальдарын жылжыту немесе мотордың жұмысын ұйымдастыруды қамтамасыз етуден, бұл концептиальды жеңіл (оңай). Сол сияқты, қарапайым және анық абстракцияның көмегімен программистен үзуді ұйымдастырудың барлық қажет емес егжей-тегжейі, таймердің жұмысы, жадыны басқару және т.б. жасырылады. Одан басқа, қазіргі заманғы есептеу комплекстеріне операциялық жады көлемі және процессор саны шектеусіз деген иллюзия құруға болады. Осының бәрімен ОЖ айналысады. Сонымен, ОЖ компьютер құрал-жабдықтарымен тікелей жұмыс істейтін виртуалды машина ретінде көрсетіледі.
ОЖ компьютердің өте күрделі архитектурасының барлық бөліктерін басқаруға арналған. Мысалға, егер бір компьютерде жұмыс істейтін бірнеше программа, бір мезгілде нәтижені басқа құрылғысына (принтерге) шығаруға әрекеттенсе не болатынын елестетейік. Біздер әр-түрлі программалар шығарған араласқан жолдар мен беттер алатын едік. ОЖ бұл сияқты хаосты баспаға арналған, дисктегі және баспаға кезекті ұйымдастыру ақпараттарын буферлеу арқылы болдырмайды. Көп қолданушыға арналған компьютерлердің ресурстарын басқару және оларды қорғаудың қажеттілігі өте анық. Демек, операциялық жүйе, ресустар менеджері сияқты, процессорлардың таралуын, жадының және әртүрлі програмалар арасында басқа ресуртардың ретелгенін және бақыланғандығын іске асырады.
Егер есентеу жүйесі бірнеше қолданушының ортақ жүмысынан рұқсат етсе, онда олардың қызметінің қауіпсіздігін ұйымдастыру проблемасы шығады. Дискте ақпараттың сақталуын ешкімнің басқа адамдардың бөтен райларын жоймауын және бүлдірмеуін қамтамасыз ету керек. Бір қолданушылардың программаларына, екінші қолданушылардың программаларының ерікті түрде араласуына рұқсат етпеу керек. Есептеу жүйесін рұқсатсыз пайдалану әрекетін тыю керек. Осы әрекеттің бәрін, қолданушының және оның программаларының қауіпсіз жұмыс істеуін ұйымдастырушы ретінде, ОЖ іске асырады. Осы тұрғыдан қарағанда, ОЖ полициялық және қарсы шолу
Операциялық жүйе (ОЖ), жүйелік программалық қамтаманың негізгі құраушысы. ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды әдісі болатын және олардың детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен өзара әсерін бір жерге жинауға мүмкіншілік беретін абстракциялау тең қолданады. Бұл мағынада ОЖ қоданушы мен компьютер арасындағы интерфейсті көрсетеді.
Көптеген компьютерлердің архитектурасы машиналар командасы деңгейінде қолданбалы программаларды пайдалануға өте қолайсыз. Мысалы, дискімен жұмыс істеу оның электрондық құрауышының ішкі жабдығын дискіні айналдыру командасын енгізу, жолшықтарды іздеу және форматтау, секторлардан оқу және жазу т.б. үшін – контроллерді біледі деп ұйғарады. Орташа программисттің жабдықтар жұмысының бүкіл ерекшеліктерін ескеруге мүмкіншілігі жоқ екені (қазіргі заманғы терминологиямен айтқанда жабдық драйверін дамытумен шұғылдануға) басқаша айтқанда анық орташа программистің дискінің ақпараттық кеңістігін файлдар жиыны ретінде көрсететін қарапайым жоғарғы деңгейдегі абстракциясы болу керек. Файлды оқу немесе жазу үшін ашуға, ақпаратты алу немесе босату үшін пайдалануға, содан кейін жабуға болады. Дискінің бастиегінің детальдарын жылжыту немесе мотордың жұмысын ұйымдастыруды қамтамасыз етуден, бұл концептиальды жеңіл (оңай). Сол сияқты, қарапайым және анық абстракцияның көмегімен программистен үзуді ұйымдастырудың барлық қажет емес егжей-тегжейі, таймердің жұмысы, жадыны басқару және т.б. жасырылады. Одан басқа, қазіргі заманғы есептеу комплекстеріне операциялық жады көлемі және процессор саны шектеусіз деген иллюзия құруға болады. Осының бәрімен ОЖ айналысады. Сонымен, ОЖ компьютер құрал-жабдықтарымен тікелей жұмыс істейтін виртуалды машина ретінде көрсетіледі.
ОЖ компьютердің өте күрделі архитектурасының барлық бөліктерін басқаруға арналған. Мысалға, егер бір компьютерде жұмыс істейтін бірнеше программа, бір мезгілде нәтижені басқа құрылғысына (принтерге) шығаруға әрекеттенсе не болатынын елестетейік. Біздер әр-түрлі программалар шығарған араласқан жолдар мен беттер алатын едік. ОЖ бұл сияқты хаосты баспаға арналған, дисктегі және баспаға кезекті ұйымдастыру ақпараттарын буферлеу арқылы болдырмайды. Көп қолданушыға арналған компьютерлердің ресурстарын басқару және оларды қорғаудың қажеттілігі өте анық. Демек, операциялық жүйе, ресустар менеджері сияқты, процессорлардың таралуын, жадының және әртүрлі програмалар арасында басқа ресуртардың ретелгенін және бақыланғандығын іске асырады.
Егер есентеу жүйесі бірнеше қолданушының ортақ жүмысынан рұқсат етсе, онда олардың қызметінің қауіпсіздігін ұйымдастыру проблемасы шығады. Дискте ақпараттың сақталуын ешкімнің басқа адамдардың бөтен райларын жоймауын және бүлдірмеуін қамтамасыз ету керек. Бір қолданушылардың программаларына, екінші қолданушылардың программаларының ерікті түрде араласуына рұқсат етпеу керек. Есептеу жүйесін рұқсатсыз пайдалану әрекетін тыю керек. Осы әрекеттің бәрін, қолданушының және оның программаларының қауіпсіз жұмыс істеуін ұйымдастырушы ретінде, ОЖ іске асырады. Осы тұрғыдан қарағанда, ОЖ полициялық және қарсы шолу
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 26 бет
Таңдаулыға:
Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 26 бет
Таңдаулыға:
Операциялық жүйелердің даму бағыттары.
Операциялық жүйенің функциялары және міндеттері. Нақты уақыт режимі.
Операциялық жүйе (ОЖ) – дегеніміз компьютер құрылғыларын қолданушы үшін
ыңғайлы пайдалану мүмкіншіліктерін қамтамасыздандыруға арналып жазылған
программа.
Операциялық жүйе (ОЖ), жүйелік программалық қамтаманың негізгі құраушысы.
ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды әдісі болатын және олардың
детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен
өзара әсерін бір жерге жинауға мүмкіншілік беретін абстракциялау тең
қолданады. Бұл мағынада ОЖ қоданушы мен компьютер арасындағы интерфейсті
көрсетеді.
Көптеген компьютерлердің архитектурасы машиналар командасы деңгейінде
қолданбалы программаларды пайдалануға өте қолайсыз. Мысалы, дискімен жұмыс
істеу оның электрондық құрауышының ішкі жабдығын дискіні айналдыру
командасын енгізу, жолшықтарды іздеу және форматтау, секторлардан оқу және
жазу т.б. үшін – контроллерді біледі деп ұйғарады. Орташа программисттің
жабдықтар жұмысының бүкіл ерекшеліктерін ескеруге мүмкіншілігі жоқ екені
(қазіргі заманғы терминологиямен айтқанда жабдық драйверін дамытумен
шұғылдануға) басқаша айтқанда анық орташа программистің дискінің ақпараттық
кеңістігін файлдар жиыны ретінде көрсететін қарапайым жоғарғы деңгейдегі
абстракциясы болу керек. Файлды оқу немесе жазу үшін ашуға, ақпаратты алу
немесе босату үшін пайдалануға, содан кейін жабуға болады. Дискінің
бастиегінің детальдарын жылжыту немесе мотордың жұмысын ұйымдастыруды
қамтамасыз етуден, бұл концептиальды жеңіл (оңай). Сол сияқты, қарапайым
және анық абстракцияның көмегімен программистен үзуді ұйымдастырудың барлық
қажет емес егжей-тегжейі, таймердің жұмысы, жадыны басқару және т.б.
жасырылады. Одан басқа, қазіргі заманғы есептеу комплекстеріне операциялық
жады көлемі және процессор саны шектеусіз деген иллюзия құруға болады.
Осының бәрімен ОЖ айналысады. Сонымен, ОЖ компьютер құрал-жабдықтарымен
тікелей жұмыс істейтін виртуалды машина ретінде көрсетіледі.
ОЖ компьютердің өте күрделі архитектурасының барлық бөліктерін басқаруға
арналған. Мысалға, егер бір компьютерде жұмыс істейтін бірнеше программа,
бір мезгілде нәтижені басқа құрылғысына (принтерге) шығаруға әрекеттенсе не
болатынын елестетейік. Біздер әр-түрлі программалар шығарған араласқан
жолдар мен беттер алатын едік. ОЖ бұл сияқты хаосты баспаға арналған,
дисктегі және баспаға кезекті ұйымдастыру ақпараттарын буферлеу арқылы
болдырмайды. Көп қолданушыға арналған компьютерлердің ресурстарын басқару
және оларды қорғаудың қажеттілігі өте анық. Демек, операциялық жүйе,
ресустар менеджері сияқты, процессорлардың таралуын, жадының және әртүрлі
програмалар арасында басқа ресуртардың ретелгенін және бақыланғандығын іске
асырады.
Егер есентеу жүйесі бірнеше қолданушының ортақ жүмысынан рұқсат етсе, онда
олардың қызметінің қауіпсіздігін ұйымдастыру проблемасы шығады. Дискте
ақпараттың сақталуын ешкімнің басқа адамдардың бөтен райларын жоймауын және
бүлдірмеуін қамтамасыз ету керек. Бір қолданушылардың программаларына,
екінші қолданушылардың программаларының ерікті түрде араласуына рұқсат
етпеу керек. Есептеу жүйесін рұқсатсыз пайдалану әрекетін тыю керек. Осы
әрекеттің бәрін, қолданушының және оның программаларының қауіпсіз жұмыс
істеуін ұйымдастырушы ретінде, ОЖ іске асырады. Осы тұрғыдан қарағанда, ОЖ
полициялық және қарсы шолу (барлаушы) функциясы жүктелген мемлекеттік
қауіпсіздік жүйесін көрсетеді.
Бір жағынан компьютердің аппаратурасы мен пайдаланушының есептері
арасындағы интерфейс болып табылатын , ал екінші жағынан есептеуіш
жүйесінің қорын тиімді қолдану және сенімділік есептеу ұйымдастыруына
арналған басқарушы және өңдеу программаларының комплексін операциялық жүйе
дейміз.
1946 жылы программаны есте сақтайтын бірінші сандық есептеу машинасы іске
қосылғаннан бастап, 1956 жылға дейін есептеу машиналарының құрылысы және іс
әрекеттері тұрақты болып қалды. Олардың классикалық фон Нейман
архитектурасы, енгізу-шығару операцияларын қоса алғанда, командалардың
қатал түрде тізбектеліп орындалуына негізделген. Әдетше қолданушының
программасы жүктелгенде және орындалғанда, регистрлердің мәндерін орнату,
жады ұяшықтарын тексеру және барлық есептеулермен машиналардың ең төменгі
деңгейінде қатынаста болу қызметтері үшін пернетақта арқылы тікелей
машинамен жұмыс істелді. Программалар абсолютті машиналар тілі (ондық және
сегіздік нотация) жазылды және оны енгізу алдында абсолюттік жүктеме болды.
Программаларды автоматтандыру құралдары жоқ болды, немесе өте аз болды. Тек
өте күрделі қондырғыларда стандартты программалар кітапханасын аздап
пайдаланатын ассемблер мен интерпретаторлар болды.
Символдық программалаудың маңыздылығы мойындалғанда және ассемблерлеу
жүйелері кең тараған кезде, стандартты операциялық процедура өндірілді:
ассемблер жүктеуішпен оқылады; ассемблер қолданушының стандартты
программалар кітапханасы қосылған бастапқы программасын символикалық
колодалар абсолюттік формасына түрлендіреді; ассемблерленген программа
лентаға немесе картаға жазылады, ал жүктегіш осы программаны картадан
негізгі жадыға енгізу үшін тағы да қайтадан пайдаланылады; содан кейін
абсолютті программа орындалады. Әсіресе, осы қадамда карталарды өңдеу үшін
ЭЕМ қажет ететін уақытпен салыстырғанда әрбір қадам оператор жағынан
манипуляцияны қажет етеді және көп уақыт алады.
ОЖ-нің 1-ші буыны (ұрпағы) өмірге жоғарыда айтылған тиімсіздіктермен,
сонымен қатар басқа да пікірлемен келтірілген. Бұл қосымша факторларда:
құрал-жабдықтарды басқаруға шығатын шығын; басқа тілдердің болуы;
кітапханалық программалардың дамуы және құрылғылар, әсіресе, енгізу-шығару
операцияларына қатысты ерекшеліктер; абсолюттік программаның орындалуына
қажет баолық программалар секциялары және бағыныңқы программаларды
аударудың (трансляциялаудың) ыңғайсыздығы, ең басында барлығы бірге және
барлық уақытта кез келген программаларға өзгертулер енгізілген кезде
таратылуы келтірілген. Алғашқы жүйелік дестелер (пакеттер) стандартты
тізбекті жүктеуаудару (трансляция)жүктеу орындау қажетті жүйелік
программаларды (ассемблер, компилятор, жүктеуіш немесе кітапханалық
бағыныңқы программалар) табатын және жүктейтін, сонымен қатар бірінші
тапсырмадан екінші тапсырмаға өтуді басқаратын, орталық басқару
программасының көмегімен автоматтандырылады. Тілдік аударулар
(трансляторлар) программаларды абсолюттік емес, жылжымалы пішінде (формада)
құру үшін қайта көшірілген. Қалыпты (колоданы) араластыруға рұқсат ететін
бастапқы және жылжымалы объекті пішінде (формада) программалары бар
байланыстырғыш жүктемелер жасалған содан кейін кітапханалық программаларды
жылжымалы объекті пішінінде (формасында) сақтау мүмкіндігі пайда болды.
Операторға (оператор-аламға) енгізу-шығару дестелеріне (пакеттеріне)
арналған, стандартты емес тапсырмаларды күтуші (обслуживание) және
қабылданбаған кезде жүйелерді қалпына келтіретін физикалық жабдықтарды
басқару қажет. Тапсырма авторының, тапсырманың орындалу процессіне тікелей
қатынасы жоқ. Бұл ОЖ-де қауіпсіздік ең қиын және нақтылы проблема: жүйе
өздігінен немесе қолданушы арқылы жеңіл бүлінуі мүмкін, одан басқа, кез
келген қолданушы өз тапсырмасының ішінен дестедегі (пакеттегі) келесі
тапсырманы оңай оқуы мүмкін. Ресурстарды ең бірінші негізгі жадыны және
енгізу-шығару құрылысын үлестіру, ОЖ-ге қарағанда, үлкен дәрежелі тіл
процессорларының және қолданушылар программасының таныстырмасы болды.
Аппаратураның архитектурасы және программалық айқындалушылығына қарағанда,
ОЖ-нің болашақта даму көзқарасынан айырмашылық аппараттық қамтамада уақыт
периоды шамамен ЭЕМ-нің буындарының (ұрпақтарының) даму периодымен
түйіседі.
1959 жылдан 1963 жылдардағы периодта бірнеше маңызды аппараттық зерттеулер
кең таралды және ОЖ дамуына себепші болды. Деректер каналы – байланысты
басқаратын және деректерді негізгі ЭЕМ-мен және енгізу-шығару құралдары
арасында беретін, өзінің жеке жүйелік командаларымен және басқару
құрылғыларымен қарапайым ЭЕМ-сы маңызды ақпараттық жаңалық болды. Орталық
өңдеуші құрылғыдан (ОӨҚ) енгізу-шығару сұранысын алған кезде, канал енгізу-
шығару асинхронды және өз жұмысын жалғастырушы ОӨҚ-мен бірге (параллельно)
орындайды; енгізу-шығару операциялары және ОӨҚ-н мезгілде (уақытта, кезде)
қиыстыру мүмкіндігі пайда болады. Негізгі жады каналымен және ОӨҚ-мен
бөлінеді. Негізгі жады олар үшін программаларды және деректерді сақтайды.
Алғашқы кезде ОӨҚ тек каналдың жағдайын ғана сұрай алатын, бірақ жақын
арада, егер канал ақпарат берумақсатында ОӨҚ-нің жұмысын көп жағдайда
енгізу-щығару операторлары аяқталғанда үзетін болса, тиімділікті
жоғарылатуға болатындығы анықталды.
Бұл жаңа архитектураның артықша тиімділік мүмкіндігін пайдалану мақсатымен
күрделірек енгізу-шығару программалары жазылған. Оның құрамына деректерді
автоматты түрде оқуды қамтамасыз ететін буферлеу программалық құралы кірді.
Олар программаға қажет болғанға дейін және олардың шыуын кейінірекке
қалдыратын, шығу деректерін кезекке оналастыру үшін, сонымен қатар енгізу-
шығару үзілісін сезінетін және басқаруды үзілген программаға қайтаратын
өңдеуді үзу стандартты программалары бар.
Ерекше ішкі жағдайлар туралы сигнал беру, мұндағы, арифметикалық толып кету
және таңдап қосу үшін командалар қосылды, тыйым салу (сөндіру) және үзіліс
механизмінің (іс-әрекетінің тоқтатылуы) тоқтатылуы пайдалана бастады.
ОЖ есептерінің күрделенуі және толықтырылуына қарай (жай қолданушы нақты
аппаратурадан көбірек қашықтайтын) тапсырмаларының сипаттамаларын және
оларға қойылатын талаптарды жүйелі әдіске келтірудің қажеттілігі туындады.
Осы мақсат үшін тапсырмаларды басқару тілдері енгізілген. Бірақ, тапсырманы
әр уақыт моментінде жеке (бір-бірінен) өңдеу, үдемелі (интенсивный) есептеу
тапсырмасын орындау үшін, бұрынғыдай каналдарды өте төмен белсенділікке
(активности) келтірді. Сонымен қатар, үдемелі енгізу шығару тапсырмалары
үшін, егер каналдың және ОӨҚ-ның операциялары максимальды қиюласқан
(совмещение) деңгейге жеткен кезде, ОӨҚ және канал өте төмен белсенділікке
(активность) келтіріледі.
1962 жылдан 1969 жылдар аралығында үлкен ОЖ-лердің тегіс барлығында
тапсырмаларды өңдеудің жаңа әдісі – мультипрограммалау қолданыла бастады.
Сонымен қатар, дестелік өңдеуге альтернатива ретінде, уақытты бөліктегіш,
есептеулерді орындаудың жаңа әдісі жасалды, жүйә үшін нақты басқарылатын
жадыны және қолданушылардың кітапханалық программаларын, сол сияқты
қолданушының тапсырмаларын өңдеді күтушілер үшін тез қатынасты үлкен
дискілік құрылғылар қамтамасыз етті. Көптеген ЭЕМ-на жадыны және
командаларды қорғайтын аппараттық құралдар енгізілген. Кейбір үлен
машиналарда адрестерді баптайтын аппараттық құралдары бар, үлкен
виртуалды жадына жүзеге асыруға мүмкіндік берген негізгі жады жүйесі
пайда болды. Мультипроцессорлық конфигурациялар көбірек таратылған.
Ресурстарды тарату және қорғау мультимедиялық орташа қиын шешілетін және
өте қажетті проблема. Онда көп процесстер бір мезгілде бірігіп және жеке
(монопольно) жүйе ресурстарын сұрап пайдалануы мүмкін. Көбінесе олар
сигналдарды бір-біріне жиі беруі керек және ол сигналдар шамасы (потенциал)
қастандық немесе қате болуы мүмкін. Тура осы периодта ОЖ-ні зерттеу
есептеу техникасы аймағындағы ең басты бағыт болды.
Осы уақытта ЭЕМ-ның үлкен желілері, байланыс тізбегі негізінде салынған,
қызмет ұсына бастайды. Желілер жүйелік программалық қамтамаға одан да үлкен
талаптар ұсынады. Аппаратық микропрограммаларды қайта жазу мүмкіндігі бар
басқару жадысының пайда болуы, ақпаратты автоматты түрде деңгейлер арасында
беретін негізгі жадының иерархиялық құрылымы, ассоциотивті есте сақтау
құрылғыларының өнімділігі сияқты өзгерістер бар.Сол сияқты өңдеу
құрылғыларындағы, оның ішінде программаланатын параллельизмнің тереңдеуі,
программалық қамтамаға қатысты жаңа талаптар әкелді және ОЖ принциптерін
түсіндіреді. Қазіргі заманғы программалық қамтамалар жүзеге асуы мүмкін
болатын процесстерді және ресурстарды жобалау үшін, ОЖ қарапайымдылығын
анықтау:
- Адам – бағдарланған тілдер, тапсырмаларды басқару;
- параллельизмді қамтамасыз ететін тілдер және жүйелер;
- ОЖ әрекетін өлшейтін бағыныңқы жүйелер;
- Әмбебаптық қорғау схемасы;
Есептеу машинасының дамуының маңызды периоды 1960-1980 жылдарға жатады.
Процессор уақытын тиімді пайдалануды жоғарылату ішін деректерді,
тербелістен-тербеліс арасында тәсілдерді немесе spooling (Simultaneous
Peripheral Operation On Line сөзінен қысқартылған) енгізіледі. Жүйелік
дестелерге (пакеттерге) тербелістен-тербеліс астында техникасының енгізілуі
бір тапсырманың енгізу-шығару операцияларын нақты басқа тапсырманың
орындалуымен бірлестіруге рұқсат етті. Бірақ, бұл операциялардың аяқталғаны
туралы процессорға хабар жеткізу үшін үзу аппаратын жетілдіруді (жасауды)
талап етті.
Процессорды пайдаланудың тиімділігінің әрі қарай жоғарылауына
мультипрограмманаың көмегімен қол жетті. Мультипрограммалау идеясы
келесідей қорытындалды: бір програма енгізу-шығару операцияларын орындап
жатқан кезде, бір программалық режим кезіндегідей процессор тұрмайды.
Енгізу-шығару операциялары аяқталған кезде, процессор, бірінші программаны
орындауға қайтады.
Әрбір программалық жасау құрауыштары операциялық жүйенің басқаруымен жұмыс
жасайды.
ЭЕМ аппаратурасына операциялық жүйеден басқа программалық жасау
құрауыштарының еш қайсысы қатыспайды.
Пайдаланушының өз программаларымен әрекеттестігі операциялық жүйенің
интерфейсі арқылы өтеді. Олардың әрбір командалары қолданбалы прграммаларға
өту үшін операциялық жүйеден өтеді. Операциялық жүйенің орындайтын негізгі
функциялары.
1. пайдаланушыдан қабылдайтын командалар және олардың өңдеуі;
2. басқа программаларды іске қосу, тоқтату, кідіру үшін қабылданатын және
орындалатын программалық сұраныс;
3.орындалатын программаларды оперативті жадыға жүктеу;
4.программаның иницияциясы(передача ей упр-я в рез-те пр-р исп-т прогр-му)
5.барлық программалар мен деректердің идентификациясы;
6.деректер базасын басқару жүйесінің жұмысын жасау, программалық жасаудың
тиімділігін көтереді;
7.мультипрограммалау режимін жасау (екі және оданда көп программалардың бір
процессорда орындалуы);
8.барлық енгізу-шығару операцияларын ұйымдастыру және басқару функцияларын
жасау;
9.жадыны үлестіру;
10.берілген стратегиялар және қызымет көрсету пән бойынша есептердің
жоспарлауы мен диспетчерлеуі;
11.орындалатын программалар арасындағы деректер мен хабарлардың алмасу
кетігін ұйымдастыру;
12.деректердің сақтауын жасау; бір программаны басқа программаның қатерінен
сақтау;
13.жүйенің бөліктік жаңылысу кезінде берілетін қызымет;
14.программалау жүйесінің жұмысын жасау арқылы пайдаланушылар өз
программаларын дайындайды;
Операциялық жүйемен қатынасу қызметін алу үшін программаларға қажет
интерфейсті операциялық орта дейміз (енгізу-шығару операциясын орындау,
жадының участкесін алу немесе босату).
Әр бір программалау жүйесі өзіне сәйкес операциялық жүйеде жұмыс жасайды.
Операциялық жүйені қызыметтеу үшін арнайы жүйелік программалар утилит
дейміз.
Операциялық жүйені жіктеу.
Операциялық жүйелер біріншіден жалпы және арнайы тағайындалады. Есептерді
өңдеу режимінде операциялық жүйе бір программалы және мультипрограммалы
режимдерге бөлінеді.
Бірсанашықтық есептеу жүйесінде бірнеше программаның бір уақытта орындалып
жатқандай көріністі біз мультипрограммалық есептеуді ұйымдастыру тәсілі деп
атаймыз.
Бұл терминдердің негізгі айырмашылығы.
Мультипрограммалық режимде бірнеше қолданбалардың параллелді орындалуын
жасайды, ал программист бұл механизмнің орындалуын ойластырмайды.Бұл
функцияларды операциялық жүйе өзі орындайды;барлық орындалатын
қолданбаларға өзі есептеу жүйесінің қорларын бөледі және қажет
әрекеттестіктерді орындайды. Керісінше , мультиесептік режимде
қолданбалардың әрекеттестігі параллель орындалуы қолданбалы
программистерден тәуелді.
Мультипрограммалауды ұйымдастырған кезде, операциялық жүйенің рөлі мынадай:
1.ОЖ және қолданбалы программа арасындағы интерфейсті ұйымдастыру;
2.Жадыдағы тапсырмалардан кезек ұйымдастыру;
3.Бір тапсырмадан екінші тапсырмаға ауысу;
4.Ақпаратты жадыдан таңдау және ауыстыру, орналастыру процессін реттеу;
5.Файлдар түріндегі сыртқы тасымалдауыштардағы ақпараттардың сақталуын
ұйымдастыру және анықталған категориядағы қолданушыға нақты файлмен
қатынасты қамтамасыз ету;
6.Коммуникация құралдарымен қамтамасыздандыру;
7.Деректерді мүлтіксіз (корректно) алмастыру үшін әр түрлі ресурстармен
жұмыс істеген кезде пайда болатын және өз әрекеттерінің координациясын
программамен алдын ала ескеретін жанжалды (конфликт) оқиғаларды шешу керек,
яғни: жүйені синхронизациялау құралдарымен жабдықтау керек. Келесі период
(1980 жылдан қазірге дейін) дербес компьютерлерде шығарылатын есептердің
даму күрделілігі мен әр түрлілігі, олардың жұмыстарының сенімділігін
арттыру қажеттілігі, үлкен есептеу машинасы архитектурасына тән барлық
қасиеттердің практикада жолдануына әкеледі.
Соңғы операциялық жүйелер дербес компьютерлер үшін мультипрограммалық және
мультиесептік режимдерді жүзеге асырады. Негізгі сәулеттік принциптері
бойынша операциялық жүйені микроядролық және монолиттіге бөлуге болады. Бір
жағынан бұл бөлініс шартты түрде көрсетілген. Мысал келтіретін болсақ
микроядролық операциялық жүйеге QNX негізгі уақыт операциялық жүйесін
қатынастыруға болады. Ал монолитті операциялық жүйесі WIN 9598 немесе
Linux операциялық жүйесі. Win ядросын біз өзгерте алмаймыз , бізге оны
алғашқы кодтары белгісіз және бізде ядроны жинау үшін арналған программалар
жоқ. Linux ОЖ-не біз керек программалық модульдермен драйверларды қосып
ядроны жинауымызға болады.
Операциялық жүйені қарастырғанда есептеуіш үрдіс түсініктемесі негізгі
болып саналады.
Бөлек программаның деректерімен бірге тізбекті санашықта орындалуын
тізбекті үрдіс деп атаймыз.Мысал келтіретін болсақ үрдістерге
пайдаланушының қолданбалы программаларының орындалуы, утилиттар және басқа
жүйелік программалар жатады.
Текстің редакциялауы, программаны аударуы, оның құрастыруы, орындалуы үрдіс
болуы мүмкін. Бір программаны аудару ол бір үрдіс, ал келесі программаны
аудару – ол басқа үрдіс.
Аударғыш дегеніміз программалық модульдердің қосымы және бір программа
ретінде жұмыс көрсетеді, бірақ аударғыштық өңдейтін деректері әртүрлі.
Қор түсініктемесі де үрдіс сияқты операциялық жүйесінде негізгі болып
саналады. Қорды үлестіру және басқару механизмдерін ұлғартуын процесс
концепциясы анықтайды. Жүйе ішінде үлестірілетін әрбір объектті қор деп
атайды. Ең бірінші есептеу жүйелерінде орындалып жатқан программаның толық
орындалуынан кейін келесі программа орындалатын. Орталық санашық есептерді
орындап , деректерді енгізу-шығару операцияларын басқаратын.
Оперативті жады мен сыртқы құрылғы арасында деректермен алмасу орындалған
кезде, санашық басқа есептерді орындамайтын.
Есептеу машиналарына арнайы контроллердерді енгізу арқасында орталық
санашықта есептер орындалуы және қабылданған деректерді шығару
операцияларын уақытпен үлестіруі табылды. Оның өзінде санашық әрбір енгізу-
шығару операциясы аяқталғанша және көп уақыт күтіп тұратын. Сол кезде
есептеу жүйесінің мультипрограммалық режимі жұмыс ұйымдастыруы керек. Бір
программа (немесе үрдіс ) келесі енгізу-шығару операциясының аяқталуын
күтсе ,онда келесі программаны шешімге қоюға болады. Операциялық жүйе
мультипрограмманы қолдайды және сұрату кезегін ұйымдастыру арқылы қорларды
тиімді қолдануға тырысады.
Бұл келісім жадыда бірнеше үрдістің санашықтың босауын күтіп, ал бірнеше
үрдістер босаған қорларды қолдануға дайын кезде орындалады. Бір қорды
қолдану үшін ( енгізу –шығару құрылғысы, деректер массиві, оперативті жад
т.б.) үрдіс операциялық жүйенің супервизорына қатынасады. Супервизор-
орталық басқару мөдулінен тұрады, бұл мөдул бірнеше мөдулден тұрады: енгізу-
шығару супервизоры, үзу супервизоры, программалар супервизоры, есептер
диспетчері т.б. –негізгі шақыру арқылы (командалар ) – өзінің шартын
хабарлайды. Бұл кезде қордың түрі көрсетіледі, керек болса оның мөлшемі
(мысалы жолшық саны , баспа құрылғысы,шығатын деректердің мөлшемі т.б.)
Қорларды басқаруды ұйымдасыру кезінде дәл осы жағдайда екенін шешу қажет:
бөлек, ең қажетті сұрауларды тез орындауы, бар үрдістерге бірдей
мүмкіншілік беру немесе көп үрдістерді орындау және қорларды толық қолдану.
Орталық санашықтың уақытын пайдалану арқылы басқару.
ОЖ- де орталық санашықтың таратылған белсенділігін беру үшін есепті
таңдаудың алгоритміне ОЖ нақты экспулатациялық қасиетіне байланысты. ОЖ
жұмысының тиімділігін бағалау үшін қолданылатын алгоритмді таңдау толығымен
тиімділік критерилерімен анықталады. Сондықтан орталық санашықтың уақытын
пайдалану арқылы басқаруды біз сіздермен ОЖ типтерін қарастырамыз.
Бірінші жағдай. Менде жүйенің үлкен көлемді есептеу қуатын талап ететін көп
есептер немесе программалар бар. Бұл есептерді саналатын есептер деп
атайды, олар есептеудің үлкен көлемін талап етеді және сырт құрылғыларға аз
қатынайды. Бұл есептер бір есептеу жүйесінде орындалуы керек. Бұл есептер
дестесінің орындалу кезіндегі жүйенің жұмысы үшін тиімділік критерии не
болып табылады? Қандай параметрлер жиынын айтуға болады: егер олар үлкен
болса- онда жақсы, егер керсінше болса нашар. Бұндай жағдай үшін есептеу
жүйесінің жұмыс істеу тиімділігі болып орталық санашықтың жүктелі дәрежесі
болып табылады. Егер орталық санашық күту режимінде аз тұратын болса, ал
қалған үрдістер алмасумен айналысатын болса, онда біз жүйе тиімді жұмыс
істей алады деп айта аламыз. Жүйенің тиімді жұмыс істеуін сәйкес жоспарлау
алгоритмін қолданумен жүзеге асыруға болады. ОЖ мүмкіндігіне қарап біз осы
жүйеде бар барлық есептер жиынын өңдеуге жібереміз. Оны мультипрограммалық
режим қамтамассыз етеді. Бұл жағдайда орталық санашықтың уақытын жоспарлау
алгоритмі келесідей: егер орталық санашық бір үрдіске арналған болса, онда
осы үрдіс келесі жағдайлардың бірі келгенше орталық санашықта орналасады:
1.Сыртқы құрылғыларға қатынау.
2.үрдістің аяқталуы.
3.үрдістің қайталануының тиянақталған фактісі.
Осы аталған жағдайлардың қайсысы орталық санашыққа беріледі сол кезде
басқару келесі үрдіске беріледі. Бір үрдістен екінші үрдіске басқаруды беру
минимилизацияланған. Басқаруды бір үрдістен екінші үрдіске бергенде ОЖ
бірнеше әрекеттер орындауы керек, ал бұл уақыт жоғалуына әкеледі, бұнда
уақыттың жоғалуы минимилизацияланған. ОЖ- нің осындай режимде жұмыс істеуі
дестелік режим деп аталады.
Мысалы, компьютерлік класта отырған бірнеше адам әр қайсысы бөлек – бөлек
мәтінді түзетіп отыр. Әр терминалда мәтіндік түзеткіштің көшірмесі бар.
Бірінші жағдайға көрсетілген жоспарлау алгоритмін қолданатын болсақ жүйеде
қандай өзгеріс болатынын қарастырайық. Мысалға, пайдаланушылардың бірі
терминалда уақытша іске қоспаған және белсенділік көрсетпейтін болса.
Орталық санашықтың уақыты осы үрдіспен байланысты, себебі түзеткіш жұмысқа
дайын болған кезде бұл үрдіс алмасудың аяқталмауын орындамаған. Осы уақытта
барлық тоқтап қалған пайдаланушылар уақытша тоқтап тұрған қолданушыны
күтуге тура келеді. Уақытша тоқтап қалу жағдайы туындайды. Ол бірінші
жағдайға ыңғайлы алгоритм, осы жүйеге ең күшті машина көмегімен де
жарамайтындығын білдіреді. Сондықтан қамтамассыз ету мәселелерін көп санды
есептеу қызметінің қолданушылар тапсырмасы үшін (интерактивті тапсырма),
басқа тиімділік критериінен шығатын басқа алгоритмдер қолданылады.
Осындай жүйеге пайдаланушының күту уақыты критериі жарайды: қандай- да бір
қозғалысты орындауға ұсыныс жіберген уақытынан, жүйеннің ұсынысқа жауабына
дейін. Жүйе тиімділігі жүмыс істесе, онда жүйеге орташа статистикалық күту
уақыты азырақ.
Екінші жағдайды қарастырамыз. Жүйеде үрдістердің кейбір саны және
жоспаршының орталық санашық уақытын, пайдаланушының сұранысына жүйе
реакциясының уақыты минимальды немесе кепілді етіп тапсырманы тарату керек.
Жүйеде уақыт кванты деп аталатын (жалпы жағдайда, уақыт кванты- ол жүйе
келтіргенде өзгеретін мағына), ∆t параметірі қолданылады.
Мультипрограммалық өңдеудегі көптеген үрдістер жиыны екі қосалқы бөлікке
бөлінеді. Бірінші бөлікті орындауды жалғастыруға дайын есес үрдістер
құрайды, мысалы өздеріне ауыстыруға сұраныс берген және нәтижені күтіп
жатқан үрдістер. Орындауға дайын үрдістер де бар. Дәл осы уақытта орталық
санашықтаға үрдіс келесі жағдайлардың біреуі келгенше оны басқарады:
1.аусытыруға сұранысымен назар аудару
2.үрдістің аяқталуы
3.осы үрдіске берілген ∆t квант уақытының сарқылуы
Осы жағдайлардың біреуі түскенде операциялық жүйені жоспарлаушысы орындауға
дайын үрдістерден таңдайды, кейбір үрдістер және оған орталық санашық
қорларын береді. Ал ол осы үрдіске тәуелді нақты операция жүйесін қолданған
жоспарлау алгоритммен таңдайды. Мысалы, үрдіс кездейсоқ таңдалынуы мүмкін.
Екінші тәсіл үрдістерді тізбектелген өту (артынан жүрумен) болады, мысалға
біз үрдістерден алдымен бір жұмысты алып, содан соң ол босаған кезде
орталық санашық орындауға дайын үрдістерге беріледі. Келесі тапсырма
алынатын үшінші критери, оратлық санашықта атқарылмаған осы үрдіс болуы
мүмкін. Осы жағайда жүйе, ең көп уақытты, үрдісті таңдай алады. Осы
алгоритмдер операциялық жүйеде таратылған болуы керек, олар қарапайым
болады, әйтпесе жүйе тиімсіз жұмыс істейді.
Операциялық жүйенің осындай типті уақыт бөлуі ОЖ деп аталады. Ол
пайдаланушы сұранысына жүйе реакциясының уақыты азайған тәртібінде жұмыс
істейді. Сұранысқа жауап уақыты аз болғаны үшін, шынында қолданушыда барлық
жүйе қорларын соған берілгені туралы иллюзия пайда болуы керек.
Енді келесі тапсырманы қарастырамыз Автопилотпен басқарылатын ұшақ бар
делік, онда автопилот төмендеу операциясын орындайды. Әр ұшақта жерден
қанша биіктікте тұратынын өлшейтін құрал бар. Ұшақтың жұмыс тәртібін
басқару функциялары қайсыбір берілген программалар арқылы компьютер
атқарады. Егер бізде автопилот жүйесі бар болса және ұшақ төмендеп бара
жатса, онда жүйе ұшу биіктігі бойынша бақыланады. Осы ұшаққа қатысты
бірнеше тапсырмаларды орталық компьютер шеше алады: ұшу биіктігін
бақылайды, жанармайдың деңгейін бақылайды, қозғалтқыш жұмыстарының
көрсеткіші және т.б.д. осы функциялардың басқаруын әр үрдіс өзі алады.
Операциялық жүйе дестесі бізде және бактағы жанармай деңгейін бақылаймыз
делік. Осы кезде авариалық жағдай туындайды, өйткені ұшақ төмендеп барады
оны операциялық жүйе байқамайды. Жүйеде уақыттың бөлінуі болып жатыр делік.
Бізде уақыт алмасу жүйесі сапасының бірі тиімсіздігі болып табылады, яғни
жүйеде үрістен – үрдіске ауысу саны көп қарастырылғандықтан, ал бұл
функцияның сыиымдылығы жеткілікті. Тағы осындай жағдай: Биіктік нолге
жетті, ал операциялық жүйе тіркеу кестесінің ауыстыруымен айналысып жатыр,
мұндай нұсқада жарамайды. Осындай тапсырмаларды шешкенде жоспарлаудың
өзінің құралы қажет. Осы жағдайда нақты уақыттағы операциялық жүйе
қолданылады, бұл жүйенің кепілді реакциясының алдын ала анықталған жиыны
сол немесе басқа жағдайы пайда болуы негізгі критери болып табылады.
Орталық санашықтың уақытын басқару функциясымен және орталық саншықты
жоспарлауда екі фактіге назар аударамыз. Бірінші факт ол, көбіне есептеу
жүйесінің эспулатациялық қасиеті анықталатын ОС уақытын бөлу жоспарлау
жүйесінде таратылған. Біз ОЖ-нің үш типтік түрлерін қарастырамыз: дестелік
жүйенің өңделуі, уақыт бөлу жүйесі және нақты уақыт жүйесі. Бүгінгі таңда
нақты уақыт жүйесін ОЖ-ң бір санаты деп айтуға болады. Windows ОЖ-сі қандай
да бір объектілерді басқармайды, егер олардың нақты уақыты өте критикалы
болса және де СОЛЯРИС немемсе LINUX т.б ОЖ басқармайды, өйткені осы жүйелер
нақты уақыт жүйесі болып табылмайды.
Бірінші екі режимді, дестелі және уақыт бөлу, жалпы ОЖ-де жасауға болады
(вертуальды түрде). Нақты, үлкен ОЖ-лер аралас жүйелер болып табылады,
оларда ОС жоспарлау элементінде қайталанатын тапсырмаларды басқаратын
алгоритм сияқты және интерактивті тапсырма немесе келесіге қалдырылған
тапсырмалар болады.
ОЖ-нің жіктеуі (классификация)
) ОЖ-нің тағайындауын (белгілеуін) және олардың орындайтын функцияларын
қарастыра отырып, ең ортақ жіктеушілер принципін негізге ала отырып, барлық
алуан түрлі ОЖ-лерді жіктеуге болады:
1. Бір мезгілде бар программалық процесстердің санына байланысты ОЖ-лер
бірпрограммалы және мультипрограммалы болып бөлінеді. Мультипрограммалық ОЖ-
нің, бір программалық ОЖ-ден айырмашылығы есептеу процессі компьютер
жадында бір мезгілде бір процессорда кезекпен орындалатын бірнеше
программаның болуын ұйымдастыру;
2. Есептеу жүйесіне қатынасы бар қолданушылар саны бойынша, бір қолданушы
және көп қолданушы ОЖ-і болып танылады. Көп қолданушы жүйелері бірнеше
қолданушыға бір мезгілде жүйесіне қатынасқа мүмкіндік береді. Бұл жағдайда
әр қолданушы өзінің терминалымен жұмыс істейді, бірақ барлық есептеулер бір
компьютерде шығарылады.
3. Белгілеуі бойынша ОЖ-лер әмбебабтық және мамандандырылған болып
бөлінеді. Мамандандырылған ОЖ-лер бекітілген программалар жиынымен жұмыс
істейді.
4. Жүктелу әдісі бойынша жүктелетін ОЖ-лер және есептеу жүйесінің жадында
үнемі (ылғи)болатын жүйелер деп бөлуге болады. Соңғы, ереже бойынша,
мамандандырылған құрылғылардың жұмысын басқару үшін пайдаланылады.
5. ОЖ-ні пайдалану аймағының ерекшелігі бойынша жүйелік десбелік (пакеттік)
өңдеу, жүйелік уақытты бөлу және жүйелік нақты уақыт болып бөлінеді.
Жүйелік дестелік өңдеулер көбінесе тез нәтиже алуды қажет етпейтін, есептеу
тапсырмаларын шешуге арналған (есептерді шығаруға арналған).
Уақытты бөлу жүйелерінде есептеу процесстері тапсырмаға процессор уақытының
кванты бөлінетіндей ұйымдастырылған. Оның салдарынан, бірде бір есеп
процессордың көп уақытын алмайды және бұл қолданушыға өзінің программасымен
диалог құруға мүмкіндік береді.
Нақты уақыт жүйелері әр түрлі техникалық объектердің немесе технологиялық
процесстерді басқару үшін пайдаланылады. Мұндай жүйелер сыртқы оқиғалар
реакциясына шекті уақытпен сипатталады. Сол шекті уақытта объекті басқару
программалары орындалу керек. Жүйе түсетін деректерді, олардың түсуінен,
еске сала кететіні, бір мезгілде бірнеше дерек көзінен жылдамырақ өңдеуі
керек.
Операциялық жүйеденің архитектурасы
Былайша айтқанда, операциялық жүйе – бұл қарапайым басқару программасы,
сондықтан оны, басқа да көптеген программалар сияқты процедура және функция
құру арқылы ұйымдастырылған жөн болар еді. Бұл жағдайда, ОЖ-нің
компоненттері дербес (өздігінен) модуль емес, үлкен программаның бір
құрамды бөлігі. ОЖ-нің мұндай құрылымы монолиттік ядро (monolithic kernel)
деп аталады. Монолиттік ядро, әр қайсысы бір-бірін шақыра алатын
процедуралар жиынын көрсетеді. Барлық процедуралар жеңілдікпен
пайдаланушылық режимінде жұмыс істейді.
Сонымен, монолиттік ядро – бұл ОЖ-нің, барлық компоненнтері бір
программаның құрамды бөлігі болатын, деректердің жалпы құрылымын
пайдаланатын және бір-бірімен тікелей шақыру процедурасы арқылы
байланысатын схемасы. Монолиттік ОЖ-лер үшін ядро бүкіл жүйемен түйіседі.
Көптеген монолиттік ядроы бар ОЖ-лерде, ядроны жинау яғни оны
компиляциялау, ОЖ орындалатын әр компьютерде жеке орындалады. Бұл жағдайда
қолдауы ядроға кіретін құрал-жабдықтар тізімін және программалар
хаттамаларының тізімін таңдауға болады. Ядро бірыңғай программа
болғандықтан, қайта компиляциялау – оған жаңа компоненттер қосу немесе
пайдаланбағандарды шығару – бұл жалғыз әдіс. Ядрода артық компоненттерінің
болмағанының дұрыс екенін атап өту керек, сонымен ядро барлық уақытта
толығымен оперативті жадыда орналасады. Сонымен қатар, керек емес
компоненттерді шығарып тастау, ОЖ-нің сенімділігін толығымен арттырады.
Монолиттік ядро – ОЖ-ні ұйымдастырудың ең көне түрі. UNIX жүйесінің
көпшілігі монолиттік ядросы бар жүйенің мысалы бола алады.
Монолиттік жүйенің өзінде кейбір құрылымдарды ерекшелеуге болады. Ірі бетон
бастан, ұсақ тастардың дағын айыруға болатын сияқты, монолиттік ядрода
жүйелік шақыруға сәйкес келетін сервистік процедуралардың дақтары
ерекшеленеді. Сервистік процедуралар жеңілдікпен пайдалану режимінде, ал
қолданушылар программалары – жеңілдіксіз жұмыс істейді. Жеңілдікпен
пайдаланудың бір деңгейінің екіншісіне өту үшін, қандай жүйелік шақырыс
жасалды, осы шақырыстар үшін енгізу деректерінің түзетілуі және басқаруды
беретін сәйкес сервистік процедуралар жеңілдікпен пайдалану режиміне
көшкенде, кейде бас сервистік прогамманың қолданылуы мүмкін. Кейбір, сол
сияқты сервистік процедуралардың орындалуына көмектесетін программалық
утилиттер жиындары ерекшеленеді.
ОЖ-нің көпқабатты архитектурасы.
Құрылымдауды жалғастыра, бүкіл есептеу жүйесін өзара жақсы анықталған
байланыстары (көпдеңгейлік жүйелер (Layered systems)) бар, N деңгейдегі
объект, N-1 деңгейдегі объектерді ғана шақыра алатын майда деңгейлерге
бөлуге болады.
Әдетте, мұндай жүйелердің төменгі деңгейлері – hardware, жоғарғы деңгейлері
– қолданушылар интерфейсі. Неғұрлым деңгей төмен болған сайын, соғұрлым
жеңілдікпен пайдаланушы командаларды және әрекеттерді сол деңгейдегі модуль
орындауы мүмкін. Ең алғаш мұндай әдістеме THE (Technishe Hogeschool
Eindhoven) Дейкстрой (Dijkstra) жүйесін құрған кезде және 1968 жылы ол
студенттермен пайдаланылды. Бұл жүйенің келесі деңгейлері болды:
- қолданушы интерфейсі;
- енгізу-шығаруды басқару;
- оператордың және консольдің байланыс құрылғысының драйвері;
- жадыны басқару;
- есептерді және процесстерді жобалау;
- hardware;
Қабаттасқан жүйелер жақсы іске асады (орындалады). Төменгі қабаттағы
операцияларды пайдаланған кезде, олардың қалай іске асқанын білудің қажеті
жоқ, тек олардың не істейтінін түсіну керек. Қабаттасқан жүйелер жақсы
тестіленеді. Жөндеу (отладка) төменгі қабаттан басталады және әр қабаттан
өткізіледі. Қате пайда болған кезде біз оның тестілеу қабатында екеніне
сенімді болуымыз керек. Қабатталған жүйелер жақсы модификацияланады. Қажет
болған кезде, басқасына тиіспей, тек бір қабатты ғана ауыстыруға болады.
Бірақ қатталған жүйелерді дамыту үшін күрделі: қабаттардың ретін дұрыс және
ненің қай қабатқа жататынын анықтау қиын. Қабатталған жүйелердің монолиттік
жүйелерге қарағанда тиімділігі аз (тиімсіз).
Мысалы, енгізу-шығару операцияларын орындау үшін қолданушының программасына
тізбектің барлық қабатын жоғарыдан төменге дейін өтуге тура келеді.
ОЖ-нің микроядролық архитектурасының негізгі жағдайы (күйі).
Микроядролық архитектура жоғарыда қарастырылған ОЖ-ні құрудың классикалық
әдісіне альтернатива (балама) болады. Микроядролық архитектура, процесс
түрінде жүзеге асқан қолданушылар қосымшаларымен тең, ОЖ-нің құрамына
кіретін жүйелік сервистер және микроядро арасындағы ОЖ-нің функцияларын
таратады (бөледі).
ОЖ-ні құрудың микроядролық архитектура концепциясын қарастырайық. Берілген
келіскің (подход) басты ерекшелігі, жеңілдікті пайдаланушылықрежимінде,
микроядро деп аталатын ОЖ-нің өте аз бөлігі жұмыс істеуге қалады. Микроядро
ОЖ-нің басқа бөліктерінен және қолданушылардың қосымшасынан құралған.
Микроядро құрамына кіретін функциялар жиыны, қарапайым ядроның базалық
механизміне сәйкес келеді. Дегенмен микроядроның құрамына ядроның барлық
функциясы кіре бермейді, тек процесстерді басқаратын үзуді өңдеу,
виртуальды жадыны басқару, хабарларды беру, енгізу-шығару құрылғыларын
басқару функциялары ғана кіреді. ОЖ-нің мұндай функцияларының орындалуын,
қолданушылар режимінде іске асыру мүмкін емес.
Сол сияқты, ОЖ-нің барлық машинадан тәуелді модульдері микроядроға
енгізіледі. Микроядроның құрамына кірмей қалған ядроның жоғарғы деңгейдегі
функциялары және модульдері, қолданушылар режимінде жұмыс істейтін
қарапайым қосымшалар түрінде хатталады. Төменгі суреттен монолиттік ядромен
(1-а сурет) және микроядролық (1-б сурет) архитектурамен ОЖ-ні құрудағы
негізгі айырмашылықтарды көруге болады.
1 сурет. Монолиттік ядромен және микроядролық архитектурамен операциялық
жүйені құру
Қолданушылар режимінде жұмыс істейтін ресурстар менеджерлерінің ОЖ-нің
дәстүрлі утилиттерінен және ОЖ-нің жүйелік өңдеу программаларынан принципті
айырмашылығы бар. Бірақ микроядролық архитектурада барлық программалық
компоненттерқосымшалар түрінде хаттамаланған.
Утилиттер және өңдеуші программалар негізінен қолданушылармен шақырылады.
Бір қосымшаға, басқа қосымшаның функцияларының орындалуын қажет болатын
жағдай өте сирек, сондықтан классикалық архитектурасы бар ОЖ-де олардың
көмегімен бір қосымша басқаның (немесе басқа қосымшаның) функциясын
шақыруға мүмкіншілігі бар механизмдер жоқ. Егер қарапайым қосымша
формасында ОЖ-нің бөлігі хаттамаланатын болса, ол жағдайда принципиальды
басқа оқиға туындайды.
Анықтама бойынша мұндай қосымшалардың негізгі тағайындалуы басқа
қосымшалардың сұраныстарына қызмет ету болып табылады. Мысалы, процессті
құру, жадыны ерекшелеу, ресурстарға қатынастық құқығын тексеру және т.б.
Осының салдарынан қолданушылар режиміне шығарылған ресурстар менеджерлері
ОЖ-нің серверлері, яғни модульдері болып табылады. Олардың басты міндеті –
жергілікті қосымшалардың және ОЖ-нің басқа модельдерінің сұраныстарына
қызмет ету.
Микроядролық архитектура іске асқанда бір процесстің процедураларын
екіншісінен шақырудың ыңғайлы және тиімділігінің ОЖ-де болуын қамтамасыз
ететіні анық. Осындай механизмдерді қолдлау ОЖ-нің микроядросына қойылған
басты тапсырмалардың біреуі. Сервер ... жалғасы
Операциялық жүйенің функциялары және міндеттері. Нақты уақыт режимі.
Операциялық жүйе (ОЖ) – дегеніміз компьютер құрылғыларын қолданушы үшін
ыңғайлы пайдалану мүмкіншіліктерін қамтамасыздандыруға арналып жазылған
программа.
Операциялық жүйе (ОЖ), жүйелік программалық қамтаманың негізгі құраушысы.
ОЖ-ні құрған кезде, ОЖ-ні оңайлатудың маңызды әдісі болатын және олардың
детальдарының таратылуын елемей, желінің жоғарғы деңгейдегі құрауыштарымен
өзара әсерін бір жерге жинауға мүмкіншілік беретін абстракциялау тең
қолданады. Бұл мағынада ОЖ қоданушы мен компьютер арасындағы интерфейсті
көрсетеді.
Көптеген компьютерлердің архитектурасы машиналар командасы деңгейінде
қолданбалы программаларды пайдалануға өте қолайсыз. Мысалы, дискімен жұмыс
істеу оның электрондық құрауышының ішкі жабдығын дискіні айналдыру
командасын енгізу, жолшықтарды іздеу және форматтау, секторлардан оқу және
жазу т.б. үшін – контроллерді біледі деп ұйғарады. Орташа программисттің
жабдықтар жұмысының бүкіл ерекшеліктерін ескеруге мүмкіншілігі жоқ екені
(қазіргі заманғы терминологиямен айтқанда жабдық драйверін дамытумен
шұғылдануға) басқаша айтқанда анық орташа программистің дискінің ақпараттық
кеңістігін файлдар жиыны ретінде көрсететін қарапайым жоғарғы деңгейдегі
абстракциясы болу керек. Файлды оқу немесе жазу үшін ашуға, ақпаратты алу
немесе босату үшін пайдалануға, содан кейін жабуға болады. Дискінің
бастиегінің детальдарын жылжыту немесе мотордың жұмысын ұйымдастыруды
қамтамасыз етуден, бұл концептиальды жеңіл (оңай). Сол сияқты, қарапайым
және анық абстракцияның көмегімен программистен үзуді ұйымдастырудың барлық
қажет емес егжей-тегжейі, таймердің жұмысы, жадыны басқару және т.б.
жасырылады. Одан басқа, қазіргі заманғы есептеу комплекстеріне операциялық
жады көлемі және процессор саны шектеусіз деген иллюзия құруға болады.
Осының бәрімен ОЖ айналысады. Сонымен, ОЖ компьютер құрал-жабдықтарымен
тікелей жұмыс істейтін виртуалды машина ретінде көрсетіледі.
ОЖ компьютердің өте күрделі архитектурасының барлық бөліктерін басқаруға
арналған. Мысалға, егер бір компьютерде жұмыс істейтін бірнеше программа,
бір мезгілде нәтижені басқа құрылғысына (принтерге) шығаруға әрекеттенсе не
болатынын елестетейік. Біздер әр-түрлі программалар шығарған араласқан
жолдар мен беттер алатын едік. ОЖ бұл сияқты хаосты баспаға арналған,
дисктегі және баспаға кезекті ұйымдастыру ақпараттарын буферлеу арқылы
болдырмайды. Көп қолданушыға арналған компьютерлердің ресурстарын басқару
және оларды қорғаудың қажеттілігі өте анық. Демек, операциялық жүйе,
ресустар менеджері сияқты, процессорлардың таралуын, жадының және әртүрлі
програмалар арасында басқа ресуртардың ретелгенін және бақыланғандығын іске
асырады.
Егер есентеу жүйесі бірнеше қолданушының ортақ жүмысынан рұқсат етсе, онда
олардың қызметінің қауіпсіздігін ұйымдастыру проблемасы шығады. Дискте
ақпараттың сақталуын ешкімнің басқа адамдардың бөтен райларын жоймауын және
бүлдірмеуін қамтамасыз ету керек. Бір қолданушылардың программаларына,
екінші қолданушылардың программаларының ерікті түрде араласуына рұқсат
етпеу керек. Есептеу жүйесін рұқсатсыз пайдалану әрекетін тыю керек. Осы
әрекеттің бәрін, қолданушының және оның программаларының қауіпсіз жұмыс
істеуін ұйымдастырушы ретінде, ОЖ іске асырады. Осы тұрғыдан қарағанда, ОЖ
полициялық және қарсы шолу (барлаушы) функциясы жүктелген мемлекеттік
қауіпсіздік жүйесін көрсетеді.
Бір жағынан компьютердің аппаратурасы мен пайдаланушының есептері
арасындағы интерфейс болып табылатын , ал екінші жағынан есептеуіш
жүйесінің қорын тиімді қолдану және сенімділік есептеу ұйымдастыруына
арналған басқарушы және өңдеу программаларының комплексін операциялық жүйе
дейміз.
1946 жылы программаны есте сақтайтын бірінші сандық есептеу машинасы іске
қосылғаннан бастап, 1956 жылға дейін есептеу машиналарының құрылысы және іс
әрекеттері тұрақты болып қалды. Олардың классикалық фон Нейман
архитектурасы, енгізу-шығару операцияларын қоса алғанда, командалардың
қатал түрде тізбектеліп орындалуына негізделген. Әдетше қолданушының
программасы жүктелгенде және орындалғанда, регистрлердің мәндерін орнату,
жады ұяшықтарын тексеру және барлық есептеулермен машиналардың ең төменгі
деңгейінде қатынаста болу қызметтері үшін пернетақта арқылы тікелей
машинамен жұмыс істелді. Программалар абсолютті машиналар тілі (ондық және
сегіздік нотация) жазылды және оны енгізу алдында абсолюттік жүктеме болды.
Программаларды автоматтандыру құралдары жоқ болды, немесе өте аз болды. Тек
өте күрделі қондырғыларда стандартты программалар кітапханасын аздап
пайдаланатын ассемблер мен интерпретаторлар болды.
Символдық программалаудың маңыздылығы мойындалғанда және ассемблерлеу
жүйелері кең тараған кезде, стандартты операциялық процедура өндірілді:
ассемблер жүктеуішпен оқылады; ассемблер қолданушының стандартты
программалар кітапханасы қосылған бастапқы программасын символикалық
колодалар абсолюттік формасына түрлендіреді; ассемблерленген программа
лентаға немесе картаға жазылады, ал жүктегіш осы программаны картадан
негізгі жадыға енгізу үшін тағы да қайтадан пайдаланылады; содан кейін
абсолютті программа орындалады. Әсіресе, осы қадамда карталарды өңдеу үшін
ЭЕМ қажет ететін уақытпен салыстырғанда әрбір қадам оператор жағынан
манипуляцияны қажет етеді және көп уақыт алады.
ОЖ-нің 1-ші буыны (ұрпағы) өмірге жоғарыда айтылған тиімсіздіктермен,
сонымен қатар басқа да пікірлемен келтірілген. Бұл қосымша факторларда:
құрал-жабдықтарды басқаруға шығатын шығын; басқа тілдердің болуы;
кітапханалық программалардың дамуы және құрылғылар, әсіресе, енгізу-шығару
операцияларына қатысты ерекшеліктер; абсолюттік программаның орындалуына
қажет баолық программалар секциялары және бағыныңқы программаларды
аударудың (трансляциялаудың) ыңғайсыздығы, ең басында барлығы бірге және
барлық уақытта кез келген программаларға өзгертулер енгізілген кезде
таратылуы келтірілген. Алғашқы жүйелік дестелер (пакеттер) стандартты
тізбекті жүктеуаудару (трансляция)жүктеу орындау қажетті жүйелік
программаларды (ассемблер, компилятор, жүктеуіш немесе кітапханалық
бағыныңқы программалар) табатын және жүктейтін, сонымен қатар бірінші
тапсырмадан екінші тапсырмаға өтуді басқаратын, орталық басқару
программасының көмегімен автоматтандырылады. Тілдік аударулар
(трансляторлар) программаларды абсолюттік емес, жылжымалы пішінде (формада)
құру үшін қайта көшірілген. Қалыпты (колоданы) араластыруға рұқсат ететін
бастапқы және жылжымалы объекті пішінде (формада) программалары бар
байланыстырғыш жүктемелер жасалған содан кейін кітапханалық программаларды
жылжымалы объекті пішінінде (формасында) сақтау мүмкіндігі пайда болды.
Операторға (оператор-аламға) енгізу-шығару дестелеріне (пакеттеріне)
арналған, стандартты емес тапсырмаларды күтуші (обслуживание) және
қабылданбаған кезде жүйелерді қалпына келтіретін физикалық жабдықтарды
басқару қажет. Тапсырма авторының, тапсырманың орындалу процессіне тікелей
қатынасы жоқ. Бұл ОЖ-де қауіпсіздік ең қиын және нақтылы проблема: жүйе
өздігінен немесе қолданушы арқылы жеңіл бүлінуі мүмкін, одан басқа, кез
келген қолданушы өз тапсырмасының ішінен дестедегі (пакеттегі) келесі
тапсырманы оңай оқуы мүмкін. Ресурстарды ең бірінші негізгі жадыны және
енгізу-шығару құрылысын үлестіру, ОЖ-ге қарағанда, үлкен дәрежелі тіл
процессорларының және қолданушылар программасының таныстырмасы болды.
Аппаратураның архитектурасы және программалық айқындалушылығына қарағанда,
ОЖ-нің болашақта даму көзқарасынан айырмашылық аппараттық қамтамада уақыт
периоды шамамен ЭЕМ-нің буындарының (ұрпақтарының) даму периодымен
түйіседі.
1959 жылдан 1963 жылдардағы периодта бірнеше маңызды аппараттық зерттеулер
кең таралды және ОЖ дамуына себепші болды. Деректер каналы – байланысты
басқаратын және деректерді негізгі ЭЕМ-мен және енгізу-шығару құралдары
арасында беретін, өзінің жеке жүйелік командаларымен және басқару
құрылғыларымен қарапайым ЭЕМ-сы маңызды ақпараттық жаңалық болды. Орталық
өңдеуші құрылғыдан (ОӨҚ) енгізу-шығару сұранысын алған кезде, канал енгізу-
шығару асинхронды және өз жұмысын жалғастырушы ОӨҚ-мен бірге (параллельно)
орындайды; енгізу-шығару операциялары және ОӨҚ-н мезгілде (уақытта, кезде)
қиыстыру мүмкіндігі пайда болады. Негізгі жады каналымен және ОӨҚ-мен
бөлінеді. Негізгі жады олар үшін программаларды және деректерді сақтайды.
Алғашқы кезде ОӨҚ тек каналдың жағдайын ғана сұрай алатын, бірақ жақын
арада, егер канал ақпарат берумақсатында ОӨҚ-нің жұмысын көп жағдайда
енгізу-щығару операторлары аяқталғанда үзетін болса, тиімділікті
жоғарылатуға болатындығы анықталды.
Бұл жаңа архитектураның артықша тиімділік мүмкіндігін пайдалану мақсатымен
күрделірек енгізу-шығару программалары жазылған. Оның құрамына деректерді
автоматты түрде оқуды қамтамасыз ететін буферлеу программалық құралы кірді.
Олар программаға қажет болғанға дейін және олардың шыуын кейінірекке
қалдыратын, шығу деректерін кезекке оналастыру үшін, сонымен қатар енгізу-
шығару үзілісін сезінетін және басқаруды үзілген программаға қайтаратын
өңдеуді үзу стандартты программалары бар.
Ерекше ішкі жағдайлар туралы сигнал беру, мұндағы, арифметикалық толып кету
және таңдап қосу үшін командалар қосылды, тыйым салу (сөндіру) және үзіліс
механизмінің (іс-әрекетінің тоқтатылуы) тоқтатылуы пайдалана бастады.
ОЖ есептерінің күрделенуі және толықтырылуына қарай (жай қолданушы нақты
аппаратурадан көбірек қашықтайтын) тапсырмаларының сипаттамаларын және
оларға қойылатын талаптарды жүйелі әдіске келтірудің қажеттілігі туындады.
Осы мақсат үшін тапсырмаларды басқару тілдері енгізілген. Бірақ, тапсырманы
әр уақыт моментінде жеке (бір-бірінен) өңдеу, үдемелі (интенсивный) есептеу
тапсырмасын орындау үшін, бұрынғыдай каналдарды өте төмен белсенділікке
(активности) келтірді. Сонымен қатар, үдемелі енгізу шығару тапсырмалары
үшін, егер каналдың және ОӨҚ-ның операциялары максимальды қиюласқан
(совмещение) деңгейге жеткен кезде, ОӨҚ және канал өте төмен белсенділікке
(активность) келтіріледі.
1962 жылдан 1969 жылдар аралығында үлкен ОЖ-лердің тегіс барлығында
тапсырмаларды өңдеудің жаңа әдісі – мультипрограммалау қолданыла бастады.
Сонымен қатар, дестелік өңдеуге альтернатива ретінде, уақытты бөліктегіш,
есептеулерді орындаудың жаңа әдісі жасалды, жүйә үшін нақты басқарылатын
жадыны және қолданушылардың кітапханалық программаларын, сол сияқты
қолданушының тапсырмаларын өңдеді күтушілер үшін тез қатынасты үлкен
дискілік құрылғылар қамтамасыз етті. Көптеген ЭЕМ-на жадыны және
командаларды қорғайтын аппараттық құралдар енгізілген. Кейбір үлен
машиналарда адрестерді баптайтын аппараттық құралдары бар, үлкен
виртуалды жадына жүзеге асыруға мүмкіндік берген негізгі жады жүйесі
пайда болды. Мультипроцессорлық конфигурациялар көбірек таратылған.
Ресурстарды тарату және қорғау мультимедиялық орташа қиын шешілетін және
өте қажетті проблема. Онда көп процесстер бір мезгілде бірігіп және жеке
(монопольно) жүйе ресурстарын сұрап пайдалануы мүмкін. Көбінесе олар
сигналдарды бір-біріне жиі беруі керек және ол сигналдар шамасы (потенциал)
қастандық немесе қате болуы мүмкін. Тура осы периодта ОЖ-ні зерттеу
есептеу техникасы аймағындағы ең басты бағыт болды.
Осы уақытта ЭЕМ-ның үлкен желілері, байланыс тізбегі негізінде салынған,
қызмет ұсына бастайды. Желілер жүйелік программалық қамтамаға одан да үлкен
талаптар ұсынады. Аппаратық микропрограммаларды қайта жазу мүмкіндігі бар
басқару жадысының пайда болуы, ақпаратты автоматты түрде деңгейлер арасында
беретін негізгі жадының иерархиялық құрылымы, ассоциотивті есте сақтау
құрылғыларының өнімділігі сияқты өзгерістер бар.Сол сияқты өңдеу
құрылғыларындағы, оның ішінде программаланатын параллельизмнің тереңдеуі,
программалық қамтамаға қатысты жаңа талаптар әкелді және ОЖ принциптерін
түсіндіреді. Қазіргі заманғы программалық қамтамалар жүзеге асуы мүмкін
болатын процесстерді және ресурстарды жобалау үшін, ОЖ қарапайымдылығын
анықтау:
- Адам – бағдарланған тілдер, тапсырмаларды басқару;
- параллельизмді қамтамасыз ететін тілдер және жүйелер;
- ОЖ әрекетін өлшейтін бағыныңқы жүйелер;
- Әмбебаптық қорғау схемасы;
Есептеу машинасының дамуының маңызды периоды 1960-1980 жылдарға жатады.
Процессор уақытын тиімді пайдалануды жоғарылату ішін деректерді,
тербелістен-тербеліс арасында тәсілдерді немесе spooling (Simultaneous
Peripheral Operation On Line сөзінен қысқартылған) енгізіледі. Жүйелік
дестелерге (пакеттерге) тербелістен-тербеліс астында техникасының енгізілуі
бір тапсырманың енгізу-шығару операцияларын нақты басқа тапсырманың
орындалуымен бірлестіруге рұқсат етті. Бірақ, бұл операциялардың аяқталғаны
туралы процессорға хабар жеткізу үшін үзу аппаратын жетілдіруді (жасауды)
талап етті.
Процессорды пайдаланудың тиімділігінің әрі қарай жоғарылауына
мультипрограмманаың көмегімен қол жетті. Мультипрограммалау идеясы
келесідей қорытындалды: бір програма енгізу-шығару операцияларын орындап
жатқан кезде, бір программалық режим кезіндегідей процессор тұрмайды.
Енгізу-шығару операциялары аяқталған кезде, процессор, бірінші программаны
орындауға қайтады.
Әрбір программалық жасау құрауыштары операциялық жүйенің басқаруымен жұмыс
жасайды.
ЭЕМ аппаратурасына операциялық жүйеден басқа программалық жасау
құрауыштарының еш қайсысы қатыспайды.
Пайдаланушының өз программаларымен әрекеттестігі операциялық жүйенің
интерфейсі арқылы өтеді. Олардың әрбір командалары қолданбалы прграммаларға
өту үшін операциялық жүйеден өтеді. Операциялық жүйенің орындайтын негізгі
функциялары.
1. пайдаланушыдан қабылдайтын командалар және олардың өңдеуі;
2. басқа программаларды іске қосу, тоқтату, кідіру үшін қабылданатын және
орындалатын программалық сұраныс;
3.орындалатын программаларды оперативті жадыға жүктеу;
4.программаның иницияциясы(передача ей упр-я в рез-те пр-р исп-т прогр-му)
5.барлық программалар мен деректердің идентификациясы;
6.деректер базасын басқару жүйесінің жұмысын жасау, программалық жасаудың
тиімділігін көтереді;
7.мультипрограммалау режимін жасау (екі және оданда көп программалардың бір
процессорда орындалуы);
8.барлық енгізу-шығару операцияларын ұйымдастыру және басқару функцияларын
жасау;
9.жадыны үлестіру;
10.берілген стратегиялар және қызымет көрсету пән бойынша есептердің
жоспарлауы мен диспетчерлеуі;
11.орындалатын программалар арасындағы деректер мен хабарлардың алмасу
кетігін ұйымдастыру;
12.деректердің сақтауын жасау; бір программаны басқа программаның қатерінен
сақтау;
13.жүйенің бөліктік жаңылысу кезінде берілетін қызымет;
14.программалау жүйесінің жұмысын жасау арқылы пайдаланушылар өз
программаларын дайындайды;
Операциялық жүйемен қатынасу қызметін алу үшін программаларға қажет
интерфейсті операциялық орта дейміз (енгізу-шығару операциясын орындау,
жадының участкесін алу немесе босату).
Әр бір программалау жүйесі өзіне сәйкес операциялық жүйеде жұмыс жасайды.
Операциялық жүйені қызыметтеу үшін арнайы жүйелік программалар утилит
дейміз.
Операциялық жүйені жіктеу.
Операциялық жүйелер біріншіден жалпы және арнайы тағайындалады. Есептерді
өңдеу режимінде операциялық жүйе бір программалы және мультипрограммалы
режимдерге бөлінеді.
Бірсанашықтық есептеу жүйесінде бірнеше программаның бір уақытта орындалып
жатқандай көріністі біз мультипрограммалық есептеуді ұйымдастыру тәсілі деп
атаймыз.
Бұл терминдердің негізгі айырмашылығы.
Мультипрограммалық режимде бірнеше қолданбалардың параллелді орындалуын
жасайды, ал программист бұл механизмнің орындалуын ойластырмайды.Бұл
функцияларды операциялық жүйе өзі орындайды;барлық орындалатын
қолданбаларға өзі есептеу жүйесінің қорларын бөледі және қажет
әрекеттестіктерді орындайды. Керісінше , мультиесептік режимде
қолданбалардың әрекеттестігі параллель орындалуы қолданбалы
программистерден тәуелді.
Мультипрограммалауды ұйымдастырған кезде, операциялық жүйенің рөлі мынадай:
1.ОЖ және қолданбалы программа арасындағы интерфейсті ұйымдастыру;
2.Жадыдағы тапсырмалардан кезек ұйымдастыру;
3.Бір тапсырмадан екінші тапсырмаға ауысу;
4.Ақпаратты жадыдан таңдау және ауыстыру, орналастыру процессін реттеу;
5.Файлдар түріндегі сыртқы тасымалдауыштардағы ақпараттардың сақталуын
ұйымдастыру және анықталған категориядағы қолданушыға нақты файлмен
қатынасты қамтамасыз ету;
6.Коммуникация құралдарымен қамтамасыздандыру;
7.Деректерді мүлтіксіз (корректно) алмастыру үшін әр түрлі ресурстармен
жұмыс істеген кезде пайда болатын және өз әрекеттерінің координациясын
программамен алдын ала ескеретін жанжалды (конфликт) оқиғаларды шешу керек,
яғни: жүйені синхронизациялау құралдарымен жабдықтау керек. Келесі период
(1980 жылдан қазірге дейін) дербес компьютерлерде шығарылатын есептердің
даму күрделілігі мен әр түрлілігі, олардың жұмыстарының сенімділігін
арттыру қажеттілігі, үлкен есептеу машинасы архитектурасына тән барлық
қасиеттердің практикада жолдануына әкеледі.
Соңғы операциялық жүйелер дербес компьютерлер үшін мультипрограммалық және
мультиесептік режимдерді жүзеге асырады. Негізгі сәулеттік принциптері
бойынша операциялық жүйені микроядролық және монолиттіге бөлуге болады. Бір
жағынан бұл бөлініс шартты түрде көрсетілген. Мысал келтіретін болсақ
микроядролық операциялық жүйеге QNX негізгі уақыт операциялық жүйесін
қатынастыруға болады. Ал монолитті операциялық жүйесі WIN 9598 немесе
Linux операциялық жүйесі. Win ядросын біз өзгерте алмаймыз , бізге оны
алғашқы кодтары белгісіз және бізде ядроны жинау үшін арналған программалар
жоқ. Linux ОЖ-не біз керек программалық модульдермен драйверларды қосып
ядроны жинауымызға болады.
Операциялық жүйені қарастырғанда есептеуіш үрдіс түсініктемесі негізгі
болып саналады.
Бөлек программаның деректерімен бірге тізбекті санашықта орындалуын
тізбекті үрдіс деп атаймыз.Мысал келтіретін болсақ үрдістерге
пайдаланушының қолданбалы программаларының орындалуы, утилиттар және басқа
жүйелік программалар жатады.
Текстің редакциялауы, программаны аударуы, оның құрастыруы, орындалуы үрдіс
болуы мүмкін. Бір программаны аудару ол бір үрдіс, ал келесі программаны
аудару – ол басқа үрдіс.
Аударғыш дегеніміз программалық модульдердің қосымы және бір программа
ретінде жұмыс көрсетеді, бірақ аударғыштық өңдейтін деректері әртүрлі.
Қор түсініктемесі де үрдіс сияқты операциялық жүйесінде негізгі болып
саналады. Қорды үлестіру және басқару механизмдерін ұлғартуын процесс
концепциясы анықтайды. Жүйе ішінде үлестірілетін әрбір объектті қор деп
атайды. Ең бірінші есептеу жүйелерінде орындалып жатқан программаның толық
орындалуынан кейін келесі программа орындалатын. Орталық санашық есептерді
орындап , деректерді енгізу-шығару операцияларын басқаратын.
Оперативті жады мен сыртқы құрылғы арасында деректермен алмасу орындалған
кезде, санашық басқа есептерді орындамайтын.
Есептеу машиналарына арнайы контроллердерді енгізу арқасында орталық
санашықта есептер орындалуы және қабылданған деректерді шығару
операцияларын уақытпен үлестіруі табылды. Оның өзінде санашық әрбір енгізу-
шығару операциясы аяқталғанша және көп уақыт күтіп тұратын. Сол кезде
есептеу жүйесінің мультипрограммалық режимі жұмыс ұйымдастыруы керек. Бір
программа (немесе үрдіс ) келесі енгізу-шығару операциясының аяқталуын
күтсе ,онда келесі программаны шешімге қоюға болады. Операциялық жүйе
мультипрограмманы қолдайды және сұрату кезегін ұйымдастыру арқылы қорларды
тиімді қолдануға тырысады.
Бұл келісім жадыда бірнеше үрдістің санашықтың босауын күтіп, ал бірнеше
үрдістер босаған қорларды қолдануға дайын кезде орындалады. Бір қорды
қолдану үшін ( енгізу –шығару құрылғысы, деректер массиві, оперативті жад
т.б.) үрдіс операциялық жүйенің супервизорына қатынасады. Супервизор-
орталық басқару мөдулінен тұрады, бұл мөдул бірнеше мөдулден тұрады: енгізу-
шығару супервизоры, үзу супервизоры, программалар супервизоры, есептер
диспетчері т.б. –негізгі шақыру арқылы (командалар ) – өзінің шартын
хабарлайды. Бұл кезде қордың түрі көрсетіледі, керек болса оның мөлшемі
(мысалы жолшық саны , баспа құрылғысы,шығатын деректердің мөлшемі т.б.)
Қорларды басқаруды ұйымдасыру кезінде дәл осы жағдайда екенін шешу қажет:
бөлек, ең қажетті сұрауларды тез орындауы, бар үрдістерге бірдей
мүмкіншілік беру немесе көп үрдістерді орындау және қорларды толық қолдану.
Орталық санашықтың уақытын пайдалану арқылы басқару.
ОЖ- де орталық санашықтың таратылған белсенділігін беру үшін есепті
таңдаудың алгоритміне ОЖ нақты экспулатациялық қасиетіне байланысты. ОЖ
жұмысының тиімділігін бағалау үшін қолданылатын алгоритмді таңдау толығымен
тиімділік критерилерімен анықталады. Сондықтан орталық санашықтың уақытын
пайдалану арқылы басқаруды біз сіздермен ОЖ типтерін қарастырамыз.
Бірінші жағдай. Менде жүйенің үлкен көлемді есептеу қуатын талап ететін көп
есептер немесе программалар бар. Бұл есептерді саналатын есептер деп
атайды, олар есептеудің үлкен көлемін талап етеді және сырт құрылғыларға аз
қатынайды. Бұл есептер бір есептеу жүйесінде орындалуы керек. Бұл есептер
дестесінің орындалу кезіндегі жүйенің жұмысы үшін тиімділік критерии не
болып табылады? Қандай параметрлер жиынын айтуға болады: егер олар үлкен
болса- онда жақсы, егер керсінше болса нашар. Бұндай жағдай үшін есептеу
жүйесінің жұмыс істеу тиімділігі болып орталық санашықтың жүктелі дәрежесі
болып табылады. Егер орталық санашық күту режимінде аз тұратын болса, ал
қалған үрдістер алмасумен айналысатын болса, онда біз жүйе тиімді жұмыс
істей алады деп айта аламыз. Жүйенің тиімді жұмыс істеуін сәйкес жоспарлау
алгоритмін қолданумен жүзеге асыруға болады. ОЖ мүмкіндігіне қарап біз осы
жүйеде бар барлық есептер жиынын өңдеуге жібереміз. Оны мультипрограммалық
режим қамтамассыз етеді. Бұл жағдайда орталық санашықтың уақытын жоспарлау
алгоритмі келесідей: егер орталық санашық бір үрдіске арналған болса, онда
осы үрдіс келесі жағдайлардың бірі келгенше орталық санашықта орналасады:
1.Сыртқы құрылғыларға қатынау.
2.үрдістің аяқталуы.
3.үрдістің қайталануының тиянақталған фактісі.
Осы аталған жағдайлардың қайсысы орталық санашыққа беріледі сол кезде
басқару келесі үрдіске беріледі. Бір үрдістен екінші үрдіске басқаруды беру
минимилизацияланған. Басқаруды бір үрдістен екінші үрдіске бергенде ОЖ
бірнеше әрекеттер орындауы керек, ал бұл уақыт жоғалуына әкеледі, бұнда
уақыттың жоғалуы минимилизацияланған. ОЖ- нің осындай режимде жұмыс істеуі
дестелік режим деп аталады.
Мысалы, компьютерлік класта отырған бірнеше адам әр қайсысы бөлек – бөлек
мәтінді түзетіп отыр. Әр терминалда мәтіндік түзеткіштің көшірмесі бар.
Бірінші жағдайға көрсетілген жоспарлау алгоритмін қолданатын болсақ жүйеде
қандай өзгеріс болатынын қарастырайық. Мысалға, пайдаланушылардың бірі
терминалда уақытша іске қоспаған және белсенділік көрсетпейтін болса.
Орталық санашықтың уақыты осы үрдіспен байланысты, себебі түзеткіш жұмысқа
дайын болған кезде бұл үрдіс алмасудың аяқталмауын орындамаған. Осы уақытта
барлық тоқтап қалған пайдаланушылар уақытша тоқтап тұрған қолданушыны
күтуге тура келеді. Уақытша тоқтап қалу жағдайы туындайды. Ол бірінші
жағдайға ыңғайлы алгоритм, осы жүйеге ең күшті машина көмегімен де
жарамайтындығын білдіреді. Сондықтан қамтамассыз ету мәселелерін көп санды
есептеу қызметінің қолданушылар тапсырмасы үшін (интерактивті тапсырма),
басқа тиімділік критериінен шығатын басқа алгоритмдер қолданылады.
Осындай жүйеге пайдаланушының күту уақыты критериі жарайды: қандай- да бір
қозғалысты орындауға ұсыныс жіберген уақытынан, жүйеннің ұсынысқа жауабына
дейін. Жүйе тиімділігі жүмыс істесе, онда жүйеге орташа статистикалық күту
уақыты азырақ.
Екінші жағдайды қарастырамыз. Жүйеде үрдістердің кейбір саны және
жоспаршының орталық санашық уақытын, пайдаланушының сұранысына жүйе
реакциясының уақыты минимальды немесе кепілді етіп тапсырманы тарату керек.
Жүйеде уақыт кванты деп аталатын (жалпы жағдайда, уақыт кванты- ол жүйе
келтіргенде өзгеретін мағына), ∆t параметірі қолданылады.
Мультипрограммалық өңдеудегі көптеген үрдістер жиыны екі қосалқы бөлікке
бөлінеді. Бірінші бөлікті орындауды жалғастыруға дайын есес үрдістер
құрайды, мысалы өздеріне ауыстыруға сұраныс берген және нәтижені күтіп
жатқан үрдістер. Орындауға дайын үрдістер де бар. Дәл осы уақытта орталық
санашықтаға үрдіс келесі жағдайлардың біреуі келгенше оны басқарады:
1.аусытыруға сұранысымен назар аудару
2.үрдістің аяқталуы
3.осы үрдіске берілген ∆t квант уақытының сарқылуы
Осы жағдайлардың біреуі түскенде операциялық жүйені жоспарлаушысы орындауға
дайын үрдістерден таңдайды, кейбір үрдістер және оған орталық санашық
қорларын береді. Ал ол осы үрдіске тәуелді нақты операция жүйесін қолданған
жоспарлау алгоритммен таңдайды. Мысалы, үрдіс кездейсоқ таңдалынуы мүмкін.
Екінші тәсіл үрдістерді тізбектелген өту (артынан жүрумен) болады, мысалға
біз үрдістерден алдымен бір жұмысты алып, содан соң ол босаған кезде
орталық санашық орындауға дайын үрдістерге беріледі. Келесі тапсырма
алынатын үшінші критери, оратлық санашықта атқарылмаған осы үрдіс болуы
мүмкін. Осы жағайда жүйе, ең көп уақытты, үрдісті таңдай алады. Осы
алгоритмдер операциялық жүйеде таратылған болуы керек, олар қарапайым
болады, әйтпесе жүйе тиімсіз жұмыс істейді.
Операциялық жүйенің осындай типті уақыт бөлуі ОЖ деп аталады. Ол
пайдаланушы сұранысына жүйе реакциясының уақыты азайған тәртібінде жұмыс
істейді. Сұранысқа жауап уақыты аз болғаны үшін, шынында қолданушыда барлық
жүйе қорларын соған берілгені туралы иллюзия пайда болуы керек.
Енді келесі тапсырманы қарастырамыз Автопилотпен басқарылатын ұшақ бар
делік, онда автопилот төмендеу операциясын орындайды. Әр ұшақта жерден
қанша биіктікте тұратынын өлшейтін құрал бар. Ұшақтың жұмыс тәртібін
басқару функциялары қайсыбір берілген программалар арқылы компьютер
атқарады. Егер бізде автопилот жүйесі бар болса және ұшақ төмендеп бара
жатса, онда жүйе ұшу биіктігі бойынша бақыланады. Осы ұшаққа қатысты
бірнеше тапсырмаларды орталық компьютер шеше алады: ұшу биіктігін
бақылайды, жанармайдың деңгейін бақылайды, қозғалтқыш жұмыстарының
көрсеткіші және т.б.д. осы функциялардың басқаруын әр үрдіс өзі алады.
Операциялық жүйе дестесі бізде және бактағы жанармай деңгейін бақылаймыз
делік. Осы кезде авариалық жағдай туындайды, өйткені ұшақ төмендеп барады
оны операциялық жүйе байқамайды. Жүйеде уақыттың бөлінуі болып жатыр делік.
Бізде уақыт алмасу жүйесі сапасының бірі тиімсіздігі болып табылады, яғни
жүйеде үрістен – үрдіске ауысу саны көп қарастырылғандықтан, ал бұл
функцияның сыиымдылығы жеткілікті. Тағы осындай жағдай: Биіктік нолге
жетті, ал операциялық жүйе тіркеу кестесінің ауыстыруымен айналысып жатыр,
мұндай нұсқада жарамайды. Осындай тапсырмаларды шешкенде жоспарлаудың
өзінің құралы қажет. Осы жағдайда нақты уақыттағы операциялық жүйе
қолданылады, бұл жүйенің кепілді реакциясының алдын ала анықталған жиыны
сол немесе басқа жағдайы пайда болуы негізгі критери болып табылады.
Орталық санашықтың уақытын басқару функциясымен және орталық саншықты
жоспарлауда екі фактіге назар аударамыз. Бірінші факт ол, көбіне есептеу
жүйесінің эспулатациялық қасиеті анықталатын ОС уақытын бөлу жоспарлау
жүйесінде таратылған. Біз ОЖ-нің үш типтік түрлерін қарастырамыз: дестелік
жүйенің өңделуі, уақыт бөлу жүйесі және нақты уақыт жүйесі. Бүгінгі таңда
нақты уақыт жүйесін ОЖ-ң бір санаты деп айтуға болады. Windows ОЖ-сі қандай
да бір объектілерді басқармайды, егер олардың нақты уақыты өте критикалы
болса және де СОЛЯРИС немемсе LINUX т.б ОЖ басқармайды, өйткені осы жүйелер
нақты уақыт жүйесі болып табылмайды.
Бірінші екі режимді, дестелі және уақыт бөлу, жалпы ОЖ-де жасауға болады
(вертуальды түрде). Нақты, үлкен ОЖ-лер аралас жүйелер болып табылады,
оларда ОС жоспарлау элементінде қайталанатын тапсырмаларды басқаратын
алгоритм сияқты және интерактивті тапсырма немесе келесіге қалдырылған
тапсырмалар болады.
ОЖ-нің жіктеуі (классификация)
) ОЖ-нің тағайындауын (белгілеуін) және олардың орындайтын функцияларын
қарастыра отырып, ең ортақ жіктеушілер принципін негізге ала отырып, барлық
алуан түрлі ОЖ-лерді жіктеуге болады:
1. Бір мезгілде бар программалық процесстердің санына байланысты ОЖ-лер
бірпрограммалы және мультипрограммалы болып бөлінеді. Мультипрограммалық ОЖ-
нің, бір программалық ОЖ-ден айырмашылығы есептеу процессі компьютер
жадында бір мезгілде бір процессорда кезекпен орындалатын бірнеше
программаның болуын ұйымдастыру;
2. Есептеу жүйесіне қатынасы бар қолданушылар саны бойынша, бір қолданушы
және көп қолданушы ОЖ-і болып танылады. Көп қолданушы жүйелері бірнеше
қолданушыға бір мезгілде жүйесіне қатынасқа мүмкіндік береді. Бұл жағдайда
әр қолданушы өзінің терминалымен жұмыс істейді, бірақ барлық есептеулер бір
компьютерде шығарылады.
3. Белгілеуі бойынша ОЖ-лер әмбебабтық және мамандандырылған болып
бөлінеді. Мамандандырылған ОЖ-лер бекітілген программалар жиынымен жұмыс
істейді.
4. Жүктелу әдісі бойынша жүктелетін ОЖ-лер және есептеу жүйесінің жадында
үнемі (ылғи)болатын жүйелер деп бөлуге болады. Соңғы, ереже бойынша,
мамандандырылған құрылғылардың жұмысын басқару үшін пайдаланылады.
5. ОЖ-ні пайдалану аймағының ерекшелігі бойынша жүйелік десбелік (пакеттік)
өңдеу, жүйелік уақытты бөлу және жүйелік нақты уақыт болып бөлінеді.
Жүйелік дестелік өңдеулер көбінесе тез нәтиже алуды қажет етпейтін, есептеу
тапсырмаларын шешуге арналған (есептерді шығаруға арналған).
Уақытты бөлу жүйелерінде есептеу процесстері тапсырмаға процессор уақытының
кванты бөлінетіндей ұйымдастырылған. Оның салдарынан, бірде бір есеп
процессордың көп уақытын алмайды және бұл қолданушыға өзінің программасымен
диалог құруға мүмкіндік береді.
Нақты уақыт жүйелері әр түрлі техникалық объектердің немесе технологиялық
процесстерді басқару үшін пайдаланылады. Мұндай жүйелер сыртқы оқиғалар
реакциясына шекті уақытпен сипатталады. Сол шекті уақытта объекті басқару
программалары орындалу керек. Жүйе түсетін деректерді, олардың түсуінен,
еске сала кететіні, бір мезгілде бірнеше дерек көзінен жылдамырақ өңдеуі
керек.
Операциялық жүйеденің архитектурасы
Былайша айтқанда, операциялық жүйе – бұл қарапайым басқару программасы,
сондықтан оны, басқа да көптеген программалар сияқты процедура және функция
құру арқылы ұйымдастырылған жөн болар еді. Бұл жағдайда, ОЖ-нің
компоненттері дербес (өздігінен) модуль емес, үлкен программаның бір
құрамды бөлігі. ОЖ-нің мұндай құрылымы монолиттік ядро (monolithic kernel)
деп аталады. Монолиттік ядро, әр қайсысы бір-бірін шақыра алатын
процедуралар жиынын көрсетеді. Барлық процедуралар жеңілдікпен
пайдаланушылық режимінде жұмыс істейді.
Сонымен, монолиттік ядро – бұл ОЖ-нің, барлық компоненнтері бір
программаның құрамды бөлігі болатын, деректердің жалпы құрылымын
пайдаланатын және бір-бірімен тікелей шақыру процедурасы арқылы
байланысатын схемасы. Монолиттік ОЖ-лер үшін ядро бүкіл жүйемен түйіседі.
Көптеген монолиттік ядроы бар ОЖ-лерде, ядроны жинау яғни оны
компиляциялау, ОЖ орындалатын әр компьютерде жеке орындалады. Бұл жағдайда
қолдауы ядроға кіретін құрал-жабдықтар тізімін және программалар
хаттамаларының тізімін таңдауға болады. Ядро бірыңғай программа
болғандықтан, қайта компиляциялау – оған жаңа компоненттер қосу немесе
пайдаланбағандарды шығару – бұл жалғыз әдіс. Ядрода артық компоненттерінің
болмағанының дұрыс екенін атап өту керек, сонымен ядро барлық уақытта
толығымен оперативті жадыда орналасады. Сонымен қатар, керек емес
компоненттерді шығарып тастау, ОЖ-нің сенімділігін толығымен арттырады.
Монолиттік ядро – ОЖ-ні ұйымдастырудың ең көне түрі. UNIX жүйесінің
көпшілігі монолиттік ядросы бар жүйенің мысалы бола алады.
Монолиттік жүйенің өзінде кейбір құрылымдарды ерекшелеуге болады. Ірі бетон
бастан, ұсақ тастардың дағын айыруға болатын сияқты, монолиттік ядрода
жүйелік шақыруға сәйкес келетін сервистік процедуралардың дақтары
ерекшеленеді. Сервистік процедуралар жеңілдікпен пайдалану режимінде, ал
қолданушылар программалары – жеңілдіксіз жұмыс істейді. Жеңілдікпен
пайдаланудың бір деңгейінің екіншісіне өту үшін, қандай жүйелік шақырыс
жасалды, осы шақырыстар үшін енгізу деректерінің түзетілуі және басқаруды
беретін сәйкес сервистік процедуралар жеңілдікпен пайдалану режиміне
көшкенде, кейде бас сервистік прогамманың қолданылуы мүмкін. Кейбір, сол
сияқты сервистік процедуралардың орындалуына көмектесетін программалық
утилиттер жиындары ерекшеленеді.
ОЖ-нің көпқабатты архитектурасы.
Құрылымдауды жалғастыра, бүкіл есептеу жүйесін өзара жақсы анықталған
байланыстары (көпдеңгейлік жүйелер (Layered systems)) бар, N деңгейдегі
объект, N-1 деңгейдегі объектерді ғана шақыра алатын майда деңгейлерге
бөлуге болады.
Әдетте, мұндай жүйелердің төменгі деңгейлері – hardware, жоғарғы деңгейлері
– қолданушылар интерфейсі. Неғұрлым деңгей төмен болған сайын, соғұрлым
жеңілдікпен пайдаланушы командаларды және әрекеттерді сол деңгейдегі модуль
орындауы мүмкін. Ең алғаш мұндай әдістеме THE (Technishe Hogeschool
Eindhoven) Дейкстрой (Dijkstra) жүйесін құрған кезде және 1968 жылы ол
студенттермен пайдаланылды. Бұл жүйенің келесі деңгейлері болды:
- қолданушы интерфейсі;
- енгізу-шығаруды басқару;
- оператордың және консольдің байланыс құрылғысының драйвері;
- жадыны басқару;
- есептерді және процесстерді жобалау;
- hardware;
Қабаттасқан жүйелер жақсы іске асады (орындалады). Төменгі қабаттағы
операцияларды пайдаланған кезде, олардың қалай іске асқанын білудің қажеті
жоқ, тек олардың не істейтінін түсіну керек. Қабаттасқан жүйелер жақсы
тестіленеді. Жөндеу (отладка) төменгі қабаттан басталады және әр қабаттан
өткізіледі. Қате пайда болған кезде біз оның тестілеу қабатында екеніне
сенімді болуымыз керек. Қабатталған жүйелер жақсы модификацияланады. Қажет
болған кезде, басқасына тиіспей, тек бір қабатты ғана ауыстыруға болады.
Бірақ қатталған жүйелерді дамыту үшін күрделі: қабаттардың ретін дұрыс және
ненің қай қабатқа жататынын анықтау қиын. Қабатталған жүйелердің монолиттік
жүйелерге қарағанда тиімділігі аз (тиімсіз).
Мысалы, енгізу-шығару операцияларын орындау үшін қолданушының программасына
тізбектің барлық қабатын жоғарыдан төменге дейін өтуге тура келеді.
ОЖ-нің микроядролық архитектурасының негізгі жағдайы (күйі).
Микроядролық архитектура жоғарыда қарастырылған ОЖ-ні құрудың классикалық
әдісіне альтернатива (балама) болады. Микроядролық архитектура, процесс
түрінде жүзеге асқан қолданушылар қосымшаларымен тең, ОЖ-нің құрамына
кіретін жүйелік сервистер және микроядро арасындағы ОЖ-нің функцияларын
таратады (бөледі).
ОЖ-ні құрудың микроядролық архитектура концепциясын қарастырайық. Берілген
келіскің (подход) басты ерекшелігі, жеңілдікті пайдаланушылықрежимінде,
микроядро деп аталатын ОЖ-нің өте аз бөлігі жұмыс істеуге қалады. Микроядро
ОЖ-нің басқа бөліктерінен және қолданушылардың қосымшасынан құралған.
Микроядро құрамына кіретін функциялар жиыны, қарапайым ядроның базалық
механизміне сәйкес келеді. Дегенмен микроядроның құрамына ядроның барлық
функциясы кіре бермейді, тек процесстерді басқаратын үзуді өңдеу,
виртуальды жадыны басқару, хабарларды беру, енгізу-шығару құрылғыларын
басқару функциялары ғана кіреді. ОЖ-нің мұндай функцияларының орындалуын,
қолданушылар режимінде іске асыру мүмкін емес.
Сол сияқты, ОЖ-нің барлық машинадан тәуелді модульдері микроядроға
енгізіледі. Микроядроның құрамына кірмей қалған ядроның жоғарғы деңгейдегі
функциялары және модульдері, қолданушылар режимінде жұмыс істейтін
қарапайым қосымшалар түрінде хатталады. Төменгі суреттен монолиттік ядромен
(1-а сурет) және микроядролық (1-б сурет) архитектурамен ОЖ-ні құрудағы
негізгі айырмашылықтарды көруге болады.
1 сурет. Монолиттік ядромен және микроядролық архитектурамен операциялық
жүйені құру
Қолданушылар режимінде жұмыс істейтін ресурстар менеджерлерінің ОЖ-нің
дәстүрлі утилиттерінен және ОЖ-нің жүйелік өңдеу программаларынан принципті
айырмашылығы бар. Бірақ микроядролық архитектурада барлық программалық
компоненттерқосымшалар түрінде хаттамаланған.
Утилиттер және өңдеуші программалар негізінен қолданушылармен шақырылады.
Бір қосымшаға, басқа қосымшаның функцияларының орындалуын қажет болатын
жағдай өте сирек, сондықтан классикалық архитектурасы бар ОЖ-де олардың
көмегімен бір қосымша басқаның (немесе басқа қосымшаның) функциясын
шақыруға мүмкіншілігі бар механизмдер жоқ. Егер қарапайым қосымша
формасында ОЖ-нің бөлігі хаттамаланатын болса, ол жағдайда принципиальды
басқа оқиға туындайды.
Анықтама бойынша мұндай қосымшалардың негізгі тағайындалуы басқа
қосымшалардың сұраныстарына қызмет ету болып табылады. Мысалы, процессті
құру, жадыны ерекшелеу, ресурстарға қатынастық құқығын тексеру және т.б.
Осының салдарынан қолданушылар режиміне шығарылған ресурстар менеджерлері
ОЖ-нің серверлері, яғни модульдері болып табылады. Олардың басты міндеті –
жергілікті қосымшалардың және ОЖ-нің басқа модельдерінің сұраныстарына
қызмет ету.
Микроядролық архитектура іске асқанда бір процесстің процедураларын
екіншісінен шақырудың ыңғайлы және тиімділігінің ОЖ-де болуын қамтамасыз
ететіні анық. Осындай механизмдерді қолдлау ОЖ-нің микроядросына қойылған
басты тапсырмалардың біреуі. Сервер ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz