Режа: 1. ОТ да жараён: асосий тушунчалар 2. Жараёнлар ҳолати 3. Жараёнларнинг ҳолатлар диаграммаси 4. Жараён контексти: Process Control Block (РСВ) 5. Жараёнлар бажарилишининг такрорланиш даражаси
Жараён (п роцесс ), масала ( топшириқ ), иш (работа), job Дастур – бу дискдаги файл Жараён (процесс) – бажарилаётган дастур Ҳар бир жараён ишлаши учун ресурс талаб қилинади : – машина вақти ( процессорнинг ишлаш вақти ) – хотира – файллар – КЧБ ( киритиш-чиқаришни бошқариш ) 3
Жараёнлар Операцион тизим бажарилаётган жараёнларни бошқаради ва жараёнлар ўртасида хабар алмашишни ташкил этади – Дастур – дискдаги файл – Жараён – бажарилаётган дастур Битта ва айнан шу дастур бир неча марта юкланиши мумкин . Бу турли жараёнлар ҳисобланади . 4
Жараёнлар устида ОТ фаолияти – яратиш ва йўқ қилиш – бажарилишни тўхтатиш ва давом эттириш – синхронизация – хабарларни алмашиш 5
Жараён ҳолати Жараёнлар қуйидаги 5 та ҳолатдан бирида бўлиши мумкин : – яратилиши ( new ) – бажарилиши ( running ) – баъзи хабарларни кутиши ( waiting ) – тайёргарлик ( ready ) – тўхташи ( terminated ) ОТ нинг вазифаси жараёнлар ўртасида маълумотлар алмашишни таъминлайди 6
Жараён ҳолати диаграммаси Ҳар қандай жараён ҳеч бўлмаганда (минимум) қуйидаги икки ҳолатда бўлади: Жараён бажарилаяпти ва жараён бажарилмаяпти . 7
Жараён ҳолати диаграммаси Оддий ҳолатда ишлаш имкони чекланган. Шунинг учун ҳар қандай жараён қуйидаги диаграмма асосида яна иккита ҳолатга ўтади: Бажарилишга тайёр ва кутиш. 8
Жараён ҳолати диаграммаси Жараён бажарилиши учун уни яратиш зарур бўлади, шунинг учун ҳам жараённинг туғилиш ҳолати ва жараённинг бажаришии якунланиши ҳолати эътиборга олиниши зарур. Бундай ҳолатлар эътиборга олинганда ж араён ҳолат диаграммаси қуйидаги кўринишга келади. 9
Жараён ҳолати диаграммаси 10
Жараён ҳолатлари: Тизимда пайдо бўлаётган ҳар қандай янги жараён тайёргарлик ҳолатига тушади. ОТ режалаштиришнинг бирор бир алгоритмидан фойдаланиб, тайёр жараёнлардан бирини танлаб, уни бажарилиш ҳолатига ўтказади. Бажарилиш ҳолатида жараён дастурий кодининг бевосита бажарилиши рўй беради. Жараённинг бу ҳолатидан учта сабаб бўйича чиқиш мумкин: 1) ОТ бу жараённинг фаолиятини тўхтатади; 2) У ўз фаолиятини маълум ҳодиса рўй бермагунча давом эттира олмайди ва ОТ уни “кутиш” ҳолатига ўтказади; 3) Ҳисоблаш тизимида узилиш рўй бериши билан уни тайёрлик ҳолатига ўтказилади (масалан, бажарилишга ажратилган вақт тугаши билан таймерда узилиш). Жараён кутиш вақтида тайёргарлик ҳолатига, кутилаётган ҳодиса рўй бериши билан ўтади ва у яна бажарилиш учун танланиши мумкин. Кейинчалик режалаштириш алгоритми ҳақида сўз кетганда, кўрсатилган моделда яна бир амал жараён ўрни (приоритети)ни ўзгариши бажарилади
Жараён контексти ва Process Control Block (РСВ) ОТ, жараён устидаги амалларни бажара олиши учун, ҳар бир жараён ОТда маълум маълумотлар структураси сифатида тасвирланиши лозим бу структура шу жараёнга хос маълумотларни ўз ичига олади. Булар қуйидагилар: Жараён ҳолати Жараён дастурли (счётчиги) ҳисоблагичи ёки бошқача қилиб айтганда, жараён учун кейинги бажариладиган команда адреси. Процессор регистри таркиби. Хотирани бошқариш ва процессордан фойдаланишни режалаштириш учун зарур маълумотлар (жараён ўрни (приоритети), адрес макони, ўлчами ва жойлашган ўрни ва ҳ.к.) Ҳисоб(қайд) маълумотлари жараён идентификация номери, қайси фойдаланувчи унинг ишини инициализация қилганлиги, жараённинг процессордан фойдаланиш умумий вақти ва ҳ.к. Киритиш–чиқариш қурилмалари билан боғлиқ маълумотлар (масалан, жараёнга қандай қурилмалар боғланган, очиқ файллар жадвали ва ҳ.к.).
Дастурий канал, конвейер Жараёнлар ўзаро бир бирига боғлиқ бўлмаган ҳолда бажарилиши ёки бирининг бажарилишига таъсир қилганда хабар алмашиши мумкин . – ўзаро хабар алмашиш учун жараёнлар ўртасида канал ташкил этилиши талаб қилинади . Каналлар фойдаланувчи томонидан камондалар сатрига команда киритиш вақтида ва янги дастур тузилаётганда ташкил этилиши мумкин – канал командалар сатрида ташкил этилаётганда стандарт киритиш-чиқариш қурилмаларидан фойдаланилади
Жараёнлар бажарилишининг такрорланиши даражаси Жараённи яратиш ва тугаллаш амаллари бир марталик бажариладиган амалдир, чунки ортиқ қўлланилмайдиган баъзи тизимли жараёнлар, ҳисоблаш тизими иши вақтида ҳеч қачон тугалланмайди. Жараён холатининг ўзгариши билан боғлиқ бўлган, ҳох у ишга тушириш ёки блокировка бўлсин, қоида бўйича кўп марталик ҳисобланади
Навбат Битта процессорда « бир вақтда » бир нечта жараёнлар бажарилиши учун навбат ташкил этилади топшириқлар - масалалар тайёр жараёнлар киритиш чиқаришни бошқариш (КЧБ) – Жараёнлар битта навбатдан кейингисига ўтиб боради Битта жараён бошқа бир жараённи кутиб туриши мумкин : – бошланғич ( асосий ) жараён (родительский процесс) – давомчи – жараён (процесс-потомок)
Бир марталик амаллар (операциялар) 1.Жараённи яратиш 2. Жараённи тугаллаш Жараённинг компьютердаги мураккаб ҳаёт йўли уни пайдо бўлишидан бошланади. Жараён пайдо бўлишида тизим янги PCB тузади бунда жараён туғилиши ҳолати билан уни тўлдира бошлайди, янги жараён ўзининг ягона идентификация тартиб рақамини олади. Бирор бир жараён тугаши билан бўшаган идентификация номери бошқа жараён учун ишлатилиши мумкин.
Кўп марталик операциялар Жараённи тўхтатиш. Бажарилиш холатидаги жараён иши, бирор бир узилиш натижасида тўхтайди. Процессор автоматик тарзда командалар счётчигини сақлайди ва бошқарувни бу узилишга ишлов берувчи махсус адресга узатади. ОТ жараённи тайёрлик холатига ўтказади ва узилишни катта ишлашга, яъни узилишга олиб келинган холат учун маълум операцияларни бажаради. Жараённи блокировка қилиш. Жараён ўз ишини хисоблаш тизимида бирор бир ходиса рўй бермагунча давом эттира олмайди. Шунинг учун жараён маълум тизимли чақириқ билан ОТга мурожаат қилади. ОТ тизимли чақириқни қайта ишлайди (киритиш–чиқариш операцияларини инициализация қилади, бирор қурилмани бўшашини ёки ходиса рўй беришини кутаётган жараёнлар навбатига қўшади ва хоказолар.), жараённи бажарилиш холатидан кутиш холатига ўтказади.
Кўп марталик операциялар Жараённи блоклашдан чиқариш (разблокирование). Тизимда бирор ходиса рўй бергандан сўнг, ОТ айнан қандай ходиса рўй берганлигини аниқлаши зарур. Кейин ОТ, қайси жараён шу ходисани кутиш холатида эканлигини аниқлайди ва шундай жараён бўлса уни тайёрлик холатига ўтказади. (бунда ОТ ходиса рўй бериши билан боғлиқ бўлган амалларни бажаради.) Жараёнларни режалаштириш. Хар гал, чегараланган ресурслар ва уларнинг бир нечта истеъмолчилари билан иш кўрилганда, масалан, мисол учун мехнат жамоасида маош фондини тақсимлаш дейлик, биз мавжуд ресурсларни истеъмолчилар ўртасида тақсимлаш билан шуғулланишимизга тўғри келади, ёки бошқача айтганда ресурслардан фойдаланишни режалаштиришимизга тўғри келади.
Параллел жараёнлар, “тупик” ҳолатларни бартараф этиш Т.ф.н., доцент И.М.Бойназаров
Режа: Жараёнларни режалаштириш параметрлари ва алгоритмлари Жараёнларни бошқаришда “тупик” ҳолатларни бартараф этиш
Режалаштириш даражалари Юқорида биз, ҳисоблаш тизимидаги икки хил: топшириқларни ва процессордан фойдаланишни режалаштириш хақида сўз юритган эдик. Режалаштириш кўрсаткичи ва алгоритмларга талаблар. Жараёнларни режалаштиришнинг ҳар бир даражаси учун, жуда кўп турли хил алгоритмларни таклиф қилиш мумкин. Қайси алгоритмни танлаш, ҳисоблаш тизими ечадиган масалалар ва биз режалаштиришдан фойдаланиб эришмоқчи бўлган мақсадларимизга боғлиқдир. Режалаштиришнинг учта даражаси мавжуд.
Режалаштириш даражалари
Режалаштириш параметрлари Жараённинг статик параметрларига, қоида бўйича юклаш вақтига хос характеристикалар киради, булар: Жараён қайси фойдаланувчи томонидан ишга туширилган ва қайси фойдаланувчи топшириқни шакллантирганлиги. Қўйилган масала бажарилиш приоритети қандай, яъни масала қай даражада муҳимлиги. Фойдаланувчи томонидан масалани ечиш учун қанча процессор вақти сўралганлиги. Процессор ва киритиш–чиқариш амалини бажариш вақти нисбати қандайлиги. Топшириқ учун, ҳисоблаш тизимининг қайси русурслари (тезкор хотира, киритиш–чиқариш қурилмалари, махсус кутубхоналар, тизимли дастурлар ва ҳ.к.) ва уларнинг қанча миқдорда кераклиги.
Режалаштириш алгоритмлари Узоқ муддатга режалаштириш алгоритмлари ўз ишларида ҳисоблаш тизимининг динамик ва статик параметрлари ва жараён параметрларидан (жараёнлар динамик параметрлари топшириқни юклаш босқичида ҳали номаълум бўлади). Ўртача муддатли ва қисқа муддатли режалаштириш алгоритмлари, қўшимча равишда жараёнларнинг динамик характеристикаларидан фойдаланадилар. Ўртача муддатли режалаштиришда бундай характеристика сифатида қуйидаги маълумотлардан фойдаланилади: Жараённи дискка ёки тезкор хотирага юкланган моментдан қанча вақт ўтганлиги; Жараён тезкор хотирадан қанча жой эгаллаши; Жараёнга қанча процессор вақти ажратилганлиги;
Режалаштириш алгоритмлари Режалаштириш жараёни ОТнинг “режалаштирувчи” деб аталадиган қисми орқали бажарилади. Режалаштирувчи, бажаришга, тайёр ҳолатдаги жараён ичидан янги жараённи қуйидаги тўртта холларда танлаш ҳақида ечим қабул қилади: Жараён бажарилиш ҳолатидан, бажарилиш тугалланди ҳолатига ўтишда Жараён бажарилиш ҳолатидан кутиш ҳолатига ўтишда Жараён бажарилиш ҳолатидан, тайёрлик ҳолатига ўтишида Жараён кутиш ҳолатидан, тайёрлик ҳолатига ўтишида.
Режалаштириш алгоритмлари Режалаштириш алгоритмлари турли масалалар учун самарали ва турли мақсадларга эришишга мўлжалланган. Масалан, 1. First–come, First–Served (FCFS) – биринчи келди, биринчи хизмат кўрсатилди.
Режалаштириш алгоритмлари 2. Round Robin (RR ) – болалар корусели. Бу FCFS ни модификация қилинган кўринишидир.
Режалаштириш алгоритмлари 3. Shortest – Job – First (SJF) –биринчининг энг қисқа вақти – ёки Тескари алоқали кўпбосқичли навбат.
ВМ – ОТ ядроси ва қурилмалари ўртасидаги интерфейс
Бир нечта дастурларнинг бажарилиши ҲТда N та фойдаланувчи интерактив режимда ишлаётган бўлса, ҳар бир фойдаланувчи ўзида процессор вақтининг ~ 1/N қисмига эга деб ҳисобланишини кафолат-лайдиган режалаштириш алгорит-мини қўллаш мумкин.
Дастурнинг бажарилиши ОТ амалий дастурлардан қурилмаларгача бўлган бир нечта қатламдан иборат
Мустақил ишлаш учун топшириқ OLE технологияси DDE технологияси – MS Word ҳужжатга MS Excel объектини қўйиш мисолида бажаринг