To'g'ridan-to'g'ri aloqada , aloqa qilmoqchi bo'lgan har bir jarayon aloqani oluvchi yoki jo'natuvchining nomini aniq ko'rsatishi kerak. Ushbu sxemada, the yuborish() va qabul qilish() ibtidoiylar belgilangan kabi:
yuborish (P, xabar) — Yuborish a xabar uchun jarayon P .
qabul qilish (Q, xabar) - Qabul qilish a xabar dan jarayon Q . A aloqa havola ichida bu sxema ega the ergashish xususiyatlari:
Muloqot qilmoqchi bo'lgan har bir juft jarayon o'rtasida avtomatik ravishda aloqa o'rnatiladi . Jarayonlar muloqot qilish uchun faqat bir-birining shaxsini bilishi kerak.
A havola hisoblanadi bog'langan bilan aynan ikki jarayonlar.
Orasida har biri juft ning jarayonlar, U yerda mavjud aynan bitta havola.
Bu sxema eksponatlar simmetriya ichida murojaat qilish; bu bu, ikkalasi ham the jo'natuvchi jarayon va the qabul qiluvchi jarayon kerak nomi the boshqa uchun muloqot qilish. A ning varianti bu sxema band qiladi assimetriya ichida murojaat qilish. Bu yerga, faqat the jo'natuvchi ni nomlaydi oluvchi; the oluvchi hisoblanadi shart emas uchun nomi the jo'natuvchi. In bu sxemasi, yuborish() va qabul qilish() ibtidoiylar bor belgilangan kabi quyidagicha:
yuborish (P, xabar) — Yuborish a xabar uchun jarayon P .
qabul qilish (id, xabar) - Qabul qilish a xabar dan har qanday jarayon. The o'zgaruvchan _ id hisoblanadi o'rnatish uchun the nomi ning the jarayon bilan qaysi aloqa sodir bo'ldi.
Ushbu ikkala sxemaning (nosimmetrik va assimetrik) kamchiliklari natijada jarayon ta'riflarining cheklangan modulliligidir. Identifikatorni o'zgartirish ning a jarayon mumkin talab qiladi tekshirish hammasi boshqa jarayon ta'riflar. Hammasi havolalar uchun the eski identifikator kerak bo'l topildi, shunday bu ular mumkin bo'l ga o'zgartirilgan the yangi identifikator. In umumiy, har qanday shunday qattiq kodlash texnikasi, qayerda identifikatorlar aniq ko'rsatilishi kerak, ular keyingi tavsiflanganidek, bilvosita o'z ichiga olgan usullarga qaraganda kamroq ma'qul.
Bilan bilvosita aloqa , the xabarlar bor yuborilgan uchun va qabul qildi pochta qutilaridan yoki portlardan . Pochta qutisini jarayonlar tomonidan xabarlar joylashtiriladigan va xabarlar yuborilishi mumkin bo'lgan ob'ekt sifatida mavhum ko'rish mumkin. olib tashlansin. Har bir pochta qutisi o'ziga xos identifikatsiyaga ega. Masalan, POSIX xabari navbatlar foydalanish a butun son qiymat uchun aniqlash a pochta qutisi. A jarayon mumkin boshqa jarayon bilan bir nechta turli xil pochta qutilari orqali bog'lanish mumkin, lekin ikkita jarayon faqat umumiy pochta qutisiga ega bo'lsa, muloqot qilishi mumkin. send () va receive() ibtidoiylari quyidagicha aniqlanadi:
yuborish (A, xabar) — Yuborish a xabar uchun pochta qutisi A .
qabul qilish (A, xabar) - Qabul qilish a xabar dan pochta qutisi A . In bu sxema, a aloqa havola ega the ergashish xususiyatlari:
A oʻrtasida aloqa oʻrnatiladi faqat juftlikning ikkala a'zosi umumiy pochta qutisiga ega bo'lsa, bir juft jarayon .
A havola mumkin bo'l bog'langan bilan Ko'proq dan ikki jarayonlar.
Orasida har biri juft ning muloqot qilish jarayonlar, a raqam ning boshqacha havolalar mavjud bo'lishi mumkin, har bir havola bitta pochta qutisiga to'g'ri keladi.
Hozir deylik bu jarayonlar P 1 , P 2 , va P 3 hammasi baham ko'ring pochta qutisi A . Jarayon P 1 yuboradi a xabar uchun A , esa ikkalasi ham P 2 va P 3 bajarish a qabul qilish() dan A . Qaysi jarayon bo'ladi qabul qilish the xabar yuborilgan tomonidan P 1 ? The javob bog'liq yoqilgan qaysi ning _ ergashish usullari biz tanlang:
Ruxsat bering a havola uchun bo'l bog'langan bilan ikki jarayonlar da eng.
Ruxsat bering da eng bitta jarayon da a vaqt uchun bajarmoq a qabul qilish() operatsiya.
Ruxsat bering tizim tanlash uchun o'zboshimchalik bilan qaysi jarayon qabul qilinadi xabar (ya'ni, P 2 yoki P 3 , lekin ikkalasi ham emas, xabarni oladi). Tizim qaysi jarayonni qabul qilishini tanlash algoritmini belgilashi mumkin xabar (uchun misol, dumaloq Robin, qayerda jarayonlar olish aylanadi xabarlarni qabul qilish). Tizim qabul qiluvchini jo'natuvchiga aniqlashi mumkin.
A pochta qutisi jarayonga yoki operatsion tizimga tegishli bo'lishi mumkin. Agar the pochta qutisi hisoblanadi egalik qiladi tomonidan a jarayon (bu bu, the pochta qutisi hisoblanadi qismi ning the jarayonning manzil maydoni), keyin biz egasi (faqat ushbu pochta qutisi orqali xabarlarni qabul qilishi mumkin) va foydalanuvchi (faqat yuborishi mumkin) o'rtasida farq qilamiz. xabarlar uchun the pochta qutisi). beri har biri pochta qutisi ega a noyob egasi, Ushbu pochta qutisiga yuborilgan xabarni qaysi jarayon qabul qilishi haqida hech qanday chalkashlik bo'lishi mumkin emas. Pochta qutisiga ega bo'lgan jarayon tugagach, pochta qutisi yo'qoladi. Keyinchalik ushbu pochta qutisiga xabar yuboradigan har qanday jarayon pochta qutisi endi mavjud emasligi haqida xabardor qilinishi kerak.
Aksincha, operatsion tizimga tegishli bo'lgan pochta qutisi mavjud ning uning Shaxsiy. Bu hisoblanadi mustaqil va hisoblanadi emas biriktirilgan uchun har qanday alohida jarayon. The faoliyat ko'rsatmoqda tizimi keyin kerak ta'minlash a mexanizmi bu imkon beradi a jarayon quyidagilarni amalga oshirish uchun:
Yaratmoq a yangi pochta qutisi.
Yuborish va qabul qilish xabarlar orqali the pochta qutisi.
Oʻchirish a pochta qutisi.
Yangi pochta qutisini yaratish jarayoni sukut bo'yicha pochta qutisining egasi hisoblanadi. Dastlab, the egasi hisoblanadi the faqat jarayon bu mumkin qabul qilish xabarlar orqali bu pochta qutisi. Biroq, egalik va olish imtiyozlari tegishli tizim chaqiruvlari orqali boshqa jarayonlarga o'tkazilishi mumkin. Albatta, bu qoida har bir pochta qutisi uchun bir nechta qabul qiluvchiga olib kelishi mumkin.
Dostları ilə paylaş: |