Процесстер мен ағымдарды басқару
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ..3
I. НЕГІЗГІ БӨЛІМ ... ... ... ... ... ... ... .. ... ... ... ... ... .
... ... ... ... ... ... ... ... ..5
2.1. Процесстер мен ағымдардың концепциясы. Тапсырма, процесстер,
ағымдар, талшықтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
2.2. Мультипрограммдау. Көппрограммалық формалардың
жұмысы ... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ...
... ..8
2.4. Процесстер мен ағымдарды
басқару ... ... ... ... ... ... ... ... ... ... ... ... ...10
2.5. Процесстер мен ағымдарды жасау. Процесстер мен ағымдардың
модельдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ..13
2.6. Есептердің, процесстердің және ағындардың жоспарлануы ... .. 19
2.7 Практикалық талдау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...24
II.
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...31
III. ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ... ... ... ... ... ... . ... ..32
IV. ҚОСЫМША
Тесттік сұрақтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33
Кіріспе
Есептеуiш процесстiң ұйымы - Кәсіпорынды Автоматтандырылған Басқару
Жүйесінің ақпаратты өңдеуiн iске асырудың тиiмдiлiгін анықтайтын
жобалаулардың маңызды кезеңдерiнiң бiрi болып табылады. Болатын есептеулер
негiзгi ерекшелiктермен сипатталады:
• КАБЖ болатын түрлi есептердiң үлкен саны;
• сақтау және мәлiметтiң үлкен көлемдерiнiң өңдеуiн қажеттiлiк;
• өзгерiстердiң түбегейлi көлемi және ақпаратты базаға енгiзуiдің жоғарғы
жиiлiгі;
• қолданбаға әр түрлi деңгейдегі қолданушылардың жүйесiмен өзара
әрекеттесудi қамтамасыз етудi қажеттiлiк, квалификациясыз қолданушылардан
және түрлi тiл құралдарының қолдануы талап ететiн жүйелiк бағдарламашылар;
• қазiргi басқару жүйелерiнiң күрделiлiгi;
• жүйенiң ақпараттық және программалық дамытуын қамтамасыз ету.
Есептеуiш процесстiң ұйымының мақсаты бiрмәндi анықталмайды,өйткенi
факторлардың үлкен санына тәуелдi болады. Есептеуiш қорлардың шектеулері
жоқ жағдайда төмендегідей сипаттауға болады: есептердің iске асыруының
программалық модулдарының техникалық құралдары кешеннiң кескiнiнiң
бекiтiлген күйiндегi олардың шешiмiнiң белгiлi алгоритмдары бар есептерiнiң
қалған жиыны және жиын үшiн есептердiң шешiмiнiң ретiн берілген
шектеулердің максимуммен табу. Есептеу ресурстарына шектеу болған жағдайда
есеп шешімінің екі жағдайы бар:
• ықшамдауда белгiнiң максимумын қамтамасыз ететiн есептердiң iшкi жиынының
таңдауы;
•көпшілік есептерде оптимизацияның максимум критериясын таңдау.
Есептеуiш процесстiң есептерін ықшамдау кезінде, Кәсіпорынды
Автоматтандырылған Басқару жүйесіне реттеп келтіру керек.
КАБдың есептерiнiң жиынын жүзеге асыратын есептеуiш жүйе аппаратты және
программалық құралдар параметрлер жиынтығымен бейнеленедi:
•процессорлардың саны және олардың (өнiмдiлiкпен ) жылдамдығымен;
• жедел жадтың көлемiмен;
• сыртқы жадтың түрi (магнит таспалы жинақтағыштар және дисктер), олардың
саны, жадтың көлемiмен;
• басқару жүйесiнiң жұмыстары үшiн қажеттi есептеуiш қорлардың көлемiмен
(жедел және сыртқы жад, дисководтардың саны көлем);
• басқару жүйесiнiң жұмыс тәртiбімен - негiзiнде бiр программалық және көп
программалық, қазiргi ЭЕМдерде әр түрлi вариациялардағы көп программалық
режим қолданылады;
• есептер және тапсырмалардың басымдылықтарының жүйесiмен; қолданылатын
ДБҚЖдің параметрлерiмен.
Параметрлердiң басқарылуларының құрамы есептеуiш процесстiң ұйымының есеп
қойылуымен анықталады.
Мысалы, деректер қоры iске асыруларда барлық параметрлер үш топқа
жiктеледi:
1. аппаратты программалық жүйеде өзгеріске түспейтін басты параметрлер,
процессордың жылдамдығы, оперативті жадының жеткілікті көлемі;
2. жобалаушылар жиі таңдайтың параметрлер – базалық операциялық жүйе,
программалық қамтамасыз етудің жүйесі;
3. қолданушылармен таңдалатын параметрлер – өзгертулер еңгізу, мәліметтер.
Процесстер мен ағымдардың концепциясы. Тапсырма, процесстер, ағымдар,
талшықтар
Процесс операциялық жүйелердің негізгі түсінігі – абстрактілі, программаның
жұмысын сипаттайды. Компьютердегі барлық программалар ОЖмен бірге
процесстердің жиынтығы ретінде қарастыруға болады.
ОЖның түбегейлі мақсаты компьютердегі процесстер мен ресурстарды басқару,
дәлірек айтсақ ресурстарды процесстердің тиімді шешілуіне пайдалану. Бұл
тапсырманы шешу үшін ОЖ әр процесстің қазіргі жағдайын білу қажет. Бұндай
информацияны берудің бір тәсілі әр басқару объектісіне жеке таблица сызу.
Бұл туралы жалпы мәліметті 5.1-суретінен көруге болады. Онда ОЖның
қолдайтын процесстердің кестесі берілген: жады үшін, еңгізу-шығару
құралдары, файлдар және процесстер үшін.Бұндай кестелердің ОЖ байланысты
бөлшектері өзгеріп отыруы мүмкін бірақ түбегейлі бір, олардың барлығы осы
төрт категорияны қолдайды. Бір аппаратты ресурстары бар бірақ ОЖні басқару
процесстері әр-түрлі компьютерлер әр-түрлі әсерлілікпен жұмыс істейді.
Компьютердің ресурстарын басқару кезіндегі ақаулар мультипрограммды ОЖ
кездеседі.
5.1-сурет. ОЖ кестесі.
Мультипрограммдау (multitasking) – бұл есептеу процесінің тәсілі, бұл кезде
бір процессорда кезек-кезек бірнеше программалар орындалып жатады.
Мультипрограмманы қолдау үшін ОЖ өз ішінде жұмыс істеу бірліктерін бөлу
керек, олардың арасында процессор мен басқа ресурстар бөлінеді.
Компьютерлердін екінші және үшінші ұрпақтарында ОЖнің пакетті өңдеуі
тапсырма болатын. Қазіргі уақытта көпшілік ОЖде жұмыстың екі бірлігі
анықталған: ірі бірлігі – процесс, кіші – ағым.
Тапсырма(Job) бірлігінде жұмыс істейтің ОЖ Windows. Windowsта тапсырма
тұтас басқарылатын бір немесе бірнеше процессордың жиынтығы. Тапсырма
объектісінде әр тапсырмамен ресурстың квотасымен мен лимиті
беріледі.Квотаға процесстердің максималды саны, орталық процессордің уақыт
қосындысы және жадының процессорға кететін максималды көлемі кіреді.
Тапсырмалар процесстерді қауіпсіздік жағынан шектуі мүмкін, мысалы
администратор құқығын шектеу немесе рұқсат беру.
Процесстер ОЖмен барлық ресурстартар түрлерін сұраныс немесе контейнер
ретінде қарастырады, біреуінен басқа – процессорлық уақыт. Процессорлық
уақыт бұл басты ресурс ОЖмен басқа жұмыс бірліктеріне таратылады – ағындар.
Әр процесс бір ағыннан басталады. Бірақ, жаңа ағындар процесспен
динамикалық түрде пайда болуы мүмкін. Ең қарапайым түрде процесс бір
ағыннан тұрады, осылай процесс түсінігі 80-жылдардың соңына дейін келген.
Қазіргі кезде де кейбір ОЖде осындай күй сақталған.
Ережеге сәйкес, ағын қолданушы режимінде жұмыс істейді, бірақ ол система
шақыруына бұрылғанда, ядро режиміне өтеді. Системалық шақыру біткеннен
кейін система қайта қолданушы режиміне өтеді. Әр ағынның екі стегі бар,
біреуі – ядро режимінде қолданылса, екіншісі – қолданушысы режимінде
қолданылады. Идентификатор мен екі стекпен қоса, әр ағында контекст бар.
Ағын жұмысын тоқтатқаннан кейін, ол өзінің тіршілігін тоқтата алады. Соңғы
белсеңді ағын біткеннен кейін, процесс тоқтатылады. 5.2-суретте
тапсырмалар, процесстер және ағындар байланысы көрсетілген.
5.2-сурет Тапсырмалар, процесстер, ағындар
ОЖда ағындарды ауыстыру көп уақыт алады, өйткені ол үшін ядро режимына
ауысу керек, кейін қолданушы режиміне қайтып келу керек. Ағындардың
пландауы мен диспетчерлендіру көп процессорлық уақыт кетеді. Windows 2000
ОЖде псевдопараллелизмді жеңілдету үшін Fiber талшықтары қолданылады. Әр
ағынның бірнеше талшықтары болуы мүмкін, талшық логикалық шектелген кезде,
ол шетелген талшықтардың кезегіне түседі, содан кейін жұмысқа сол ағындағы
басқа талшық алынады. Осы кезде ОЖ талшықтың ауысқаның білмейді, өйткені
сол ағын жұмыс істеп тұрады.
Осылай, ОЖнің жұмысының иерархиясы бар, Windows үшін ол келесі суретте
көрсетілген (5.3-сурет).
Мультипрограммдау. Көппрограммалық формалардың жұмысы
Мультипрограммдау есептеу жүйесінің жұмысының нәтижелігін арттыруға қажет.
Бірақ, нәтижелілік әр түрлі қабылдануы мүмкін. Есептеу жүйесінің
нәтижелігін көрсеткіштері:
• Өткізу қабілеттілігі – есептеу көлемі, жүйе уақытының бірлігімен
есептелетін;
• Қолданушының ыңғайлылығы, ол дегеніміз бір уақытта интерактивтік
режимде бірнеше программамен жұмыс істей алуы;
• Жүйенің реактивтілігі – программаны қосып өшірудегі алдын-ала берілген
уақыт интервалдарына шыдамдылығы.
Осы көрсеткіштердің біреуін таңдауына байланыста ОЖ пакетті өңдеу
жүйелеріне, уақытты бөлу жүйесіне және шыңайы уақыт жүйесіне бөлінеді
(кейбір ОЖ бірден бірнеше режимдерде жұмыс істеуі мүмкін).
Тез арада есептің шешімін қажет етпейтін есептеу түрінің есептерің шығаруға
арналған жүйе пакетті өңдеу жүйесі. Бұл кездегі компьютердің максималды
өткізу қабілеттілігі, процессорды минимилизациялау арқылы жетеді. Бұл
мақсатқа жету үшін тапсырмалар пакеті, мультипрограммды қоспаның машинаның
барлық құрамын үйлестіріп баптай алатындай құрылады.
Қолайлы жағдайда есептердің қоспасының шығару уақыты, олардың кезек-кезек
шығарған уақытынан аз болады. Қоспа кезіндегі жеке бір есептің шығарылуына
кеткен уақыт, оны жеке есептеп шығару уақытынан көп болуы мүмкін. (5.4-
сурет)
Уақытты бөлу жүйесінде қолданушыларға интерактивті жағдайда бірнеше
программалармен жұмыс істеуге мүмкіндік берілген. Ол үшін әр қосымша
қолданушымен тілдесу мүмкіндігі болу керек. Бұл проблеманың шешілуі ОЖ
қосымшаны мәжбүрлеп тоқтады, оның ерікті тоқтауын күтпей.
5.4-сурет. Мультипрограммды эффектің кескінделуі
Барлық қосымшаларға процессордың уақытының кванты бөлінеді, осылайша
қолданушы олармен тілдесуге мүмкіндік алады.(5.5-сурет)
5.5-сурет. Уақытты бөлу жүйесі
Шынайы уақыт жүйесі техникалық объектілерді басқаруға арналған (спутник,
ракета, атомды электростанциялар, станоктар т.б.), технологиялық
процесстермен (гальвандық сызық, домендік процесстермен және т.б.), әр
түрлі қызмет көрсету (авиабилеттер резервілеу, сатып алуларды төлеу т.б.).
барлық жағдайларда процесстерге белгілі бір уақыт беріледі, сол уақытта
программа орындалу керек. Әйтпесе, қажет емес жағдацлар болуы мүмкін.
ОЖ нәтижелігінің критериясы программаны қосу мен нәтижесін күтудегі алдын-
ала берілген уақыт интервалдарына төзу керек. Бұл уақыт жүйенің реакция
уақыты деп аталады, ал қасиеті – реактивтілік деп аталды. Уақытқа қойылатын
талап процессор мен объектке байланысты. Шынайы уақыт жүйесінде
мультипрограммды қоспа арнайы алдын ала жасалған программалардың жиынтығы.
Шынайы уақыт жүйесінде есептеу күшіне артық қуат мөлшері сақталып тұрады,
келеңсіз оқиға болып қалған жағдайға, сонымен қоса жүйенің қолайлығына
алдын ала шаралар қолданылады.
Мультипрограммды жұмыстың формасы қызықты формасы мультипроцессорлық
өңдеумен байланысты. Мультипроцессорлық өңдеу – бірнеше процессоры бар
жүйеде ессептеу тезникасын шығару, бұл кезде әр процессте әр түрлі
тапсырмалар(ағымдар, процесстер) бір уақытта орындала береді.
Мультипроцессорлеу концепциясы жаңалық емес, ол 70-і жылдардан бері
белгілі, бірақ кейінгі оң жылдықта ғана қолданысқа ие болды, көппроцессорлы
ДКдің шығуымен.
Процесстер мен ағымдарды басқару
Мультипрограммды ОЖ ішкі жүйесі, компьютердің функционалдығына әсер ететін,
ол процесстер мен ағымдарды басқару ішкі жүйесі. Ішкі жүйенің функциялары:
• Процесстер мен ағымдарды жасау;
• Процесстер мен ағымдарды жеткілікті ресурстармен қамтамасыз ету;
• Процесстердің изоляциясы;
• Процесстер мен ағымдардың орындалуын жоспарлау;
• Ағымдарды диспетчерлеу;
• Процессор арасындағы байланыс;
• Процессор мен ағымдардың синхронизациясы;
• Процесстер мен ағымдарды аяқтау мен жою.
Процесстердің пайда болуына бес оқиға әсер етеді:
1. ОЖнің инициализациясы;
2. Жұмыс істеп тұрған процесстердің жаңа процессор істеуге сұраныс
жасауы;
3. Қолданушының процесс жасауға сұраныс жасауы;
4. Пакетті тапсырманы инициалдау;
5. ОЖмен процесс жасау.
Негізінен ОЖнің бапталуы кезінде бірнеше процесстер жасалады, кейбіреулері
қалғандарына қарағанда басым болады, олар қолданушымен тілдесу жасап
отырады. Қалған процесстер фондық, олар арнайы қолданушылармен байланысты
емес, бірақ ерекше функцияларды атқарады – мысалға, электронды поштамен
байланысты, Web-беттермен, баспаға шығарумен, желі арқылы файлдарды жіберу
және т.б. фондық процесстер демондар деп аталады.
Жаңа процесс өтіп жатқан процесстің сұранысымен пайда болуы мүмкін.
Интерактивті жүйеде қолданушы программаны пернетақтамен немесе екі рет
шерту арқылы қоса алады. Екі жағдайдада жаңа процесс пайда болады, соның
ішінде программа қосылады. Пакетті өңдеу жүйесі мен мэйнфреймдарда
қолданушылар тапсырманы жібереді, ал ОЖ оларды кезекке қояды, сосын
белшһгілі бір ресурс босағанна кейін қосады.
Техникалық көз қарастан жаңа процесстер бірдей құрылады: болып жатқан
процесс жаңа процесстің пайда болуына сұраныс жасайды. Процесстер мен
ағымдардың ішкі жүйесі процессорлерде жеткілікті ресурспен қамтамасыз етіп
отырады. ОЖ жадыда арнайы хабарламалық структуралары бар, сонда ол қандай
ресурс қай процессте тұрғаның жазып отырады. Ол программаға ресурсты жеке
өзіңе пайдалануға немесе басқа программамен бірге пайдалануға беруі мүмкін.
Кейбір процесстерге ресурс бірден пайда болған кезде берілуі мүмкін немесе
процесс кезінде сұраныс арқылы берілуі мүмкін. Ресурс процесске оның барлық
өміріне берілуі мүмкін немесе белгілі бір уақытқа ғана.
Процесстер бір-біріне кедергі болмас үшін немесе бірге өздігінен араласып
кетпес үшін ОЖнің басты мақсаты оларды бір-бірінен оқшаулау қажет. Ол үшін
ОЖ әр процессті бөлек виртуалды адресспен қамтамасыз етеді, сондықтан
процесс басқа процесстің командаларына рұқсат ала алмайды.
ОЖде процесстер мен ағымдар барлық ресурстарды пайдалануға берілген өтініш
ретінде қарастырылады. Бұл арнайы ресурс ОЖнің арасында басқа жұмыс
бірліктерімен бөлінеді. Бір ағымнан екінші ағымға өту жоспарлау мен
диспетчерлеу арқасында жүзеге асады.
Жоспарлау дегеніміз орындалып жатқан процесстің қай уақытта тоқтайтының,
кезекте тұрған процесстің қай уақытта орындалатының анықтау.
Диспетчерлеу жоспарлаудың шешімін іске асыру, яғни процессті бір ағыннан
екінші ағымға аудару. Дспетчерлеу үш этапта өтеді:
• Өтіп жатқан ағымның мәнмәтінің сақтау;
• Жоспарлау нәтижесіндегі, ағымның мәнмәтінің баптау;
• Жаңа ағымды баптау.
Жүйеде бір бірінен тәуелсіз программалар жұмыс істеп жатқан кезде, қосымша
проблемалар пайда болады. Ағымдар синхронды пайда болып, орындалатына
қарамастан, оларда деректерді алмастыру кезінде ақаулар пайда болады. Бір
бірімен қатынау үшін процесстер мен ағымдар мүмкіндіктердің кең көлемін
пайдалана алады: каналдар(Unix), пошта жәшіктерін(Windows), алып тастаған
процедураның шақыруы, сокеттер.
Ағындардың синхронизациясы процесстермен және ағындардың басқарудың шағын
жүйесiнiң ең маңызды функцияларының бiрi болып табылады. Қазiргi басқару
жүйелерi синхронизацияның тетiктерiнiң жиыны, семафорларды қоса iлiгедi,
мьютексы, кризистiк облыстар және оқиға. Мына барлық тетiктер ағындармен
жұмыс iстейдi, процесстермен емес. Сондықтан ағым семафорда тоқтатылған
кезде, басқа процесстер жұмыстарын жалғастыра береді.
Әрқашан процесс тоқтаған кезде, бұл кейбір жағдайларға байланысты болады:
кәдімгі шығу, қатемен шығу, түзелмеген қатемен шығу, басқа процесспен
жойылуы. Процесстерді басқаруды ішкі жүйесі процесс жұмыс істеген барлық
файлдарды жауып тастайды, оперативті жадыны босатады.
Атап айтқандай, мультипрограммдауды қолдау үшін ОЖ жұмыс пен
процессорлардың бөлінетін ресурстарын өзіңе арнайы жұмыс бірліктерін
анықтап қою керек. Осы кезде сұрақтар пайда болады: бұл жұмыс бірліктерінің
айырмашылағы неде, бұлардан мультипрограммдау қандай әсер алады, ОЖ қандай
жұмыс бірліктерін пайдалану керек?
Есептеу жүйесінің жұмысы белгілі бір программаның орындалуында. Сондықтан
да, процесспен де ағыммен де арнайы программдық код пайдаланады, ол
орындалатын модуль ретінде жасалады. Қарапайым күйінде процесс бір ағымнан
тұрады, кейбір ОЖ әлі де осындай күй сақталған. Бұндай ОЖ мультипрограммдау
процесстер деңгейінде өтеді.
Негізінен, мультипрограммдау ағымдар деңгейінде орындалғаны тиімді. Көп
ағымдық өңдеудің ең үлкен тиімділігі, мультипроцессорлық жүйеде асырылады.
Процесстер мен ағымдарды жасау. Процесстер мен ағымдардың модельдері
Процесс жасау – бұл біріншіден, процесстің суреттемесін жасау: бірнеше
ақпаратты құрылыс, процесстер туралы барлық мәліметтер, ОЖ басқару үшін
керек. Бұндай мәліметтерге кіреді: процессор идентификаторы, процесс
артықшылығы т.б.
Мұндай процессор сипаттамалары:
• Есеп басқарудың блогы (TCB – Task Control Block) в OS360;
• Процессордың басқару блогы (PCB – Process Control Block) в OS2;
• UNIX процессорының дескрипторы;
• Объект-процесс (object-process) Windows NT20002003.
Процесс жасау кодтар мен мәліметтерді процесстен операциондық жадыға
баптауды қажет етеді. Ол үшін ол программаны дисктан тауып қажет,
оперативті жадыны бөліп, жаңа орындалайын деп жатқан программаға жады бөлу.
Сонымен қоса программаның жұмысы кезінде стек қолданылады.
Программа, мәліметтер, стектер және процесстер атрибуты кіретін жиынтық,
процессор образы деп аталады.
Образдың бір үлгідегі процесстері төменде көрсетілген.
Информация Описание
Данные пользователя Изменяемая часть пользовательского адресного
пространства (данные программы, пользовательский
стек, модифицируемый код)
Пользовательская Программа, которую необходимо выполнить
программа
Системный стек Один или несколько системных стеков для хранения
параметров и адресов вызова процедур и системных
служб
Управляющий блок Данные, необходимые операционной системе для
процесса управления процессом
Процесс образының орны жадының басқару схемасына байланысты. Жаңа виртуалды
жадылары бар ОЖлер блоктардың жиынтығынан тұрады.Бұндай жадының орналасуы
негізгі жадыда образдың бір бөлігін алуға мүмкіндік береді(активная часть),
сол кезде екінші жадыда толық образ сақталады. Негізгі жадыға образдың
жартысы бапталғанда, ол онда тек көшіріледі(копируется).
Процесстерді басқарған кезде ОЖ екі типті информациялық структураларды
қолдайды: процесс басқарудың блогі және процесс мәнмәтіні. Процессор
дескрипторлары процесстер кестесіне бірігеді, ол ядро аймағында орналасады.
Процесстер кестесінің ақпарат негізінде, ОЖ жоспарлау және процесстер
синхронизациясын жасайды.
Процесстің дескрипторында мынадай процесс туралы ақпарат болады, ол ядроға
барлық өміріне қажет ақпарат. Ол ақпаратты үш категорияға бөлуге болады:
• Процесстің идентификациясының ақпараты;
• Процессордың күйі туралы ақпарат;
• Процессорды басқаруға қолданылатын ақпарат.
Әрбiр процесске процесстердiң алғашқы кестесiнде индекс бола алатын санмен
көрсетiлген идентификатор тағайындайды. Кез келген жағдайда ОЖге процессор
идентификаторын процесстің кестесіне байланысты табатын кейбір суреттеме
болу керек. Идентификаторлар жаңа процесстiң жасауында аналық және iшкi
процесстердi көрсетедi. Процесстердiң иерархия қолдамайтын басқару
жүйелерiндегi, мысалы, Windows 2000, барлық жасалған процесстерде тең
құқықтыбiрақ (аналық ) шамданған процесс қайтарылатын 18-шi параметрлердiң
бiрi, жаңа процесстiң дескрипторы болады. Бұдан басқа, процесске
қолданушының идентификаторы бере алады, қай қолданушылардан осы тапсырмаға
жауап беретiн көрсетедi.
Процесстiң мәлiметі келесi негiзгi мәлiметтер қосады:
• процесстiң күйi, орындауға дайындығын анықтайтын процесс;
• басымдылық туралы мәлiметтер;
• оқиғалар туралы мәлiмет - процесстiң орындауын жалғастыруға мүмкiндiк
беретiн оқиғаның теңестiруi;
• жедел жадтағы процесстiң түрiнiң орналастырылуы және дискте анықталуға
мүмкiндiк беретiн нұсқағыштар;
• басқа процесстерге нұсқағыштар(орындауға болатын кезектерде жеке
алғанда);
• байрақтар, ескертпе дабыл және екi тәуелсiз процесстердiң арасындағы
ақпарат алмасу қатысы бар қатынастар;
• командалардың нақтылы түрлерi, жадтың нақтылы облысына қол жеткiзу
құқығы немесе орындау мүмкiндiк анықтайтын артықшылықтар туралы
мәлiметтер, жүйелiк утилиталар және қызметтi қолдану;
• нұсқағыштар(мысалы, ашық файлдардың тiзiмi процесс басқаратын
қорларға);
• қорлардың қолданудың тарихы және процессор бойынша хабар;
• мәлiмет жоспарлауға қатысты. Бұл мәлiметтер жоспарлауды алгоритмнан
көпшiлiгiнде тәуелдi болады. Мысалы, мұндай тосу уақыты немесе уақыт,
соңғы iске қосуда қай процесс iшiнде орындалатын, iстелiнген енгiзу-
шығару операцияларының саны тағы басқалар мәлiметтер мұнда жатады.
Процесстiң контекстi жүйеге үзiлген орыннан процесстiң орындауын бөгеп
қайта басталуға мүмкiндiк беретiн мәлiметтi болады.
Процесстiң контекстiнде келесi негiзгi мәлiметтер болады:
• iшiндегiсi процессордың регистрлерi, қолданушыға қолайлы;
• iшiндегiсi командалар есептеуiштерi;
• бағдарлаушы регистрлер және күйдiң регистрлерiнiң күйi;
• соңғы арифметикалық немесе логикалық операцияны орындауды нәтиже
шағылатын шарт кодтары;
• стек төбесiнiң нұсқағыштары, саудырлақ саудырлақ параметрлер және
процедуралар және жүйелiк қызметтердiң шақыру адресi.
Бұл мәлiметтiң бөлiгі (Program Status Word - PSW), арнайы процессор
регистрінде белгіленеді.
Процесстiң ең оңай үлгiсi процесстiң уақыты кез келген уақытта немесе
орындалып, немесе орындалмайтын сүйене құрастыруға болады, яғни екі күйі
бар. Егер барлық процесстер әрдайым орындауға дайын бол болса, онда бұл
схема бойынша кезек тиiмдi әбден жұмыс iстей алар ма едi. Мұндай кезек
өңдеудi қағида бойынша түсу ретiнде жұмыс iстейдi, айналма әдiстiң
процесстерi болғанда бар процессорлары қызмет көрсетедi (Round-robin).
Әрбiр процесске уақыттың нақтылы аралығы берiледi, ол өтуi арналған кезекке
қайтарылады.
Iске асыру сол сияқты такомалардың өте қарапайым мысалында дегенмен бiрдей
болып табылмайды: мысалы, процесстердiң бiр бөлiгi орындауға дайын, ал бір
бөлiгі енгiзу-шығаруды күтумен тосқауыл қойған. Диспетчер сондықтан бiр
кезек болған жағдайда кезектен бiрiншi процессiнiң орындауы үшiн жай ғана
таңдай алмайды. Бұның алдында ол барлық тiзiмді кезекте бәрiнен алыс тұрған
бiтпеген процесстi iздеп тауып қарап шығуы керек. Табиғи екi түрдегi барлық
орындалмайтын процесстердi бөлуге бұдан көрiнедi: орындауға дайын және
тосқауыл қойылғаны. 5.6-суретте көрсетілгендей тағы екі күйді қосқан
тиімді.
5.6-сурет. Процессор күйі
Мұндай модельдің артықшылықтары мен кемшіліктері қандай? Процессор енгiзу-
шығару операцияларының орындауы тез әлдеқайда жұмыс iстейтiндiгi, онда
процесстер жақында барлық жадта бар енгiзу-шығаруды күту күйлерiнде толып
қалады. Сайып келгенде, процессор көп есептi жүйеде тiптi тоқтап тұра
алады. Не iстейдi? Онда процесстер көбiрек орналасу үшiн негiзгi жадтың
сыйымдылығы үлкейтуге болады.
Бірақ, мұндай күйдің екі кемшілігі бар: біріншіден, жадының көлемі
үлкейеді, екіншіден жадының үлкеюі процессордың үлкеюіне әкеліп соғады.
Мәселенің басқа шешімі – свопинг, процесстердің жартысын оперативті жадыдан
дискке көшіру.
Ағымдарды жасаған кезде ОЖ процесстерді жасаған сияқты арнайы ақпаратты
құрылым – ағым жазбасын жасайды. Жазбаны екіге бөлуге болады: басқару блок
атрибуттары және ағым контексті.
Ағым пакеттерін қолданудың екі тәсілі бар:
• қолданушының кеңiстiгiнде немесе қолданушы деңгейде (User-level
threads - ULT);
• ядрода немесе ядро бойында (kernel-level threads - KLT).
Бұл әдiстер, олардың артықшылығы және кемшiлiктердi қарап шығамыз.
Ағындардың ULT толық тұратын бағдарламасында, барлық әсер ағынмен басқару
бойынша өзiнiң қосымшаларымен орындалады. Ағындар туралы ядро кәдiмгi бiр
тасқынды процесстермен ештеңе бiлмей басқарады 5.7-сурет
5.7-сурет қолданушының кеңістіктегі ағымдары
Бұл жолдың анық артықшылығы өте қолданушы ағындардың пакетi деңгейде ОЖға
тiптi жүзеге асыруға болады ағын қолдамайтын болған тұрады.
Егер ағындармен басқару қолданушының кеңiстiгiнде болса, әрбiр процесске
ағындардың меншiктi кестесi қажеттi. Ол сол тек қана мұндай командалар
есептеуiш ағындардың мiнездемелерi зерттеп отырған айырмашылығы
процесстердiң кестесiне ұқсас, регистр күй тағы сол сияқтылар, стек
төбесiнiң нұсқағыш. Ағын қашан дайындықтың күйге көшедi немесе бiтеу,
қайтадан iске қосу үшiн қажеттi барлық мәлiмет қажеттi ағындардың
кестесiнде сақталады.
Басында өз жұмысының қосымшасын үндемеу бойыншаға бiр ағыннан және оның
орындауы тұрады бұл ағынның орындауын сияқты бастайды. Бұндай қосымша бір
процессорда орналасады, ол ядромен басқарылады. ... жалғасы
... ... ... ... ... ... ... ..3
I. НЕГІЗГІ БӨЛІМ ... ... ... ... ... ... ... .. ... ... ... ... ... .
... ... ... ... ... ... ... ... ..5
2.1. Процесстер мен ағымдардың концепциясы. Тапсырма, процесстер,
ағымдар, талшықтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
2.2. Мультипрограммдау. Көппрограммалық формалардың
жұмысы ... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ...
... ..8
2.4. Процесстер мен ағымдарды
басқару ... ... ... ... ... ... ... ... ... ... ... ... ...10
2.5. Процесстер мен ағымдарды жасау. Процесстер мен ағымдардың
модельдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ..13
2.6. Есептердің, процесстердің және ағындардың жоспарлануы ... .. 19
2.7 Практикалық талдау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...24
II.
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...31
III. ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ... ... ... ... ... ... . ... ..32
IV. ҚОСЫМША
Тесттік сұрақтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..33
Кіріспе
Есептеуiш процесстiң ұйымы - Кәсіпорынды Автоматтандырылған Басқару
Жүйесінің ақпаратты өңдеуiн iске асырудың тиiмдiлiгін анықтайтын
жобалаулардың маңызды кезеңдерiнiң бiрi болып табылады. Болатын есептеулер
негiзгi ерекшелiктермен сипатталады:
• КАБЖ болатын түрлi есептердiң үлкен саны;
• сақтау және мәлiметтiң үлкен көлемдерiнiң өңдеуiн қажеттiлiк;
• өзгерiстердiң түбегейлi көлемi және ақпаратты базаға енгiзуiдің жоғарғы
жиiлiгі;
• қолданбаға әр түрлi деңгейдегі қолданушылардың жүйесiмен өзара
әрекеттесудi қамтамасыз етудi қажеттiлiк, квалификациясыз қолданушылардан
және түрлi тiл құралдарының қолдануы талап ететiн жүйелiк бағдарламашылар;
• қазiргi басқару жүйелерiнiң күрделiлiгi;
• жүйенiң ақпараттық және программалық дамытуын қамтамасыз ету.
Есептеуiш процесстiң ұйымының мақсаты бiрмәндi анықталмайды,өйткенi
факторлардың үлкен санына тәуелдi болады. Есептеуiш қорлардың шектеулері
жоқ жағдайда төмендегідей сипаттауға болады: есептердің iске асыруының
программалық модулдарының техникалық құралдары кешеннiң кескiнiнiң
бекiтiлген күйiндегi олардың шешiмiнiң белгiлi алгоритмдары бар есептерiнiң
қалған жиыны және жиын үшiн есептердiң шешiмiнiң ретiн берілген
шектеулердің максимуммен табу. Есептеу ресурстарына шектеу болған жағдайда
есеп шешімінің екі жағдайы бар:
• ықшамдауда белгiнiң максимумын қамтамасыз ететiн есептердiң iшкi жиынының
таңдауы;
•көпшілік есептерде оптимизацияның максимум критериясын таңдау.
Есептеуiш процесстiң есептерін ықшамдау кезінде, Кәсіпорынды
Автоматтандырылған Басқару жүйесіне реттеп келтіру керек.
КАБдың есептерiнiң жиынын жүзеге асыратын есептеуiш жүйе аппаратты және
программалық құралдар параметрлер жиынтығымен бейнеленедi:
•процессорлардың саны және олардың (өнiмдiлiкпен ) жылдамдығымен;
• жедел жадтың көлемiмен;
• сыртқы жадтың түрi (магнит таспалы жинақтағыштар және дисктер), олардың
саны, жадтың көлемiмен;
• басқару жүйесiнiң жұмыстары үшiн қажеттi есептеуiш қорлардың көлемiмен
(жедел және сыртқы жад, дисководтардың саны көлем);
• басқару жүйесiнiң жұмыс тәртiбімен - негiзiнде бiр программалық және көп
программалық, қазiргi ЭЕМдерде әр түрлi вариациялардағы көп программалық
режим қолданылады;
• есептер және тапсырмалардың басымдылықтарының жүйесiмен; қолданылатын
ДБҚЖдің параметрлерiмен.
Параметрлердiң басқарылуларының құрамы есептеуiш процесстiң ұйымының есеп
қойылуымен анықталады.
Мысалы, деректер қоры iске асыруларда барлық параметрлер үш топқа
жiктеледi:
1. аппаратты программалық жүйеде өзгеріске түспейтін басты параметрлер,
процессордың жылдамдығы, оперативті жадының жеткілікті көлемі;
2. жобалаушылар жиі таңдайтың параметрлер – базалық операциялық жүйе,
программалық қамтамасыз етудің жүйесі;
3. қолданушылармен таңдалатын параметрлер – өзгертулер еңгізу, мәліметтер.
Процесстер мен ағымдардың концепциясы. Тапсырма, процесстер, ағымдар,
талшықтар
Процесс операциялық жүйелердің негізгі түсінігі – абстрактілі, программаның
жұмысын сипаттайды. Компьютердегі барлық программалар ОЖмен бірге
процесстердің жиынтығы ретінде қарастыруға болады.
ОЖның түбегейлі мақсаты компьютердегі процесстер мен ресурстарды басқару,
дәлірек айтсақ ресурстарды процесстердің тиімді шешілуіне пайдалану. Бұл
тапсырманы шешу үшін ОЖ әр процесстің қазіргі жағдайын білу қажет. Бұндай
информацияны берудің бір тәсілі әр басқару объектісіне жеке таблица сызу.
Бұл туралы жалпы мәліметті 5.1-суретінен көруге болады. Онда ОЖның
қолдайтын процесстердің кестесі берілген: жады үшін, еңгізу-шығару
құралдары, файлдар және процесстер үшін.Бұндай кестелердің ОЖ байланысты
бөлшектері өзгеріп отыруы мүмкін бірақ түбегейлі бір, олардың барлығы осы
төрт категорияны қолдайды. Бір аппаратты ресурстары бар бірақ ОЖні басқару
процесстері әр-түрлі компьютерлер әр-түрлі әсерлілікпен жұмыс істейді.
Компьютердің ресурстарын басқару кезіндегі ақаулар мультипрограммды ОЖ
кездеседі.
5.1-сурет. ОЖ кестесі.
Мультипрограммдау (multitasking) – бұл есептеу процесінің тәсілі, бұл кезде
бір процессорда кезек-кезек бірнеше программалар орындалып жатады.
Мультипрограмманы қолдау үшін ОЖ өз ішінде жұмыс істеу бірліктерін бөлу
керек, олардың арасында процессор мен басқа ресурстар бөлінеді.
Компьютерлердін екінші және үшінші ұрпақтарында ОЖнің пакетті өңдеуі
тапсырма болатын. Қазіргі уақытта көпшілік ОЖде жұмыстың екі бірлігі
анықталған: ірі бірлігі – процесс, кіші – ағым.
Тапсырма(Job) бірлігінде жұмыс істейтің ОЖ Windows. Windowsта тапсырма
тұтас басқарылатын бір немесе бірнеше процессордың жиынтығы. Тапсырма
объектісінде әр тапсырмамен ресурстың квотасымен мен лимиті
беріледі.Квотаға процесстердің максималды саны, орталық процессордің уақыт
қосындысы және жадының процессорға кететін максималды көлемі кіреді.
Тапсырмалар процесстерді қауіпсіздік жағынан шектуі мүмкін, мысалы
администратор құқығын шектеу немесе рұқсат беру.
Процесстер ОЖмен барлық ресурстартар түрлерін сұраныс немесе контейнер
ретінде қарастырады, біреуінен басқа – процессорлық уақыт. Процессорлық
уақыт бұл басты ресурс ОЖмен басқа жұмыс бірліктеріне таратылады – ағындар.
Әр процесс бір ағыннан басталады. Бірақ, жаңа ағындар процесспен
динамикалық түрде пайда болуы мүмкін. Ең қарапайым түрде процесс бір
ағыннан тұрады, осылай процесс түсінігі 80-жылдардың соңына дейін келген.
Қазіргі кезде де кейбір ОЖде осындай күй сақталған.
Ережеге сәйкес, ағын қолданушы режимінде жұмыс істейді, бірақ ол система
шақыруына бұрылғанда, ядро режиміне өтеді. Системалық шақыру біткеннен
кейін система қайта қолданушы режиміне өтеді. Әр ағынның екі стегі бар,
біреуі – ядро режимінде қолданылса, екіншісі – қолданушысы режимінде
қолданылады. Идентификатор мен екі стекпен қоса, әр ағында контекст бар.
Ағын жұмысын тоқтатқаннан кейін, ол өзінің тіршілігін тоқтата алады. Соңғы
белсеңді ағын біткеннен кейін, процесс тоқтатылады. 5.2-суретте
тапсырмалар, процесстер және ағындар байланысы көрсетілген.
5.2-сурет Тапсырмалар, процесстер, ағындар
ОЖда ағындарды ауыстыру көп уақыт алады, өйткені ол үшін ядро режимына
ауысу керек, кейін қолданушы режиміне қайтып келу керек. Ағындардың
пландауы мен диспетчерлендіру көп процессорлық уақыт кетеді. Windows 2000
ОЖде псевдопараллелизмді жеңілдету үшін Fiber талшықтары қолданылады. Әр
ағынның бірнеше талшықтары болуы мүмкін, талшық логикалық шектелген кезде,
ол шетелген талшықтардың кезегіне түседі, содан кейін жұмысқа сол ағындағы
басқа талшық алынады. Осы кезде ОЖ талшықтың ауысқаның білмейді, өйткені
сол ағын жұмыс істеп тұрады.
Осылай, ОЖнің жұмысының иерархиясы бар, Windows үшін ол келесі суретте
көрсетілген (5.3-сурет).
Мультипрограммдау. Көппрограммалық формалардың жұмысы
Мультипрограммдау есептеу жүйесінің жұмысының нәтижелігін арттыруға қажет.
Бірақ, нәтижелілік әр түрлі қабылдануы мүмкін. Есептеу жүйесінің
нәтижелігін көрсеткіштері:
• Өткізу қабілеттілігі – есептеу көлемі, жүйе уақытының бірлігімен
есептелетін;
• Қолданушының ыңғайлылығы, ол дегеніміз бір уақытта интерактивтік
режимде бірнеше программамен жұмыс істей алуы;
• Жүйенің реактивтілігі – программаны қосып өшірудегі алдын-ала берілген
уақыт интервалдарына шыдамдылығы.
Осы көрсеткіштердің біреуін таңдауына байланыста ОЖ пакетті өңдеу
жүйелеріне, уақытты бөлу жүйесіне және шыңайы уақыт жүйесіне бөлінеді
(кейбір ОЖ бірден бірнеше режимдерде жұмыс істеуі мүмкін).
Тез арада есептің шешімін қажет етпейтін есептеу түрінің есептерің шығаруға
арналған жүйе пакетті өңдеу жүйесі. Бұл кездегі компьютердің максималды
өткізу қабілеттілігі, процессорды минимилизациялау арқылы жетеді. Бұл
мақсатқа жету үшін тапсырмалар пакеті, мультипрограммды қоспаның машинаның
барлық құрамын үйлестіріп баптай алатындай құрылады.
Қолайлы жағдайда есептердің қоспасының шығару уақыты, олардың кезек-кезек
шығарған уақытынан аз болады. Қоспа кезіндегі жеке бір есептің шығарылуына
кеткен уақыт, оны жеке есептеп шығару уақытынан көп болуы мүмкін. (5.4-
сурет)
Уақытты бөлу жүйесінде қолданушыларға интерактивті жағдайда бірнеше
программалармен жұмыс істеуге мүмкіндік берілген. Ол үшін әр қосымша
қолданушымен тілдесу мүмкіндігі болу керек. Бұл проблеманың шешілуі ОЖ
қосымшаны мәжбүрлеп тоқтады, оның ерікті тоқтауын күтпей.
5.4-сурет. Мультипрограммды эффектің кескінделуі
Барлық қосымшаларға процессордың уақытының кванты бөлінеді, осылайша
қолданушы олармен тілдесуге мүмкіндік алады.(5.5-сурет)
5.5-сурет. Уақытты бөлу жүйесі
Шынайы уақыт жүйесі техникалық объектілерді басқаруға арналған (спутник,
ракета, атомды электростанциялар, станоктар т.б.), технологиялық
процесстермен (гальвандық сызық, домендік процесстермен және т.б.), әр
түрлі қызмет көрсету (авиабилеттер резервілеу, сатып алуларды төлеу т.б.).
барлық жағдайларда процесстерге белгілі бір уақыт беріледі, сол уақытта
программа орындалу керек. Әйтпесе, қажет емес жағдацлар болуы мүмкін.
ОЖ нәтижелігінің критериясы программаны қосу мен нәтижесін күтудегі алдын-
ала берілген уақыт интервалдарына төзу керек. Бұл уақыт жүйенің реакция
уақыты деп аталады, ал қасиеті – реактивтілік деп аталды. Уақытқа қойылатын
талап процессор мен объектке байланысты. Шынайы уақыт жүйесінде
мультипрограммды қоспа арнайы алдын ала жасалған программалардың жиынтығы.
Шынайы уақыт жүйесінде есептеу күшіне артық қуат мөлшері сақталып тұрады,
келеңсіз оқиға болып қалған жағдайға, сонымен қоса жүйенің қолайлығына
алдын ала шаралар қолданылады.
Мультипрограммды жұмыстың формасы қызықты формасы мультипроцессорлық
өңдеумен байланысты. Мультипроцессорлық өңдеу – бірнеше процессоры бар
жүйеде ессептеу тезникасын шығару, бұл кезде әр процессте әр түрлі
тапсырмалар(ағымдар, процесстер) бір уақытта орындала береді.
Мультипроцессорлеу концепциясы жаңалық емес, ол 70-і жылдардан бері
белгілі, бірақ кейінгі оң жылдықта ғана қолданысқа ие болды, көппроцессорлы
ДКдің шығуымен.
Процесстер мен ағымдарды басқару
Мультипрограммды ОЖ ішкі жүйесі, компьютердің функционалдығына әсер ететін,
ол процесстер мен ағымдарды басқару ішкі жүйесі. Ішкі жүйенің функциялары:
• Процесстер мен ағымдарды жасау;
• Процесстер мен ағымдарды жеткілікті ресурстармен қамтамасыз ету;
• Процесстердің изоляциясы;
• Процесстер мен ағымдардың орындалуын жоспарлау;
• Ағымдарды диспетчерлеу;
• Процессор арасындағы байланыс;
• Процессор мен ағымдардың синхронизациясы;
• Процесстер мен ағымдарды аяқтау мен жою.
Процесстердің пайда болуына бес оқиға әсер етеді:
1. ОЖнің инициализациясы;
2. Жұмыс істеп тұрған процесстердің жаңа процессор істеуге сұраныс
жасауы;
3. Қолданушының процесс жасауға сұраныс жасауы;
4. Пакетті тапсырманы инициалдау;
5. ОЖмен процесс жасау.
Негізінен ОЖнің бапталуы кезінде бірнеше процесстер жасалады, кейбіреулері
қалғандарына қарағанда басым болады, олар қолданушымен тілдесу жасап
отырады. Қалған процесстер фондық, олар арнайы қолданушылармен байланысты
емес, бірақ ерекше функцияларды атқарады – мысалға, электронды поштамен
байланысты, Web-беттермен, баспаға шығарумен, желі арқылы файлдарды жіберу
және т.б. фондық процесстер демондар деп аталады.
Жаңа процесс өтіп жатқан процесстің сұранысымен пайда болуы мүмкін.
Интерактивті жүйеде қолданушы программаны пернетақтамен немесе екі рет
шерту арқылы қоса алады. Екі жағдайдада жаңа процесс пайда болады, соның
ішінде программа қосылады. Пакетті өңдеу жүйесі мен мэйнфреймдарда
қолданушылар тапсырманы жібереді, ал ОЖ оларды кезекке қояды, сосын
белшһгілі бір ресурс босағанна кейін қосады.
Техникалық көз қарастан жаңа процесстер бірдей құрылады: болып жатқан
процесс жаңа процесстің пайда болуына сұраныс жасайды. Процесстер мен
ағымдардың ішкі жүйесі процессорлерде жеткілікті ресурспен қамтамасыз етіп
отырады. ОЖ жадыда арнайы хабарламалық структуралары бар, сонда ол қандай
ресурс қай процессте тұрғаның жазып отырады. Ол программаға ресурсты жеке
өзіңе пайдалануға немесе басқа программамен бірге пайдалануға беруі мүмкін.
Кейбір процесстерге ресурс бірден пайда болған кезде берілуі мүмкін немесе
процесс кезінде сұраныс арқылы берілуі мүмкін. Ресурс процесске оның барлық
өміріне берілуі мүмкін немесе белгілі бір уақытқа ғана.
Процесстер бір-біріне кедергі болмас үшін немесе бірге өздігінен араласып
кетпес үшін ОЖнің басты мақсаты оларды бір-бірінен оқшаулау қажет. Ол үшін
ОЖ әр процессті бөлек виртуалды адресспен қамтамасыз етеді, сондықтан
процесс басқа процесстің командаларына рұқсат ала алмайды.
ОЖде процесстер мен ағымдар барлық ресурстарды пайдалануға берілген өтініш
ретінде қарастырылады. Бұл арнайы ресурс ОЖнің арасында басқа жұмыс
бірліктерімен бөлінеді. Бір ағымнан екінші ағымға өту жоспарлау мен
диспетчерлеу арқасында жүзеге асады.
Жоспарлау дегеніміз орындалып жатқан процесстің қай уақытта тоқтайтының,
кезекте тұрған процесстің қай уақытта орындалатының анықтау.
Диспетчерлеу жоспарлаудың шешімін іске асыру, яғни процессті бір ағыннан
екінші ағымға аудару. Дспетчерлеу үш этапта өтеді:
• Өтіп жатқан ағымның мәнмәтінің сақтау;
• Жоспарлау нәтижесіндегі, ағымның мәнмәтінің баптау;
• Жаңа ағымды баптау.
Жүйеде бір бірінен тәуелсіз программалар жұмыс істеп жатқан кезде, қосымша
проблемалар пайда болады. Ағымдар синхронды пайда болып, орындалатына
қарамастан, оларда деректерді алмастыру кезінде ақаулар пайда болады. Бір
бірімен қатынау үшін процесстер мен ағымдар мүмкіндіктердің кең көлемін
пайдалана алады: каналдар(Unix), пошта жәшіктерін(Windows), алып тастаған
процедураның шақыруы, сокеттер.
Ағындардың синхронизациясы процесстермен және ағындардың басқарудың шағын
жүйесiнiң ең маңызды функцияларының бiрi болып табылады. Қазiргi басқару
жүйелерi синхронизацияның тетiктерiнiң жиыны, семафорларды қоса iлiгедi,
мьютексы, кризистiк облыстар және оқиға. Мына барлық тетiктер ағындармен
жұмыс iстейдi, процесстермен емес. Сондықтан ағым семафорда тоқтатылған
кезде, басқа процесстер жұмыстарын жалғастыра береді.
Әрқашан процесс тоқтаған кезде, бұл кейбір жағдайларға байланысты болады:
кәдімгі шығу, қатемен шығу, түзелмеген қатемен шығу, басқа процесспен
жойылуы. Процесстерді басқаруды ішкі жүйесі процесс жұмыс істеген барлық
файлдарды жауып тастайды, оперативті жадыны босатады.
Атап айтқандай, мультипрограммдауды қолдау үшін ОЖ жұмыс пен
процессорлардың бөлінетін ресурстарын өзіңе арнайы жұмыс бірліктерін
анықтап қою керек. Осы кезде сұрақтар пайда болады: бұл жұмыс бірліктерінің
айырмашылағы неде, бұлардан мультипрограммдау қандай әсер алады, ОЖ қандай
жұмыс бірліктерін пайдалану керек?
Есептеу жүйесінің жұмысы белгілі бір программаның орындалуында. Сондықтан
да, процесспен де ағыммен де арнайы программдық код пайдаланады, ол
орындалатын модуль ретінде жасалады. Қарапайым күйінде процесс бір ағымнан
тұрады, кейбір ОЖ әлі де осындай күй сақталған. Бұндай ОЖ мультипрограммдау
процесстер деңгейінде өтеді.
Негізінен, мультипрограммдау ағымдар деңгейінде орындалғаны тиімді. Көп
ағымдық өңдеудің ең үлкен тиімділігі, мультипроцессорлық жүйеде асырылады.
Процесстер мен ағымдарды жасау. Процесстер мен ағымдардың модельдері
Процесс жасау – бұл біріншіден, процесстің суреттемесін жасау: бірнеше
ақпаратты құрылыс, процесстер туралы барлық мәліметтер, ОЖ басқару үшін
керек. Бұндай мәліметтерге кіреді: процессор идентификаторы, процесс
артықшылығы т.б.
Мұндай процессор сипаттамалары:
• Есеп басқарудың блогы (TCB – Task Control Block) в OS360;
• Процессордың басқару блогы (PCB – Process Control Block) в OS2;
• UNIX процессорының дескрипторы;
• Объект-процесс (object-process) Windows NT20002003.
Процесс жасау кодтар мен мәліметтерді процесстен операциондық жадыға
баптауды қажет етеді. Ол үшін ол программаны дисктан тауып қажет,
оперативті жадыны бөліп, жаңа орындалайын деп жатқан программаға жады бөлу.
Сонымен қоса программаның жұмысы кезінде стек қолданылады.
Программа, мәліметтер, стектер және процесстер атрибуты кіретін жиынтық,
процессор образы деп аталады.
Образдың бір үлгідегі процесстері төменде көрсетілген.
Информация Описание
Данные пользователя Изменяемая часть пользовательского адресного
пространства (данные программы, пользовательский
стек, модифицируемый код)
Пользовательская Программа, которую необходимо выполнить
программа
Системный стек Один или несколько системных стеков для хранения
параметров и адресов вызова процедур и системных
служб
Управляющий блок Данные, необходимые операционной системе для
процесса управления процессом
Процесс образының орны жадының басқару схемасына байланысты. Жаңа виртуалды
жадылары бар ОЖлер блоктардың жиынтығынан тұрады.Бұндай жадының орналасуы
негізгі жадыда образдың бір бөлігін алуға мүмкіндік береді(активная часть),
сол кезде екінші жадыда толық образ сақталады. Негізгі жадыға образдың
жартысы бапталғанда, ол онда тек көшіріледі(копируется).
Процесстерді басқарған кезде ОЖ екі типті информациялық структураларды
қолдайды: процесс басқарудың блогі және процесс мәнмәтіні. Процессор
дескрипторлары процесстер кестесіне бірігеді, ол ядро аймағында орналасады.
Процесстер кестесінің ақпарат негізінде, ОЖ жоспарлау және процесстер
синхронизациясын жасайды.
Процесстің дескрипторында мынадай процесс туралы ақпарат болады, ол ядроға
барлық өміріне қажет ақпарат. Ол ақпаратты үш категорияға бөлуге болады:
• Процесстің идентификациясының ақпараты;
• Процессордың күйі туралы ақпарат;
• Процессорды басқаруға қолданылатын ақпарат.
Әрбiр процесске процесстердiң алғашқы кестесiнде индекс бола алатын санмен
көрсетiлген идентификатор тағайындайды. Кез келген жағдайда ОЖге процессор
идентификаторын процесстің кестесіне байланысты табатын кейбір суреттеме
болу керек. Идентификаторлар жаңа процесстiң жасауында аналық және iшкi
процесстердi көрсетедi. Процесстердiң иерархия қолдамайтын басқару
жүйелерiндегi, мысалы, Windows 2000, барлық жасалған процесстерде тең
құқықтыбiрақ (аналық ) шамданған процесс қайтарылатын 18-шi параметрлердiң
бiрi, жаңа процесстiң дескрипторы болады. Бұдан басқа, процесске
қолданушының идентификаторы бере алады, қай қолданушылардан осы тапсырмаға
жауап беретiн көрсетедi.
Процесстiң мәлiметі келесi негiзгi мәлiметтер қосады:
• процесстiң күйi, орындауға дайындығын анықтайтын процесс;
• басымдылық туралы мәлiметтер;
• оқиғалар туралы мәлiмет - процесстiң орындауын жалғастыруға мүмкiндiк
беретiн оқиғаның теңестiруi;
• жедел жадтағы процесстiң түрiнiң орналастырылуы және дискте анықталуға
мүмкiндiк беретiн нұсқағыштар;
• басқа процесстерге нұсқағыштар(орындауға болатын кезектерде жеке
алғанда);
• байрақтар, ескертпе дабыл және екi тәуелсiз процесстердiң арасындағы
ақпарат алмасу қатысы бар қатынастар;
• командалардың нақтылы түрлерi, жадтың нақтылы облысына қол жеткiзу
құқығы немесе орындау мүмкiндiк анықтайтын артықшылықтар туралы
мәлiметтер, жүйелiк утилиталар және қызметтi қолдану;
• нұсқағыштар(мысалы, ашық файлдардың тiзiмi процесс басқаратын
қорларға);
• қорлардың қолданудың тарихы және процессор бойынша хабар;
• мәлiмет жоспарлауға қатысты. Бұл мәлiметтер жоспарлауды алгоритмнан
көпшiлiгiнде тәуелдi болады. Мысалы, мұндай тосу уақыты немесе уақыт,
соңғы iске қосуда қай процесс iшiнде орындалатын, iстелiнген енгiзу-
шығару операцияларының саны тағы басқалар мәлiметтер мұнда жатады.
Процесстiң контекстi жүйеге үзiлген орыннан процесстiң орындауын бөгеп
қайта басталуға мүмкiндiк беретiн мәлiметтi болады.
Процесстiң контекстiнде келесi негiзгi мәлiметтер болады:
• iшiндегiсi процессордың регистрлерi, қолданушыға қолайлы;
• iшiндегiсi командалар есептеуiштерi;
• бағдарлаушы регистрлер және күйдiң регистрлерiнiң күйi;
• соңғы арифметикалық немесе логикалық операцияны орындауды нәтиже
шағылатын шарт кодтары;
• стек төбесiнiң нұсқағыштары, саудырлақ саудырлақ параметрлер және
процедуралар және жүйелiк қызметтердiң шақыру адресi.
Бұл мәлiметтiң бөлiгі (Program Status Word - PSW), арнайы процессор
регистрінде белгіленеді.
Процесстiң ең оңай үлгiсi процесстiң уақыты кез келген уақытта немесе
орындалып, немесе орындалмайтын сүйене құрастыруға болады, яғни екі күйі
бар. Егер барлық процесстер әрдайым орындауға дайын бол болса, онда бұл
схема бойынша кезек тиiмдi әбден жұмыс iстей алар ма едi. Мұндай кезек
өңдеудi қағида бойынша түсу ретiнде жұмыс iстейдi, айналма әдiстiң
процесстерi болғанда бар процессорлары қызмет көрсетедi (Round-robin).
Әрбiр процесске уақыттың нақтылы аралығы берiледi, ол өтуi арналған кезекке
қайтарылады.
Iске асыру сол сияқты такомалардың өте қарапайым мысалында дегенмен бiрдей
болып табылмайды: мысалы, процесстердiң бiр бөлiгi орындауға дайын, ал бір
бөлiгі енгiзу-шығаруды күтумен тосқауыл қойған. Диспетчер сондықтан бiр
кезек болған жағдайда кезектен бiрiншi процессiнiң орындауы үшiн жай ғана
таңдай алмайды. Бұның алдында ол барлық тiзiмді кезекте бәрiнен алыс тұрған
бiтпеген процесстi iздеп тауып қарап шығуы керек. Табиғи екi түрдегi барлық
орындалмайтын процесстердi бөлуге бұдан көрiнедi: орындауға дайын және
тосқауыл қойылғаны. 5.6-суретте көрсетілгендей тағы екі күйді қосқан
тиімді.
5.6-сурет. Процессор күйі
Мұндай модельдің артықшылықтары мен кемшіліктері қандай? Процессор енгiзу-
шығару операцияларының орындауы тез әлдеқайда жұмыс iстейтiндiгi, онда
процесстер жақында барлық жадта бар енгiзу-шығаруды күту күйлерiнде толып
қалады. Сайып келгенде, процессор көп есептi жүйеде тiптi тоқтап тұра
алады. Не iстейдi? Онда процесстер көбiрек орналасу үшiн негiзгi жадтың
сыйымдылығы үлкейтуге болады.
Бірақ, мұндай күйдің екі кемшілігі бар: біріншіден, жадының көлемі
үлкейеді, екіншіден жадының үлкеюі процессордың үлкеюіне әкеліп соғады.
Мәселенің басқа шешімі – свопинг, процесстердің жартысын оперативті жадыдан
дискке көшіру.
Ағымдарды жасаған кезде ОЖ процесстерді жасаған сияқты арнайы ақпаратты
құрылым – ағым жазбасын жасайды. Жазбаны екіге бөлуге болады: басқару блок
атрибуттары және ағым контексті.
Ағым пакеттерін қолданудың екі тәсілі бар:
• қолданушының кеңiстiгiнде немесе қолданушы деңгейде (User-level
threads - ULT);
• ядрода немесе ядро бойында (kernel-level threads - KLT).
Бұл әдiстер, олардың артықшылығы және кемшiлiктердi қарап шығамыз.
Ағындардың ULT толық тұратын бағдарламасында, барлық әсер ағынмен басқару
бойынша өзiнiң қосымшаларымен орындалады. Ағындар туралы ядро кәдiмгi бiр
тасқынды процесстермен ештеңе бiлмей басқарады 5.7-сурет
5.7-сурет қолданушының кеңістіктегі ағымдары
Бұл жолдың анық артықшылығы өте қолданушы ағындардың пакетi деңгейде ОЖға
тiптi жүзеге асыруға болады ағын қолдамайтын болған тұрады.
Егер ағындармен басқару қолданушының кеңiстiгiнде болса, әрбiр процесске
ағындардың меншiктi кестесi қажеттi. Ол сол тек қана мұндай командалар
есептеуiш ағындардың мiнездемелерi зерттеп отырған айырмашылығы
процесстердiң кестесiне ұқсас, регистр күй тағы сол сияқтылар, стек
төбесiнiң нұсқағыш. Ағын қашан дайындықтың күйге көшедi немесе бiтеу,
қайтадан iске қосу үшiн қажеттi барлық мәлiмет қажеттi ағындардың
кестесiнде сақталады.
Басында өз жұмысының қосымшасын үндемеу бойыншаға бiр ағыннан және оның
орындауы тұрады бұл ағынның орындауын сияқты бастайды. Бұндай қосымша бір
процессорда орналасады, ол ядромен басқарылады. ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz