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



Pdf көрінісі
бет21/54
Дата17.10.2023
өлшемі0,49 Mb.
#117018
түріБағдарламасы
1   ...   17   18   19   20   21   22   23   24   ...   54
Талшық
ұғымы сондықтан енгізілген болатын. Әрбір ағында бірнеше талшық болуы
мүмкін.
Үрдісті басқару және ұйымдастыру. Үрдіс және ядро ұғымы. Үрдістің
виртуальдық мекен-жайлық кеңістігін сегментациялау. Үрдіс мәнмәтінің
құрылымы.
Әр бір операциялық жүйе кейбір мәліметтермен жұмыс жасайды, олар
басқару әдістері мен бірігіп олардың қасиетін сипаттайды.
Үрдіс - бұл барлық ОЖ де болатын программа. Үрдіс - бұл қорларды
меншіктеуге құқығы бар программа.
Үрдістерді басқару:
1. Орталық процессордың уақытын қолдану арқылы басқару.
2. Енгізу буфері және аударыстыру арқылы басқару.
3. Бөлінетін қорлар арқылы басқару.
Үрдісті басқарудың негізгі мәселелері.
Біріншіден - орталық санашықтың
(ОС) уақытын қолдану арқылы басқару немесе бұл мәселені ОС жобалау деп


атайды, яғни қандай уақытта қай есеп немесе қай үрдіс ОС басқарады
(қандай үрдісте ОС жұмыс істейді).
Екіншіден - Енгізу буфері және аударыстыру арқылы басқару. Мысалы
бірнеше адам, бір курс студенттері компьютердің алдында отыр және барлығы
бір уақытта бір есепті үрдіс түрінде іске қосты делік. Жүйеде көп есеп пайда
болады (жүзден аса). Ал барлық есептеу жүйесі жүз есеппен
мультипрограммалық режимде жұмыс істеу қабылдай алмайды, ол өте ауыр.
Бұл жағдайда есепті енгізу буфері, яғни үрдістер буферде санашық арқылы
өзінің өңделіп босатылуын күтетін үрдістер түзеледі. Осы буферде өңдеуді
бастау үшін үрдістердің орындалу кезегін таңдау мәселесі туындайды. Бұл
мәселе буфердің жоспарлануы болып табылады.
Енді жоспарлау аударыстыру есебін қарастырамыз. Санашық арқылы
бірнеше үрдістер өңделеді және бізге нақты жедел жадыны басқада есептер
үшін босату мәселесі туындайды. Бұл жағдайда өңделген есептердің кейбірін
ішкі есте сақтау құрылғысына жіберу қажеттілігі туындайты. Қандай алгоритм
арқылы бұл есептерді жібере аламыз? Жіберудің бағыт бағдары қандай болады?
Мысалы әр жұп есептерді жіберуге болады. Үрдістерді жіберуді
ұйымдастырудың қайсысы тиімді - бұл негізгі мәселе.
Үшіншіден - бөлінетін қорларды басқару. Қорлар жиынына қатынау
белгілі бір уақытта әртүрлі үрдістер атынан ұйымдастырылады. Бұл баспа
құрылғысының коллизиясы сияқты. Функциялар көбінде ОЖнің қасиеттерін
анықтайды, бұл функция үрдістердің қарым\қатынасын ұйымдастыруды және
ортақ қорларды қолдануды қастамассыз етеді. Мысалдағы баспа құрылғысының
мәселесі тез шешіледі, ал егер екі программаның жедел жадыда ортақ
фрагменті болса, онда бөлінетін қорларды басқару - күрделі есеп.
Енді ОЖ құрылымын қарастырайық. Тәжірибе жүзінде кез келген ОЖ
ядро ұғымына ие. ОЖ ядросы - оның резидентті бөлігі болып табылады, ал
жіберу үрдісіне қатыспайды (үнемі жедел жадыда болады) және ОЖ режимінде
жұмыс жасайды немесе супервизор режимінде. ОЖ-де негезінен ядро құрамына
басқарудың базалық құралы еңгізілген және бірнеше физикалық құралдарды
басқаруды қамтамасыз ететін программалар жиынтығы енуі мүмкін. Ядроның
негізгі қызметіне көбінесе үзуді өңдеу кіреді. Біз программаларды кейде
қорларды басқарушы, құрылғылар драйверлері (физикалық және логикалық)
деп атаймыз. Мысалға, ОЖ ядросында жедел есте сақтау құрылғысының
драйвері болуы қажет.
Сонан соң есептеу жүйесінің қорларын басқару программалары ядроның
айналасында жетілдіріледі. Бірінші деңгей негізінен физикалық құрылғылардың
драйверлерінен тұрады. Келесі деңгей логикалық құрылғыларды басқару.
Осындай деңгейлер көп болуы мүмкін. Мысалы біздің сұлбада файлдарды
басқару драйверлері пайда болуы мүмкін, олар логикалық дискті басқару
драйверлерімен байланысты, ал басқалары өз кезегінде нақты физикалық
құрылғылар драйверімен байланысты, т.с.с. ОЖнің барлық компоненттері
супервизор режимінде және операциялық жүйе режимінле жұмыс істеуі
міндетті емес. Ядродан логикалық қашық орналасқан компоненттердің
көпшілігі қарапайым қолданбалы режимде жұмыс істей алады. Сол сияқты ОЖ-


нің барлық компоненттері резидентті режимде жұмыс істеуі міндетті емес.
Функциялардың көпшілігіне бұл талап етілмейді.
Программалық модульдердің құрылымдық ұйымдастыру түрлері.
Құрылымды барлық программалық есеп кодтары орындалуға арналғанда
келесі көрсетілген құрылымдардың бір варианты ретінде қарастыруға болады:
1. Қарапайым программалық құрылымдар. Бұл құрылымда барлық
операторлар бөлінбейтін модуль ретінде жасалынады, орындалу
алдында жадыға толық жүктеледі және іске қосылған соң басқа
программалық модульдерге қатынамайды.
2. Оверлейлік құрылым. Бұл жағдайда программалық блок белгіленген
модульдерге бөлінеді. Негізгілері түпкі деп аталады және қабысу
модульдерін шақыру координациясын орындайды. Қабысу модульдері
бір адресте орналасады және бір уақытта жадыда бір модульден артық
модуль орналаспайды. Бұл құрылым сілтеме кестесі арқылы
сипатталады. Онда рұқсат етілетін және ескерілмейтін сілтемелері
анықталады. Ескерілмейтін сілтемелерде негізгі шақыруға болатын
модульдер көрсетіледі, ал айыруда шақыруға болатын модульдер
көрсетіледі. Түпкі модуль тұрақты жадыда орналасады және ол
арқылы барлық жүктелетін модульдер орындалады. Бұл құрылым
жады бойынша үнемді, бірақ егер ұйымдастыру дұрыс болмаса, онда
шақырылған модульдердің жүктелуіне көп уақыт кетеді.
3. Динамикалы тізбекті құрылымының ұйымдастырылуы.
Link және Load операторлары арқылы жүзеге асырылады. Бұл операторлар
арқылы шақырылған модуль жадыда орналасқаны анықталады. Егер модуль
жадыда орналасса, онда Link командасы басқаруды оған береді, ал егер
командасы болса, онда модульге қатынау күтілуде. Бұл операторлардан басқа
Sare және Return командалары қолданылады.
Sare - шақырылған модульді тізбекті бастайды, ал return - модульді аяқтайды.
Sare командасы арқылы үзу нүктесі сақталады, ал return сол нүктеге қайтуды
ұйымдастырады.


Достарыңызбен бөлісу:
1   ...   17   18   19   20   21   22   23   24   ...   54




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

    Басты бет