Білім беру бағдарламасы Инновациялық технологиялар факультеті «Ақпараттық технологиялар және қауіпсіздік» кафедрасы 2023 Алғысөз



бет3/107
Дата19.12.2023
өлшемі0.83 Mb.
#487093
түріБілім беру бағдарламасы
1   2   3   4   5   6   7   8   9   ...   107
сессия ответы

4.Ағындарды диспетчерлеу

Бағдарлама нұсқауларының орындалу реті Бағдарлама ішіндегі басқару ағыны деп аталады. Орындау кезінде ағынға қол жетімді жадтың мазмұны ағын контексті деп аталады.


Мультипрограммалық операциялық жүйелердегі ағындарға қызмет көрсетудің жалпы тәсілі келесідей. Процессордың жұмыс уақыты жұмыс үшін ағындарға бөлінетін кванттарға (интервалдарға) бөлінеді. Уақыт квантынан кейін ағынның орындалуы үзіліп, процессор басқа ағынға тағайындалады. Ағындар арасында уақыт кванттарын бөлу ағындарды басқару деп аталатын арнайы бағдарламамен айналысады.
Ағын менеджері процессорды басқа ағынның орындалуына ауыстырған кезде, ол келесі әрекеттерді орындауы керек:
* үзілген ағын мәнмәтінін (контекстін) сақтау;
* үзіліс кезінде іске қосылған ағынның мәнмәтінін қалпына келтіріңіз;
* басқаруды іске қосылған ағынға өткізіңіз.
Процесс немесе тапсырма - бұл компьютерде орындалатын қосымша, оны орындау үшін қажет барлық ресурстармен бірге. Процесті орындау үшін қажет барлық ресурстар процестің контексті деп те аталады. Процесс міндетті түрде келесі ресурстарға жатады:
* процестің адрестік кеңістігі;
* процесс контекстінде орындалатын ағындар.
Сондай-ақ, Windows-тағы ағын-бұл операциялық жүйе қосымшаны орындау үшін процессор уақытын бөлетін ядро нысаны.
Windows операциялық жүйелерінде екі түрлі ағындар бар:
* жүйелік ағындар;
* пайдаланушы ағындары.
Жүйелік ағындар операциялық жүйенің әртүрлі қызметтерін орындайды және операциялық жүйенің өзегімен іске қосылады.
Пайдаланушы ағындары пайдаланушының мәселелерін шешуге қызмет етеді және Қолданба арқылы іске қосылады.
Жұмыс істейтін қосымшада екі түрлі ағындар бар:
* жұмыс ағындары (working threads);
* пайдаланушы интерфейсінің ағындары (user interface threads).
5.Процестер мен ағындарды құру

Жұмыс ағындары қолданбада әртүрлі фондық тапсырмаларды орындайды. Пайдаланушы интерфейсінің ағындары терезелермен байланысты және сол терезелерге келетін хабарламаларды өңдейді. Әрбір бағдарламада кем дегенде бір ағын бар, ол бастапқы (primary) немесе негізгі (main) ағын деп аталады. Консольдік қосымшаларда бұл негізгі функцияны орындайтын main. Графикалық қосымшаларында бұл WinMain функциясын орындайтын ағын.


Ағын CreateThread функциясы арқылы жасалады. Ағын ExitThread функциясын шақырумен аяқталады. Бұл функция ағын функциясынан мәнді қайтарған кезде анық немесе анық шақырылуы мүмкін. Бір ағын TerminateThread функциясын шақыру арқылы басқа ағынды аяқтай алады. Әр ағынның орындалуын SuspendThread функциясын шақыру арқылы тоқтатуға болады. Бұл функция тоқтата тұру есептегішінің мәнін 1-ге арттырады. Ағынның орындалуын қалпына келтіру үшін resumethread функциясы қолданылады, ол тоқтата тұру есептегішінің мәнін 1-ге төмендетеді. Ағын тоқтата тұру есептегішінің мәні нөлге тең болған жағдайда ғана орындалуы мүмкін. Ағын Sleep функциясын белгілі бір уақытқа шақыру арқылы оның орындалуын кешіктіруі мүмкін.
Сондай-ақ, Windows-та процесс орындалатын қолданба пайдаланатын жүйелік ресурстарға ие ядро нысанын білдіреді. Windows жүйесіндегі жаңа процесс CreateProcess функциясын шақыру арқылы жасалады. Процесс барлық процесс ағындары аяқталған кезде ExitProcess функциясын шақыру арқылы жұмысын аяқтай алады. TerminateProcess функциясын шақыру арқылы бір процесті басқасымен аяқтауға болады.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   107




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет