Процестер диспетчерлеуін орындайтын жоспарлаушылар

Автор работы: Пользователь скрыл имя, 12 Марта 2012 в 17:59, реферат

Краткое описание

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

Содержание работы

КІРІСПЕ 3
НЕГІЗГІ БӨЛІМ 4
Процесс түсінігі 4
Процестің қалып-күйі 4
Процестерді басқару жүйесі 6
Бір процестен басқа процеске көшу 7
Процестерді диспетчерлеуімен байланысты кезектер 7
Процестер диспетчерлеуін орындайтын жоспарлаушылар 9
ҚОРЫТЫНДЫ 12
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 13

Содержимое работы - 1 файл

Қысқамерзімді.docx

— 70.68 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МАЗМҰНЫ

КІРІСПЕ 3

НЕГІЗГІ БӨЛІМ 4

Процесс түсінігі 4

Процестің қалып-күйі 4

Процестерді басқару жүйесі 6

Бір процестен басқа процеске көшу 7

Процестерді диспетчерлеуімен байланысты кезектер 7

Процестер диспетчерлеуін орындайтын жоспарлаушылар 9

ҚОРЫТЫНДЫ 12

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 13

 

 

 

КІРІСПЕ

КІРІСПЕ

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

  • Процесс түсінігі
  • Процестің қалып-күйі
  • Процестерді басқару жүйесі
  • Процестерді диспетчерлеу
  • Процестерге жүргізілетін операциялар
  • Процестерді диспетчерлеуімен байланысты кезектер
  • Процестер диспетчерлеуін орындайтын жоспарлаушылар

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

 

 

НЕГІЗГІ БӨЛІМ

 

 

 

 

 

 

 

 

 

 

 

НЕГІЗГІ БӨЛІМ

Процесс түсінігі

Процесс (process) – бұл қолданушы программасы, оны қолданушы программа орындалу кезінде пайдаланады. Операциялық жүйе өз жұмысының кезінде көптеген программалар класын орындайды, олар: пакеттік тапсырмалар; уақыт бөлінісі режиміндегі қолданушы программасы; жүйелік программалар мен процестер. Қолданушы программаларын сипаттайтын бірнеше күрделі терминдер бар: процесс (process), жұмыс (job), тапсырма (task).

Процестің негізгі ерекшелігі оның есептеу бірлігінің тізбектеліп орындалуы яғни әрбір процестің тізбекті басқару ағыны бар. Басқару ағыны (control flow) – процесс орындайтын командалар тізбегі. Көптеген күрделі есептер процестердің параллелді орындалу негізінде шешіледі, бірақ ол жайында мәліметтер төменде беріледі.

Процесті құру және онымен операциялық жүйені басқару келесідей  маңызды ақпараттардан тұрады:

  • Командалар санағышы (program counter - PC) – ағымдағы процесс орындап жатқан команда адресі, ол әдетте құралдың арнайы жүйелі регистірінде сақталады.
  • Стек (stack) – процесс құру кезіндегі операциялық жүйемен ерекшеленетін негізгі жадының резиденттік ауданы, ол жерде процестің процедураларының жергілікті (локальдік) мәліметтері, параметрлері, аргументтері, бір бірімен байланыстыратын ақпарат, ұйымдастыруға қажетті есептеулер бар. Процедураны жүзеге асырған кезде стекте белсендірілу жазбасы (activation record) іске қосылады оны сонымен қоса стектік фрейм (stack frame) және ағымдағы жүзеге асырылған процедураның жергілікті мәліметтерін сақтау үшін қолданылатын жергілікті мәліметтер ауданы (local data area) деп те атайды.  Оның орындалуы аяқталған соң белсендірілу жазбасы стектен өшіріледі.

Мәліметтер секциясы (data section) – негізгі жадының статикалық (әрдайым ерекшеленген, өлшемі өзгеріссіз) ауданы, ол жерде оның глобалдік айнымалылары, жиымдары, құрылымдары сақталады.

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

Процестің қалып-күйі

Орындалу кезінде процесс  өзінің қалып күйін келесідей  өзгерте алады:

Жаңа (new): Процесс операциялық жүйемен құрылады, бірақ орындалып жатқан жоқ.

Орындалып жатқан (running): Процессорда немесе операциялық жүйемен басқарылатын процессорларда командалар орындалады.

Күтіп тұрған (waiting): Процесс қандай да бір іс-әрекеттің орындалуын күтеді, мысалы енгізу шығаруды аяқтау. Күту режимінде процесс процессордан орын алмайды.

Орындалуға дайын  тұрған (ready): Процесс процессордан қор алуды күтеді, оны орындау үшін. Орындалуға дайын күйге процесс әдетте оны құрған кезде немесе енгізу-шығару аяқталғаннан кейін түседі.

Аяқталған (terminated): Процестің орындалуы аяқталды.

Процестің қалып-күйі келесі диаграммада көрсетілген.

 

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

Сұлбадан көріп отырғанымыздай жүйеде құрылған  жаңа процесс іске қосылу (admitted) сатысынан өтеді, ол операциялық жүйенің көмегімен жүйенің барлық процестеріне кезекке тұрады, содан кейін операциялық жүйе оны орындалуға дайын күйге ауыстырады. Орындалуға дайын процестердің кезегі әдетте процестерді басқарудағы көп кездесетін құрылымдық жүйелердің бірі болып табылады. Орындалуға дайын күйден орындалу күйіне процесс операциялық жүйенің жоспарлаушысымен іске қосылады. Орындалу барысында процесс үзілуі мүмкін (таймер бойынша, қате болу нәтижесінде және т.б.) содан кейін операциялық жүйе оны қарастырған соң қайта орындалуға дайын күйге көшеді. Егер процесте синхронды енгізу-шығару орындалса немесе процесс қандай да бір әрекеттің орындалуын күтсе (мысалы, анықталған уақыт моментін) процесс күту күйіне көшеді. Енгізу-шығару аяқталған соң немесе күтілген әрекет жүзеге асқан соң процесс процессорлық квант уақытын сол арада алмайды, керісінше орындалуға дайын күйге өтеді. Процесс программа аяқталғаннан кейін аяқталған күйге көшеді, мысалы жүйелік шақырылымнан соң exit(c), бұл жерде с-аяқталу коды. Егер с=0 процесс аяқталды деп саналады.

 

 

Процестерді басқару жүйесі

Процестерді басқару жүйесі (Process Control Block – PCB) – операциялық жүйе қолданатын процесті басқаратын мәліметтердің құрылымдық жүйесі, ол әрбір процеспен ассоциацияланатын келесідей ақпараттардан тұрады:

  • Процестің қалып-күйі;
  • Команда санағышының ағымдағы мәні (процестің орындалу кезінде қолданылады);
  • Процессор регистрлерінің мәні (процесті жаңалау кезінде қолданылады);
  • Процессор диспетчерленуі үшін қажет ақпарат (процесс стегіне нұсқағыш, процесс номері);
  • Жадыны басқаруға арналған ақпарат (процесс жадысының шекті аймағы);
  • Статикалық ақпарат ( процестің орындалуының жалпы уақыты, бұдан қалған уақыт енгізу-шығарудың қосынды уақытына тең);
  • Енгізу-шығару күйі жайында ақпарат (ашық файлдар тізімі).

Процестерді басқару жүйесі келесі суретте бейнеленген

 

Cурет 2. Процестерді  басқару жүйесі.

Бір процестен басқа процеске көшу

Операциялық жүйе процестерді  басқару кезінде олардың бірінен  кейін бірінің орындалуын қамтамасыз етеді. Оны операциялық жүйенің жоспарлаушысы жүзеге асырады. Бір процестен басқа процеске көшу келесі сұлбада бейнеленген



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сурет 3. Бір процестен басқа процеске көшу

 

Сұлбада P0 және P1 процестері көрсетілген. Үзілуі немесе жүйелік шақыру кезінде P0 процесінде операциялық жүйе күйін оның РСВ-да сақтайды және процессорды P1 процесіне ауыстырады. Қолданылу мен бос тұру кезеңдері көрсетілген.

Процестерді диспетчерлеуімен байланысты кезектер

Операциялық жүйенің процестерін  басқару келесідей болады:

  • Тапсырмалар кезегі (job queue) – жүйедегі көптеген процестерден тұрады. Оған барлық жаңа процестер келіп түседі және онда жүйеде болу уақыты кезінде болады.
  • Дайын процестер кезегі (ready queue) – көбінде қолданылатын және өзгертілетін кезек, ол негізгі жадыда орналасқан немесе орындалуға дайын көптеген процестерден тұрады. Оған жүйе жүзеге асыруға жіберген жене енгізу-шығару орындалған соң күтілетін әрекет болғаннан кейін әрбір жаңа процесс түседі.
  • Енгізу-шығаруды күтетін процестер кезегі (device queues) – әрбір құрал үшін жеке кезек ұйымдастырылады.

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

 





 

 

 

 

 

 

 

 

 

 

 

 

Сурет 4. Дайын  процестер кезегі мен енгізу-шығару құрылғыларына кезек.

 

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

Процестердің диспетчерленуі және кезектермен жұмыс келесі сұлбада көрсетілген.

 


 


 

 

 

 

 

 

 

 

 

 

Сурет 5. Процестің диспетчерленуінің графикалық түрі.

 

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

Процестер диспетчерлеуін орындайтын жоспарлаушылар

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

Ұзақмерзімді  жоспарлаушы

Ұзақмерзімді жоспарлаушы  орындалуға дайын әрекеттерді немесе міндеттерді процестер кезегіне қосылуын қадағалайды, яғни процесті жүзеге асыру орындалар алдында ұзақмерзімді жоспарлаушы жаңа процесті дайын процестер кезегіне  қосады немесе оның орындалуын тоқтата тұрады. Ұзақмерзімді жоспарлаушы қандай процестер бір уақытта орындалатынын шешеді, яғни ол процестер арасындағы параллелділік пен үйлесілімдікті қадағалайды. Әдетте қарапайым компьютерлерде ұзақмерзімді жоспарлаушылар қолданылмайды, онда жаңа процестер орындалуға автоматты түрде жіберіледі. Бірақ бұл жоспарлаушы үлкен жүйелерде қолдануда өте маңызды, себебі көлемді жүктеме кезінде параллелді орындалатын процестерді қадағалау қажет.

Ортамерзімді жоспарлаушы

Виртуалды жадысы бар барлық жүйелерде ортамерзімді жоспарлаушы  процестерді уақытша негізгі  жадыдан жанама жадыға тасымалдайды, мысалы қатқыл дискіге. Ортамерзімді жоспарлаушы  процесті тасымалдауды келесі шарттар  орындалса ғана орындай алады:

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

Процесс негізгі жадыға көшеді, егер онда оған жеткілікті орын болса  немесе процесс күтіп тұрған күйден шықса. Бұл жағдайда жоспарлаушы негізгі жадыны босату үшін басқа процесті шығарып тастайды. Қазіргі таңдағы қосалқы жадыда виртуалды адрестік кеңістікті бейнелеуді жүзеге асыратын көптеген жүйелерде ортамерзімді жоспарлаушы жаңа процестерді негізгі жадыдан шығарылған процесс жүзінде қарастыра отырып ұзақмерзімді жоспарлаушы ретінде қолданыла алады. Соның нәтижесінде жүйе негізгі жадыға программалық кодты жүктейді егер оған ол орындау үшін керек болса, бұл сұраныс бойынша жүктеу немесе “жалқау жүктеу” деп аталады.

Қысқамерзімді жоспарлаушы

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

 

 

 

 

 

 





 

 

 

 

 

 

Сурет 6. Жүйеге шығару және енгізу жоспарлаушысын енгізу.

 

 

 

 

 

 

 

 

 

 

 

 

ҚОРЫТЫНДЫ

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

Операциялық жүйедегі процестерді  басқару үшін келесідей кезектер қолданылады: тапсырмалар кезегі, орындалуға дайын процестер кезегі, енгізу-шығаруды күтіп тұрған процестер кезегі.

Информация о работе Процестер диспетчерлеуін орындайтын жоспарлаушылар