12- ma’ruza Parallel hisoblash tizimlari Reja: Parallel tizim arxitektura kategoriyalari Parallel protsessorlar


Download 0.69 Mb.
Pdf ko'rish
bet20/22
Sana21.04.2023
Hajmi0.69 Mb.
#1370652
1   ...   14   15   16   17   18   19   20   21   22
Bog'liq
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:
1   ...   14   15   16   17   18   19   20   21   22




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling