5 Бөлім. Процестер мен ағындар.
5.1 Процестер жағдайы
Мақсаты:
Процестердің жағдайларын түсіндіріу.
Дәріс жоспары:
Процестің құрылымы және жағдайлары;
Процестің бір жағдайдан басқа жағдайға өту диаграммасы.
Тақырып бойынша негізгі түсінік:
Процесс деп команда санағышының, регистрлердің және айнымалылардың мәндері қосылып орындалатын бағдарламаны айтады. Бірақ, процестер мен бағдарламалар арасында айырмашылық бар. Процесс белсенділікті білдіреді, оның бағдарламасы бар, кіріс-шығыс деректері бар және жағдайы бар.
Процестің жеке өзінің команда санағышы және ішкі жағдайлары бар тәуелсіз объект екендігіне қарамастан басқа процестермен өзара әрекеттесу қажеттігі болады. Мысалы, бір процестің шығыс деректері басқа процестің кіріс деректері болуы мүмкін.
Әрбір процесс өзінің жұмыс жылдамдығымен сипатталады. Ол бағдарламаның салыстырмалы қиындығына, әрбір процеске берілетін процессордың уақытына байланысты. Процестердің салыстырмалы жылдамдықтарына байланысты бір процесс жіберулеге (жұмыс істеуге) дайын тұруы, ал оған қажет кіріс деректері әлі жоқ болуы мүмкін. Бұл жағдайда осы процесс кіріс деректерін алғанша бұғатталады.
Процестер әртүрлі жағдайларға байланысты бұғатталады. Мысалы, процесс күткен деректер жоқ болса, онда бұл процесс осы деректер пайда болғанша бұғатталады. Сонымен қатар, жұмысқа дайын және жұмыс істей алатын процесс амалдық жүйе орталық процессордың уақытын басқа процеске беруіне байланысты бұғатталады. Бұл екі жағдай бір-бірінен мүлде өзгеше: бірінші жағдай процестің ішкі проблемасына байланысты, ал екінші жағдай процессордың жетіспеуіне байланысты техникалық проблема. Сонымен процессордың үш жағдайы болуы мүмкін:
Жұмыс істеу: процесс орталық процессорды пайдаланып тұрған мезгіл;
Жұмысқа дайын: процесс басқа процестің аяқталуын күтіп уақытша тоқталып тұр;
Бұғатталған: процесс қандай-да бір сыртқы оқиға болмайынша жіберіле алмайды.
Логика жағынан бірінші екі жағдай бірдей. Екі жағдайда да процесс жіберілуі мүмкін, тек екінші жағдайда процессор бос емес. Үшінші жағдай мүлде басқа, себебі онда процессордың жүктелгендігіне байланыссыз процесті жіберу мүмкін емес.
Жалпы орталық процессор бір процестен басқа процеске өту уақытын анықтайтын жоспарлау алгоритмін қолдану арқылы өтіп отырады. Оны амалдық жүйенің құрамына кіретінпроцестерді жоспарлағыш деген бағдарлама жүзеге асырады.
Төменде процестің жағдайлары үшін жағдайлар диаграммасы тұрғызылған, ондағы бағыттамалар жағдайлар арасындағы мүмкін болатын өтулерді көрсетеді.
Процесс кіріс деректерін күтіп бұғатталады.
Жоспарлағыш басқа процесті таңдады.
Жоспарлығыш осы процесті таңдады.
Кіріс деректеріне қолжеткізу бар.
Жоғарыда көрсетілген үш жағдайдың арасында төрт мүмкін болатын өтулер бар:
1-ші өту: процесс жұмыс істеу мүмкін емес екендігін байқағанда жүзеге асады. Кейбір жүйелерде процесс бұғатталған жағдайда болу үшін жүйелік шақыруды орындау керек. Мысалы, арнаны немесе файлды оқыған кезде кіріс деректері табылмаса процесс автоматты түрде бұғатталады.
2-ші және 3-ші өтулерді процестерді жоспарлағыш шақырады, сондықтан,процестердің өздері мұндай өтулер бар екендігін білмейді.
2-ші өту: процестерді жоспарлағыш орталық процессордың уақытын келесі процеске беру керектігін шешкенде жүзеге асады.
3-ші өту: барлық процестер өзінің процессорлық уақыттарын тамамдағанда, орталық процессор уақыты қайтадан бірінші процеске беріледі. Қай процесті қай уақытта және оған қанша уақыт беру керектігін жоспарлау өздігінен өте маңызды проблема. Осыны шешу үшін көптеген алгоритмдер жасалды. Оларда негізінен жалпы жүйе өнімділігі және жеке процестердің өнімділігі үшін талаптар арасындағы балансты анықтау мақсаты көзделген.
4-ші өту: процесс күткен сыртқы оқиға (мысалы, кіріс деректері келгенде) болғанда жүзеге асады. Егер бұл мезгілде қандай-да бір басқа процесс жіберілмесе, онда 3-ші өту жүзеге асып, процесс жіберіледі. Ал оған кері жағдайда, орталық процессор босағанша процесс біраз уақыт жұмысқа дайын жағдайында бола тұруы қажет.
Процестердің моделі жүйенің ішкі іс-әрекетінің бейнелеуін оңайлатады. Кейбір процестер пернетақтадан терілген бағдарламаларды жібереді. Басқа процестер дискіні басқаруды жіберетін файлдық қызметтердің сұратымын орындау сияқты есептерді өңдейтін жүйенің бөліктері болады. Дискілік үзілім кезінде жүйе ағымдағы процесті тоқтатып, осы үзілімді күтіп тұрған дискілік процесті жібереді. Үзілім орнына біз күту уақытында бұғаттайтын дискілік процесті, пайдаланушы процесін, терминалдарды және т.с.с. қарауымызға болады. Оқиға болған, мысалы, ақпарат дискіден немесе пернетақтадан оқылған кезде бұғаттау алынады да, процесс жіберіледі.
Қарастырылған жағдай төмендегі суреттегі модельмен көрсетілген.
Амалдық жүйенің төменгі деңгейінде жоспарлағыш және үзілімдерді өңдегіш, ал жоғарғы деңгейінде процестер тізбегі орналасқан. Үзілімдерді өңдеу және процестерді жіберу мен тоқтатуға байланысты нақты әрекеттер жасырылған бағдарлама үлкен болмайды. Амалдық жүйенің басқа бөлігі процестер тізбегі түрінде ыңғайлы құрылым болып ұйымдастырылған.
Негізі түсінік бойынша процестің моделін және жағдайларын меңгермейінше, онымен жұмыс істеу мүмкін емес.
|