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


Win32 объектілерінің қауіпсіздігі



бет37/107
Дата19.12.2023
өлшемі0.83 Mb.
#487093
түріБілім беру бағдарламасы
1   ...   33   34   35   36   37   38   39   40   ...   107
сессия ответы

Win32 объектілерінің қауіпсіздігі

Win32 API қолданбалы бағдарламалау интерфейсі - бұл Microsoft операциялық жүйелерінде жұмыс істейтін қосымшаларды бағдарламалау үшін қолданылатын функциялар мен класстардың жиынтығы.
Функционалды түрде Win32 API келесі санаттарға бөлінеді:
• Base Services базалық сервистер (базовые сервисы);
• Common Control Library жалпы басқару кітапханасы (библиотека общих элементов управления);
• Graphics Device Interface (графикалық құрылғы интерфейсі);
• Network Services желілік қызметтер (сетевые сервисы);
• User Interface пайдаланушы интерфейсі (интерфейс пользователя);
• Windows NT Access Control (Windows NT үшін қол жеткізуді басқару);
• Windows Shell - Windows қабығы (Windows оболочка);
• Windows System Information (Windows жүйесі туралы ақпарат).
Windows NT Access Control қорғалған объектілерге кіруді бақылау және шектеу арқылы ақпаратты қорғау үшін қолданылатын функцияларды қамтиды. Windows Shell және Windows System Information санаттары сәйкесінше Windows амалдық жүйесінің қабығымен және конфигурациясымен жұмыс істеуге арналған функцияларды қамтиды.
Windows жүйесіндегі объект-бұл жүйелік ресурсты білдіретін деректер құрылымы. Windows операциялық жүйелері қолданбаға үш санаттағы нысандарды ұсынады:
* User (Пайдаланушының интерфейс (объектісі) нысандары);
* Graphics Device Interface (графикалық құрылғылар интерфейсі нысандары);
* Kernel (ядро нысандары).
User нысаны (категориясы) қолданушымен интерфейс үшін пайдаланатын нысандарды қамтиды. Мұндай нысандарға, мысалы, терезелер мен курсорлар кіреді. Graphics Device Interface санаты ақпаратты графикалық құрылғыларға шығару үшін қолданылатын нысандарды қамтиды. Мұндай нысандарға, мысалы, щеткалар мен қауырсындар жатады. Ядро санатына Windows амалдық жүйесінің ядро нысандары кіреді. Мұндай нысандарға, мысалы, файлдар мен арналар кіреді.
Қосымшаның объектілерге тікелей қолжетімділігі жоқ, керісінше оларға жанама түрде жүгінеді. Нысан дескрипторы - бұл жүйеде сақталатын және объектінің мекен-жайы мен объектінің түрін анықтайтын құралдары бар кестедегі жазба. Нысан дескрипторлары операциялық жүйемен жасалады және объектілерді құратын Win32 API функцияларымен қайтарылады.
Бағдарлама нұсқауларының орындалу реті Бағдарлама ішіндегі басқару ағыны деп аталады. Орындау кезінде ағынға қол жетімді жадтың мазмұны ағын контексті деп аталады.
Мультипрограммалық операциялық жүйелердегі ағындарға қызмет көрсетудің жалпы тәсілі келесідей. Процессордың жұмыс уақыты жұмыс үшін ағындарға бөлінетін кванттарға (интервалдарға) бөлінеді. Уақыт квантынан кейін ағынның орындалуы үзіліп, процессор басқа ағынға тағайындалады. Ағындар арасында уақыт кванттарын бөлу ағындарды басқару деп аталатын арнайы бағдарламамен айналысады.
Ағын менеджері процессорды басқа ағынның орындалуына ауыстырған кезде, ол келесі әрекеттерді орындауы керек:
* үзілген ағын мәнмәтінін (контекстін) сақтау;
* үзіліс кезінде іске қосылған ағынның мәнмәтінін қалпына келтіріңіз;
* басқаруды іске қосылған ағынға өткізіңіз.
Процесс немесе тапсырма - бұл компьютерде орындалатын қосымша, оны орындау үшін қажет барлық ресурстармен бірге. Процесті орындау үшін қажет барлық ресурстар процестің контексті деп те аталады. Процесс міндетті түрде келесі ресурстарға жатады:
* процестің адрестік кеңістігі;
* процесс контекстінде орындалатын ағындар.
Сондай-ақ, Windows-тағы ағын-бұл операциялық жүйе қосымшаны орындау үшін процессор уақытын бөлетін ядро нысаны.
Windows операциялық жүйелерінде екі түрлі ағындар бар:
* жүйелік ағындар;
* пайдаланушы ағындары.
Жүйелік ағындар операциялық жүйенің әртүрлі қызметтерін орындайды және операциялық жүйенің өзегімен іске қосылады.
Пайдаланушы ағындары пайдаланушының мәселелерін шешуге қызмет етеді және Қолданба арқылы іске қосылады.
Жұмыс істейтін қосымшада екі түрлі ағындар бар:
* жұмыс ағындары (working threads);
* пайдаланушы интерфейсінің ағындары (user interface threads).

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


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





  1. Достарыңызбен бөлісу:
1   ...   33   34   35   36   37   38   39   40   ...   107




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

    Басты бет