1 / 22

MESAJ GEÇİŞİ(MESSAGE PASSING)

MESAJ GEÇİŞİ(MESSAGE PASSING). Süreçler için Mekanizma iletişim ve eylemlerini senkronize etmek. IPC iki işleme olanak sağlar : send ( mes aj ) – me saj göndermek receive ( mes aj ) -mesaj almak Eğer P ve Q iletişim kurmak isterse , gerekenler :

leane
Download Presentation

MESAJ GEÇİŞİ(MESSAGE PASSING)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MESAJ GEÇİŞİ(MESSAGE PASSING) • Süreçler için Mekanizma iletişim ve eylemlerini senkronize etmek. • IPC iki işleme olanak sağlar: • send(mesaj) – mesaj göndermek • receive(mesaj)-mesaj almak • Eğer Pve Qiletişim kurmak isterse, gerekenler: • Birbirleri arasında iletişim linki saptamalılar • send/receive aracılığı ile mesaj gönderip almalılar • İletişim linkinin uygulanması • fiziksel (ör., paylaşılan bellek, donanım yolu) • mantıksal (ör., mantıksal özellikler)

  2. MESAJ GEÇİŞİ

  3. Doğrudan İletişim • Proseslerin her birinin isimleri gönderici ve alıcı olarak isimlendirilmelidir. • send(A, message) – Aprosesine mesaj gönder • receive(Z, message) – Z prosesinden mesaj al • İletişim linkleri özellikleri : • Bağlantılar otomatik olarak kurulur. • Her bir proses çifti arasında tam olarak bir bağlantı vardır. • Bir link 2 proses ile ilişkilendirilebilir. • Bağlantı tek yönlü olabilir, ancak genellikle iki yönlüdür.

  4. Dolaylı İletişim • Mesajlar port veya posta kutularından alınır veya buralara gönderilir. • Her posta kutusu tek bir tanımlayıcıya sahiptir • Prosesler paylaşılmış bir posta kutusuna sahipse iletişim kurabilirler. İletişim bağlantısı özellikleri şunlardır : • Bir bağlantı ikiden fazla proses ile ilişkilendirilebilir. • Her bir proses çifti birden fazla bağlantıya sahip olabilir. • Bağlantı tek yönlü ya da çift yönlü olabilir.

  5. Dolaylı İletişim işlemler: • Yeni bir posta kutusu oluştur, • Posta kutusu aracılığıyla mesaj gönder ve al. • posta kutusunu yok et. • İletişim basitçe şu şekilde gerçekleşir: send(A, message) – A’nın posta kutusuna bir mesaj gönder receive(A, message) – A’nın posta kutusundan bir mesaj al.

  6. Dolaylı İletişim

  7. Dolaylı İletişim • Posta kutusu paylaşımı • P1, P2,ve P3 A posta kutusunu paylaşır. • P1, gönderir; P2ve P3alır. • Kim mesajı alır? • Çözüm • En çok iki proses ile ilişkili linke izin verilir. • Mesaj alma işlemi için sadece bir prosese izin verilir • Sistem alıcıyı kendi isteğine bağlı olarak seçer.Gönderici alıcı kim bildirir.

  8. Senkronizasyon Mesaj iletimi engelli ya da engelsiz olabilir. • Engelli, senkron iletim olarak düşünülebilir. • Engelli gönderim, mesaj alınana kadar gönderici engellenir. • Engelli alım, mesaj hazır olana kadar alıcı engellenir. • Engelsiz, asenkroniletim olarak düşünülebilir. • Engelsiz gönderim, mesaj yollanır ve devam edilir. • Engelsiz alım, hazır mesaj varsa alır yoksa boş-null değer alır.

  9. Buffering(Tamponlama) Link ile ilişkilendirilmiş mesaj sırası, 3 yolla belirtilir: 1. Sıfır kapasite – 0 mesaj Gönderici, alıcıyı beklemelidir (Buluşma). 2. Sınırlı kapasite –n adet mesajın sonlu bir uzunluğa sahip olması Gönderici, bağlantı dolu ise beklemelidir. 3. Sınırsız kapasite – sonsuz uzunluk. Gönderici hiçbir zaman beklemez.

  10. ExceptionConditions Eğer bir hata oluşursa, hatadan kurtulmak için özel durum işleme (exceptionconditionhandling) mekanizması devreye girer. Muhtemel hatalar: • Bir işlem sonlanabilir • Kayıp mesajlar • Değişmiş iletiler

  11. Özel Koşullar – Sonlanmış Süreç Bir ileti işlenmeden önce gönderici veya alıcı süreç sonlanabilir. Bu durumda ileti hiçbir zaman alınamayacak veya süreçler gönderilmeyen bir iletiyi beklemeye devam edecekler. • Alıcı süreç(P) Q sürecinden ileti bekler, fakat Q süreci sonlanmıştır • P sonsuza kadar tıkanır

  12. Özel Koşullar – Sonlanmış Süreç • P sonlanmış olan Q sürecine ileti gönderir • Eğer P işleme devam etmek için Q’dan iletildi mesajını beklerse sonsuza kadar bekler Bu durumlarda işletim sistemi P yi sonlandırır veya P’ye Q nun sonlandığını iletir

  13. Özel Koşullar – Kaybolmuş ileti • Bağlantı hatasından dolayı P nin gönderdiği ileti kaybolabilir. Bu gibi durumlarda, • İşletim sistemi iletiyi gönderen süreci bu konuda bilgilendirir • Veya Gönderen süreç iletinin kaybolduğunu anlamakla sorumludur ve kaybolan iletiyi tekrar gönderir • Acknowledgement • Kayıp iletileri algılamak için en yaygın yöntem zaman aşımları kullanmaktır. Örneğin, eğer bildirim sinyali belirtilen zaman aralığında gönderen sürece ulaşmaz ise, ileti gönderilmedi diye algılanır ve tekrar gönderilir.

  14. Özel Koşullar – Değişmiş iletiler • İletişim kanallarında bulunan gürültüden dolayı alınan ileti değişmiş olabilir. • Hata Kontrol kodları (Errorcheckingcodes) bu tip hataları bulmak için kullanılır.

  15. Client-Server İletişimi Soketler • Soket, bir iletişimin bitiş noktası olarak tanımlanabilir. • IP adresinin ve portun birleşimidir. • 161.25.19.8:1625 soketi, 1625portu ve 161.25.19.8 sunucusu demektir. • İletişim, bir çift soket arasında meydana gelir.

  16. Tüneller- Pipes İki proses arasında iletişime izin veren yapıdır. 2 bölümde inceleyebiliriz: • Sıradan Tüneller • Adlandırılmış tüneller(FIFO)

  17. Sıradan Tüneller • Sıradan tüneller, standart üretici-tüketici tipi iletişime izin verir. • Üretici bir uçtan yazar (tünelin yazma ucu) • Tüketici diğer ucundan okur (tünelin okuma ucu) • Sıradan tüneller bu nedenle tek yönlü iletişim sağlar. • Haberleşen prosesler arasında ebeveyn-çocuk ilişkisi gerekir.

  18. Sıradan Tüneller intpipe_fds[2]; intread_fd; intwrite_fd; pipe(pipe_fds); read_fd = pipe_fds[0]; write_fd = pipe_fds[1]; • write_fd’ye yazılan veri, read_fd ucundan okunabilir

  19. Adlandırılmış Tüneller(FIFO) • Adlandırılmış tüneller, sıradan olanlardan daha güçlüdür. • İletişim çift yönlüdür. • Haberleşen prosesler arasında ebeveyn-çocuk ilişkisi gerekli değildir. • Birden fazla proses, kullanabilir. • UNIX ve Windows işletim sistemlerince desteklenir.

  20. Adlandırılmış Tüneller(FIFO) • FIFO yaratmak için mkfifo çağrısı kullanılır. • İki parametre alır. İlki, FIFO’nun belge sisteminde yaratılacağı yoldur. • Diğeri ise, FIFO’nun kullanıcı, grup ve diğer erişim izinlerini belirler.

  21. DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER… SORU?

More Related