Процесс - орындалатын бағдарлама
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ
МИНИСТРЛІГІ
Д. СЕРІКБАЕВ атындағы ШЫҒЫС ҚАЗАҚСТАН МЕМЛЕКЕТТІК ТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ
Ақпараттық технологиялар және зияткерлік жүйелер мектебі
Операциялық жүйелер пәнінен бакалаврдың курстық жұмыcына Курстық жұмыстың тақырыбы:
Операциялық жүйеде үдерістердің өзара әрекеттесуі
18-иск-2 тобының студенті Сеткалиева Раиса
Өскемен қ., 2020ж.
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
1.Процестер ұғымы ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ...4
1.1Процестер түсінігі 4
1.2Процестерді іске қосу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
1.3 Процесстердің өзара әрекеттесуі 10
2.Процесстерді құру және басқару алгоритмі ... ... ... ... ... ... .. ... ... ... ... 12
2.1Процестің бір нүктелі моделі ... ... ... ... ... ... ... . ... ... ... ... ... 15
2.2Процессті басқару блогы (PCB) ... ... ... ... ... ... ... .. ... ... ... ... ... ..17
2.3Жадыны басқару үрдістері мен стратегиясы ... ... ... ... ... ... ... ... ... ... 21
2.4 Процессті тоқтату және аяқтау ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... 23
Қорытынды 24
Әдебиеттер тізімі 25
Кіріспе
Зерттеудің өзектілігі пайдаланушының ЭЕМ-мен жұмыс істеу сапасынарттыру үшін операциялық жүйелерді жақсарту қажеттілігімен байланысты, оны неғұрлым қарапайым жолдармен ресурстарды бөлу және басқару.
Зерттеу объектісі- операциялық жүйелердегі үдерістердің өзара әрекеттесуі.Зерттеу мақсаты -үдерістердің қалай әрекетесетінін түсіндіруЗерттеу міндеттері:үдерістер,олардың түрлері,оларды құру және басқару, олардың өзара әрекеттесуін қарастыру.
Процесс-бұл бағдарламаны орындау.Операциялық жүйе орындалатын қосымшаларды бөлу үшін процестерді пайдаланады. Ағын-Операциялық жүйе процессор уақытын бөлетін негізгі бірлік. Әрбір ағынның жоспарлау басымдығы және жүйе ағынның контекстін сақтайды, онда ағынның орындалуы тоқтатылған кезде құрылымдар жиынтығы бар. Ағынның контекстінде орындауды ауыртпалықсыз жаңартуға мүмкіндік беретін барлық мәліметтер, соның ішінде процессор регистрлері мен ағынның стекалары бар. Бірнеше ағын процесс контексінде орындалуы мүмкін. Процестің барлық ағындары виртуалды адрестердің жалпы ауқымын пайдаланады. Ағын бағдарламалық кодтың кез келген бөлігін, соның ішінде, қазіргі уақытта басқа ағынмен орындалатын бөліктерді орындай алады.
Курстық жұмыстың бірінші бөлімнінде процесстерді,олардың түрлерін, қай кезде қолданылатынын қарастратын боламыз.Ал жұмыстың екінші бөлімінде процессппен ағынға мысалдар келтіріп,оларды талдайтын боламыз.
1.Процестер ұғымы
1.1.Процесстер түсінігі
Қандай да бір программаны орындау үшін екілік кодтты орындау жеткіліксіз. Программаны іске қосу үшін жады және операциялық жүйенің түрлі ресурстары қажет. "Процесс" -деп оның жұмысы үшін қажетті барлық ресурстармен бірге жадқа жүктелген программаны атаймыз. "Операциялық жүйе" - бұл барлық ресурстарды таратып тұрған ми десекте болады.Ол macOS, iOS, Microsoft Windows, Linux және Android сияқты әртүрлі нұсқаларда жеткізілген. ОЖ сіздің бағдарламаны іске қосылған процеске айналдыру үшін қажетті ресурстарды басқару міндетін орындайды.
Әрбір процеске қажетті кейбір маңызды ресурстар-регистрлер, бағдарламалар мен стек есептеуіштері. "Регистрлер" - бұл компьютер процессорының (CPU) бөлігі болып табылатын деректерді сақтау орындары. Тіркелімде Нұсқаулық, сақтау мекенжайы немесе осы процесс үшін қажетті басқа да деректер болуы мүмкін. Сондай-ақ," Нұсқаулық көрсеткіші" деп аталатын" бағдарламалар есептегіші " компьютердің бағдарламалық жүйелеріндегі қайда екенін қадағалайды. "Стек" - Бұл компьютерлік бағдарламаның белсенді кіші бағдарламалары туралы ақпаратты сақтайтын және процестің скретчі үшін орын ретінде пайдаланылатын деректердің құрылымы. Ол "куча"ретінде белгілі процесс үшін динамикалық бөлінген жадынан ерекшеленеді."Процесс басталғанда, оған жады мен ресурстар дайындалады. Әрбір ағын осы жады мен ресурстарды бірлесіп пайдаланады. Бір ағынды процестерде бұл процесс бір ағыннан тұрады. Процесс пен ағын бірдей және тек бір ғана болады.
Көп ағынды процесс бір уақытта бірнеше заттарды орындайды.Процесті іске қосқан кезде оған жады мен ресурстар беріледі. Әрбір ағын осы жады мен ресурстарды бірлесіп пайдаланады. Бір ағынды процестерде бұл процесс бір ағыннан тұрады.
Көп ағынды үдерістерде процесс бір ағыннан астам тұрады және процесс бір уақытта бірнеше заттарды орындайды.Процесс ұғымы қазіргі операциялық жүйелердегі негізгі ұйымдардың бірі болып табылады. Операциялық жүйе тұрғысынан алғанда, процесс жұмыс бірлігі, жүйелік ресурстарды тұтынуға өтініш.
Процестер операциялық жүйеде иерархия құрайды. Соған сәйкес, туылған процестерді - берілген процестердің ұрпақтары, ал туылған процестің ата-анасын - бабасы деп атайық. Процестің негізгі күйлерін белгілейік
Сурет-1 Процестің күйлері
Процесстің күйлері мынандай болуы мүмкін:
1)процессорда - процесс барлық қажетті ресурстарға, оның ішінде процессорға ие, беленді күй;
2)дайындық - процесс орындауға кезекте;
3)күту - процесс оқиғаның аяқталуын күтеді;
4)тоқтату - процесс тоқтатылған;
5)құру - процесті құру үшін қажетті әрекетті орындау;
6)яқтау - процестің сәтті аяқталуымен байланысты әрекетті орындау;
7)зомби - процесс бітті, бірақ баба оның аяқталуын қабылдамады;
Процесті құру негізінде келесі әрекеттер орындалуы керек:
Ең алдымен процеске ерекше нөмір беру (ID);
1)процесті жүйеге белгілі процестер тізімін қосу;
2)бастапқы приоритетті анықтау;
3)процеспен басқару блогын қалыптастыру;
4)қажетті ресурстарды бөлу.
Процесс (process) - бұл пайдаланушы бағдарламасы. Операциялық жүйелер өз жұмысында бағдарламалардың көптеген кластарын орындайды: пакеттік тапсырмалар; уақытты бөлу режиміндегі пайдаланушылық бағдарламалар; жүйелік бағдарламалар мен процестер. Мысалы: процесс (process), тапсырма (job), тапсырма (task), бірақ мұнда олардың арасындағы айырмашылықты асыра көрсетпейміз: үдерістердің ерекшелігін жақсы түсіну және ОС-да оларды басқару үшін біз берілген терминдерді синонимдер деп санай аламыз, ОС бойынша көптеген оқулықтардағы сияқты.
Процестің маңызды ерекшелігі: бұл ретімен орындалуы тиіс есептеу бірлігі, яғни әрбір процесс өзінің басқару ағынының (control flow) - командалардың процессімен орындалатын тізбектілігі. Көптеген үлкен міндеттер үдерістерді параллель орындау арқылы табысты шешілуде, бірақ бұл туралы біраз кешірек болады.
Оны құру және операциялық жүйені басқару процесі келесі негізгі ақпар
атты қамтиды:
Командаларды есептеуіш - program counter-PC) - ағымдағы орындалатын процесс командасының мекенжайы; әдетте аппаратураның арнайы жүйелік тіркелімінде сақталады;
Стек (stack) - процесс процедураларының жергілікті деректері, олардың параметрлері (аргументтері) және есептеулерді ұйымдастыру үшін қажетті олардың арасындағы байланыстырушы ақпарат сақталатын процесті құру кезінде операциялық жүйемен бөлінетін негізгі жадының резиденттік аймағы. Кезекті процедураны іске қосу кезінде стекте іске қосу жазбасы (activation record),сондай-ақ процедураның ағымдағы буынының жергілікті деректерін сақтау (іске қосу) үшін стек жақтауы (stack frame) және жергілікті деректер аймағы (local data area) деп аталады. Оны орындау аяқталғаннан кейін іске қосу жазбасы стектен жойылады;
Деректер секциясы (data section) - операциялық жүйемен оның жаһандық айнымалылары, массивтері, құрылымдары, объектілері сақталатын үдеріске бөлінетін негізгі жады статикалық (тұрақты бөлінген, өзгермейтін Өлшем) аймағы.
Процестің орындалатын коды (командалары) бастапқыда екінші жадта (дискіде) сақталады және негізгі жадқа толық немесе ішінара оған жүгінгенде жүктеледі.
Орындау кезінде процесс өз күйін келесідей өзгерте алады:
Жаңа(new): Процесс операциялық жүйемен құрылады, бірақ әлі орындала бастаған жоқ.
Орындалатын (running): ОЖ басқарумен компьютерлік жүйенің процессорында немесе процессорында процесс командалары орындалады.
Күтуші (waiting):Процесс кейбір оқиғаның басталуын күтеді, мысалы, енгізу-шығаруды аяқтау. Күту жағдайында процессор алмайды.
Орындауға дайын (ready):Процесс оны орындау үшін процессор ресурстарын алуды күтеді. Бұл процесс әдетте оны жасау кезінде немесе енгізу-шығару аяқталғаннан кейін (күту күйінен) орындалады.
Аяқталған (terminated): процестің орындалуы аяқталды.
Сурет 2 Процестің күйі
Схемадан көрініп тұрғандай, жүйеде құрылған жаңа процесс рұқсат етілген (admitted) сатыдан өтеді - Операциялық жүйе жүйедегі барлық үдерістердің кезегіне қосылады, содан кейін ОС оны орындауға дайындық жағдайына ауыстырады. Үдерістерді орындауға дайын кезек-үдерістерді басқару үшін жиі қолданылатын жүйелік құрылымдардың бірі. Дайындық жағдайынан процесті орындау жағдайына диспетчерлендіру - процессорлық уақыт квантын бөлу нәтижесінде ОС жоспарлаушысы ауыстырады. Орындау кезінде процесс үзілуі мүмкін (бойынша таймеру, нәтижесінде қателіктер және т. б.), ал кейін өңдеу үзу операциялық жүйесімен ауысады қайтадан жай-күйі, орындауға дайындығын. Егер синхронды кіріс-шығыс болса немесе процесс кейбір оқиғаның (мысалы, белгілі бір уақыт кезеңі) басталуын күтуге тиіс болса, процесс күту күйіне ауысады. Енгізу-шығару аяқталған кезде немесе күтілетін оқиға басталған кезде процесс процессорлық уақыт кванты бірден алмайды, ал орындауға дайындық жағдайына ауысады. Мысалы, exit(c) жүйелік шақыру нәтижесінде c - аяқтау коды. Егер C = 0 болса,процесс сәтті аяқталды деп саналады.
Процесс-орындалатын бағдарлама.Кез келген ЭЕМ-де процесс бар, сондай-ақ пайдаланушы бағдарламаларға жауап беретін бір немесе бірнеше процесс бар. Бір процессорлы ЭЕМ-де кез келген уақытта бір ғана процесс орындалуы мүмкін. Кез келген ОЖ процестерді іске қосуды, тоқтата тұруды, олардың орындалуын, олардың орындалуын аяқтауды және процестерді өзара синхрондауды жүргізе білуі тиіс. ОЖ әрбір процесі үшін өз мекенжай кеңістігін ұсынады. Бұл мекенжай кеңістігі нөлден басталады және тиісті ЭЕМ мен OS шегіне дейін үздіксіз жалғасады. Көшіруді қамтамасыз ету мақсатында мекенжай кеңістігі әрдайым нөлден басталады. ОЖ-дан басқа бірде-бір процесс физикалық жадтың қай бөлігінде және оның мекенжай кеңістігі қалай орналасқанын білмейді. Бұл орындалатын процестерді ең тиімді орындау керек OS прерогативасы.Әрбір процесте процессорда бар регистрлердің толық жиынтығы бар. Әрбір процесс өзінің жеке процессоры бар-қазіргі уақытта осы процесс орындалатын процесс.
Пайдаланушыға қатысты процесс интерактивті және фондық болуы мүмкін. Процесс операциялық жүйенің ядросынан немесе файлдан іске қосылуы мүмкін. UNIX-жүйелерде артықшылықтармен, орындау режимімен және файлдық жүйеде тудыратын нысандардың болуымен ерекшеленетін үш процесс бар.
1.Жүйелік процестер.Олар өзі орындайтын файлдары жоқ,ол операциялық жүйенің ядросынан іске қосылады.Шын мәнінде жүйелік болып табылатын бір процесс бар, бірақ ядродан емес, init атымен жеке орындалатын файлдан іске қосылады. Бұл процесс барлық қалған процестердің ата-анасы болып табылады.
2.Демон. Бұл, тікелей пайдаланушымен байланыспайтын және оны басқара алмайтын процестер. Олар фондық режимде орындалады және сервистерді ұсыну үшін жауап береді: басып шығару, желілік ресурстарға қол жеткізу және т.б. бірақ әрбір демонға әдетте жүйені жүктеу кезінде автоматты түрде іске қосылатын орындалатын файл сәйкес келеді.
3.Таңдамалы процестер. Пайдаланушы орындайтын (бинарлық) файлдан іске қосылады. Олар интерактивті немесе фондық режимде орындалуы мүмкін және оларды орындау мерзімі пайдаланушының жұмыс сеансының ұзақтығымен шектеледі. Пайдаланушы процестері пайдаланушының идентификаторын мұра етеді және, әдетте, объектілерге кіруге тиісті құқықтары бар.
1.2Үдерістердің іске қосу
Процесс-бұл қазіргі уақытта орындалатын бағдарлама. Процесті орындау дәйекті түрде жүзеге асырылуы тиіс. Процесс жүйеде іске асырылуы тиіс негізгі жұмыс бірлігін білдіретін мән ретінде анықталады.
Процесті :
-ОС процесс контекст және дескриптор жасалынады.
-Кодтық сегментті оперативті жадқа жүктеледі.
-Дескриптор дайындықтағы процестер кезегіне орналастырылады.
Осы сәттен бастап процесс басталды деп санауға болады.
3 Сурет-Процесс бастамалы түрі(дерево процесса)
Процесс басталған кезде оған бірқатар файлдар бөлінеді. Әдетте, бұл файлдар процесте басталатын процестен мұра болып табылады. Жаңадан құрылған процесс өз кезегінде өзіне тиесілі файлдарды жасауы, өзгертуі және жабуы мүмкін. UNIX жүйесінде ұрпақтардың ата-анасы принципі бойынша процестердің қатаң иерархиясы орнатылады.Ата-ана ұрпағының жұмысын бақылауға, оның орындалуын тоқтатуға және ұрпағының орындалуын аяқтауға құқылы. Ұрпағы ата-анасына, "ағаларына",қатысты ешқандай құқықтары жоқ. Windows жүйесінде мұндай қатаң иерархия жоқ. Барлық процестер тең құқылы. Процестердің бірі емес (OS ядросынан басқа) басқа процестің жұмысын бақылауға құқығы жоқ.
1.3 Үдерістердің өзара әрекеттесуі
Процесстердің өзара әрекеттесуі -бұл параллель процестерді басқару моделі болып табылады. Осы процестер арасында деректер алмасу қалай жүргізілетінін және осы процестер бір-бірімен қалай синхрондалатынын анықтау арқылы жүзеге асады. Модель жұмыс жүктемесі теңдестірілген және процестер неғұрлым жоғары өнімділікпен жұмыс істеуі үшін неғұрлым білікті және қолжетімді қызметкерлерге жұмысты приоритизациялау және бағыттау жолымен синхрондалған процестерді оңтайландыруға арналған.
Процесс арасындағы өзара әрекеттесу тәуелді процестерге енгізілетін өзгерістерге жауап беретін параллель процестерді басқару үшін бірыңғай құрылымның болуын қамтамасыз ету болып табылады. Мұндай құрылым қажетті операциялар мен міндеттерді орындау үшін өзара іс-қимыл жасайтын процестер туралы деректерді пайдалану мүмкіндігін қамтамасыз етуі тиіс.
Үдерістердің өзара әрекеттесуі деректерді параллель өңдеу тәжірибесі үшін қажетті шарт болып табылады. Ол екі немесе одан да көп үдерістер, егер олар деректерді алмасу және синхрондау жолымен бір-бірімен өзара іс-қимыл жасаса, параллель орындалуы мүмкін екенін қарастырады. Сонда процестерді орындайтын қызметкерлер табысты аяқтау үшін бірлескен күш салуға мүмкіндік алады, ал қызметкерлердің жұмыс жүктемесі деректер (міндеттер, операциялар, өтулер және т.б.) есебінен оңтайландырылады.) процестің оңтайлы өнімділігін қамтамасыз ететіндей процестер арасында бөлінеді.
Үдерістер арасындағы өзара әрекеттесу:
1)Ақпаратты бір процестен екіншісіне беру
2)Процестердің қызметін бақылау (мысалы: Олар бір ресурс үшін күрескенде)
3)Үдерістердің әрекеттесуін келісу (мысалы: бір процесс деректерді жеткізгенде, екіншісі оларды баспаға шығарғанда. Егер келісілмесе, онда екінші процесс деректер түскеннен бұрын басылуы мүмкін).
4)Екі екінші жағдай ағынға жатады. Бірінші жағдайда ағындар проблема жоқ, өйткені олар жалпы мекенжай кеңістігін пайдаланады.Ақпаратты бір процестен екіншісіне беруге болады.
Беру бірнеше тәсілмен жүзеге асырылуы мүмкін:
1)Бөлінетін жады
2)Арналар (құбырлар), бұл бір процесс жазады, екіншісі оқиды.
Сокеттер-ортаның ерекшеліктерін жасыратын және бір компьютерде де, желіде де үдерістерді біркелкі өзара іс-қимыл жасауға мүмкіндік беретін Ядро қолдайтын механизм.Пошта жәшіктері (тек Windows), бір бағытты, кең тарату мүмкіндігі.Қашықтағы процедураны шақыру, а процесі В процесінде процедураны тудыруы мүмкін, және кері деректерді алу.
4 Сурет- Процестің орындалуы
2.Үдерістер құру және басқару алгоритмі
Процесс құру-бұл ең алдымен процесс сипаттаушысын жасауды білдіреді, ол ретінде процесс туралы барлық мәліметтерді қамтитын бір немесе бірнеше ақпараттық құрылымдар, оны басқару үшін қажетті.Процесті құру кодтар мен орындалатын бағдарлама деректерін дискіден жедел жадқа жүктейді. Бұл үшін ОЖ дискідегі осындай бағдарламаның орнын табуы, жедел жадты қайта бөлуі және орындалатын жаңа процесс бағдарламасына жадын бөлуі тиіс. Содан кейін бағдарламаны оған бөлінген жад учаскелеріне санауыңыз қажет және жадқа орналастыруға байланысты бағдарлама параметрлерін өзгертуге болады. Виртуалды жады бар жүйелерде бастапқы сәтте қалғандарын "сорып алу" үшін кодтар мен процесс деректерінің бір бөлігі ғана жүктелуі мүмкін. Бұл жүйенің негізгі мақсаты-басқару жүйесін құру болып табылады. Барлық осы іс-әрекеттерді орындау кезінде процестерді басқарудың кіші жүйесі жадыны және файлдық жүйені басқарудың кіші жүйесімен тығыз өзара іс-қимыл жасайды.
Мысал ретінде UNIX System V Release 4 операциялық жүйесінде процестерді құруды аламыз. Бұл жүйеде ағындар қолдау көрсетілмейді, басқару бірлігі және ресурстарды тұтыну бірлігі ретінде процесс болады.
Үрдістерді басқару кезінде операциялық жүйе ақпараттық құрылымдардың екі негізгі түрін қолданады: процесс дескрипторы және процесс контексті. Процестің дескрипторы процестің белсенді немесе пассивті күйде болуына қарамастан, процестің барлық өмірлік циклі ішінде ядро қажет процесс туралы ақпаратты қамтиды, жедел жадында процесс бейнесі бар немесе дискіге түсірілген. (Процесс ретінде оның кодтары мен деректерінің жиынтығы деп аталады.)
Үдерісті басқару блогы (Process Control Block - PCB) - әрбір үдеріспен байланысты келесі ақпаратты қамтитын үдерісті басқару үшін ... жалғасы
МИНИСТРЛІГІ
Д. СЕРІКБАЕВ атындағы ШЫҒЫС ҚАЗАҚСТАН МЕМЛЕКЕТТІК ТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ
Ақпараттық технологиялар және зияткерлік жүйелер мектебі
Операциялық жүйелер пәнінен бакалаврдың курстық жұмыcына Курстық жұмыстың тақырыбы:
Операциялық жүйеде үдерістердің өзара әрекеттесуі
18-иск-2 тобының студенті Сеткалиева Раиса
Өскемен қ., 2020ж.
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
1.Процестер ұғымы ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ...4
1.1Процестер түсінігі 4
1.2Процестерді іске қосу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
1.3 Процесстердің өзара әрекеттесуі 10
2.Процесстерді құру және басқару алгоритмі ... ... ... ... ... ... .. ... ... ... ... 12
2.1Процестің бір нүктелі моделі ... ... ... ... ... ... ... . ... ... ... ... ... 15
2.2Процессті басқару блогы (PCB) ... ... ... ... ... ... ... .. ... ... ... ... ... ..17
2.3Жадыны басқару үрдістері мен стратегиясы ... ... ... ... ... ... ... ... ... ... 21
2.4 Процессті тоқтату және аяқтау ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... 23
Қорытынды 24
Әдебиеттер тізімі 25
Кіріспе
Зерттеудің өзектілігі пайдаланушының ЭЕМ-мен жұмыс істеу сапасынарттыру үшін операциялық жүйелерді жақсарту қажеттілігімен байланысты, оны неғұрлым қарапайым жолдармен ресурстарды бөлу және басқару.
Зерттеу объектісі- операциялық жүйелердегі үдерістердің өзара әрекеттесуі.Зерттеу мақсаты -үдерістердің қалай әрекетесетінін түсіндіруЗерттеу міндеттері:үдерістер,олардың түрлері,оларды құру және басқару, олардың өзара әрекеттесуін қарастыру.
Процесс-бұл бағдарламаны орындау.Операциялық жүйе орындалатын қосымшаларды бөлу үшін процестерді пайдаланады. Ағын-Операциялық жүйе процессор уақытын бөлетін негізгі бірлік. Әрбір ағынның жоспарлау басымдығы және жүйе ағынның контекстін сақтайды, онда ағынның орындалуы тоқтатылған кезде құрылымдар жиынтығы бар. Ағынның контекстінде орындауды ауыртпалықсыз жаңартуға мүмкіндік беретін барлық мәліметтер, соның ішінде процессор регистрлері мен ағынның стекалары бар. Бірнеше ағын процесс контексінде орындалуы мүмкін. Процестің барлық ағындары виртуалды адрестердің жалпы ауқымын пайдаланады. Ағын бағдарламалық кодтың кез келген бөлігін, соның ішінде, қазіргі уақытта басқа ағынмен орындалатын бөліктерді орындай алады.
Курстық жұмыстың бірінші бөлімнінде процесстерді,олардың түрлерін, қай кезде қолданылатынын қарастратын боламыз.Ал жұмыстың екінші бөлімінде процессппен ағынға мысалдар келтіріп,оларды талдайтын боламыз.
1.Процестер ұғымы
1.1.Процесстер түсінігі
Қандай да бір программаны орындау үшін екілік кодтты орындау жеткіліксіз. Программаны іске қосу үшін жады және операциялық жүйенің түрлі ресурстары қажет. "Процесс" -деп оның жұмысы үшін қажетті барлық ресурстармен бірге жадқа жүктелген программаны атаймыз. "Операциялық жүйе" - бұл барлық ресурстарды таратып тұрған ми десекте болады.Ол macOS, iOS, Microsoft Windows, Linux және Android сияқты әртүрлі нұсқаларда жеткізілген. ОЖ сіздің бағдарламаны іске қосылған процеске айналдыру үшін қажетті ресурстарды басқару міндетін орындайды.
Әрбір процеске қажетті кейбір маңызды ресурстар-регистрлер, бағдарламалар мен стек есептеуіштері. "Регистрлер" - бұл компьютер процессорының (CPU) бөлігі болып табылатын деректерді сақтау орындары. Тіркелімде Нұсқаулық, сақтау мекенжайы немесе осы процесс үшін қажетті басқа да деректер болуы мүмкін. Сондай-ақ," Нұсқаулық көрсеткіші" деп аталатын" бағдарламалар есептегіші " компьютердің бағдарламалық жүйелеріндегі қайда екенін қадағалайды. "Стек" - Бұл компьютерлік бағдарламаның белсенді кіші бағдарламалары туралы ақпаратты сақтайтын және процестің скретчі үшін орын ретінде пайдаланылатын деректердің құрылымы. Ол "куча"ретінде белгілі процесс үшін динамикалық бөлінген жадынан ерекшеленеді."Процесс басталғанда, оған жады мен ресурстар дайындалады. Әрбір ағын осы жады мен ресурстарды бірлесіп пайдаланады. Бір ағынды процестерде бұл процесс бір ағыннан тұрады. Процесс пен ағын бірдей және тек бір ғана болады.
Көп ағынды процесс бір уақытта бірнеше заттарды орындайды.Процесті іске қосқан кезде оған жады мен ресурстар беріледі. Әрбір ағын осы жады мен ресурстарды бірлесіп пайдаланады. Бір ағынды процестерде бұл процесс бір ағыннан тұрады.
Көп ағынды үдерістерде процесс бір ағыннан астам тұрады және процесс бір уақытта бірнеше заттарды орындайды.Процесс ұғымы қазіргі операциялық жүйелердегі негізгі ұйымдардың бірі болып табылады. Операциялық жүйе тұрғысынан алғанда, процесс жұмыс бірлігі, жүйелік ресурстарды тұтынуға өтініш.
Процестер операциялық жүйеде иерархия құрайды. Соған сәйкес, туылған процестерді - берілген процестердің ұрпақтары, ал туылған процестің ата-анасын - бабасы деп атайық. Процестің негізгі күйлерін белгілейік
Сурет-1 Процестің күйлері
Процесстің күйлері мынандай болуы мүмкін:
1)процессорда - процесс барлық қажетті ресурстарға, оның ішінде процессорға ие, беленді күй;
2)дайындық - процесс орындауға кезекте;
3)күту - процесс оқиғаның аяқталуын күтеді;
4)тоқтату - процесс тоқтатылған;
5)құру - процесті құру үшін қажетті әрекетті орындау;
6)яқтау - процестің сәтті аяқталуымен байланысты әрекетті орындау;
7)зомби - процесс бітті, бірақ баба оның аяқталуын қабылдамады;
Процесті құру негізінде келесі әрекеттер орындалуы керек:
Ең алдымен процеске ерекше нөмір беру (ID);
1)процесті жүйеге белгілі процестер тізімін қосу;
2)бастапқы приоритетті анықтау;
3)процеспен басқару блогын қалыптастыру;
4)қажетті ресурстарды бөлу.
Процесс (process) - бұл пайдаланушы бағдарламасы. Операциялық жүйелер өз жұмысында бағдарламалардың көптеген кластарын орындайды: пакеттік тапсырмалар; уақытты бөлу режиміндегі пайдаланушылық бағдарламалар; жүйелік бағдарламалар мен процестер. Мысалы: процесс (process), тапсырма (job), тапсырма (task), бірақ мұнда олардың арасындағы айырмашылықты асыра көрсетпейміз: үдерістердің ерекшелігін жақсы түсіну және ОС-да оларды басқару үшін біз берілген терминдерді синонимдер деп санай аламыз, ОС бойынша көптеген оқулықтардағы сияқты.
Процестің маңызды ерекшелігі: бұл ретімен орындалуы тиіс есептеу бірлігі, яғни әрбір процесс өзінің басқару ағынының (control flow) - командалардың процессімен орындалатын тізбектілігі. Көптеген үлкен міндеттер үдерістерді параллель орындау арқылы табысты шешілуде, бірақ бұл туралы біраз кешірек болады.
Оны құру және операциялық жүйені басқару процесі келесі негізгі ақпар
атты қамтиды:
Командаларды есептеуіш - program counter-PC) - ағымдағы орындалатын процесс командасының мекенжайы; әдетте аппаратураның арнайы жүйелік тіркелімінде сақталады;
Стек (stack) - процесс процедураларының жергілікті деректері, олардың параметрлері (аргументтері) және есептеулерді ұйымдастыру үшін қажетті олардың арасындағы байланыстырушы ақпарат сақталатын процесті құру кезінде операциялық жүйемен бөлінетін негізгі жадының резиденттік аймағы. Кезекті процедураны іске қосу кезінде стекте іске қосу жазбасы (activation record),сондай-ақ процедураның ағымдағы буынының жергілікті деректерін сақтау (іске қосу) үшін стек жақтауы (stack frame) және жергілікті деректер аймағы (local data area) деп аталады. Оны орындау аяқталғаннан кейін іске қосу жазбасы стектен жойылады;
Деректер секциясы (data section) - операциялық жүйемен оның жаһандық айнымалылары, массивтері, құрылымдары, объектілері сақталатын үдеріске бөлінетін негізгі жады статикалық (тұрақты бөлінген, өзгермейтін Өлшем) аймағы.
Процестің орындалатын коды (командалары) бастапқыда екінші жадта (дискіде) сақталады және негізгі жадқа толық немесе ішінара оған жүгінгенде жүктеледі.
Орындау кезінде процесс өз күйін келесідей өзгерте алады:
Жаңа(new): Процесс операциялық жүйемен құрылады, бірақ әлі орындала бастаған жоқ.
Орындалатын (running): ОЖ басқарумен компьютерлік жүйенің процессорында немесе процессорында процесс командалары орындалады.
Күтуші (waiting):Процесс кейбір оқиғаның басталуын күтеді, мысалы, енгізу-шығаруды аяқтау. Күту жағдайында процессор алмайды.
Орындауға дайын (ready):Процесс оны орындау үшін процессор ресурстарын алуды күтеді. Бұл процесс әдетте оны жасау кезінде немесе енгізу-шығару аяқталғаннан кейін (күту күйінен) орындалады.
Аяқталған (terminated): процестің орындалуы аяқталды.
Сурет 2 Процестің күйі
Схемадан көрініп тұрғандай, жүйеде құрылған жаңа процесс рұқсат етілген (admitted) сатыдан өтеді - Операциялық жүйе жүйедегі барлық үдерістердің кезегіне қосылады, содан кейін ОС оны орындауға дайындық жағдайына ауыстырады. Үдерістерді орындауға дайын кезек-үдерістерді басқару үшін жиі қолданылатын жүйелік құрылымдардың бірі. Дайындық жағдайынан процесті орындау жағдайына диспетчерлендіру - процессорлық уақыт квантын бөлу нәтижесінде ОС жоспарлаушысы ауыстырады. Орындау кезінде процесс үзілуі мүмкін (бойынша таймеру, нәтижесінде қателіктер және т. б.), ал кейін өңдеу үзу операциялық жүйесімен ауысады қайтадан жай-күйі, орындауға дайындығын. Егер синхронды кіріс-шығыс болса немесе процесс кейбір оқиғаның (мысалы, белгілі бір уақыт кезеңі) басталуын күтуге тиіс болса, процесс күту күйіне ауысады. Енгізу-шығару аяқталған кезде немесе күтілетін оқиға басталған кезде процесс процессорлық уақыт кванты бірден алмайды, ал орындауға дайындық жағдайына ауысады. Мысалы, exit(c) жүйелік шақыру нәтижесінде c - аяқтау коды. Егер C = 0 болса,процесс сәтті аяқталды деп саналады.
Процесс-орындалатын бағдарлама.Кез келген ЭЕМ-де процесс бар, сондай-ақ пайдаланушы бағдарламаларға жауап беретін бір немесе бірнеше процесс бар. Бір процессорлы ЭЕМ-де кез келген уақытта бір ғана процесс орындалуы мүмкін. Кез келген ОЖ процестерді іске қосуды, тоқтата тұруды, олардың орындалуын, олардың орындалуын аяқтауды және процестерді өзара синхрондауды жүргізе білуі тиіс. ОЖ әрбір процесі үшін өз мекенжай кеңістігін ұсынады. Бұл мекенжай кеңістігі нөлден басталады және тиісті ЭЕМ мен OS шегіне дейін үздіксіз жалғасады. Көшіруді қамтамасыз ету мақсатында мекенжай кеңістігі әрдайым нөлден басталады. ОЖ-дан басқа бірде-бір процесс физикалық жадтың қай бөлігінде және оның мекенжай кеңістігі қалай орналасқанын білмейді. Бұл орындалатын процестерді ең тиімді орындау керек OS прерогативасы.Әрбір процесте процессорда бар регистрлердің толық жиынтығы бар. Әрбір процесс өзінің жеке процессоры бар-қазіргі уақытта осы процесс орындалатын процесс.
Пайдаланушыға қатысты процесс интерактивті және фондық болуы мүмкін. Процесс операциялық жүйенің ядросынан немесе файлдан іске қосылуы мүмкін. UNIX-жүйелерде артықшылықтармен, орындау режимімен және файлдық жүйеде тудыратын нысандардың болуымен ерекшеленетін үш процесс бар.
1.Жүйелік процестер.Олар өзі орындайтын файлдары жоқ,ол операциялық жүйенің ядросынан іске қосылады.Шын мәнінде жүйелік болып табылатын бір процесс бар, бірақ ядродан емес, init атымен жеке орындалатын файлдан іске қосылады. Бұл процесс барлық қалған процестердің ата-анасы болып табылады.
2.Демон. Бұл, тікелей пайдаланушымен байланыспайтын және оны басқара алмайтын процестер. Олар фондық режимде орындалады және сервистерді ұсыну үшін жауап береді: басып шығару, желілік ресурстарға қол жеткізу және т.б. бірақ әрбір демонға әдетте жүйені жүктеу кезінде автоматты түрде іске қосылатын орындалатын файл сәйкес келеді.
3.Таңдамалы процестер. Пайдаланушы орындайтын (бинарлық) файлдан іске қосылады. Олар интерактивті немесе фондық режимде орындалуы мүмкін және оларды орындау мерзімі пайдаланушының жұмыс сеансының ұзақтығымен шектеледі. Пайдаланушы процестері пайдаланушының идентификаторын мұра етеді және, әдетте, объектілерге кіруге тиісті құқықтары бар.
1.2Үдерістердің іске қосу
Процесс-бұл қазіргі уақытта орындалатын бағдарлама. Процесті орындау дәйекті түрде жүзеге асырылуы тиіс. Процесс жүйеде іске асырылуы тиіс негізгі жұмыс бірлігін білдіретін мән ретінде анықталады.
Процесті :
-ОС процесс контекст және дескриптор жасалынады.
-Кодтық сегментті оперативті жадқа жүктеледі.
-Дескриптор дайындықтағы процестер кезегіне орналастырылады.
Осы сәттен бастап процесс басталды деп санауға болады.
3 Сурет-Процесс бастамалы түрі(дерево процесса)
Процесс басталған кезде оған бірқатар файлдар бөлінеді. Әдетте, бұл файлдар процесте басталатын процестен мұра болып табылады. Жаңадан құрылған процесс өз кезегінде өзіне тиесілі файлдарды жасауы, өзгертуі және жабуы мүмкін. UNIX жүйесінде ұрпақтардың ата-анасы принципі бойынша процестердің қатаң иерархиясы орнатылады.Ата-ана ұрпағының жұмысын бақылауға, оның орындалуын тоқтатуға және ұрпағының орындалуын аяқтауға құқылы. Ұрпағы ата-анасына, "ағаларына",қатысты ешқандай құқықтары жоқ. Windows жүйесінде мұндай қатаң иерархия жоқ. Барлық процестер тең құқылы. Процестердің бірі емес (OS ядросынан басқа) басқа процестің жұмысын бақылауға құқығы жоқ.
1.3 Үдерістердің өзара әрекеттесуі
Процесстердің өзара әрекеттесуі -бұл параллель процестерді басқару моделі болып табылады. Осы процестер арасында деректер алмасу қалай жүргізілетінін және осы процестер бір-бірімен қалай синхрондалатынын анықтау арқылы жүзеге асады. Модель жұмыс жүктемесі теңдестірілген және процестер неғұрлым жоғары өнімділікпен жұмыс істеуі үшін неғұрлым білікті және қолжетімді қызметкерлерге жұмысты приоритизациялау және бағыттау жолымен синхрондалған процестерді оңтайландыруға арналған.
Процесс арасындағы өзара әрекеттесу тәуелді процестерге енгізілетін өзгерістерге жауап беретін параллель процестерді басқару үшін бірыңғай құрылымның болуын қамтамасыз ету болып табылады. Мұндай құрылым қажетті операциялар мен міндеттерді орындау үшін өзара іс-қимыл жасайтын процестер туралы деректерді пайдалану мүмкіндігін қамтамасыз етуі тиіс.
Үдерістердің өзара әрекеттесуі деректерді параллель өңдеу тәжірибесі үшін қажетті шарт болып табылады. Ол екі немесе одан да көп үдерістер, егер олар деректерді алмасу және синхрондау жолымен бір-бірімен өзара іс-қимыл жасаса, параллель орындалуы мүмкін екенін қарастырады. Сонда процестерді орындайтын қызметкерлер табысты аяқтау үшін бірлескен күш салуға мүмкіндік алады, ал қызметкерлердің жұмыс жүктемесі деректер (міндеттер, операциялар, өтулер және т.б.) есебінен оңтайландырылады.) процестің оңтайлы өнімділігін қамтамасыз ететіндей процестер арасында бөлінеді.
Үдерістер арасындағы өзара әрекеттесу:
1)Ақпаратты бір процестен екіншісіне беру
2)Процестердің қызметін бақылау (мысалы: Олар бір ресурс үшін күрескенде)
3)Үдерістердің әрекеттесуін келісу (мысалы: бір процесс деректерді жеткізгенде, екіншісі оларды баспаға шығарғанда. Егер келісілмесе, онда екінші процесс деректер түскеннен бұрын басылуы мүмкін).
4)Екі екінші жағдай ағынға жатады. Бірінші жағдайда ағындар проблема жоқ, өйткені олар жалпы мекенжай кеңістігін пайдаланады.Ақпаратты бір процестен екіншісіне беруге болады.
Беру бірнеше тәсілмен жүзеге асырылуы мүмкін:
1)Бөлінетін жады
2)Арналар (құбырлар), бұл бір процесс жазады, екіншісі оқиды.
Сокеттер-ортаның ерекшеліктерін жасыратын және бір компьютерде де, желіде де үдерістерді біркелкі өзара іс-қимыл жасауға мүмкіндік беретін Ядро қолдайтын механизм.Пошта жәшіктері (тек Windows), бір бағытты, кең тарату мүмкіндігі.Қашықтағы процедураны шақыру, а процесі В процесінде процедураны тудыруы мүмкін, және кері деректерді алу.
4 Сурет- Процестің орындалуы
2.Үдерістер құру және басқару алгоритмі
Процесс құру-бұл ең алдымен процесс сипаттаушысын жасауды білдіреді, ол ретінде процесс туралы барлық мәліметтерді қамтитын бір немесе бірнеше ақпараттық құрылымдар, оны басқару үшін қажетті.Процесті құру кодтар мен орындалатын бағдарлама деректерін дискіден жедел жадқа жүктейді. Бұл үшін ОЖ дискідегі осындай бағдарламаның орнын табуы, жедел жадты қайта бөлуі және орындалатын жаңа процесс бағдарламасына жадын бөлуі тиіс. Содан кейін бағдарламаны оған бөлінген жад учаскелеріне санауыңыз қажет және жадқа орналастыруға байланысты бағдарлама параметрлерін өзгертуге болады. Виртуалды жады бар жүйелерде бастапқы сәтте қалғандарын "сорып алу" үшін кодтар мен процесс деректерінің бір бөлігі ғана жүктелуі мүмкін. Бұл жүйенің негізгі мақсаты-басқару жүйесін құру болып табылады. Барлық осы іс-әрекеттерді орындау кезінде процестерді басқарудың кіші жүйесі жадыны және файлдық жүйені басқарудың кіші жүйесімен тығыз өзара іс-қимыл жасайды.
Мысал ретінде UNIX System V Release 4 операциялық жүйесінде процестерді құруды аламыз. Бұл жүйеде ағындар қолдау көрсетілмейді, басқару бірлігі және ресурстарды тұтыну бірлігі ретінде процесс болады.
Үрдістерді басқару кезінде операциялық жүйе ақпараттық құрылымдардың екі негізгі түрін қолданады: процесс дескрипторы және процесс контексті. Процестің дескрипторы процестің белсенді немесе пассивті күйде болуына қарамастан, процестің барлық өмірлік циклі ішінде ядро қажет процесс туралы ақпаратты қамтиды, жедел жадында процесс бейнесі бар немесе дискіге түсірілген. (Процесс ретінде оның кодтары мен деректерінің жиынтығы деп аталады.)
Үдерісті басқару блогы (Process Control Block - PCB) - әрбір үдеріспен байланысты келесі ақпаратты қамтитын үдерісті басқару үшін ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz