İşletim Sisteminde Süreçler Arası İletişim (IPC)

Süreçler Arası İletişim Nedir?

Süreçler arası iletişim (IPC) bir veya daha fazla işlem veya programdaki birden fazla iş parçacığı arasında veri alışverişi için kullanılır. İşlemler, bir ağa bağlı tek veya birden fazla bilgisayarda çalışıyor olabilir. IPC'nin tam biçimi süreçler arası iletişimdir.

Bir programcının, bir işletim sisteminde eşzamanlı olarak çalışabilen çeşitli program süreçleri arasındaki etkinlikleri koordine etmesine olanak tanıyan bir dizi programlama arayüzüdür. Bu, belirli bir programın birçok kullanıcı isteğini aynı anda işlemesine olanak tanır.

Kullanıcının her isteği, işletim sisteminde birden fazla işlemin çalışmasına neden olabileceğinden, işlemlerin birbirleriyle iletişim kurması gerekebilir. Her IPC protokolü yaklaşımının kendine göre avantajı ve sınırlaması vardır, dolayısıyla tek bir programın tüm IPC yöntemlerini kullanması alışılmadık bir durum değildir.

Süreçler Arası İletişim Yaklaşımları

Süreçler arası iletişim için birkaç önemli yöntem şunlardır:

Süreçler Arası İletişim Yaklaşımları
Süreçler Arası İletişim Yaklaşımları

Borular

Boru, iki ilişkili işlem arasındaki iletişim için yaygın olarak kullanılır. Bu bir yarı-dubleks yöntemdir, bu nedenle ilk işlem ikinci işlemle iletişim kurar. Ancak, tam-dubleks elde etmek için başka bir boruya ihtiyaç vardır.

İleti geçişi

Bir sürecin iletişim kurması ve senkronize olması için bir mekanizmadır. İleti geçişini kullanarak, süreç paylaşılan değişkenlere başvurmadan birbirleriyle iletişim kurar.

IPC mekanizması iki işlem sağlar:

  • Gönder (mesaj)- mesaj boyutu sabit veya değişken
  • Alındı ​​(mesaj)

Mesaj Kuyrukları

Mesaj kuyruğu, sunucuda saklanan mesajların bağlantılı bir listesidir. çekirdek. Bir mesaj kuyruğu tanımlayıcısı ile tanımlanır. Bu yöntem, tam çift yönlü kapasiteye sahip tek veya birden fazla işlem arasında iletişim sunar.

doğrudan İletişim

Bu tür süreçler arası iletişim sürecinde, birbirlerini açıkça isimlendirmelidirler. Bu yöntemde, bir çift iletişim süreci arasında bir bağlantı kurulur ve her çift arasında yalnızca bir bağlantı bulunur.

Dolaylı İletişim

Dolaylı iletişim, yalnızca süreçler ortak bir posta kutusunu paylaştığında ve her süreç çifti birkaç iletişim bağlantısını paylaştığında kurulur. Bir bağlantı birçok süreçle iletişim kurabilir. Bağlantı çift yönlü veya tek yönlü olabilir.

Paylaşılan Bellek

Paylaşılan bellek, tüm süreçler arasında paylaşılan bellek kullanılarak oluşturulan iki veya daha fazla süreç arasında paylaşılan bir bellektir. Bu bellek türü, tüm süreçler arasında erişimi senkronize ederek birbirlerinden korunmayı gerektirir.

FIFO

İlgisiz iki işlem arasındaki iletişim. Bu tam çift yönlü bir yöntemdir, yani ilk işlem ikinci işlemle iletişim kurabilir ve bunun tersi de olabilir.

Neden IPC?

Bilgi paylaşımı için süreçler arası iletişim protokolünün kullanılmasının nedenleri şunlardır:

  • Modülerliği hızlandırmaya yardımcı olur
  • Hesaplamalı
  • Ayrıcalık ayırma
  • Kolaylık
  • İşletim sistemlerinin birbirleriyle iletişim kurmasına ve eylemlerini senkronize etmesine yardımcı olur.

IPC'de Kullanılan Terimler

IPC’de kullanılan bazı önemli terimler şunlardır:

Semaphores: Semafor bir sinyal mekanizması tekniğidir. Bu işletim sistemi yöntemi, nasıl kurulduğuna bağlı olarak kaynağa erişime izin verir veya vermez.

Signals: Birden fazla işlem arasında sinyalleşme yoluyla iletişim kurma yöntemidir. Kaynak süreç numarayla tanınan bir sinyal gönderecek ve hedef süreç bunu halledecektir.

Okuma Önerisi: - Nedir? Semaphore? Örnekli İkili, Sayma Türleri

FIFOS'a Benzer Olan ve FIFOS'tan Farklı Olan Nedir?

FIFOS gibi FIFOS'tan farklı olarak
FIFO yöntemini takip eder Belirli acil mesajları öne ulaşmadan çekme yöntemi
FIFO, hem gönderme hem de alma süreçlerinden bağımsız olarak mevcuttur. Her zaman hazır olduğundan açmanıza veya kapatmanıza gerek yok.
İlgisiz süreçler arasında veri aktarımına izin verir. Açma ve kapama arasında herhangi bir senkronizasyon sorunu yaşanmaz.

ÖZET

  • Tanım: İşlemler arası iletişim, bir veya daha fazla işlem veya programdaki birden çok iş parçacığı arasında veri alışverişi için kullanılır.
  • Pipe, iki ilgili süreç arasındaki iletişim için yaygın olarak kullanılır.
  • Mesaj iletimi, bir sürecin iletişim kurması ve senkronizasyonu için kullanılan bir mekanizmadır.
  • Mesaj kuyruğu, çekirdekte saklanan mesajların bağlantılı bir listesidir
  • Doğrudan süreç, süreçler arası iletişim sürecinin bir türüdür, birbirlerini açıkça adlandırmalıdır.
  • Dolaylı iletişim, yalnızca süreçler ortak bir posta kutusunu paylaştığında ve süreç çiftleri birden fazla iletişim bağlantısını paylaştığında kurulur.
  • Paylaşılan bellek, tüm süreçler arasında paylaşılan bellek kullanılarak oluşturulan, iki veya daha fazla süreç arasında paylaşılan bir bellektir.
  • Süreçler Arası İletişim yöntemi modülerliğin hızlandırılmasına yardımcı olur.
  • Semafor bir sinyal mekanizması tekniğidir.
  • SignalSinyalleme, birden fazla işlem arasında sinyalleme yoluyla iletişim kurma yöntemidir.
  • FIFO gibi, FIFO yöntemini takip ederken, FIFO'nun aksine, belirli acil mesajları öne ulaşmadan önce çekmek için yöntem kullanın.