Қалып-күй арасындағы мүмкін болатын ауысулар
1. Үрдіс блокталады, енгізілетін мәліметтерді күте отырып
2. Жоспарлаушы басқа үрдісті таңдайды
3. Жоспарлаушы тап осы үрдісті таңдайды
4. Енгізілетін мәліметтер түсті
2-ші және 3-ші ауысулар операциялық жүйенің үрдістерді жоспарлаушысы арқылы шақырылады. Үрдістердің өздері осы ауысулар туралы тіпті білмейді. Үрдістердің көзқарасы бойынша орындалудың және күтудің екі қалып-күйі бар. Серверлерде клиент сауалына жауапты тездету үшін, жиі күту тәртібіне бірнеше үрдісті жүктейді. Сервер сауалды алғаннан кейін, үрдіс «күту» тәртібінен «орындалу» тәртібіне ауысады. Бұл ауысу жаңа үрдісті іске қосқаннан көрі едәуір тез орындалады.
Ағындар (жіптер, жеңілдетілген үрдіс)
Ағын түсінігі
Әрбір үрдіске адрестік кеңістік және орындалатын командалардың жеке ағыны сәйкес келеді. Клиентке қызмет көрсету үшін көп пайдаланылатын жүйелерде бір сервиске әрбір қатынаған сайын жаңа үрдіс құруға тура келеді. Бұл, осы үрдіс ішінде бір адрестік кеңістігі бар квазипаралельді ағын құруға қарағанда кемірек пайдалы.
Көпағынды жүйені бірағынды жүйемен салыстыру
Ағын үлгісі
Әрбір ағынмен байланысады:
Командаларды орындау санауышы
Ағымдағы айнымалылардың регистрлері
Стек
Қалып-күй
Ағындар өзара өз үрдісінің элементтерін бөледі:
Адрестік кеңістікті
Глобальды айнымалыларды
Ашық файлдарды
Таймерлерді
Семафорларды
Статистикалық ақпараттарды.
Қалғанында үлгі үрдістердің үлгілеріне ұқсас.
POSIX және Windows -та түйін деңгейінде ағындардың сүйеуі бар.
Linux –те ағындарды құруға арналған clone атты жаңа жүйелік шақыру бар. Бұл UNIX жүйесінің барлық қалған версияларында жоқ.
POSIX –те ағындарды құруға арналған pthread_create жаңа жүйелік шақыру бар.
Windows –та ағындарды құруға арналған Createthread жаңа жүйелік шақыру бар.
Ағындарды қолдану артықшылықтары
Жалпы адрестік кеңістікті қолдану арқылы кейбір жағдайларда программаны оңайлатуға болады.
Ағын құру шапшандығы үрдіспен салыстырғанда 100 есе тез.
Программаның өнімділігінің жоғарылауы. Оның себебі процессорда есептеулерді және енгізу – шығару операцияларын бір уақытта орындау мүмкіншілігі бар болғандықтан. Мысалы, мәтіндік редактор үш ағынмен бір уақытта бірлесіп әрекет қыла алады: пайдаланушымен жұмыс жасайды, мәтінді форматтайды және резервтік көшірмені таспаға жаза алады.
Пайдаланушы, ядро және араласқан кеңістіктерінде ағындарды орындау
А –пайдаланушы кеңістігіндегі ағындар
B – түйін кеңістігіндегі ағындар
А жағдайында, түйін ағын туралы ештеңе білмейді. Әрбір үрдіске үрдістердің кестесіне ұқсас ағындардың кестесі қажетті.
А жағдайының артықшылығы:
Осындай көпағындықты, көпағындықты қолдамайтын түйінде (ядрода) іске асыруға болады
Ағындарды жылдам ауыстырып қосу, құру және аяқтау
Үрдістің өзіне меншікті жоспарлау алгоритмы болуы мүмкін.
А жағдайының кемшілігі:
Бір үрдіс ішінде таймерден үзудің жоқ болуы
Тосқауылдаушы (үрдіс күту тәртібіне ауыстырылады, мысалы: клавиатурадан оқу, ал мәліметтер түспейді) жүйелік сұраныстарды қолданғанда, ағындардың барлық қалғаны тосқауылданады.
Орындау қиындығы
Достарыңызбен бөлісу: |