Operatsion tizimlarda oqim (threads) lar - Ba'zi zamonaviy operatsion tizimlarda "jarayon" tushunchasidan tashqari “oqim" (thread) tushunchasi mavjud.
- Oqim - bu jarayonni parallellashtirish mumkin bo'lgan vosita, boshqacha qilib aytganda, oqim - bu jarayon ichidagi ob'ekt, uni bajarish uchun CPU vaqti beriladi.
Bitta protsessorda ishlaydigan ikkita oqim bilan bajariladigan jarayon.
Oqim (поток) tushunchasi - Har qanday operatsion tizimda jarayon ichida oqimni bajarish usuli mavjud.
- Bundan tashqari, jarayon ichida bir nechta oqim bo'lishi mumkin.
- Xuddi shu jarayonning har bir oqimi alohida dastur hisoblagichi va faollashtirish yozuvlari va boshqaruv bloklari to'plamidan foydalanadi.
- Oqim ko'pincha engil jarayon deb ataladi.
- Jarayonni juda ko'p oqimlarga bo'lish mumkin.
- Misol uchun, brauzerda ko'plab sahifalarni oqimlar sifatida ko'rish mumkin.
- MS Word dasturida ko'plab oqimlar qo'llaniladi – bir oqimdan matnni formatlash, boshqa oqimdan kiritilgan ma'lumotlarni qayta ishlash va h.k.
Oqim nima uchun kerak? - Mavjud jarayonda yangi oqimni yaratish yangi jarayonni yaratishdan ko'ra kamroq vaqt talab etadi.
- Oqimlar umumiy ma'lumotlarni almashishi mumkin, ular jarayonlararo aloqadan foydalanishlari shart emas.
- Oqimlar bilan ishlashda kontekstni almashtirish tezroq.
- Oqimni tugatish uchun jarayonga qaraganda kamroq vaqt talab etiladi.
Oqim va jarayon farqi:
Jarayon
|
oqim
|
Jarayonlar ko'proq resurslardan foydalanadi va shuning uchun ular og'ir jarayonlar deb ataladi.
|
Oqimlar resurslarni almashadi va shuning uchun ular engil jarayonlar deb ataladi.
|
Jarayonlarni yaratish va tugatish vaqtlari sekinroq.
|
Oqimlarni yaratish va tugatish vaqtlari jarayonlarga qaraganda tezroq.
|
Jarayonlarning o'z kodi va ma'lumotlari/fayllari mavjud.
|
Oqimlar jarayon ichida kod va ma'lumot/fayl almashadi.
|
Jarayonlar orasidagi aloqa sekinroq.
|
Oqimlar orasidagi aloqa tezroq.
|
Jarayonlarda kontekstni almashtirish sekinroq.
|
Oqimlardagi kontekstni almashtirish tezroq.
|
Jarayonlar bir-biridan mustaqil.
|
Boshqa tomondan, oqimlar o'zaro bog'liqdir. (ya'ni ular boshqa oqim ma'lumotlarini o'qishi, yozishi yoki o'zgartirishi mumkin)
|
Masalan: Ikki xil brauzerni ochish.
|
Masalan: bitta brauzerda ikkita yorliq ochish.
| Oqim va jarayon farqi: - Jarayon oddiygina bajarilayotgan har qanday dasturni anglatadi, oqim esa jarayonning bir qismidir.
Oqim holati: - OT ularning holatini tahlil qilish asosida oqimlarni rejalashtirishni amalga oshiradi.
- Multidasturlash tizimida oqim uchta asosiy holatdan birida bo'lishi mumkin:
- Bajarilish - oqimning faol holati, uning davomida oqim barcha kerakli resurslarga ega va bevosita protsessor tomonidan bajariladi;
- Kutish - oqimning passiv holati, bunda oqim ichki sabablarga ko'ra bloklanadi (ba'zi hodisaning bajarilishini kutish, masalan, kiritish-chiqarish operatsiyasining tugashi, boshqa oqimdan xabar olish, yoki kerakli manbani bo'shatish);
- Tayyor – bu ham oqimning passiv holati, lekin bu holda oqim tashqi vaziyat tufayli bloklanadi (uning uchun barcha zarur resurslar mavjud, ishlashga tayyor, lekin protsessor boshqa oqimni bajarish bilan band) .
Do'stlaringiz bilan baham: |