12- ma’ruza Parallel hisoblash tizimlari Reja: Parallel tizim arxitektura kategoriyalari Parallel protsessorlar
Download 0.69 Mb. Pdf ko'rish
|
4-маъруза
UINT WinExec (LPCSTR lpCmdLine , // buyruq qatori UINT uCmdShow // oyna
uslubi ); Birinchi parametr - bu yuklangan fayl nomidan keyin fayl nomi va parametrlarini ko'rsatadigan buyruq satri. Ishga tushgandan so'ng, dastur ota -ona dasturiga nisbatan parallel ishlay boshlaydi va uning bajarilishi boshqa ilovalarga bog'liq emas, albatta, agar qaramlik ilovalarning tabiati bilan ta'minlanmagan bo'lsa. Windows 32 muhitida urug'lantirishning boshqa usulini qo'llang jarayonlar: BOOL CreateProcess ( LPCTSTR lpApplicationName, // bajariladigan modul nomiga ko'rsatgich LPTSTR lpCommandLine, // buyruq qatori satriga ko'rsatgich LPSECURITY_ATTRIBUTES lpProcessAttributes, // ga ko'rsatgich jarayon xavfsizlik atributlari LPSECURITY_ATTRIBUTES lpThreadAttributes, // tarmoq xavfsizligi uchun ko'rsatgich atributlar BOOL bInheritHandles, // meros bayrog'ini boshqaring DWORD dwCreationFlags, // yaratish bayroqlari LPVOID lp muhit, // yangi muhit blokiga ko'rsatgich LPCTSTR lpCurrentDirectory, // joriy katalog nomiga ko'rsatgich LPSTARTUPINFO lpStartupInfo, // STARTUPINFO ko'rsatgichi LPPROCESS_INFORMATION lpProcessInformation // ko'rsatgich ga PROCESS_INFORMATION ); Birinchi parametr - bajariladigan fayl nomiga ko'rsatgich. Ism faylning to'liq yo'lini o'z ichiga olishi mumkin (drive: \ directory \ ... \ file). Agar nomda yo'l bo'lmasa, operatsion tizim faylni joriy katalogdan, keyin tizim kataloglarida va tizim ishga tushganda PATH bo'limida ko'rsatilgan kataloglardan qidiradi . Ikkinchi parametr buyruq satrini ko'rsatadi. Uchinchi va to'rtinchi parametrlar qaytarilgan jarayon ko'rsatgichi bola jarayonlari va ish zarrachalari tomonidan meros qilib olinishi mumkinligini aniqlaydi. bInheritHandles va dwCreationFlags jarayonni yaratish va ustuvorlikni nazorat qilish uchun qo'shimcha bayroqchalarni o'z ichiga oladi. lpEnvironment xotira buferiga ko'rsatgichni o'z ichiga oladi, unda jarayon uchun xizmat ma'lumotlari yaratiladi. Agar bu NULL bo'lsa, operatsion tizimning o'zi bu ma'lumot uchun xotirada joy ajratadi. lpCurrentDirectory ko'rsatgichi joriy sifatida ishga tushiriladigan jarayonda foydalaniladigan katalogga yo'lni o'z ichiga olgan qatorga. Agar maydon qiymati teng bo'lsa, u holda joriy katalog asosiy jarayon uchun joriy bo'lgan katalog hisoblanadi. lpStartupInfo ishga tushirish jarayoni uchun yaratilgan oynani tasvirlaydigan STARTUPINFO tuzilishini belgilaydi (u CreateWindow protsedurasiga o'xshash ma'lumotni o'z ichiga oladi). lpProcessInformation Yangi jarayonni yaratgandan so'ng to'ldiriladigan tuzilishga ko'rsatgich. Strukturada yaratilgan jarayon haqidagi ma'lumotlar mavjud. Dasturda ko'p ishlov berish bir necha usul bilan amalga oshirilishi mumkin. 1. Vaqti -vaqti bilan chaqiriladigan tartibni ko'rsatish uchun tizim taymeridan to'g'ridan -to'g'ri foydalanish. Bu usul "Taymerdan foydalanish" ma'ruzasida muhokama qilingan. Bu odatiy preemptive multitasking. Bu usulning afzalliklari shundaki, dastur funktsional chaqiruv vaqtini belgilashi va o'zgartirishi mumkin. 2. Tanlangan oynaga sinxron xabarlarni yuborishni tashkil qilish uchun tizim taymeridan foydalanish (tashkil etish tartibi "Taymerdan foydalanish" ma'ruzasida tasvirlangan). Bu usul birlamchi ko'p vazifalarni bajaradi. Afzallik - xabarlarni yuborishning o'zgaruvchan chastotasi. Kamchilik - sinxron xabarlarning xarakteri taymerdan xabar kelishi davrining aniq bajarilishini kafolatlamaydi. 3. Oqim yaratish. Bu usul, asosiy dastur jarayoniga parallel ravishda ishlaydigan, ba'zi bir protsedura ta'rifini nazarda tutadi. Ipning bajarilishining oxiri ip protsedurasining o'zi tomonidan nazorat qilinadi. CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) Thread1, & params, 0, & iThread); Birinchi parametr, ishga tushirish uchun xavfsizlik atributlarini belgilaydi. Agar u NULL bo'lsa, u holda bu jarayonni bola jarayonlari ishlata olmaydi. Ikkinchi parametr oqimning boshlang'ich manzilini (aslida, protsedura nomi) belgilaydi, masalan: DWORD WINAPI Thread1 (PVOID pvoid) { // Matn oqimi } Uchinchi parametr - bu hosil bo'lgan oqimga parametr sifatida uzatiladigan tamsayı (PVOID pvoid). Bunday holda, bu parametr ba'zi ma'lumotlar tuzilmasi uchun ko'rsatgichdir. Shunday qilib, asosiy jarayon kerakli ma'lumotlarni oqimga o'tkazish qobiliyatiga ega. To'rtinchi parametr oqim yaratish uchun qo'shimcha bayroqlarni belgilaydi. Agar bu parametr nolga teng bo'lsa, u holda oqim darhol yaratiladi. Oxirgi parametr - oqim identifikatori qaytariladigan o'zgaruvchining manzili. Download 0.69 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling