Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 лек.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
184 Кб
Скачать
☆

16 Тақырып. Микроядролық және макроядролық жүйелер.

Дәріс мақсаты: Микроядроны құрудың негізгі мақсаты. Микроядроның сервистік қызметтерін меңгерту.

Негізгі қарастырылатын сөздер: Микроядроның сервистік қызметтері.

Монолитті операциялық жүйелер.

Дәріс сұрақтары:

1.1 Микроядролық және макроядролық жүйелер.

1.2 Микроядроны құрудың негізгі мақсаты. Микроядроның сервистік қызметтері.

Дәріс мазмұны

Микроядролық операциялық жүйелерде біз орталық компактілі модульді бөле аламыз. Бұл модульдің өлшемдері үлкен емес және салыстырмалы түрде аз басқарушы функцияларды орындайды. Алайда ол басқаруды басқа модульдерге бере алады. Микроядро – операциялық жүйелердің минимальді басты бөлігі, ол модульдік және алмастырушылық кеңейтінділерге қызмет ету. Микроядроның өзі жүйелік программалық жабдықтаудың модулі т.б.

Микроядролық технологияның негізіне иерархияның жоғарғы деңгейі ортасын құру жатады. Бұл ортадан аппараттық жабдықталудың барлық мүмкіндіктеріне қол жеткізуге болады. Сонымен бірге жүйенің басқа барлық модульдерін құру мүмкіндік беретін нүкте болып табылады. Микроядролық архитектура клиент-сервер технологиясына сәйкес келеді. Шынында да осы технология жоғарыда айтылған операциялық жүйелерді жобалаудың барлық принциптерін жүзеге асыруға мүмкіндік береді.

Микроядроны құрудағы негізгі мақсат қажетті және жеткілікті сервисті қамтамассыз ете алатындай кодтарды таңдай білу. Мұндай кодтардың қатарына хабарламаларды беру, микроядромен салыстырғанда сыртқы процестер арасындағы байланысты ұйымдастыру, үзілістерді басқару жатады.

Микроядро орындайтын қызметтер оның өлшемін шектеу мақсатында шектелген. Нәтижесінде микроядро 5 түрлі сервистік қызмет атқарады:

  1. виртуальді жадыны басқару;

  2. тасқындар (поток) мен тапсырмаларды қолдау;

  3. процестердің өзара байланысын ұйымдастыру;

  4. енгізу-шығару және үзілісті басқару;

  5. хост бас компьютер және процессор сервистері.

Микроядролық операциялық жүйесінің мысалы ретінде QNX нақты уақыттағы операциялық жүйесін айтуға болады. QNX микроядросы процестерді жоспарлау және диспетчерлеуді процестердің өзара байланысын, үзілісті өңдеу және төменгі деңгейлі желілік қызметтерді қолдайды. Бұл операциялық жүйенің әр нұсқасының ядросының көлемі 8-деп 46 Кбайтқа тең болады.

Макроядролық немесе монолиттік операциялық жүйелерде ядро орталық және шеткі модульдерге бөлінбейтін, көптеген басқарушы модульдер мен берілгендер құрылымынан тұрады. Ядро монолитті, бөлінбеген түрде болады. Монолитті операциялық жүйелерде, оның мықты құрылымына қарамастан, көпдеңгейлі модульдің құрылымның бір деңгейін өшіру қиындығы туындайды. Ал жаңа функцияны қосу және бұрыннан бар функцияны өзгерту монолитті операциялық жүйелерде операциялық жүйенің барлық архитектурасын жақсы білуді қажет етеді.

Монолитті операциялық жүйелерді қолдануда біршама мәселелер туындайды, макроядроның барлық компоненттері бір адрестік кеңістікте жұмыс істейтіндіктен, біріншіден, ядроның әртүрлі бөліктерінің арасында шиеленіс (конфликт) туындауы мүмкіндігі, екіншіден ядроға жаңа драйверлер қосу қиындығы.

Қорытынды

Макроядролық немесе монолиттік операциялық жүйелерде ядро орталық және шеткі модульдерге бөлінбейтін, көптеген басқарушы модульдер мен берілгендер құрылымынан тұрады. Ядро монолитті, бөлінбеген түрде болады. Монолитті операциялық жүйелерде, оның мықты құрылымына қарамастан, көпдеңгейлі модульдің құрылымның бір деңгейін өшіру қиындығы туындайды. Ал жаңа функцияны қосу және бұрыннан бар функцияны өзгерту монолитті операциялық жүйелерде операциялық жүйенің барлық архитектурасын жақсы білуді қажет етеді.

Дәріске әдістемелік нұсқау:

Кез келген пәнді білу үшін, оның теориясын терең меңгеру керек. Сондықтан дәріс тақырыбын зерделегенде оның негізгі түсініктерінің мәнін түсінуге ерекше көңіл бөліңіздер. Ол үшін берілген әдебиет бойынша оқу материалын зерттеп, өзін-өзі бақылау сұрақтарына, тестілік тапсырмаларға жауап беру арқылы теориялық біліміңіздің деңгейін тексеріңіз, МӨЖ тапсырмаларын орындаңыз.

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

1. Микроядро орындайтын қызметтер.

2. Микроядроны құрудағы негізгі мақсат.

17 Тақырып. Нақты уақыттағы операциялық жүйелердің талаптары.

Дәріс мақсаты: Нақты уақыттағы басқару жүйелері. Процестер мен есептерді синхронизациялау талабын білу.

Негізгі қарастырылатын сөздер: Нақты уақыттағы жүйелердің талаптары.Нақты уақыттағы басқару жүйелері.

Дәріс сұрақтары:

1.1 Нақты уақыттағы операциялық жүйелердің талаптары.

1.2 Процестер мен есептерді синхронизациялау талабы.

Дәріс мазмұны

Нақты уақыттағы жүйелердің белгілі бір уақыт аралығында сырттан келетін тосын әсерлерге жауап беретін мүмкіндігі болуы керек. Ол үшін мынадай талаптардың орындалуы қажет:

  1. Тосын әсерге жауап беру уақытының шектілігі. Мұның мүмкін болмауы жүйенің айтарлықтай кемшілігіне жатады. Яғни жүйеге қандай да бір оқиғаның болғандығы жөнінде хабар келгеннен кейін белгілі бір уақыт аралығында ол жүйе сол хабарға жауап беруі қажет.

  2. Жүйеге түскен барлық талаптарды өңдеу бір уақытта жүргізілуі керек.

Нақты уақыттағы жүйенің мысалы ретінде атом электр станциясын басқару немесе қандай да бір технологиялық процесті басқару, медициналық мониторинг жүйелері, лабораториялық эксперименттерді басқару жүйелері, автомобиль двигательдерін басқару жүйелері сигнализациялар жүйелері және т.б. жүйелер жатады.

Нақты уақыттағы басқару жүйелерін мамандар 2-ге бөледі: “жұмсақ” және “қатты” жүйелер. Бұлай болу себебі жүйеге қойылатын талаптарға байланысты. Қатты жүйелерде өзінің аты айтып тұрғандай уақыт бойынша қойылатын шектеулерді бұзу мүмкін емес, ал жұмсақ жүйелерде мұндай шектеулерді бұзуға болады.

Нақты уақыттағы ОЖ-ң талаптарына тоқталайық.:

  1. ОЖ-р мультипрограммалық және мультиесептік болуы керек. Сонымен қатар ол жүйелерде диспетчерлерді үзу мүмкіндігі болуы қажет. Мұндай жүйелердің мысалы ретінде WINDOWS жүйелерін айтуға болады.

  2. Есептердің приоритетті болуы. Яғни қай есептің қашан орындалатыны көрсетілуі керек.

  3. Приоритеттер мұрагерлігі.

  4. Процестер мен есептерді синхронизациялау талабы. Мұнда ОЖ есепті синхронизациялаудың мықты, сенімді және қолайлы механизмін қамтамассыз етуі тиіс.

  5. ОЖ-ң жасайтын жұмысы алдын ала белгілі болуы тиіс және ол қызметті болжау мүмкіндігінің болуы.

Қорытынды

Нақты уақыттағы басқару жүйелерін мамандар 2-ге бөледі: “жұмсақ” және “қатты” жүйелер. Бұлай болу себебі жүйеге қойылатын талаптарға байланысты. Қатты жүйелерде өзінің аты айтып тұрғандай уақыт бойынша қойылатын шектеулерді бұзу мүмкін емес, ал жұмсақ жүйелерде мұндай шектеулерді бұзуға болады.

Дәріске әдістемелік нұсқау:

Кез келген пәнді білу үшін, оның теориясын терең меңгеру керек. Сондықтан дәріс тақырыбын зерделегенде оның негізгі түсініктерінің мәнін түсінуге ерекше көңіл бөліңіздер. Ол үшін берілген әдебиет бойынша оқу материалын зерттеп, өзін-өзі бақылау сұрақтарына, тестілік тапсырмаларға жауап беру арқылы теориялық біліміңіздің деңгейін тексеріңіз, МӨЖ тапсырмаларын орындаңыз.

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

        1. “жұмсақ” және “қатты” жүйелерге тоқталып, ерекшеліктерін айқындау.

18-19 Тақырып. Мультипрограммалау және мультиесептер приоритеті.

Дәріс мақсаты: Мультипрограммалық орындалуда туындайтын мәселелерге тоқталу. Клинч анықтамасын талдау.

Негізгі қарастырылатын сөздер: Мультипрограммалау және мультиесептер приоритеті.

Дәріс сұрақтары:

1.1 Негізгі архитектуралық принцип.

1.2 Мультипрограммалық орындалуда туындайтын мәселелер.

Дәріс мазмұны

Мультипрограммалау дегеніміз – бұл бір процессорлы есептеуіш жүйелерінде бірнеше программаның орындалу бейнесі көрінетін есептерді ұйымдастыру әдісі болып табылады. Программаның орындалуындағы кез келген кешеуілдету (мысалы, деректердің енгізу/шығаруды орындау) басқа программаларды орындауға қолданылады. «Мультипрограмалық режим» және «мультиесептеу режимі» терминдері – бұл синонимді сөздері емес, алайда олардың түсінігі жақын болады. Бұл терминдердің негізгі принципті ерекшеліктері – мультипрограммалық режим бірнеше қсымшаның параллелді орындалуын қамтамасыз етеді, ал мультиесепті режим, керісінше, параллелді орындалу және қосымшалардың біріге әрекет етуі қолданбалы программистердің жұмысы деп есептейді. Алайда, жаңа техника дәуірінде және ғылыми әдебиеттерде бұл ерекшеліктері туралы ұмытып, белгілі бір шиеленістерге әкеліп жатады. Қазіргі заманға операциялық жүйелер (дербес компьютерге арналған) мультипрограммалық және мультиесептік режимдерді де ұйымдастырады.

Компьютермен әрекеттесу әдісіне назар аударатын болсақ, онда мұнда диалогты жүйелер және өңдеудің пакетті жүйелері туралы айтуға болады. Өңдеудің пакетті жүйелері диалогты жүйелерге қарағанда аз қолданылады.

Есептеуіш жүйесімен диалогты режимде жұмысты ұйымдастыру кезінде бір қолданушылық және көп қолданушылық режимдері туралы айтуға болады. Көп қолданушы операциялық жүйелерде әрқайсысы өз қолданушысына бір уақытта бірнеше қолданушылар жұмыс істей алады. Мұнда әр қолданушы өзінде жеке есептеуіш жүйесі бар сияқты сезініп отырады. Есептеуіш жүйесіне көп қолданушы енуді қамтамасыз ету үшін жұмыстың мультипрограммалық режимін қамтамасыз ету керек. Көпқолданушылық операциялық жүйесіне мысал ретінде Linux операциялық жүйелерін алуға болады. Көпқолданушылық мүмкіндіктердің кейбір Windows XP жүйеде бар. Бұл операциялық жүйелерде әр қолданушы тіркелген соң жүйеге ену өзінің виртуалды машинасын алады. Егер компьютерді уақытша басқа қолданушыға беретін болсақ, онда бұл басқа қолданушы үшін жүйе басқа виртуалды машинаны құрайды. Нәтижесінде компьютер бірінші қолданушының да, екінші қолданушының да тапсырмаларын орындайтын болады. Параллель жұмыс жасайтын виртуалды машиналардың саны осында бар ресуртармен анықталады.

Нақты уақыттың операциялық жүйелерінің негізгі ерекшеліктері келіп түскен тапсырмаларды берілген интервалдар аралығында өңдеуін қамтамасыз ету. Тапсырмалар ағыны жалпы жағдайда жоспарланған болып табылмайды және оператормен реттелмейді, яғни тапсырмалар қолайсыз уақытта және ретсіз келіп түседі. Нақты уақыт режимін шынайы түрде дайындау үшін мультипрограммалауды ұйымдастыру қажет. Мультипрограммалау есептеуіші жүйенің өнімділігін арттырудың негізгі жүйесі болып табылады. Жүйенің өнімділігінің ең жақсы характеристикасы бір қолданушыны нақты уақыттың операциялық жүйелерімен қамсыздандырады. Көпқолданушы жүйенің ұйымдастыру құралдары жүйе жұмысын баяулатады, бірақ жүйенің функционалдық мүмкіндіктерін арттырады. Дербес компьютерлерге арналған нақты уақыттың операциялық жүйелерінің ең белгілісі QNX операциялық жүйесі.

Негізгі архитектуралық принципіне байланысты операциялық жүйелер микроядролық және макроядролық болып бөлінеді. Микроядролық операциялық жүйелердің мысалы ретінде Windows/98 және Linux операциялық жүйелерін алуға болады. Егер Windows операциялық жүйесінің ядросын өзгерте алмасақ, оның бастапқы коды бізге белгісіз болса және осы ядроның компиляциясы жоқ болса, онда Linux операциялық жүйесінде өзімізге қажетті ядроны жинап ала аламыз да, оған ядроға мақсатты түрде енгізілуі тиіс программалық модульдер мен драйверлерді қоса аламыз.

Нақты уақыттағы жүйелердің белгілі бір уақыт аралығында сырттан келетін тосын әсерлерге жауап беретін мүмкіндігі болуы керек. Ол үшін мынадай талаптардың орындалуы қажет:

  1. Тосын әсерге жауап беру уақытының шектілігі. Мұның мүмкін болмауы жүйенің айтарлықтай кемшілігіне жатады. Яғни жүйеге қандай да бір оқиғаның болғандығы жөнінде хабар келгеннен кейін белгілі бір уақыт аралығында ол жүйе сол хабарға жауап беруі қажет.

  2. Жүйеге түскен барлық талаптарды өңдеу бір уақытта жүргізілуі керек.

Нақты уақыттағы жүйенің мысалы ретінде атом электр станциясын басқару немесе қандай да бір технологиялық процесті басқару, медициналық мониторинг жүйелері, лабораториялық эксперименттерді басқару жүйелері, автомобиль двигательдерін басқару жүйелері сигнализациялар жүйелері және т.б. жүйелер жатады.

Нақты уақыттағы басқару жүйелерін мамандар 2-ге бөледі: “жұмсақ” және “қатты” жүйелер. Бұлай болу себебі жүйеге қойылатын талаптарға байланысты. Қатты жүйелерде өзінің аты айтып тұрғандай уақыт бойынша қойылатын шектеулерді бұзу мүмкін емес, ал жұмсақ жүйелерде мұндай шектеулерді бұзуға болады.

Нақты уақыттағы ОЖ-ң талаптарына тоқталайық.:

  1. ОЖ-р мультипрограммалық және мультиесептік болуы керек. Сонымен қатар ол жүйелерде диспетчерлерді үзу мүмкіндігі болуы қажет. Мұндай жүйелердің мысалы ретінде WINDOWS жүйелерін айтуға болады.

  2. Есептердің приоритетті болуы. Яғни қай есептің қашан орындалатыны көрсетілуі керек.

  3. Приоритеттер мұрагерлігі.

  4. Процестер мен есептерді синхронизациялау талабы. Мұнда ОЖ есепті синхронизациялаудың мықты, сенімді және қолайлы механизмін қамтамассыз етуі тиіс.

ОЖ-ң жасайтын жұмысы алдын ала белгілі болуы тиіс және ол қызметті болжау мүмкіндігінің болуы.

Жұмыстың мультипрограммалық орындалу кезінде туындайтын ең күрделі мәселелердің бірі – тұйықталу ұғымы және олармен күресудегі негізгі жолдары.

Бірнеше есептеу процестерін орындау кезіндегі паралелльді ұйымдастырудағы операциялық жүйелердің негізгі функцияларының бірі – орындалушы процестер арасындағы қате ресурстарды таратудың тапсырмаларын шешу және соңғыларын бірігіп синхронизациялау құрылғыларымен және деректермен алмасуды қамтамасыз ету.

Процестерді паралелль орындаған жағдайда тұйықталу мәселесі туындауы мүмкін. Ең қарапайым жағдай – әр екі процестің бірі басқа процеспен айналысып жатқан ресурсты күтуі болып табылады. Дәл осындай күтуде бірде-бір процесс жұмыс атқара алмайды және қажетті басқа процестерге соңғысындағы ресурстарды жібереді. Мұндай жағдай тұйықталған, яғни дедлок (dead lock) немесе немесе клинч деп аталады. Мультипрограммалық жүйеде процесс ешқашан орындалмайтын оқиғаны күтетін болса, онда мұндай процесс тұйық жағдайда болады. Тұйық жағдайлар көбінесе жүйенің есептеуші ресурстары үшін паралелль процестердің бәсекелестігінен туындайды, бірақ кейде бірігіп, есептеуші программалау қателері де тұйықталуға әкеледі.

Қорытынды

Нақты уақыттың операциялық жүйелерінің негізгі ерекшеліктері келіп түскен тапсырмаларды берілген интервалдар аралығында өңдеуін қамтамасыз ету. Тапсырмалар ағыны жалпы жағдайда жоспарланған болып табылмайды және оператормен реттелмейді, яғни тапсырмалар қолайсыз уақытта және ретсіз келіп түседі. Нақты уақыт режимін шынайы түрде дайындау үшін мультипрограммалауды ұйымдастыру қажет. Мультипрограммалау есептеуіші жүйенің өнімділігін арттырудың негізгі жүйесі болып табылады. Жүйенің өнімділігінің ең жақсы характеристикасы бір қолданушыны нақты уақыттың операциялық жүйелерімен қамсыздандырады.

Дәріске әдістемелік нұсқау:

Кез келген пәнді білу үшін, оның теориясын терең меңгеру керек. Сондықтан дәріс тақырыбын зерделегенде оның негізгі түсініктерінің мәнін түсінуге ерекше көңіл бөліңіздер. Ол үшін берілген әдебиет бойынша оқу материалын зерттеп, өзін-өзі бақылау сұрақтарына, тестілік тапсырмаларға жауап беру арқылы теориялық біліміңіздің деңгейін тексеріңіз, МӨЖ тапсырмаларын орындаңыз.

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

1. Бір қолданушылық және көпқолданушылық режимдері.

2. Тұйықталу мәселелері.

20 Тақырып. Операциялық жүйелер интерфейсі.

Дәріс мақсаты: Интерфейс қызметін анықтау. Интерпретатор анықтамасын түсіндіру

Негізгі қарастырылатын сөздер: Интерфейс қызметі. Интерпретатор анықтамасы. Command.сом модулі

Дәріс сұрақтары:

1.1 Операциялық жүйелер интерфейсі.

1.2 Интерфейс қызметі. Интерпретатор анықтамасы. Command.сом модулі

Дәріс мазмұны

Операциялық жүйелер дегеніміз компьютер аппараты мен пайдаланушы арасындағы белгілі бір мақсаттағы есепті шешуге арналған интерфейстің ролін атқарады. ОЖ-ң интерфейсі деп – жүйелік және қолданбалы программаларды ңарнайы интерфейстерін түсінеміз. Ол интерфейстер төмендегідей есептерді шешуге мүмкіндік береді.

  1. төмендегідей негізгі функцияларды атқаратын процестерді басқару:

  1. есепті орындалуға жіберу, тоқтату және алып тастау

  2. есептің орындалу тәртібін беру және өзгерту

  3. есептердің өзара байланысы (сигналдар механизмі, кезекке тұруы, конвейер және пошта жәшігі)

  4. өшірілген процедураларды шақыру (Remote Procedure Call, RPC)

  1. Жадыны басқару

  1. Жады блогын бөлуге сұраныс жіберу

  2. Жадыны босату

  3. Жады блогы параметрлерін өзгерту

  4. Файлдарды жадыға бейнелеу (бұл қасиет барлық жүйелерде бола бермеуі мүмкін)

  1. Енгізу-шығаруды басқару

  1. Виртуальды құрылғыларды басқаруға сұраныс жасау

  2. Файлдық амалдарды орындау

Жоғарыда біз сәйкесті есептерге байланысты операциялық жүйелердің орындайтын негізгі функцияларына тоқталдық Енді пайдаланушының операциялық жүйелердің жүргізетін интерфейсіне тоқталатын болсақ, ол арнайы программалық модульдер арқылы жүзеге асырылады. Мұндай мүмкіндікті команданы – интерпретаторлар деп атайды. Мысалы, операциялық жүйелердегі интерпретатордың ролін Command.com модулі атқарады

Қорытынды

Операциялық жүйелер дегеніміз компьютер аппараты мен пайдаланушы арасындағы белгілі бір мақсаттағы есепті шешуге арналған интерфейстің ролін атқарады. ОЖ-ң интерфейсі деп – жүйелік және қолданбалы программаларды ңарнайы интерфейстерін түсінеміз. Ол интерфейстер төмендегідей есептерді шешуге мүмкіндік береді.

Дәріске әдістемелік нұсқау:

Кез келген пәнді білу үшін, оның теориясын терең меңгеру керек. Сондықтан дәріс тақырыбын зерделегенде оның негізгі түсініктерінің мәнін түсінуге ерекше көңіл бөліңіздер. Ол үшін берілген әдебиет бойынша оқу материалын зерттеп, өзін-өзі бақылау сұрақтарына, тестілік тапсырмаларға жауап беру арқылы теориялық біліміңіздің деңгейін тексеріңіз, МӨЖ тапсырмаларын орындаңыз.

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

1. Интерфейстер қандай мәселелерді шешеді?

2. Command.com модулінің қызметі қандай?

21 Тақырып. Тұйықталу мәселесі және тұйықталу кезіндегі ресурстардың бөлінуі.

Дәріс мақсаты: Тұйықталу мәселесі және тұйықталу кезіндегі ресурстардың бөлінуі туралы мағлұмат беру.

Негізгі қарастырылатын сөздер: Тұйықталған, дедлок, клинч.

Дәріс сұрақтары:

1.1 Тұйықтардың алдын алу.

1.2 Тұйықталу мәселесі және ресурстардың бөлінуі.

Дәріс мазмұны

Жұмыстың мультипрограммалық орындалу кезінде туындайтын ең күрделі мәселелердің бірі – тұйықталу ұғымы және олармен күресудегі негізгі жолдар.

Бірнеше есептеу процестерін орындау кезіндегі паралелльді ұйымдастырудағы операциялық жүйелердің негізгі функцияларының бірі – орындалушы процестер арасындағы қате ресурстарды таратудың тапсырмаларын шешу және соңғыларын бірігіп синхронизациялау құрылғыларымен және деректермен алмасуды қамтамасыз ету.

Процестерді паралелль орындаған жағдайда тұйықталу мәселесі туындауы мүмкін. Ең қарапайым жағдай – әр екі процестің бірі басқа процеспен айналысып жатқан ресурсты күтуі болып табылады. Дәл осындай күтуде бірде-бір процесс жұмыс атқара алмайды және қажетті басқа процестерге соңғысындағы ресурстарды жібереді. Мұндай жағдай тұйықталған, яғни дедлок (dead lock) немесе немесе клинч деп аталады. Мультипрограммалық жүйеде процесс ешқашан орындалмайтын оқиғаны күтетін болса, онда мұндай процесс тұйық жағдайда болады. Тұйық жағдайлар көбінесе жүйенің есептеуші ресурстары үшін паралелль процестердің бәсекелестігінен туындайды, бірақ кейде бірігіп, есептеуші программалау қателері де тұйықталуға әкеледі.

Тұйықталу мәселесін қарастыру кезінде ресурстар жүйесін жалпылап, оларды екі класқа бөлуге болады:

  • қайталанып қолданылатын (Reusable Resource, RR) немесе жүйелік (System Resource, SR ) ресурстар;

  • тұтынылатын немесе жұмсалатын ресурстар (Consumable Resource, CR) ;

  • Жүйелік ресурстардың (SR) келесі қасиеттер бар, яғни кейбір ресурс түрлерінің ұқсас бірліктерінің ақырғы көпмүшелігі;

  • жүйеде ресурстар саны белгісіз;

  • ресурстардың әрбір бірлігіне ену мүмкіндігі бар , ол біреу немесе тек бір ғана процеспен белгіленеді (бөлу болмайды немесе есепке алынады, өйткені ресурстарды таратуға әсер етеді, ал бұл дегеніміз, тұйықталған жағдайдың пайда болуына әсер етеді деген сөз);

  • процесс ресурс бірлігін босатады (оған енуді мүмкін ету), егер ол бұл мүмкіндікті алдын ала алған болса, яғни ешқандай процесс ресурсқа әсер ете алмайды, егер бұл ресурс оның құрамына кірмесе;

  • Бұл анықтама жүйелік ресурстардың тұйықталу мәселесін зерттеуде маңызы зор. Мұндай ресурстарға жүйелік ресурстардың аппаратуралар компоненттері, көмекші (сыртқы) жады, периферийлік құрылғылар, сонымен қатар процессорлар, программалық және ақпараттық қамсыздандырулар т.б. жатқызамыз.

  • Жұмсалатын ресурстар (CR) SR типті ресурстармен келесі маңызды қатынастармен ерекшеленеді.

  • CR типті қандайда бір ресурстың мүмкін бірліктер саны орындалатын процестермен олар қалай жұмсалуы мен босатылуына қарай өзгереді. Жалпы жағдайда шығындалатын ресурстар саны шексіз болады, себебі, қандай да бір “өндіруші” процесс ресурстың бірлігін өзі “құрған” бір не бірнеше бірліктерін босата отырып, олардың санын арттырып отырады.

  • “Тұтынушы” процесі алдымен бір не бірнеше бірліктерді ала отырып, ресурс бірліктерді азайтады. Алынған ресурстар бірліктері жалпы жағдайда ресурсқа қайтарылмай тұтынылады (шығындалады). Тұтынылатын ресурстар қасиеті синхрондалу сигналдарында, хабарламалар мен деректерде болады және тұйықталуды зерттеу кезінде CR типті ресурстар секілді қарастырылады. Олардың құрамына: таймер үздіксіздері және енгізу-шығару құрылғылары; процестерді синхронизациялау процестерінің сигналдары; әр түрлі сұраныстардан тұратын қызмет көрсету түрлеріне деректер немесе хабарламалар, сонымен қатар соған сәйкес жауаптар кіреді.

Паралель процестерді, сонымен қатар тұйықталу мәселелерін зерттеу үшін бірнеше модельдер жасап шығарылған. Солардың бірі Холт ресурстарын қайталап қолдану моделі. Осы модельге сәйкес жүйе процестер мен ресурстар жиынтығы ретінде беріледі де, ресурстардың әрқайсысы фиксерленген ресурстардан тұрады. Кез келген процесс жүйені өзгерте алады.

Графикалық түрде процестер мен ресурстар квадрат және шеңбер түрінде беріледі. Әр шеңбер осы ресурстың бірліктеріне сәйкес бірнеше маркерлерден (фишкалардан) тұрады. “Процестен” “ресурсқа” бағытталған доға осы ресурс процесін көрсетеді.Өйткені SR типті әр ресурстың кез келген бірлігі бір процестен артық белгілемеуі мүмкін болса, онда әртүрлі процестерге өтетін ресурстардың доғаларының саны осы ресурстың жалпы санынан аспауы тиіс. Мұндай модель қайта қолданылатын ресурстар графы деп аталады.

SR типті ресурстардың екі процессор жүйелерінің мысалы 1-суретте көрсетілген.

. . Пр2

1-сурет.

Пр1 процесс R1 ресурсының 2 бірлігіне және R2 ресурсының бір бірлігіне сұраныс берсін. Пр2 процесіне R1 екі ресурсы кіреді және R2-ге бір ғана бірлігі қажет. ПР1 тұйықталужағдайына әкеледі: Пр1 R1 ресурсының бірлігін Пр2 босатпайынша жұмыс жасай алмайды, ал Пр2 R2 ресурсының бірлігін босатпайынша жұмыс жасай алмайды.

SR типті ресурстардағы тұйықталу мысалы

Пр1 және Пр2 атты екі процесс SR типті екі ресурсты R1 және R2 етіп бөледі. Осы ресурстарды біріктіріп алып тастау сәйкесінше S1 және S2 семафорлар көмегімен ұйымдастырылады.

Тұйықталған жағдайға әкелетін екі процесс үшін операторлардың кезектілік мысалы. Мұнда жоқ детальдар (ресурстарға қатысты) жіберіледі. Екі симафорда да алғашында бірлікке келтіреді. 2-суретте мүмкін жағдайының кеңістігі көрсетілген.

8 T1

7

.A

6 у

D х C В

5 1 2 3 4

2-сурет.

Көлденең ось Пр1 процесінің орындалуын қадағалайды, ал тігінен – Пр2 орындалуын қадағалайды. Тік сызықтар 1-ден 4-ке дейін жартылай номерленген де Пр1 процестің 1-4 операторларына сәйкес келеді. Осыған ұқсас көлденең сызықтар да 5-8-ге дейін жартылай номерленіп, Пр2 программасының 5-8 операторларына сәйкес келеді. Жазықтықтағы нүкте белгілі бір уақыт мезетіндегі есептеу күйін анықтайды. Осылайша, А нүктесі Пр1 процесі басталғандағы жағдайға сәйкес келеді, бірақ 1 операцияға жеткен жоқ. Орындалуына қарай егер Пр1 процесс орындалса, нүкте көлденеңнен оңға жылжиды, Пр2 процесі орындалса, тігінен жоғары қарай жылжиды.

R1 және R2-ді әр процестің қолдануы кезіндегі орындалу аралығы фигуралық жақша ішінде көрсетілген. 1-8 сызықтары есептеу кеңістігін 25 облысқа бөледі. Сұр түспен боялған қалып-күйлер R1 және R2 ресурстарына ену кезінде Пр1 және Пр2 процестерінің алып тасылуына байланысты оларға ену мүмкін емес.

Т1 траекториясымен берілген 1-2-5, 3-6-4-7-8 реттілік орындалуын қарастыралық. Пр2 процесі R1 сұратқанда (оператор 5), ресурсқа ену мүмкін емес (операция орындалған, семафор жобаланған). Сондықтан Пр2 процесі В нүктесінде құлыпқа салынған (заблокирован). Пр1 процесі 4 операторға жеткнде, Пр2 процесі R2 ресурсы бойынша құлыптан алынады (деблакируется).

Егер де, мысалға, 1-5, 2-6 реттілік орындалса, онда Пр1 процесі Х нүктесінде 2 операторын орындау кезінде орындау кезінде құлыптанып қалады. Осылайша Пр1 процесі, Пр2 процесі 7 операторын орындауын тұйыққа тіреледі; Пр1 де, Пр2 де орындалуды аяқтай алмайды. Мұнда осы екі процесті алған екі ресурста барлық қолданушылардың қолдануына ыңғайланып алады. Ең маңызды жағдайды айта кетелік. Қауіпті жағдай болып табылатын D тікбұрышты үшбұрышқа есептеуі енгізсек, тұықталу пайда болады.

Тұйықталу мәселесін зерттеу нәтижесі тұйықталу жағдай тууы үшін келесі 4 шарттың бір уақытта орындалуы қажет.

  • Процестер ресуртарға көпшілік енуді жүргізетін бірге алып тастау шарты;

  • Ресурстың сұратқан процесі сұраныс қанағаттандырылмайынша күтетін күту шарты;

  • Ресурстарды процесте оған алдын ала бөлінген жағдайда өңдеуге болмайтын қайта орналастырудың болмау шарты;

  • Процестердің тұйықталған тізбегін құратын шеңберлі күту шарты;

Осы 4 шарттың мазмұнын талдау арқылы олардың барлық У нүктесінде орындалатындығын 2-суреттен көреміз.

Қорытынды

Процестерді паралелль орындаған жағдайда тұйықталу мәселесі туындауы мүмкін. Ең қарапайым жағдай – әр екі процестің бірі басқа процеспен айналысып жатқан ресурсты күтуі болып табылады. Дәл осындай күтуде бірде-бір процесс жұмыс атқара алмайды және қажетті басқа процестерге соңғысындағы ресурстарды жібереді.

Дәріске әдістемелік нұсқау:

Кез келген пәнді білу үшін, оның теориясын терең меңгеру керек. Сондықтан дәріс тақырыбын зерделегенде оның негізгі түсініктерінің мәнін түсінуге ерекше көңіл бөліңіздер. Ол үшін берілген әдебиет бойынша оқу материалын зерттеп, өзін-өзі бақылау сұрақтарына, тестілік тапсырмаларға жауап беру арқылы теориялық біліміңіздің деңгейін тексеріңіз, МӨЖ тапсырмаларын орындаңыз.

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

1. Жұмыстың мультипрограммалық орындалуы.

2. Әр процеске байланысты сұраныстардың реттілігі.