Процессті қоршалып қалудан құтқару (разблокирование). Жүйеде қандай да бір оқиға болып қалғаннан кейін, ол оқиғаның қандай екенін нақты анықтау керек. Содан кейін ОЖ оқиғаның «күту» күйінде беріген тұрғаны бар ма екенін тексереді, егер бар болса оқиғаның пайда болуына байланысты қажет әрекеттерді орындай отырып, «дайындық» күйіне ауыстырады (мысалы, күтіп тұрған процесс кезегі үшін енгізу-шығару операциясын жібереді және т.с.с.
Жанамаға қосылу (переключение). Осыған дейін біз процесстерде болатын операцияларды, яғни бір-біріне тәуелсіз операцияларды қарастырдық. Шын мәнінде мультипрограммалық ОЖ қызметі, яғни әр түрлі процесстерді орындайтын және де бірінен екіншісіне ауысатын процесстерді процессор ауысуын қадағалайтын операция тізбектерінен тұрады.
Көпесептілік. Санашық бір уақытта тек бір ағынды орындайды. Бірақ көпесептіліқ операциялық жүйеде пайдаланушыға бірнеше программаларды пайдалануға мүмкіндік береді:
- бір қордың босағанын немесе ағынның орындалуы үзілгенше ағын қолданылады;
- ағынның мәнмәтіні сақталады;
- ағынның мәнмәтіні жүктеледі
- орндалуды күткен ағындар бар болғанша бұл қайталау қайталанады.
Санашықтың бір ағынды орындау кезінде басқа ағынның орындалуына қайта қосылуын мәнмәтінінің қайта қосылуы дейміз. Көпесептілік жүйе орындайтын жұмыстың мөлшерін көбейтеді, өйткені көп ағындар үзілмей орындалмайды. Ағындар орындалуын тоқтатып, мысалы енгізу-шығару құрылғысының босауын күтуі мүмкін. Көпесептіліктің арқасында бір ағын күтуде болса, басқа ағын орындалуы мүмкін, соның арқасында санашықтың уақыты босқа кетпейді.
Ығыстыратын көпесептілік - көпесептіліктің түрі, бұнда ағынның басқа ағындардың орындалуына өзбетінше санашықтың босатуын операциялық жүйе күтпейді. Оның орнына алдын ала берілген уақытта немесе пұрсаттылығы жоғары ағын орындалуға дайн болса операциялық жүйе ағынды үзеді. Ығыстыру бір ағынның санашықты толық алуынан сақтайды және басқа ағындарға санашықтың уақытын қолдануға мүмкіндік береді.
Көпағындық. Паралельдікке жету үшін екі үрдісті қолдану барлық жағдайда тиімді емес. WinNT бұл проблеманы шешу үшін ыңғайлы жадыны бірігіп қолданатын механизмдердін құрады. Бұл механизмдерді қолданған жағдайларда да басқа проблемалар болуы мүмкін, сол жағдайда паралельдікке жету үшін көпағынды үрдіс қолданылады.
Көпағынды үрдістің екі немесе бірнеше ағындары болады олар бірігіп бір адрестік кеңістікті және қорды қолданады.
Көпағынды үрдісті қолдану – серверлі қолданбаларға тиімді шешім, ол клиенттерден сұраныс қабылдайды және әр сұраныс бойынша бір кодты орындайды. Мысалы, файл-сервер файлдармен жұмыс жасайтын операциялар, бірақ әр сұраныс серверден өзінің файлымен жұмыс істеуді сұрасада, сервер программасы жадыға тек бір рет жүктеледі. Әр келетін сұраныс қажет функциясын орындайтын сервердің бөлек ағындарымен қабылданады және өңделеді.
WinNT – де паралельдікке жету үшін екі үрдісті қолданады олар арнайы арналар арқылы әрекеттеседі. Сондықтан WinNT бағыныңқы жүйелері бөлек серверлі үрдістер ретінде жүзеге асырылған және қорғалған деп аталады.
Үрдістерді басқаратын уақиғалық тітіктер. Үрдістер әрекеттестігі. Позициялық түрде үрдісті басқару үш топқа бөлінеді:
тәуелді үрдістер – үрдістің барлық өмір сүру периодында автономды орындалады;
бірігіп орындалатын үрдістер – таратылатын есептеу алгоритмі негізінде әрекеттеседі;
бәсекелес үрдістер – жалпы қорлар негізінде әрекеттеседі.
Үрдістің өмірі бірнеше бөлек кезеңдерден тұрады:
1. Үрдісті құрунемесе бастапқы пайда болуы . ОЖ кесесінде үрдіс туралы басқарушы жазба құрылады. Бұл жазбада идентификацияланатын ақпарат болады.
2. Инициализация. Бұнда үрдістің орындалуына қажетті қорлар анықталады.
3. Үрдісті белсенділеу. Бұл кезеңде үрдіске санашық қоры бөлінеді және орындалуға жіберіледі. Үрдістің орындалу кезінде ол бұғаттау немесе күту күйінде болуы мүмкін.
4. Ұрдіс аяқталғаннан кейін оның жойылуы басталады.
Бәсекелес үрдістерді басқару негізіне критикалық интервалда басқару әдісі белгіленген. Бұл әдістің негізі коллективті қатынау ішінде әр бір үрдіске өзінше автономды жұмыс жасау үшін уақыт интервалын анықтау мағынасы жатыр.
Бұл талаптар келесі түрде анықталады:
әр бір уақыт интервалында тек қана бір үрдіс болу керек
интервалда үрдіс көп уақыт болмауы керек
үрдістер критикалық интервалға шығуды көп уақыт күтпеу керек.
Көрсетілген принциптер арнайы басқаратын программалар көмегімен жүзеге асырылады, бұл программаларды жолшамдар деп атайды.
Үзіліспен алып тастау - ол ОЖ-гі күйлер. Олар программаны немесе аппаратты анықталады. Үзу немесе алып тастау анықталғанда санашық сол уақытта орындап жатқан жұмысын тоқтатады және басқаруды пайда болған күйді өңдейтін код мекені бойынша жадының ерекше аймағына береді. WNT бұл кодты қақпан өңдеуші деп атайды. (trap hondeer).
NT ядросы үзу және алып тастауды ажыратады. Үзіліс (interrupt)- санашықтың қандай жұмыс орындап жатқанына қарамайтын кез-келген уақытта болатын асинхронды жағдай. Көбінесе үзу енгізу-шығару құрылғыларының әсерінен болуы мүмкін.
Алып тастау (excaption)-синхронды қателі қалып-күй, машиналық команда арқылы орындалады. Мысалы, жадының қорғанысының бұзылуы.
WNT ядросы жүйелік қызмет көрсетудің шақыруын нәтиже ретінде қарастырады. (бірақ ол жүйелік қақпандар).
Үзілістің типтері және пұрсаттылықтары. Әр түрлі санашық әр түрлі типті және әр түрлі мөлшер үзілістерді анықтайды. ОЖ танитын үзіліс деңгейлерінің стандартты жинақысына үзіліс диспетчері, үзілістің аппаратты деңгейлерін бейнелейді. Үзіліс деңгейлері үзілісті пұрсаттылығымен бөледі. Ядролық режимде ағын өзі орындалып жатқан санашықтың үзіліс деңгейін көтеріп немесе төмендетуі мүмкін. Пұрсаттылық кезегі бойынша үзіліс қызмет етеді. Үзіліс жоғары пұрсаттылығымен төмен пұрсаттылықты үзілістің орындалуын басып алады.
Үзіліс деңгейі
Үзіліс типтері
1. жоғарғы деңгей
2. қоректендіру деңгейі
3. санашықтық аралық деңгей
4. таймер деңгейі
5. санашық-құрылғысының деңгейі
6. 1-құрылғының деңгейі
7. диспетчерлі деңгей
8. процедураны асинхронды шақыру деңгейі
9. төменгі деңгей
Аппараттық тексеру немесе құрсым қатесі
Қоректендірудің жаңылысуы
Басқа санашықтан сұраныс
Интервалды сұраныс
Пұрсаттылығы жоғары енгізу-шығару құрылғысы.
Пұрсаттылығы төмен енгізу-шығару құрылғысы.
Ағындарды жоспарлау және кейінге қалдырылған щақыру процедураларының өңделуі.
Процедураларды асинхронды шақырудың өңделуі
Ағындардың кәдімгі орындалуы.
1 ден 6 деңгейге дейін аппаратты үзіліске арналған;
7-8-программалық үзілістер деңгейі (ядро генерациялайды);
9 деңгей, төменгі деңгей-ол үзліске жатпайды.
Үзілістерді орналастыру. Үзілістер көбінде аппаратты енгізу – шығару құрылғысынан болады, олар санашыққа өздеріне қызмет көрсету жайында хабар беруі керек. Үзілістерді жасайтын құрылғылар, ОЖ –ге есептеу уақытын және енгізу- шығару операциясын сәйкестендіру арқылы санашықты максимальды жүктеуді қамтамассыз етеді. Санашық құрылғыда енгізу – шығару операциясын іске қосады және деректер тасымалданғанша басқа ағындарды орындайды. Құрылғы алмасуды аяқтаған соң, ол келесі қызмет көрсету үшін үзілісті орындайды. Координатты құрылғылар, баспа құрылғылары, тегергіштер, торапты карталар көбінесе үзілісті жүзеге асырады.