Processes and Threads

Download Report

Transcript Processes and Threads

Процестер мен ағымдар
Процестің концепциясы:
 Ресурстарды игеру (resource ownership) 

Виртуальды адрестік кеңістік, негізгі жады,
енгізу/шығару құрылғысы, файлдар және т.б.
Жоспарлау/орындау (scheduling/execution) 
Процестің күйі, ОЖ жүзеге асыратын жоспарлау мен
басқаруға сәйкес ағымдағы приоритет
Процестер мен ағымдар



Басқару бірлігін, әдетте, ағым (thread) немесе
жеңілдетілген процесс (lightweight process) деп
атайды
Ресурстарды игеру бірлігін процесс деп атайды
Көпағымдылық (multithreading) – бір процестің
барысында бірнеше ағымды қолдайтын ОЖның қабілеті
MS DOS
Unix
Java
Windows 2000, Linux, Solaris
Процестер мен ағымдар

Көпағымды ортада процесс төмендегідей
анықталады:



Ресурстарды бөлудің құрылымдық бірлігі ретінде
Қорғаудың құрылымдық бірлігі ретінде
Процестермен келесі элементтер байланысады:


Виртуальды адрестік кеңістік
Процессорға, басқа процестерге, файлдарға және
енгізу-шығару ресурстарына қорғалған қол жеткізу
Ақпарат
Процесте
Виртуальды адрестік кеңістік
Ашық файлдар
Туынды процестер
Сигналдар және өңдеушілер
Ақпараттар тіркеуі
Ауқымды айнымалылар
Ағымда
Ағымда
Күйі
Орындау стегі
Сақталған контекст
Программа санағышы
Ағымның статикалық жадысы
Жадыға және ресурстарға қол
жеткізу
Күйі
Орындау стегі
Сақталған контекст
Программа санағышы
Ағымның статикалық жадысы
Жадыға және ресурстарға қол
жеткізу
Ағымдар
Ағымдар процесті бөледі:
 адрестік кеңістік
 ауқымды айнымалылар
 жүйелік ресурстар
 ашық файлдар
 таймерлер
 семафорлар
 статистикалық ақпарат
Ағымдар
Әр ағым келесілерден тұрады:





программа санағышы
стек
регистрлер
нити-потомки
күйі
=>
енді процесс өзара әрекеттесуші
ағымдар мен оған берілген ресурстардың
жиынтығы ретінде қарастырылады
Ағымдар мен стектер
Ағым 1
Ағым 2
Ағым 3
Қолданушы
кеңістігі
Процесс
Ағым 1-ң
стегі
Ағым 3-ң
стегі
Ағым 2-ң
стегі
Ядро
=> Әрбір ағымның өзінің жеке стегі бар!
Ағымдардың артықшылығы




Жаңа процестің құрылу уақытына қарағанда
азырақ уақыт алады
Процеске қарағанда жұмысын тезірек
аяқтайды
Процестің барысында ағымның қайта
қосылуы тезірек жүреді
Бір процестің барысында ағымдар,
сәйкесінше, бір жады облысы мен
файлдарды қолданғандықтан, олар ядроның
қатысынсыз-ақ ақпарат алмаса алады
Ағымның күйі
процесс
инициализациаланады
жаңадан
құрылу
жұмысқа
дайын
бір бөлігі
аяқталады
аяқтау
процесс
аяқталады
басқарушы
жұмыс
істеуші
Ағымның күйі процестің күйімен сәйкес
енгізу-шығару
аяқталады
кілттенген
енгізу-шығару
сұраныс
жасайды
Мысал
а массивін енгізу
b массивін енгізу
с массивін енгізу
a=a+b
c=a+c
с массивін шығару
Ағым 1
Ағым 2
Ағым 2-ні құру
Ағымдар контекстін қайта қосу
a және b-ң енгізілуін күту
Ағымдар контекстін қайта қосу
а массивін енгізу
Енгізу операциясының аяқталуын күту
b массивін енгізу
Енгізу операциясының аяқталуын күту
с массивін енгізу
Енгізу операциясының аяқталуын күту
Ағымдар контекстін қайта қосу
a=a+b
Ағымдар контекстін қайта қосу
c=a+c
с массивін шығару
Шығару операциясының аяқталуын күту
Ядро деңгейіндегі ағымдар

Ядро деңгейіндегі ағымда процессорды
қолдануды жоспарлау ағымдар
терминінде жүргізіледі, ал жадыны
және жүйелік ресурстарды басқару
процестер терминінде қалады
Кітапхана деңгейіндегі ағымдар
Қолданушы кітапхана деңгейіндегі ағымда
процессорды жоспарлау және жүйелік
ресурстарды басқару процестер терминінде
жүргізіледі. Уақытша аралықта берілген
процесс барысында процессорды қолдануды
ағым бойынша бөлу кітапхана әдістерімен
жүргізіледі. Осындай жүйелерде бір ағымның
кілттенуі барлық процестің кілттенуіне алып
келеді, әйтпесе операциялық жүйенің ядросы
ағымның бар болғандығы туралы ешнәрсе
білмейді.
Ядро және кітапхана
деңгейіндегі ағымдар
Процесс
Ағым
Ядро
Ағымдағы Ағымдар Процестер
уақыттың кестесі
кестесі
жүйесі
Кітапхана деңгейіндегі ағымдар
Ядро
Процестер
кестесі
Ағымдар
кестесі
Ядро деңгейіндегі ағымдар
Жоспарлау

Процессорды жоспарлаудың мақсаты –

Жоспарлаудың механизмі
Пакеттік жүйелердегі жоспарлау
Интерактивті жүйелердегі жоспарлау
Жоспарлаудың басқа түрлері




жүйелік талаптарды қанағаттандыру үшін процессор
арқылы қызмет көрсетілетін процестерді уақыт
бойынша келесі жолмен бөлу: дыбыс беру уақыты,
істеп шығару қабілеті, процессор жұмысының
тиімділігі
Процестерді
жоспарлаудың алгоритмі
Процестерді жоспарлау келесі тапсырмаларды
шешеді:
 орындалып жатқан процестің ауысуына арналған
уақыттың сәтін анықтау;
 дайын процестердің кезегінен орындалуға
жіберетін процесті таңдау;
 «ескі» және «жаңа» процестердің контекстін
қайта қосу.
Жоспарлаудың типтері



Ұзақмерзімді
Ортамерзімді
Қысқамерзімді
Ұзақмерзімді жоспарлау



Жүйенің орындалуына қандай
программаның жіберілетінін көрсетеді
Көпесептіліктің ретін басқарады
Процесс көбірек құрылатын болса,
әрқайсысының орындалуына уақыт
пайызы азырақ кетеді
Ортамерзімді жоспарлау


Свопинг жүйесінің бөлігі
Процесті жадыға жүктеу туралы
шешімді қабылдайды
Қысқамерзімді жоспарлау




Басқарушы ретінде белгілі
Өте жиі орындалады
Келесі қандай процесс орындалатынын анықтай
отырып жұмыс істейді
Ағымдағы процесті тоқтататын немесе басқаға
тиімді болу үшін берілген процестің орындалуын
аяқтауға мүмкіндік беретін оқиғалардың
басталуы кезінде шақырылады




Таймердің үзілісі
Енгізу-шығарудың үзілісі
Операциялық жүйенің сұраныстары
Сигналдар
Қысқамерзімді
жоспарлаудың критерийлері

Қысқамерзімді жоспарлаудың
мақсаты–



жүйелік талаптарды қанағаттандыру үшін процессор
арқылы қызмет көрсетілетін процестерді уақыт
бойынша келесі жолмен бөлу: дыбыс беру уақыты,
істеп шығару қабілеті, процессор жұмысының
тиімділігі
Қолданушының талаптары
Жүйелік талаптар
Таңдау функциясы


Келесі болып орындалу үшін
орындалуға дайын процестердің
қайсысы таңдалатынын анықтайды
Таңдауға арналаған өлшемдер:



w – осы сәттегі жүйеге кеткен уақыт (күтуі
және орындалуы)
e – осы сәттегі орындалуға кеткен уақыт
s – процеске қажетті қызмет көрсетудің жалпы
уақыты
Приоритеттің сандық мағынасы көбірек болған сайын, приоритеттің өзі
төменірек болады
Шешімдер режимі

Таңдау функциясы уақыттың қай сәтінде
орындалатынын анықтайды
Шешімдер режимінің категориясы:
 Ығыстырылмайтын


орындалып жатқан процесс аяқталғанша немесе
кілттенген күйге түскенше орындала береді
Ығыстырылатын

Орындалып жатқан процесс үзілуі және дайын күйге өтуі
мүмкін (ығыстырылу).Ығыстырылу туралы шешім жаңа
процестің үзіліс бойынша жіберілуі кезінде, таймер
үзілісінің негізінде қабылданады
Процесті жоспарлауға мысал
First-Come-First-Served
(FCFS)
0
5
10
15
20
1
2
3
4
5


Егер процесс орындалуға дайын болса , онда ол дайын
процестердің кезегіне қосылады
Орындалу үшін кезекте тұрған процестердің ең ұзағы
таңдалады
Жоспарлау стратегиясын кілттік нәтиже
бойынша салыстыру

Айналу уақыты Tr (turnaround time - TAT) –


күту уақыты + қызмет көрсету уақыты
Қалыпты толық уақыт (процессор арқылы
байқалатын салыстырмалы кідірісті
көрсетеді)–

толық уақыт/қызмет көрсету уақыты
First-Come-First-Served
(FCFS)


қысқа процестер өзінің қызмет көрсету уақытын
өте ұзақ күтуі мүмкін
енгізу-шығаруға бағытталған процестер
процессордың қолданылуына бағытталған
процестің жұмысы аяқталғанша күту жағдайында
тұруы керек
Шеңберлі жоспарлау
(Round-Robin)
0
5
10
15
20
1
2
3
4
5




Таймердің негізінде ығыстыруды қолданады
Таймер үзілісті уақыттың анықталған аралығы арқылы
басқарады
Үзіліс болған кезде , осы сәтте орындалып жатқан процесс
дайын процестердің кезегіне тұрады
Кванттық уақыт ретінде белгілі (time slicing)
Келесісі ең қысқа процесс
(SPN- Shortest 5Process Next)
0
10
15
1
2
3
4
5


Орындалуға күту уақыты ең аз процесс таңдалады
Әрбір процесс талап ететін орындалу уақытының бағасы
керек
20
Ең аз қалған уақыт
(Shortest Remaining Time - SRT)
0
5
10
15
20
1
2
3
4
5


SPN стратегиясының ығыстырылған түрі
Жаңа процесс дайын. Жоспарлаушы процестің орындалу
уақытының бағасынан кейін ығыстыруды қолданады
Дыбыс берудің ең жоғарғы
қатынасы
(Highest Response Ratio Next - HRRN)
0
5
10
15
20
1
2
3
4
5

Ағымдағы процестің кілттенуі немесе аяқталуы
кезінде дайын процестердің ішінен мәні ең үлкен
процесс таңдалады
Процестің күтуіне кеткен уақыт + қызмет көрсетудің күткен уақыты
Көпдеңгейлі қайтару
(multilevel feedback)
0
5
10
15
1
2
3
4
5

Динамикалық механизммен ығыстырылған
жоспарлау (кванттық уақыт бойынша)
20
Әділ (дұрыс) жоспарлау
(Fair-Share Scheduling)

Берілген қолданушының жүйелік ресурстарды
қолданудың бір бөлігін анықтау үшін әр
қолданушыға анықталған салмақ көрсетілген
Сұрақтар









Процесті жоспарлаудың 3 типін сипатта.
Интерактивті ОЖ жағдайында жұйенің өнімділігіне қандай
талаптар критикалық болып табылады?
Процесті жоспарлау кезінде қандай приоритет (жоғарғы
немесе төменгі) аз мән көрсетеді?
Ығыстырылған жоспарлау мен ығыстырылмаған
жоспарлаудың айырмашылығы неде?
Шеңберлі жоспарлауды қысқаша сипаттаңыз.
FCFS-жоспарлауды қысқаша сипаттаңыз.
Ең қысқа процесті таңдау стратегисын қысқаша сипаттаңыз.
Ең аз қалған уақыт стратегиясын қысқаша сипаттаңыз.
Дыбыс берудің ең жоғарғы қатынасы стратегиясын қысқаша
сипаттаңыз.
Тапсырмалар (1)


Процестер жиыны
берілген.
Берілген жиын үшін
жоспарлау
стратегиясының
салыстырмалы анализін
орында.
Процестің аты
Іске қосылу
уақыты
Қызмет
көрсету
уақыты
A
0
3
B
1
5
C
3
2
D
9
5
E
12
5
(2)


Процестің аты
Процестер
жиыны берілген.
Берілген жиын үшін
A
жоспарлау стратегиясының
салыстырмалы анализін
B
орында.
Іске қосылу
уақыты
Қызмет
көрсету
уақыты
0
1
1
9
C
2
1
D
3
9
(3 )
Есептеуіш орталыққа бірмезгілде 5 пакеттік тапсырма түседі.
Олардың жұмысының күту уақыты сәйкесінше ̶ 15, 9, 3, 6, 12
минут. Тапсырманың берілуі кезінде анықталған олардың
приоритеттері сәйкесінше 6, 3, 7, 9, 4-ке тең. Төменде көрсетілген
әрбір алгоритм үшін әрбір процестің айналу уақытын және барлық
процестің орташа айналу уақытын анықта. Процестің қайта
қосылуымен байланысты жинақталған шығындар есептелмейді.

Кванттық өлшемі = 1 мин шеңберлі жоспарлау.

Приоритеттер тізімімен жоспарлау.

Процестерді жіберу кезінде FCFS келесі ретпен орындалады: 15, 9,
3, 6, 12.

Ең қысқа тапсырма бірінші орындалады.
Соңғы 3 жағдайда анықталған уақыт сәтінде тек бір процесс ғана
жұмыс істейді деп алынған, ығыстырылу болмайды және барлық
тапсырма есептеуге бағытталған.

Ағымдар тақырыбына
сұрақтар




Процесс түсінігіндегі әр түрлі және бір-бірінен
тәуелсіз екі мінездемесін атаңыз.
Ағымның қайта қосылуы процестің қайта
қосылуына қарағанда арзанырақ болуының
себептерін атап шығыңыз.
Қандай ресурстар, әдетте, процестің барлық
ағымдарына қолданылады?
Егер процесс аяқталса, бірақ оның қандай да бір
ағымдары әлі де орындалып жатады, онда олар
әрі қарай орындала береді ме?
1 вариант:
1. Процесс түсінігіндегі әр түрлі және бір-бірінен тәуелсіз
екі мінездемесін атаңыз.
2. Процесті жоспарлау кезінде қандай приоритет (жоғарғы
немесе төменгі) аз мән көрсетеді?
3. Ығыстырылған жоспарлау мен ығыстырылмаған
жоспарлаудың айырмашылығы неде?
2 вариант:
1. Процесті жоспарлаудың 3 типін сипаттаңыз.
2. Қандай ресурстар, әдетте, процестің барлық
ағымдарына қолданылады?
3. Интерактивті ОЖ жағдайында жұйенің өнімділігіне
қандай талаптар критикалық болып табылады?