Главная страница
Контакты

    Басты бет


Операциялық жүйелер

жүктеу 1.56 Mb.



жүктеу 1.56 Mb.
бет4/8
Дата10.03.2017
өлшемі1.56 Mb.

Операциялық жүйелер


1   2   3   4   5   6   7   8

ОЖ аппаратты тәуелдiлiк және тасымалданғыштық. Көп басқару жүйелерi әр түрлi аппаратты платформалардың өз құрамында маңызды өзгерiстерсiзiнде ойдағыдай жұмыс iстейдi. Көпшiлiгiнделер бұл сол ұғындырылады, жанында бөлшектердегiнi айырмашылық, компьютерлердiң көпшiлiгiнiң ОЖ-нiң аппаратты қолдауды құралы неткенмен - ең алдымен бұл құралдар көп бiр үлгiдегi сызықтар, атап айтқандаларды бүгiн тауып алды басқару жүйесiнiң компоненттерiнiң жұмыстарына ықпал етедi. ОЖ-ге нәтижелер ядроның машина - тәуелдi компоненттерiнiң тығыз жiгiн ерекшелеуге және өңге жасауға жетк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. ерекше құқықты режимнiң қолдауының құралдары;

2.мекенжайларды хабар жүргiзудiң құралдары;

3. процесстердiң ауыстырып қосуының құралдары;

4. үзулердi жүйе;

5. жүйелiк таймер;

6. жадтың облыстарының қорғау құралдары.

Ерекше құқықты режимнiң қолдауының құралдары процессордың машинаның күйi немесе процессор қорытып айтқанда жиi деп аталатын жүйелiк регистрiнде әдетте негiзделген. Бұл регистр кейбiр белгiлер, процессордың анықтайтын жұмыс тәртiптерi, соның iшiнде және артықшылықтардың ағымдағы тәртiбiнiң белгiсiнде болады. Артықшылықтардың тәртiбiнiң ауысымы үзу немесе ерекше құқықты команданың орындауын нәтижеденiң машинаның күйдiң сөзiнiң өзгерiсiнiң арқасында орындалады. Мысалы, жеңiлдiкпен пайдаланушылықтың градацияларының саны процессорлардың әртүрлi түрлерiнде, (ядро ) немесе төрт ядро - орындау платформада VAX немесе 0-1-2-3 процессорларда Intel x86/Pentium ) екi деңгей әртүрлi өте жиi қолданатын бола алады.

Ерекше құқықты режимнiң қолдауының құралдарының мiндеттерiнде процессордың нұсқауларын белсендi программаны орындауды рұқсат етiлушiлiктiң тексеруiн орындау жеңiлдiкпен пайдаланушылықтың ағымдағы деңгейiнде кiредi.

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

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

Нұсқағыш (Указатель; indicator, pointer) - 1) қ. Сілтеме. Егер мәліметгер құрылымында кейбір А элементінің өрісінде В элементінің адресі бар болса, онда А-да В-ға нұсқағыш бар немесе А В-ға нұсқайды деп айтады; 2) мәндері адрестер болып келетін программадағы айнымалы.

Байрақтар - Ресейдің еуропалық бөлігінің орманды дала және далалы аудандарындағы (Орта Орыс және Еділ маңы қыраттарында, Украинаның Донбасс және тағы да басқалары төбелі жер бедері тараған аумақтарда) өсімдіктер өсетін құрғақ жыралар мен сайлар.

Контекст тоқтаттырылған процесстерiнiң сақтаулары үшiн процессордың нұсқағыштарымен сүйейтiн жедел жадтың облыстарын әдетте қолданылады

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

Компьютерге үзулерiн жүйе сыртқы оқиғаға сезiнiп, процесстердiң орындауы және жұмысты енгiзу құрылымы синхронизациялануға мүмкiндiк бередi - қорытынды, жылдам қайта - бiр программадан басқаға жүру. Үзулердi тетiк кейбiр болжамсыз оқиға немесе процессордың жұмысының циклiмен синхронизацияланбаған оқиғаның есептеуiш жүйесiнде пайда болу туралы процессорды хабарландыру үшiн сол үшiнмен керек. Мысалы, мұндай оқиғалардың мысалдарымен дисктiң контроллерiн мәлiметтердiң блогiнiң жазуы сыртқы құрылымды енгiзу-шығару операциясының аяқтауы қызмет көрсете алады ), регистрдiң асыра толтыруын арифметикалық операцияны дұрыс емес аяқтау ), астрономиялық уақыттың интервалының өтуi.

Арифметика (грек. arіthmētіkē, arіthmos – сан) - сандар (бүтін және бөлшек) және оларға қолданылатын амалдар туралы ғылым (грекше arіthmetіke, arіthmos – сан).

Астрономия (көне грекше: ἄστρον «жұлдыз» + νόμος (номос), «заң» ) - ғарыштық денелердің құрылысы, дамуы, олар құрайтын ғарыштық жүйелер және тұтас Ғалам туралы ғылым. Астрономия ғарыш кеңістігіндегі жекелеген денелерді немесе денелер жүйелерін, олардың құрылысын, пайда болуын және динамикасын, сондай-ақ, оларда болып жатқан құбылыстарды зерттейді.

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

Сигнал (лат. signum - белгі) - берілген хабарды тасымалдайтын(алып жүретін) физикалық процесс.

Үзулердi өңдеудi процедураға өткел жан-жақты зерттелетiн аппаратураның процессорларының үлгiлерiнiң көпшiлiгiнде мекенжай бойынша өткелмен ерекше құқықты режимге өткелдi орындауы керек бiр уақытта мүмкiндiк берген (немесе тiптi процесстiң жинағы контекстi ) машинаның күйдiң сөзiнiң алмастыруымен жарысайды. Үзiлген кодтың орындауына қайтаруда үзулердi өңдеудiң аяқтауларынан кейiн әдетте болады.

Үзулер кез келген басқару жүйесiнiң жұмысындағы ең маңызды рөлдердi оның қозғаушы күшi бола тұра ойнайды. Шындығында, БЖдың әсерлерiнiң көбiнесесi әр түрлi түрдiң үзулерiмен басталады. Мысалы, қосымшаларданғы жүйелiк шақырулары тiптi үзудi IBM-шi Intel немесе мэйнфреймдердегi SVCтың процессорларындағы intтiң нұсқауының ядроның тиiстi процедураларының орындауына өткел шамданған арнайы нұсқауға көмегiменнiң көп аппаратты платформаларына орындалады.

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

Генератор(Generator) - 1) кіріс тілі проблемалы-бағытталған тіл болып табылатын аударғыштың бір түрі; 2) машиналық командаларды генерациялауды орындайтын аударғыштың құрамдас бөлігі. Жазбалар генераторы (Генератор записей; rekord generator) - тестілеуге қажетті жазбаларды құрастыруға арналған машиналык программа.

(таймер ескертпе дабылды iстеп шығаратын такты генератормен шатыстырмауы керек бол, компьютердегi синхронизацияланған барлық операциялары, уақыт және календарлық датасының тәуелсiз есептеулерiн апаратын электрондық схемаға батареялылар жүйелiк сағаттармен .) Таймер есептеуiштiң нөлдiк мәндерi табыста басқару жүйесiнiң процедурасымен қаралудан өтетiн үзудi бастайды. Жүйелiк таймерденгi үзулерi жеке процесстер процессордың уақыттарын тұтынатын аңдуға арналған ең алдымен БЖдарды қолданылады. Мысалы, егер уақыт квантының ол ерекшеленген процессi мәлiметiн бiтсе, процесстердiң жоспарлауышының таймерiнен кезектi үзудi өңдеудiң жанында уақытты бөлулерд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. Үзілулердің негізгі типтерін белгілеңіз және әр типке мәселе көрсетіңіз.

  4. ОЖ яросының анықтамасы және негізгі фкнкциялары туралы айтып беріңіз.

  5. Linux ядросының структурасын анықтаңыз.

  6. Файлдық жүйенің міндеті неде?

Дәріс № 4

Тақырыбы:Процесстерді жобалау және диспетчеризациясын орындау.

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



  1. Жоспарлау сатылары. Жоспарлау мақсаттары.

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



  2. Жоспарлау кезінде ескерілетін факторлар. Приоритеттер.

  3. Жоспарлау алгоритмі. FIFO (first-in-first-out) принципі бойынша жоспарлау.

    Қағида немесе принцип (лат. principim – принцип; негіз, алғы бастама) - белгілі білім жүйесінің түп-негізі, алғы бастамасы, абстрактылы түрдегі ең қысқа жалпылама мазмұны. Ғылыми танымда идея, теория, әдіс сияқты таным түрлерімен өзара байланыста тұжырымдалады.



  4. Циклдік жоспарлау.

  5. Көпқабаттық кезектер.

Синхронизация мақсаты мен қажеттілігі

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

Көптеген ОЖ-де бұл құралдар процесс аралық қарым- қатынас –Inter process communications (IPC) , деп аталады, яғни «процесс» ұғымы «лек» ұғымымен түпкі тарихы мазмұндас екені анықталады.

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

Цикл (гр. kyklos - дөңгелек) термодинамикадағы цикл - дөңгелек процесті кейде осылай атайды; техникадағы цикл - периодты түрде қайталанып отыратын құбылыстар жүйесіндегі процестердің жиынтығы; затты белгіленген бір ретпен әсер етіп өзгерткенде алғашкы жағдайына қайта оралып мезгіл- мезгілімен қайталанып тұратын үрдістің жиынтығы.

Мазмұн (Оглавление; table of Contents) - 1) мәтіндік құжаттың құрылымдық элементі. Беттердің нөмірі көрсетілген тақырыптардың тізімінен тұрады; 2) объектілердің атауы мен адресінен тұратын кесте.

б байланысты болады.

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

Есептегіш, электр есептегіш - тұтынылған электр энергиясын есептеуге арналған өлшеуіш құрал. Тұрмыста жиілігі I 50 Гц, бір фазалы 220 В немесе 127 В айнымалы кернеуге арналған есептегіш пайдаланылады. Электр энергиясы киловатт-сағатпен өлшенеді.

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

Аппараттық қорларды бірлестіре пайдалану барысында да синхронизациялау қажет. Мысалы: ( белсенді лекке жүйелі портқа ену қажеттілігі туған кезде) күту режимінде тұрған монополиялық тәртіпке белгілі бір лек жұмыс жасап жатқанда, белсенді лекке жүйелі портқа ену қажеттілігі туған жағдайда, ЖС белсенді лекті уақытша тоқтатады және оны өзіне қажетті порт босағанға дейін активизациялайды. Есептеуіш жүйеде де синхронизациялау қажеттілігі жиі туындайды, мысалы; Ctrl C пернелерін басу реакциясы. Қорларды бөлу және босатуға байланысты секунд сайын жүздеген жағдайлар болып тұрады, осы кезде лектерді синхронизациялауға мүмкіндік бере алатын сенімді әрі өнімділігі жоғары ЖС құрамдары болуы керек.

Порт (француз тілінде port, латын тілінде portus - гавань, айлақ) - 1) су толқындарынан табиғи не жасанды тосқауылдармен қорғалған, кемелердің аялдауына, оларға әр түрлі қызмет көрсетуге, жолаушылар мен жүк тасымалын қамтамасыз етуге арналып салынған теңіз, өзен, көл не су бөгені жағалауының сумен шектескен бөлігі.

Секунд - (лат. secunda dіvіsіo - екінші бөліну) (бастапқыда градустың, одан кейін сағаттың) - 1) уақыттың жүйелік бірлігі; СИ жүйесіндегі өлшем бірлігі. Белгіленуі - С; 1 с - Cs атомының (өлшемдер мен салмақтар бойынша 13-Бас конференцияның резолюциясы бойынша, 1967) аса жұқа екі деңгейінің арасынан өткен сәуле шығаруының 9 192 631 770 периодына тең.

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

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

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

Процеспен әрекеттесу қажеттілігі туатын жағдайлар:



  • бір процестен екінші процеске ақпарат берілуі;

  • процестің ықпал етуін бақылау ( мысалы, олар бір қап үшін таласқан кезде);

  • процестік әрекеттердің келісілуі(мысалы, бір процесс мәліметтерді қойса, екіншісі оларды баспаға жібереді).

Бұл жағдайда келісімділік болмаса, екінші процесс мәлімет түспей тұрып, баспаға жіберуі мүмкін.

Екі жағдайда лектерге байланысты. Бірінші жағдайда лектерде мәселе туындамайды, себебі олар жалпы адрестік кеңістікте қолданады.

Бақылау - зерттеу не тексеру әдісі. Бақылау арнайы жоспар бойынша жүргізіледі. Жоспарда Бақылаудың мақсаты мен міндеттері, объектісі (сабақ, саяхат, лабораториядағы, шеберханадағы, оқу-тәжірибе учаскесіндегі оқушылардың жұмыстары), жүргізу әдісі мен жолдары дұрыс көрсетілуі тиіс.

Кеңістік - философия, математика және физика секілді салаларды пайдаланылатын күрделі ұғым. Күнделікті өмірде іс-қимыл алаңы, барлық нәрселерді қамтитын ортақ ыдыс, әлдебір жүйе жай-жапсары сезініп түсініледі.

Мәлімет алмасу бірнеше тәсілдермен жүзеге асырылады:



  • бөлінуші жад;

  • бір процесс жазатын, ал екіншісі оқу қызметін атқаратын псевдофайл каналы.

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

  • Пошталық жәшіктер (Windows-та ғана), біржаққа бағытталған, кең хабарлама жіберу мүмкіндіктері:

өшірілген процедураны қалпына келтіру, немесе А процесі В процесінде процедураны шақыру мүмкіншілігі және мәліметтерді қайтадан алу.

Хабарлама (Донесение) - жоғары тұрған командирге (бастыққа, штабқа) белгілі бір мәліметтерді хабарлау мақсатына арналған жауынгерлік немесе қызметтік есеп-ақпарат құжаты. Соғыс жағдайында төмендегідей хабарламалар даярланады: жауынгерлік, барлау, байланыс бойынша, инженерлік және химиялық қамтамасыз ету, тыл бойынша және басқа.

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


Синхронизациялау қажеттілігі. Синхронизациялау сұрақтарына немқұрайлылық комплекті жүйеде тапсырманы дұрыс шешуге немесе жүйенің күйреуіне әкеліп соқтырады. Мысалы: (4.1.1.суреттегідей) кейбір кәсіпорындарда тұтынушылардың мәліметтік қорын енгізу тапсырмасы.

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

Жазба, математикада - қисық сызықтың жазбасы - ұзындығы берілген қисық сызықтың ұзындығына тең болатын түзу кесіндісі. Мұндай кесіндіні іздеу қисық сызықты түзулеу деп аталады. Қисық сызықтың жазбасы деп кейде оның эвольвентасы түсініледі.

Алгоритм, алгорифм (ағылшынша: algorіthm, algorіsmus - Әл-Хорезмидің атынан шыққан) - бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.)

Бұл екі лекте деректер базасының жалпы файлына бірлесе әрекет етеді.



  1. Деректер базаснда тұтынушы туралы тапсырылған теңестірілуімен буферге жазуды есептеу.

  2. Тапсырыс (А легі үшін) немесе Төлем (В легі үшін) жолдарын жаңа мағына беру.

  3. Деректер базасына модификацияланған жазба енгізу.

Мәліметтерді бөлуге ену барысы. А легі үшін А12 және А3, В легі үшін В12 және В3 қадамдарына сәйкес лектерін белгілейміз, N тұтынушы туралы тапсырыс жазбасын А легі қажет болған жағдайда жаңарта алу үшін. Бұл үшін ол өзі буферінде (А1 қадам) жазба енгізу, Тапсырыс (А2 қадамы) мазмұнын модификациялайды, ал деректер базасында (А3 қадамы) жазба енгізуге үлгермейді, себебі оның орындалуы тоқтатылады, мысалы уақыт квантының аяқталуы. В легінде N тұтынушысына сәйкес мәлімет енгізу қажеттілігі туды деп есептейік. В легінің кезегі келгенде, ал өз буферінде (В1) жазбасын енгізіп үлгереді және төлем (В қадамы) жолын жаңартуды орындайды. Содан кейін тоқтатылады. Бұдан В легінде N тұтынушысы туралы жазба енгізілген, ал тапсырыс жолы бастапқы қалпында мағынасы өзгертілгендігін байқаймыз.

Егер А легіне кезекті түрде басқару берілген кезде, ол өз жұмысын жалғастыра отырып, N тұтынушысы туралы деректер базасына тапсырыс (А3 қадамы) жолының модификацияланған жазбасын енгізеді. А легін тоқтатып, В легін активизацияланғаннан соң, N тұтынушысы туралы деректер базасындағы төлем жолының соңғы жаңартылған өз нұсқасын енгізеді. Бұл жағдайда деректер базасында N тұтынушысының жүргізген төлемі туралы ақпарат сақталады да, тапсырыс туралы ақпарат жойылады. (Н.2,а-суреті) Синхронизациялау мәселесінің қиындықтары пайда болатын жағдайлардың ретсіздігіне байланысты жоғарыда көрсетілген мысалдағы оқиға желісін басқалай дамытуға болады: тапсырыс туралы ақпараттың жойылуы. (Н.2,б-суреті) немесе керісінше барлық түзетулер сәтті енгізіледі. (Н.2,в-суреті) Бұның барлығы лектердің жылдамдығымен тоқтатылу уақытына сәйкес анықталады. Сондықтан лек аралық қарым-қатынас күрдеіл қатынас болып табылады. Жоғарыда көрсетілгендей немесе одан да көп лектер белгілі бір бөлімдерді өңдеуі және қорытында нәтиже лектердің жылдамдығына сәйкес болуы лектер жарысы деп аталады.

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




4.2. сурет Тапсырманың орындалу қорытындысына ықпал ететін лектердің жылдамдығы



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

Секция (бөлім), дағдарыстық секция (секция, критическая секция; section critical section) - басқа асинхронды процедурамен немесе сол асинхронды программаның белгілі бір бөлігімен қатар орындала алмайтын асинхронды процедура бөлігі.

База (Base) - 1) негізгі, тіректі мәліметтер немесе элементтер; 2) санау жүйесінің негізі; 3) база регистріне жүктелетін әрі салыстырмалы адрестердің (ығысулардың) саналу басы ретінде пайдаланылатын жад адресі.

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


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

4.3.сурет. Өзгергіш бекітулерді пайдалана отырып сыный секцияларды дамыту


Екілік өзгерткіштікке сәйкес әр бір сыный мәліметтер жинағына келесідегідей қойылады: лек 0 мағынаға ие болғанда, сыный секцияға енгенде және одан шықанда мағынасы 1. 4.3. суретте F(D) бекіту өзгерткіштігіне D сыный мәліметтеріне сәтті қосылуды дамыту мақсатында пайдалынатын лектердің алгоритімдік фрогменті көрсетілген. Сыный секцияға шығар алдында, D мәліметтерімен қандайда бір лек жұмыс істеп тұрмағандығын тексереді. Егер өзгерткіштік F(D) 0 қасиетте орнатылған болса, онда берілген тапсырма мен циклдық тексеру қайталанады. Сегер жинтық мәліметтер (F(D) = 1) болса, онда өзгерткіштік мағынасы F(D) 0 қасиетте орналасады да лек сыный секцияға шығады. О мәліметтерімен лек толық жұмысын аяқтаған соң, F(D) өзгергніштігі қайтадан 1 қасиетпен теңеседі.

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

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

Сонда да бір нәрсені ескеруіміз қажет, үзілісті шектеудің бір тәсілі бар екендігін. Бекіту өзгерткіштігін орнату және тексеру операциясының орындалуы барысында үзуге болмайды. Мысалы: тексеру барысында қордың бос екендігі анықталысымен, 0 өзгерткіштікті орнатып үлгермей лек үзіледі. Оның тоқтатылуы кезінде басқа лек қормен жұмысын жалғастырады, сыный секцияға кіріп ол да бөлінген қормен өз жұмысын аяқтамастан үзіледі. Бірінші безекке баақару мүмкіндігі берілісен, ол қорды бос екен деп қабылдап, өзіндік сыный секциясының жұмысын бастайды. Осылайша өзара қатынас принціптері бұзылады да, потециалды түрде нашар қорытындыға әкеліп соқтыртады. Осындайжағыдайларды болдырмаудың алдын алу үшін көптеген компьютерлердің жүйелік командаларында біріңғай, бөлінбейтін сараптау мен логикалық өзгерткіштік қасиет беру командалары қарасырылған (мысалы: ВТС, BTR және ВТ5 командалары мен Pentium процессі). Процессорда осындай командалар болмаған жағыдайда, текесеру және орнату опреациясын орындау барысында үзілісті болдырмаудың арнайы жүйелік 1 негізі қалыптастырылуы керек.

Жоғарыда көрсетілген өзара байланыстың дамытылуының тәсілі мынадай жетіспеушілктерден тұрады: бір лек сыный секцияда тұрғанн уақытта, осы қор қажет келесі бір лек процессорға ену құғығын алысымен өзіне қажетті бекіту өзгерткіштігін қайта – қайта сұрауы мүмкін, ал бұл дегеніміз басқа бір лекті орындауда пайдаланылатынпроцессор уақытын текке кетіру деген сөз. Осы жетіспеушіліктерді толықтыру үшін көптеген ОЖ арнайы сыный жүйедегі жүйелік шақыртулар қарасытырылуда.
4.4. суретте Windows NT операциялық жүйеде жоғарыда көрсетілген функциялардың көмегімен өзара байланыс орнатылған. Сыный мәліметтерді өзгертудің алдында лек EnterCriticalSection жүйелік шақыртуын орындайды. Осы шақырту шеңберінде алдыңғы жағыдайдағыдай алдымен, сыный қордың жағыдайын көрсететін бекіту өзгерткіштіктің тексерілуі орындалады. Егер жүйелік шақырту (F(D) - 0) қорының бос еместігін анықтағаннан кейін, алдыңғы көрсетілген жағыдайдағыдай емес, циклдық сұраныс жасамай, лекті D) күту режиміне ауыстырады және осы лек сәйкесінше қор босағаннан кейін активациялануына белгі жасайды. Осы уақытта қорды пайдаланып жатқан лек сыный секциядан шығысымен LeaveCriticalSection жүйелік фнукциясын орындауы қажет, осының нәтижесінде бекіту өзгерткіштік мағынаға ие болады да, (F(D) - 1) қоры босайды, ал операциялық жүйе осы қорды күту режимінде тұрған лектерді қарастырып, бірінші кезекте тұрған лекті дайындық жағыдайына жібереді.


4.4. сурет сыный секцияға ену және шығуда өзара байланысты орнатуда қолданылатын жүйелік фнукцияларды дамыту

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


  1. Тапсырмалар жоспарлаушысы аралық деңгейлер жоспарлаушысы және диспетчердің араларындағы айырмашылықтары туралы айтып беріңіз.

  2. Жоспарлаудың негізгі мақсаттары.

  3. Қарастырылған жоспарлау алгоритмдер арасындағы айырмашалықтарды белгілеңіз.


Дәріс № 5

Тақырыбы:Параллельді процесстердің синхронизациясын орындау.

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



  1. Параллельді өңдеу.

  2. Критикалық аумақтардың мәселелері.

  3. Төменгі деңгейдегі параллельді процесстерді синхрондау.

    Синхрондау (Синхронизация; synchronization, timing) - 1) процестерді іске қосу сәтінің жүйедегі белгілі бір оқиғалармен үйлесімділігін анықтау, параллель процестер әрекеттерінің уақытша реттілігін жасақтау; 2) теңестіру.



  4. Жадыны блоктау.

  5. Деккер алгоритмі.

  6. Семафорлар.

Процесс- ол орындалу режимінде болатын программа. Әр бір процесспен оның адрестік кеңістігі байланысады,одан ол оқи алады және онда ол мәліметтерді жаза алады.

Адрестiк кеңiстiк құрамында :



  • Программаның өзін

  • программаға мәлiметтер

  • программның стегі

Әрбiр процесспен регистрлердiң жиыны байланыстырылады, мысалы:

  • Командалар есептеуішi(процессорда ) -ол кезек тұрған ,орындалатын команданың адресі бар регистр. Жадыдан команда таңдалған соң, командалар есептеуiшi өзгертіледі және нұсқағыш келесi командаға өтедi,

  • стектiң нұсқағышы;

  • және т.б.

Көптеген операциялық жүйелерде әрбiр процесс туралы мәлімет , қосымша iшiндегi оның меншiктi адрестi кеңiстiгiне, операциялық жүйенiң процесстерiнiң кестесiнде сақталады :

Процесспен басқару

Жадымен басқару

Файлдармен басқару

Регистрлер

Команда есептеуіш Стектiң нұсқағышы

Процесстің күйі

Приоритет

Жоспарлау параметрлері

Процесстің идентификаторы

Ата-аналық процесс

Процесс группасы

Процесстің басталу уақыты

Қолданған процессірлік уақыт



Текстік сегменттің нұсқағышы

Мәліметтер сегментінің нұсқағышы

Стек сегментінің нұсқағышы


Түпкі каталог

Жұмыс істейтін каталог

Файл дескрипторлары

Қолданушы идентификаторы

Топ идентификаторы


ОЖ мультипрограммалауды қолдау үшін, процессор мен компьютердің басқа да ресурстарын бөліп тұратын жұмыстың iшкi бiрлiктерiн өзi үшiн анықтап ресiмдеуi керек. Қазіргі кезде операциялық жүйелердің көпшiлiгiнде жұмыс бiрлiктерiнiң екi түрi анықталған. Үлкенірек жұмыс бiрлiгi, әдетте процесс немесе есеп атын иеленеді,өзі орындауындалуы үшін бiрнеше майдарақ жұмыстарды талап етедi,оларды анықтау үшін <<ағын>> немесе <<желi>> терминдердiн қолданады.

Бұл терминдерді пайдаланғанда көп кезде қиындықтар туындайды . Бұл бірнеше себептерден болады. Бiрiншiден, - ОЖ әр түрлі спецификасынан мә магынасы жағынан бірдей бірақ аттары басқа,мысалы OS/2, OS/360 –дағы (task) амалы және UNIX, Windows NT, NetWare –дегі просесс. Екiншiден, жүйелiк программалаудың дамытуы кезінде және есептеу ұйымның әдiстерi бойынша бұл терминнің кейбiрі жаңа мағына алды, <<ағын>> жаңа ұғымының көптеген қасиеттерiне жол берген ,әсiресе бұл <<процесс>> терминіне байланысты . Үшiншiден, терминологиялық күрделiлiктер ағылшын тiлі терминінің орыс тiлi аудармасында бiрнеше варианттарының бар болуынан туады.

Ағылшындар (ағылш. English) - германды халық ұлты, Ұлыбританияның негізгі халқы. Саны 48,5 млн. Ұлыбританияда - 44,7 млн., Австралияда - 940 мың, ОАР-да 230 мың, Канадада - 100 мың, АҚШ-та - 650 мың, Үндістанда - 200 мың адам т.б.

Мысалға, «thread»термині «желі», «ағын», «оңайланған процесс», «шағын амал» және т.б. деп аударылады.Сосын ОЖ-нің бірлік жұмыстары ретінде «процесс» және«ағын» терминдері қолданылады.

Бұл ұғымдар арасында айырмашылық маңызды рөл атқармайтын жағдайда , олар қосалқы «амал»терминіне бiрiгедi.

Есептеуiш жүйенiң кез келген жұмысы кейбiр программаның орындауында болатыны анық. Сондықтан процесспен де, ағынмен де белгілі бір программалық код байланысты, бұл мақсат үшiн қолданылатын модуль түрiнде безендіріледі. Бұл программалық код орындалуы үшiн, оны жедел жадыға жүктеу керек, мәлiметтi сақтауға арналған дисктегi кейбiр орынды ерекшелеп, енгiзу-шығару құрылғыларына рұқсат беру, мысалғамодемге Портудың қосылған осығандарға мәлiмет бойыншаларын алуына бiртiндеп Портуға мысалы,файлдарға, TCP/UPD портарына, семафораларға. Программаның оған берілген процессірлік уақытынсыз орындалуы мүмкін емес,яғни бұл процессордға берілген программаның кодын орындауға арналған уақыт.

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

Ең қарапайым түрде процесс бiр ағыннан тұрады,бұндай ұғым80-шi жылдардың ортасына дейiн айтылған(мысалы,UNIX-тің ерте версияларында) сол күйнде кейбір ОЖ-де де сақталған.Бұндай жүйелерде <<Ағын>>ұғымы <<процесс>> ұғымында түбегейлі жұтылады, демек жұмыс және қорларды тұтындың бір ғана бірлігі қалады-ол процесс.Мұндай ОЖ-де мультипрограммалау процесстер деңгейінде орындалады.

Қорларды бөлу кезінде процесстер араласып кетпеуі және бір-бірінің мәліметтері мен кодтарына зиян келтірмес үшін,операциялық жүйенің ең маңызды мақсаты бір процесті екінші процестен изоляциялауы болып табылады.

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

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

Физика (көне грекше: φύσις - табиғат) - зат әлемді және оның қозғалысын зерттейтін ғылым. Бұл жөнінде физика күш, энергия, масса, оқтама т.б. сияқты тұжырымдамалармен шұғылданады.

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

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



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

Ондай қажеттіліктер тууы мумкун. Шындығында да, жүйенің мультипрограммалау кезінде өткiзу қабiлеттілігі жоғарылайды, бiрақ бірпрограммалық режимге қарағанда, жеке процесс ешқашан тез орындала алмайды. Дегенмен бiр процесс шеңберiнде атқарылатын программа iшкi параллельдікке ие бола алады, негiзiнен оның шешiмiн үдетуге мүмкiндiк беретiн еді . Мысалы, егер программада сыртқы құрылғыға үндеу ескерiлсе, онда бұл операцияның уақытына бүкіл процесстi жабу керек емес , программаның басқа тармағы бойынша есептеудi жалғастырған жөн. Бiр өздiгiнен программа шеңберiнделерiнiң бiрнеше жұмыстарының параллель орындауы қолданушының жұмысының тиiмдiлiгiн жоғарылатады. Мәтiндiк редактормен жұмыс iстегенде жаңадан теретін текст пен уақыты бойынша ұзақ операцияларды байланыстыра білу керек,текстің көп бөлігін форматтау,локальдік немесе ұзатылған дикте құжатты басып шығару немесе оны сақтау. Қиғаштаудың қажеттiлiгінің тағы бiр мысалы болатын деректер базасының желелік серверi болып табылады.Параллельдеу деректер базасының сұраныстарына қызмет көрсетуге,базаның біруақытта бірнеше жазбаларын көрудің жеке сұраныстың тезірек орындалуы үшін керек.



Операциялық жүйелерде ағындар есептеулердi қиғаштаудың құралы ретінде пайда болды.

Әрине, бiр программа шегінде есептеулердi қиғаштауды есеп дәстүрлi әдiстермен де шешiле алады.



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

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

Сегмент (segment) жедел жадтағы бірін-бірі жабатын бір деңгейдің тармақтарының оверлейлік құрылымды программадағы тобының бірі; теле-өндеуде - буферде орналасатын хабардың бөлігі; жазба немесе жазбаның бөлігі.

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

Барлығы жоғарыда айтылғандай, бір программаның есептеу тармағының жеке байланыстарын ескеретін, операциялық жұйеге процесстермен қатар есептеу қиғаштауының басқа механизмі керек. Қазiргi мақсаттар үшін операциялық жүйелер көпағынды өңдеу (multithreading ) механизмін ұсынады.Сонымен бiрге,жаңадан жұмыс бірлігі енгізіледі- орындау ағыны, ал «процесс» ұғымы мағынасын өзгертедi. «Ағын » ұғымына процессордың программаның бiр командадан басқаға бір командаға өтуі сәйкес келеді. ОЖ ағындардың,арасындағы процессорлық уақытты үлестiредi. ОЖ процесске барлық оның ағындарымен қолданылатын, адрестік кеңістік және қорлардың жиынын тағайындайды.



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

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

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

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

Өзара әрекеттесу және мәлiмет алмасу үшін , ағындарға ОЖ жүгінуі керек емес , оларға ортақ жадыны қолдану жеткiлiктi - бір ағын мәлiметтердi жазады , басқасы оларды оқып отырады. Басқа жағынан әртүрлi процесстердің ағындары бiр-бiрiнен бұрынғысынша жақсы қорғанған .

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

Сервер (ағылш. server) - файлдар, қалталар және компьютерлердің деректері сияқты деректерге ортақ қатынасуды, сондай-ақ желі пайдаланушыларына электрондық пошта қызметтерін қамтамасыз ететін компьютер.

Ағындар қолдануы параллельді есептеулерi арқасында ж үйенiң өнiмдiлiгiн жоғарылату ғана емес, ол оқылатынырақ, қисынды программаларды жасау мақсатымен.Орындалудың бірнеше агымдарды енгизу программалауды онайлатады.Мысалы, «жазушы-оқырман» амалдарында бір ағын буферге жазуды,ал келесісі одан оқиды. Ағындарды қолданудың басқа мысалы- сигналдармен басқару ,(del немесе break ) клавиатураданды үзілулерімен. Бiр ағынның үзілу сигналының өңдеулерi орынына сигналдың түсуiнiң тұрақты күтуiне белгiленедi.Сонымен, ағындарды қолдану қолданбалы деңгей үзулерiндегi қажеттiлiк қысқарта алады.Бұл мысалдарда параллель орындаудан қарағанда, программаның анықтығы маңызды.



Процесстер мен ағындарды жасау. Процессті жасау-бұл ең алдыменмен процесс суреттемесiн жасауын бiлдiреді, бiр немесе бiрнеше ақпараттық құрылымдар ретiнде шығады, , басқаруға арналған басқару жүйесiне қажеттi, процесс туралы барлық мәлiметтері бар.

Құрылымдар, конструкциялар (лат. constructіo - құрастыру, жасау), техникада - машина мен ғимараттардың немесе тораптар құрылысы мен жұмысының сұлбасы, сондай-ақ, машинаның, ғимараттың, тораптың өзі және олардың бөлшектері.

Мысалы, мұндай мәлiметтердiң санына атқарылатын модулдың жадындағы орналастырылуы туралы процесстiң идентификаторы, мәлiметтер кiре алады, тағы сол сияқтыларды (басымдылық және қол жеткiзу құқығы ) процесстiң жеңiлдiкпен пайдаланушылығының дәрежесi. Процесстiң суреттемелерiнiң мысалдарымен OS/360 ішінде (Task Control Block ) тапсырманы басқару блок болып табылады, OS/2 ішінде (Рсв -Process Control Block Рсв ) процессi басқарушы блок, UNIX ішіндегі процесс дескрипторы, процесс – объектісі Windows NT ішінде, (object-process ).

Процесстiң суреттемесiнiң жасау, есептеуiш қорларға жүйедегi тағы бiр талапкердiң пайда болуын өзiменмен белгiлейдi. Осы моменттен бастап ОЖ ресурстарды бөлуде, жаңа процесстiң қажеттiгiнiң есептеуi тиiс.

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

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



Процесстi жасау. Процесстердi жасауға алып келетін үш негiзгi оқиғалар(fork немесе CreateProcess шақыруы ) :

  • Жүйенің жүгінуі

  • Істеп тұрған процесс процесті жасау үшін жүйелік шақыру жасайды

  • Процесті жасау үшін қолданушының сұранысы

Барлық жағдайларда, белсендi ағымдағы процесс жаңа процесстiң жасауына жүйелiк шақыруды жiбередi. UNIX-та әрбiр процесске (PID - Process IDentifier ) процесстiң идентификаторы тағайындалады.

Процесстi аяқтау. Процесстiң тоқтауына алып келетін төрт оқиға(exit немесе ExitProcess шақыруы ) :

  • Жоспарлы аяқталу (орындауды аяқтау )

  • Белгiлi қате бойынша жоспарлы шығу (мысалы, файлдың жоқтығы)

  • Түзелмейтiн қателiк бойынша шығу (программадағы қателiк )

  • Басқа процесспен жою

Уақыша тоқтатылған процесс жадтың түрі деп аталатын(core image ) меншiктi адрестi кеңiстiгiнен тұрады, және (компоненттердiң санында және оның регистрлерi ) процесстердiң кестесiнiң компоненттерi.
Процесстердiң иерархиясы. UNIX жүйелердегi процесстердiң қатты иерархиясы салған. Fork жүйелiк шақыруымен жасалған әрбiр жаңа процесс,алдыңғы процесске тәуелдi болады. Аналықтан тәуелді процеске ауыспалылар,регистрлар және т.б. тиді. Fork шақыруынан кейін,аналық мәліметтер көшіріліп алынғаннан кейін ақ , бiр процесстердегi келесi өзгерiстерi басқаға ықпал етпейдi, бiрақ процесстер қайсысы аналық екенін есте сақтайды. Олай болса UNIX –те барлық процесстердiң ата-анасы болып – init процессi табылады.

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


3.1. сурет UNIX жүйесі үшін процесстер ағашы


Windows –та процесстердiң иерархиясы деген ұғым жоқ. Ішкi процессті тексеруге мүмкiндiк беретiн, аналық процесске арнайы таңбалағышты беруге болады.

Процесстердiң күйi. Процесстiң үш негiзгi күйлерi болады:

  • Орындау (процессорда орналасады )

  • Дайындық (процесс басқа процесске орындалуға мүмкiндiк беру үшiн уақытша тоқтаттырылған )

  • Күту (процесс iшкi себептерге байланысты iске қосыла алмайды,мысалы, енгізу/шығару операцияларын күтуде )

Сурет. 3.2. Күйлердiң арасындағы өткелдер болу мүмкiндігі.


1. Кiру мәлiметтерiн күте, процесс қоршауға алынады

2. Жоспарлауышы басқа процесстi таңдайды

3. Жоспарлауышы бұл процесстi таңдайды

4. Кiру мәлiметтері келіп түстi

2 және 3 өткелдер операциялық жүйесiнiң процесстерiнiң жоспарлауышысымен шақырылады, сондықтан бұл өткелдер туралы процесстер білмейді де,процесстердің көз қарасы бойынша екi күйi бар екен олар орындау және күту.

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



Монитор (monitor)-ақпараттар структурасы мен процедуралар жиынтығы және де әр кезде бір ғана процесс қолдануы мүмкін. Маниторды біз бір бөлме сияқты елестетсек, онда ол бөлменің кілті болады, ол кілтпен кезек -кезек процесстерді орналастырады.

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


1   2   3   4   5   6   7   8


жүктеу 1.56 Mb.