logo

İşletim Sisteminde RPC Nedir?

Uzaktan Yordam Çağrısı veya RPC, dağıtılmış, istemci-sunucu tabanlı uygulamalar oluşturmak için güçlü bir tekniktir. Ayrıca işlev çağrısı veya alt program çağrısı olarak da bilinir. Uzaktan prosedür çağrısı, bir bilgisayar programının, programcı uzaktan etkileşimin ayrıntılarını açıkça belirtmeden, yerel prosedür çağrısı olarak kodlanmış bir prosedürün farklı bir adres alanında yürütülmesine neden olmasıdır. Programcı, altyordamın yürütülmekte olan programda yerel veya uzak olmasına bakılmaksızın esas olarak aynı kodu yazar. Bu, istek-yanıt mesaj aktarma sistemi aracılığıyla uygulanan bir istemci-sunucu etkileşimidir.

İşletim Sisteminde RPC Nedir?

RPC modeli şunu ima eder: konum şeffaflığı Arama prosedürlerinin ister yerel ister uzaktan olsun büyük ölçüde aynı olduğu belirtiliyor. Genellikle aynı değildirler, dolayısıyla yerel aramalar uzak aramalardan ayırt edilebilir. Uzaktan aramalar genellikle yerel aramalardan çok daha yavaş ve daha az güvenilirdir; dolayısıyla bunları ayırt etmek önemlidir.

RPC'ler, farklı süreçlerin farklı adres alanlarına sahip olması nedeniyle süreçler arası iletişimin (IPC) bir biçimidir. Fiziksel adres alanı aynı olsa bile, aynı ana makinede farklı sanal adres alanlarına sahiptirler. Farklı ana bilgisayarlarda olsalar bile fiziksel adres alanı farklıdır.

Uzaktan Prosedür Çağrısı Nasıl Yapılır

Çağıran ortam askıya alınır, prosedür parametreleri ağ üzerinden prosedürün yürütüleceği ortama aktarılır ve prosedür orada yürütülür.

İşletim Sisteminde RPC Nedir?

Prosedür tamamlandığında ve sonuçlarını ürettiğinde, çağrı ortamına geri aktarılır ve burada yürütme, sanki normal bir prosedür çağrısından dönüyormuş gibi devam eder.

NOT: RPC, kontrol akışının arayan ve aranan kişi arasında değiştiği istemci-sunucu (örneğin, sorgu-yanıt) etkileşimi için özellikle uygundur. Kavramsal olarak istemci ve sunucu aynı anda yürütülmez; bunun yerine, yürütme iş parçacığı arayan kişiden aranan kişiye ve sonra tekrar geri atlar.

RPC Türleri

Bir işletim sisteminde üç tür uzaktan prosedür çağrısı (RPC) vardır, örneğin:

İşletim Sisteminde RPC Nedir?

1. RPC'yi geri çağırma

Bu tür RPC, katılan süreçler arasında bir P2P paradigmasına olanak tanır. Bir sürecin hem istemci hem de sunucu hizmetleri olmasına yardımcı olur. Geri arama RPC'si aşağıdaki işlevlere sahiptir:

MySQL kullanıcı listesi
  • Uzaktan işlenen etkileşimli uygulama sorunları.
  • İstemcilerin tanıtıcısı olan sunucu sunar.
  • Geri arama, istemci işleminin beklemesine neden olur.
  • Geri arama kilitlenmelerini yönetin.
  • Katılımcı süreçler arasında eşler arası paradigmayı kolaylaştırır.

2. Yayın RPC'si

Yayın RPC'si, bir istemcinin ağdaki istek yayınıdır ve bu isteği işleme yöntemiyle tüm sunucular tarafından işlenir. Yayın RPC'si aşağıdaki işlevlere sahiptir:

  • İstemcinin istek mesajının yayınlanması gerektiğini belirtmenize olanak sağlar.
  • Yayın bağlantı noktalarını bildirebilirsiniz.
  • Fiziksel ağ üzerindeki yükün azaltılmasına yardımcı olur.

3. Toplu mod RPC

Toplu mod RPC, RPC isteklerini istemci tarafında bir iletim arabelleğinde sıraya koymaya, ayırmaya ve ardından bunları bir ağ üzerinde tek bir toplu iş halinde sunucuya göndermeye yardımcı olur. Toplu mod RPC aşağıdaki işlevlere sahiptir:

  • Bir isteği ağ üzerinden tek bir toplu iş halinde sunucuya göndererek, bir isteğin gönderilmesiyle ilgili yükü en aza indirir.
  • Bu tür RPC protokolü yalnızca daha düşük çağrı hızlarına ihtiyaç duyan bir uygulama için etkilidir.
  • Güvenilir bir iletim protokolüne ihtiyacı var.

RPC ne işe yarar?

RPC çerçevesini kullanan program ifadeleri yürütülebilir bir programda derlendiğinde, derlenmiş koda uzak prosedür kodunu temsil eden bir saplama eklenir.

Program çalıştırıldığında ve prosedür çağrısı yapıldığında, saplama isteği alır ve bunu yerel bilgisayardaki istemci çalışma zamanı programına iletir. İstemci saplaması ilk kez çağrıldığında, sunucunun bulunduğu aktarım adresini belirlemek için bir ad sunucusuyla bağlantı kurar.

dize kadar yüzer

İstemci çalışma zamanı programı, uzaktaki bilgisayara ve sunucu uygulamasına nasıl adres verileceğini bilir ve uzak prosedürü talep eden mesajı ağ üzerinden gönderir. Benzer şekilde, sunucu, uzak prosedürün kendisi ile arayüz oluşturan bir çalışma zamanı programı ve saplama içerir ve Yanıt isteği protokolleri aynı şekilde döndürülür.

RPC'nin özellikleri

Bir işletim sisteminde uzaktan prosedür çağrısı (RPC), aşağıdaki gibi özelliklere sahiptir:

  • RPC, mesaj aktarma işleminin karmaşıklığını kullanıcıdan gizler.
  • RPC, taşıma katmanı gibi OSI modelinin yalnızca belirli katmanlarını kullanır.
  • İstemciler sunucuyla daha yüksek seviyeli diller kullanarak iletişim kurabilir.
  • RPC hem yerel ortamlarla hem de uzak ortamlarla iyi çalışır.
  • RPC programı basit kodla yazılmıştır ve programcı tarafından kolayca anlaşılır.
  • İşletim sistemi, RPC'de yer alan işlemleri ve iş parçacıklarını kolayca işleyebilir.
  • İşletim sistemi RPC'nin soyutlamalarını kullanıcıdan gizler.

RPC nasıl çalışır?

Uzaktan prosedür çağrısı başlatıldığında, çağıran ortam askıya alınır, prosedür parametreleri ağ üzerinden prosedürün yürütüleceği ortama aktarılır ve prosedür daha sonra o ortamda yürütülür.

Prosedür bittiğinde, sonuçlar çağrı ortamına geri aktarılır ve burada yürütme, sanki normal bir prosedür çağrısından dönüyormuş gibi devam eder.

İşletim Sisteminde RPC Nedir?

Uzaktan prosedür çağrısı (RPC), bir işletim sisteminde aşağıdaki adımlarda çalışır:

Aşama 1: İstemci, istemci saplaması ve RPC çalışma zamanı istemci makinede yürütülür.

Adım 2: Bir istemci, parametreleri her zamanki gibi ileterek bir istemci saplama işlemini başlatır. Prosedür parametrelerinin paketlenmesine denir yönlendirme . İstemci saplaması, istemcinin kendi adres alanında depolanır ve ayrıca yerel RPC Çalışma Zamanı'ndan sunucu saplamasına geri göndermesini ister.

Aşama 3: Bu aşamada kullanıcı düzenli Yerel Prosedürel Çağrı yaparak RPC'ye erişebilir. RPC Çalışma Zamanı, istemci ve sunucu arasında ağ arasındaki mesajların iletimini yönetir ve ayrıca yeniden iletim, onaylama, yönlendirme ve şifreleme işlerini de gerçekleştirir.

Adım 4: Sunucu prosedürünü tamamladıktan sonra, dönüş değerlerini bir mesaja paketleyen (düzenleyen) sunucu saplamasına geri döner. Sunucu saplaması daha sonra taşıma katmanına bir mesaj gönderir.

yineleme java

Adım 5: Bu adımda, taşıma katmanı sonuç mesajını istemci taşıma katmanına geri gönderir, bu da istemci saplamasına bir mesaj geri gönderir.

Adım 6: Bu aşamada, istemci saplaması, ortaya çıkan paketteki dönüş parametrelerini ayırır (paketten çıkarır) ve yürütme işlemi çağırana geri döner.

Uzaktan Yordam Çağrısı (RPC) Sorunları

Bir işletim sisteminde Uzaktan prosedür çağrısı veya RPC, aşağıdaki gibi ele alınması gereken bazı sorunlarla karşılaştı:

İşletim Sisteminde RPC Nedir?

1. RPC Çalışma Zamanı

RPC çalışma zamanı sistemi, RPC mekanizmasının temelini oluşturan ağ iletişimlerini yöneten rutinler ve hizmetlerden oluşan bir kitaplıktır. Bir RPC çağrısı sırasında, istemci tarafı ve sunucu tarafı çalışma zamanı sistemleri kod bağlamayı yönetir, uygun bir protokol üzerinden iletişim kurar, çağrı verilerini istemci ile sunucu arasında iletir ve iletişim hatalarını yönetir.

tcp ve ip modeli

2. Saplama

Saplamanın işlevi, programcı tarafından yazılan uygulama koduna şeffaflık sağlamaktır.

    İstemci tarafında:Saplama, istemcinin yerel prosedür çağrısı ile çalışma zamanı sistemi arasındaki arayüzü yönetir, verileri sıralar ve sırayı kaldırır, RPC çalışma zamanı protokolünü çağırır ve istenirse bazı bağlama adımlarını gerçekleştirir.Sunucu tarafında:Saplama, çalışma zamanı sistemi ile sunucu tarafından yürütülen yerel yönetici prosedürleri arasında benzer bir arayüz sağlar.

3. Bağlayıcı

Müşteri kimi arayacağını ve hizmetin nerede bulunduğunu nasıl biliyor?

En esnek çözüm, dinamik bağlamayı kullanmak ve sunucuyu RPC ilk yapıldığında çalışma zamanında bulmaktır. İstemci saplaması ilk kez çağrıldığında, sunucunun bulunduğu aktarım adresini belirlemek için bir ad sunucusuyla bağlantı kurar. Bağlama iki bölümden oluşur:

    Biz:Sunacak bir hizmeti olan bir Sunucu, bunun için bir arayüz ihraç eder. Bir arabirimin dışa aktarılması, istemcilerin kullanabilmesi için onu sisteme kaydeder.Konumlandırma:İletişimin başlayabilmesi için Müşterinin (dışa aktarılan) bir arayüzü içe aktarması gerekir.

4. RPC ile ilişkili çağrı semantiği

Temel olarak aşağıdaki seçeneklere göre sınıflandırılır,

    Yeniden deneme isteği mesajı:Sunucu başarısız olduğunda veya alıcı mesajı almadığında istek mesajı göndermenin yeniden denenip denenmeyeceği.Yinelenen filtreleme:Yinelenen sunucu isteklerini kaldırın.Sonuçların yeniden iletilmesi:Kayıp mesajları sunucu tarafında işlemleri yeniden yürütmeden yeniden göndermek için.

RPC'nin özellikleri

Uzaktan prosedür çağrısının temel özellikleri şunlardır:

  • Çağrılan prosedür, muhtemelen başka bir makinede bulunan başka bir süreçtedir.
  • İşlemler adres alanını paylaşmaz.
  • Parametreler yalnızca değerlerle iletilir.
  • RPC, sunucu işleminin ortamında yürütülür.
  • Çağrı prosedürünün ortamına erişim sunmaz.

RPC'nin Avantajları

RPC'nin bazı avantajları ve faydaları şunlardır:

  • RPC yöntemi, istemcilerin, üst düzey dillerdeki prosedür çağrılarının geleneksel kullanımı yoluyla sunucularla iletişim kurmasına yardımcı olur.
  • RPC yöntemi yerel prosedür çağrısına göre modellenmiştir, ancak prosedürün büyük olasılıkla farklı bir süreçte ve genellikle farklı bir bilgisayarda yürütülmesi muhtemeldir.
  • RPC, süreç ve iş parçacığı odaklı modelleri destekler.
  • RPC, dahili mesaj aktarma mekanizmasını kullanıcıdan gizler.
  • Kodun yeniden yazılması ve yeniden geliştirilmesi için gereken çaba minimumdur.
  • Uzaktan prosedür çağrıları dağıtım ve yerel ortam için kullanılabilir.
  • Performansı artırmak için birçok protokol katmanını kullanır.
  • RPC soyutlama sağlar. Örneğin, ağ iletişiminin mesaj aktarma doğası kullanıcıdan gizli kalır.
  • RPC, uygulamaların yalnızca yerel ortamda değil, dağıtılmış bir ortamda da kullanılmasına olanak tanır.
  • RPC kodu ile yeniden yazma ve yeniden geliştirme çabaları en aza indirilir.
  • RPC tarafından desteklenen süreç odaklı ve iş parçacığı odaklı modeller.

RPC'nin dezavantajları

RPC kullanmanın bazı dezavantajları veya dezavantajları şunlardır:

  • Uzaktan Yordam Çağrısı, Parametreleri yalnızca değerlere ve işaretçi değerlerine göre Geçirir; buna izin verilmez.
  • Uzaktan prosedür çağırma (ve geri dönüş) süresi (yani genel giderler) yerel prosedürden önemli ölçüde daha düşük olabilir.
  • Bu mekanizma bir iletişim sistemini, başka bir makineyi ve başka bir süreci içerdiğinden dolayı hataya karşı oldukça savunmasızdır.
  • RPC konsepti standart olamayacak şekilde farklı şekillerde uygulanabilmektedir.
  • Çoğunlukla etkileşim tabanlı olduğundan donanım mimarisi için RPC'de herhangi bir esneklik sunmaz.
  • Uzaktan prosedür çağrısı nedeniyle sürecin maliyeti artar.