Программа дисциплины для студентов



Pdf көрінісі
бет28/54
Дата17.10.2023
өлшемі0,49 Mb.
#117018
түріБағдарламасы
1   ...   24   25   26   27   28   29   30   31   ...   54
диспетчерлеу
деп атайды. Орындалып жатқан үрдістермен ағындар арасында
ағымдағы қорларды үлестіруден жоспарлау көп ұйымдастырылады.
Орындалуға дайын есептердің кезегінің тізімін дайындайтын көп
диспетчерлеу пәндері 6елггісі. Кызмет көрсететін пәндер екі үлкен топқа бөлінеді
— пұрсаттылықты және құрсаттылықсыз.
Мультипрограммалық ОЖ-де көп есептер орындалған кезде деректерді
оқуға және жазуға сұраныс көп ағындар болып етуі мүмкін, сонідықтан оларды
орындау кезінде кезек пайда болады. Егер біз сұраныстарды олардың кезекке
түскеніне байланысты орындайтын болсак, онда магниттік дискінің
секторларына кездейсоқ қатынайтын боламыз, онда деректерді жабуға біз көп
уақыт жібереміз. Өйткені деректерді іздеп табуға уақытты азайту үшін
сұраныстарды кезекке дұрыстап коюға болады және олар тез орындалу үшін
тиімді әдісті табу қажет. Ол проблеманы шешу үшін тиімді жоспарлау пәнін табу
қажет. Белгілі пәндерді қарастырайык, олар деректерді оқу/жазу операцияларына
сұраныс кезегін қайта құрады.
1. SSTS (shotest seek time-firsy)-бірінші-минималды іздеу уақытымен. Бұл пән
бойынша
магниттік бастиекті позицияланғаи кезде келесі болып саналатын сұраныс ол
оның цилиндрынан цилиндрға жылжу уақыты минималды болу, бұл сұраныс
кезекте бірінші болуының кажеті жоқ. Бұл пәннің қасиеті, ол дискілік бағыныңқы
жүйенің максималды өткізу кабілеті.
2.
Scan (сканерлеу)-бұл пән бойынша бастиек бірде бір бағытта, бірде
басқа бағытта жылжиды. Жолда сәйкес сұраныстарды орындайды. Егер оқу-жазу
бастиегінің жылжу кезінде сәйкес сұраныс болмаса, онда ол кері бағытта
жылжиды.
3.
Next-Step-Scan-алдыңғы пәннен айырмашылығы ол жылжыту
кезінде тек қана сол уақьттта болған сұраныстарды орындайды. Бастиектін
оқуға-жазуға жылжу уақытында пайда болған жаңа сұраныстар, жаңа сұраныс
кезегін құрайды. Бұл сұраныстарды кері жолда орындауы мүмкін.
4.
С-Scan 

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


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


ІІІындығында есеп шешкен уақытта жалпы жады сияқты қордың
бөлінуінің қажеті жоқ, бірақ бір уақытта орындалатын үрдістер бір біріне
әсер етсе дейміз. Әсер ету аппаратты узүге тең. Көп операциялық жүйелер
оны жүзеге асыру үшін үрдістер арасында сигналдар қолданылады. Бір үрдіс
басқа үрдіске сигнал жібер деп нұсқау береді. Басқа үрдісте орындалып
жатқан үрдіс үзіледі және кабылданған сигналды өңдеу қажет.
Бұл операциялық жүйенің үшінші функциясы. Операциялық жүйенің
бұндай функциялары оның эксплуатациялық қасиеттеріне әсер етеді. Реалды
әр операциялық жүйе көп функциялар жиынынан түрады, олар жүйенің
жұмысын қамтамасыз етеді.
Әр операциялық жүйе енгізу-шығару буферлеуін қамтамасыз етеді.
Негізінде ол (операциялық жүйенің негізгі функцияларының бірі.
Операциялық жүйе есептеу жүйесінің түрлі компоненттерінің әр түрлі
қатынас жылдамдықтарымен қүресу үшін программалық буферлеуді енгізеді,
ол катынас уақытын дұрыстау және синхрондау проблемаларын шешеді.
Магниттік дискідегі жинақтауышты компьютердің орталық бөлігінің
шапшандығымен салыстырғанда жылдамдыгы өте төмен. Шапшандыгғының
айырмашылығы бірнеше рет. Операцияның орындалу уақыты 0,5 нс болуы
мүмкін, ал магниттік бастиектің бір жолшығынан басқа жолшыққа өтуі
бірнеше миллисекунд болады. Бастиектің астында оқу/жазу үшін қажег
деректер секторын күтуге бірнеше уақыттық интервалы өтеді. Қазіргі
жетектерді кездейсоқ таңдалған сектор деректерінің оқылуының орта
ұзақтылығы 20 мс болады. Бұл команда және операнд оперативті жадыдан
және бүркемеден таңдалуынан әлдеқайда төмен. Бірак, деректер үлкен
пакетпен оқылады (сектор размері 512 байт, ал дискімен операциялары кезінде
көбінесе оқу немесе жазу бірден бірнеше ссктордан болады).
Сонымен санашықтың оперативті жадымен жұмысының орта
жылдамдылығы деректерді сыртқы жадыдан магниттік дискіден оперативті
жадыға жіберу орта жылдамдылығынан 2-3 рет жоғары. Осы
негізгі
бағыныңқы жүйелердің үлкен келіспеушілігін дұрыстау үшін деректерді
бүркемелеу немесе буферлеу қолданылады.
Дерек оқу операцияларын дискідегі жылдамдатуы ол еселенген
буферлеуді қолдану. Оның мәні ол бір буферге магниттік дискіден деректер
енгізілсе, онда басқа буферден алдында оқылған деректер оқылуы және
сұраған есепке берілуі мүмкін. Осындай үрдіс деректерді жазган уақытта да
болады. Буферлеу барлық ОЖ-де қолданылады. Бүркемелеу бір программа
дискіден бірнеше рет бір деректерді оқыған кезде қажет және пайдалы. Ол
деректер бүркемеге бір рет орналасқан соң дискіге қатынау керегі жоқ және
программаның жұмыс жасау жылдамдылығы өседі. Бүркеме ретінде біз
буферлер жиынын түсінеміз және оларды сәйкес жүйелік үрдісімен
басқарамыз. Егер біз файлдың жазулары бар бірнеше секторларды оқитын
болсақ, онда ол деректер бүркемеден өтіп сонда қалады (бүл буферлерді басқа
секторлар ауыстырғанша). Егер деректерді қайта оқу қажет болса онда олар
оперативті жадыдан оқылады дискіге қатынамай-ак жазу операцияларында
жылдамдатуға болады.


Деректер бүркемеге жазылады және бұл операцияны сұраған есеп
сұранысы нақты жазылады деп санаса болады. Есеп әрі қарай өзінің
орындалуын жалғастырса болады., сыртқы жүйелік үрдістер бірнесе
уақыттан соң деректерді дискіге жазады. Бұл операция кейінге қалдырылған
жазба деп аталады. Егер кейінге қалдырылған жазба қолданбаса, онда тек бір
есеп өзінің деректерін дискіге жазады, қалған қолданбалар өзінің кезегін
күту керек.
Бүркеме жады-жадының шапшандық аймағы, санашық өндеу
алдында деректерді буферлеу үшін қолданылады.
Кейбір ОЖ-де бүркемелеу параметрлерін айқын көрсетуге болады, ал кейбір
ОЖ-де бұл параметрлерге ОЖ өзі жауап береді. WNT ОЖ-де файлдық
бүркеменің және бүркемелеу параметрлерінің мөлшерін айқын түрде басқаруға
болмайды. Win95/98 ОЖ-де бұл мүмкіндік бар, бірак тек қана нақтылы
бүркемеге арналған жады мөлшері және буфер молшерін көрсетуге болады. MS
DOS операциялық жүйесі жұмыс жасағанда компьютерді кез келген уақытта
өшіруге болады, ойткені бұл жүйеде буферлеу жоқ. . UNIX және Windows
операциялық жүйелерінде жұмыс уакытында машинені өшіруге болмайды,
себебі бұл жағдайда ақпараттың жойылуы мүмкін. Буферлеу деңгейі жүйенің
реалды тиімділігін аныктайды.
Бұдан басқа ОЖ бірнеше параллель орындалып жаткан есептердің
сұраныстарын орындалуына байланысты бастиектін деректерді оқуга/жазуға
жылжытуын ұлгайту жұмысын атқарады. Деректерді магниттік дискіден алу
уақыты, магниттік бастиектін керек цилиндрге жылжу уақытымен берілген
секторды күту уақытынан қосылады. Сонымен уақыттың көбісі деректерді
іздеуге кетеді. 


Достарыңызбен бөлісу:
1   ...   24   25   26   27   28   29   30   31   ...   54




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет