Processes & Threads

Download Report

Transcript Processes & Threads

Модуль 2:
Ағымдар мен процесстер
1
Ағымдар мен процесстер
Процесстер
 Процесстің концепциясы
 Процесстің моделі
 Процесстің күйі

2
Процесстің моделі
Программа, деректер, күй
 Берілген уақытта орталық
процессормен тек бір ғана процесс
өнделеді

3
Процессті құру
Процесстер бірнеше жолмен құрылады
 Бір процесстің басқа процесспен өрнектелуі
 ОЖ-ні жіберген кезде бірнеше процесстер
құрылады:
 Фондық
(system daemons)
 Қолданушы және берілген жұмыстың орындалуының
арасындағы (user programs) қатынасты құрайды.

Үлкен компьютерлердегі жаңа пакеттік есептер.
 Берілген
есепке жауап ретінде процесс құрылады.
4
Процессті аяқтау

Процесс мынадай түрде аяқталуы мүмкін
 Қасақана
 Қасақана

емес
Қасақана
 Кәдімгі
шығу
 Қате жағдайда шығу

Қасақана емес
 Жөнделмейтін
қате жағдайда шығу
 Басқа процессормен бұзу
5
Процесстің иерархиясы
Жалпы процесс аналық процессті құра
алады
 Аналық процесс өзінің жеке аналық
процессін құра алады

6
Процесстің жағдайы
Процесс жағдайының 5 түрі бар:
 Жаңа
(created)
 Жұмысқа дайын (ready)
 Жұмыс істеуші (running)
 Кілттенген (blocked)
 Аяқтаушы (exit)
7
Бір жағдайдан басқа жағдайға өту
1 – процесс ОЖ-ң орындалатын
процесстерінде орналасады.
Created
2 – ОЖ жұмысқа дайын бір
процессті жаңа процессті
тандау кезінде қолданады.
(жоспарлаушыны процесс
тағайындайды)
1
Ready
2
5
3
Blocked
(waiting)
Running
4
7
7
Exit
6
3 – процесстердің үзілісі
орындалады
4 –жағдайдың түсуін процесс
күтеді (such as I/O)
5 – жағдайдың орындалуы
6 – процесс орындалуды
аяқтайды
7 – процесс басқа процесспен
аяқтайды.
8
Процесс жағдайы
Жаңа
(new or created)
Жұмысқа дайын (ready)
Жұмыс істеуші (running)
Кілттенген (blocked)
Аяқтаушы (exit)
9
10
а) бір кезектегі кілттенген процесстердің схемасы
11
б) бірнеше кезектегі кілттенген процесстердің схемасы
12
Процессті тоқтату



Енгізу-шығару операциясына қарағанда
процессор тез жұмыс жасайды
? : свопинг – процесстің бөлігін негізгі жадыдан
дискке көшіруден тұрады
ОЖ процесстің біреуін дискке орналастырады. 2
ОЖ өндеу үшін процессті тандау мүмкіндігі :
 Жаңа
процесс құру
 Алдында тоқтатылған процессті өндеу
 2 жаңа жағдай
 кілттенген/тоқтатылған
 дайын/тоқтатылған
13
Бір тоқтатылған жағдаймен өту
диаграммасы
14
Екі тоқтатылған жағдаймен өту
диаграммасы
15
Процесстерді сипаттау
16
Процесстерді құру
Жаңа процесске тиімді
идентификаторды меншіктеу
 Процесске бөлінген кеңістік
 Процессті басқару блогын
инициализациялау
 Керекті байланысты орнату
 Басқа құрылымдық мәліметтерді құру
немесе кеңейту

17
ОЖ басқаратын құрылымдар
Әр процесстің және ресурстың жағдайы
туралы мәліметтер ОЖ-де болуы керек
 Басқару процессінің блогына - process
control block, PCB) нұсқау туралы
мәліметерден тұратын процесстің
кестесін құруы және қолдауы ОЖ-н
орындалады

18
Process control block

PCB ОЖ-ң процессті басқаруға(структура PCB зависит
от реализации ОС) қажетті мәліметтерінен тұрады:
 PID
 Процесстің қазіргі жағдайы
 PC
 Процесстің приоритеті
 Мүмкіншілігі
 Жалпы процесске нұсқау
 Аналық процесске нұсқау
 Жадыдағы нұсқағыш мәліметтері және процесстердің
инструкциясы
 Процесс ресурстарына бөлінген нұсқағыштар +
+ орындалу контексті
19
Орындалатын процесстің
контексті
Орындалу жағдайынан шығуда құрылады
 Егер процесс орындалу жағдайына
қайтса,онда ОЖ контексті орындалуын
қайта құрады
 Оған кіретіндер:

 Жалпы
тағайындалған регистрлердің мазмұны
 Процессті басқару регистрлерінің мазмұны
20
Контекстке өту
1.
2.
3.
4.
5.
P1 процессі процессорде орындалады
Үзілістен жаңа сигнал түскеннен кейін, ядро
жаңа процессті таңдау туралы шешім
қабылдайды және контекстке өтуін
қамтамасыз етеді
Р1 процессінің РСВ негізгі жадысындағы
контексті орындалуды ядро сақтайды
Р2 процессінің оның РСВ негізгі жадысында
контексті орындалуын ядро меншіктейді
Р2 процессі процессорде орындалады
21
Үзіліс
Үзіліс арқылы құрылымға түскен
сигналдарға ПО жауап береді
 Синхронды (ловушка - trap)

 Орындалып

жатқан процесспен өрнектелу
Асинхронды
 Берілген
процесс құрылысына қатысты емес
жағдайлармен өрнектелу
22
Үзілісті өндеу

Үзіліс таймеріне жауап ретінде ОЖ мен
аппараттық қамсызданудың ара қатынасы
Р1 процессі
уақыт
үзіліс
Үзіліс векторы
Үзілісті өндеуші
Жадыдағы
контексті
орындалудың
уақытша сақталуы
Р2 процессі
23
Үзілісті өндеуші
Процессор қабылдайтын сигналдар
 үзіліс
(анықталған жағдайлардың түсуіне
қанағаттану)
енгізу/шығару
 таймер
 Процессораралық

 Шектеу
(қатенің туы туралы мағлұмат береді)
Қателесу
 Қақпан
 Авариялық аяқтау

24
Сұрақтар








Қандай екі түрлі сигналды процессор қабылдай
алады?
Үзілісті өндеу туралы мәліметтер қайда сақталады?
Синхронды үзіліс дегеніміз не?
Келесі контексті қосу кезінде ОЖ процесстің контексті
орындалуын қайдан алады?
Процесс кестесі не үшін қажет?
РСВ құрылымы ОЖ реализациясына байланысты ма?
Бір процесспен процессорды монопольды ұстауды
тоқтату ОЖ – де қалай орындалады?
Неге кілттенген процесстердің тізімін реттеу приоритет
бойынша мағынасын жоғалтқан?
25
Сұрақтар




ОЖ жұмыс атқару қолайлы болу үшін кванттық
уақыттың өлшемін дұрыс тандау керек. Уақытты бөлу
арқылы бір процессорлы жүйені
қарастырайық.Процессор процесске келгенде таймер
үзілісі берілген квантық уақытқа байланысты үзілістің
аяқталғанын көрсетеді. Сондықтан да барлық
процесске бір кванттық уақыт қолданады.
Егер үлкен өлшемді кванты алсақ не болады?
Егер кванттың ең кіші мағынасын орнатсақ не болады?
Квантты кішкене ғана үлкейту арқылы оның
мағынасын басқаруға болады деп болжайық. Дұрыс
шешімге жету жағдайын қалай анықтаймыз?
26
27
Процессті басқару блогы
Процесс идентификациясы
 Идентификаторлар

Процесстің басқару блогында сақталатын
сандық идентификаторлар
 Берілген процесстің идентификаторы
 Жалпы процесстің идентификаторы
 Қолданушы идентификаторы

Процесс жағдайы туралы ақпарат
 Процессті басқаратын ақпарат

28
29
Процесске көшу
Таймерді тоқтату
 Енгізу – шығаруды тоқтату
 Блокта жадының жоқтығы туралы
қателік

30