Gömülü Linux Sistemler - 2 : Middleware


Middleware Nedir?    

Bu yazımızda Middleware ve Application Layer ayrımından bahsedeceğiz. Middleware gömülü sistemlerde önemli bir katmandır. Middleware , aslında uygulama katmanından (application layer) soyutlanmış bir yazılım katmanıdır. 

Genel bir tanımını yapmak gerekirse Middleware, işletim sistemimin doğrudan veya sadece Kernel tarafı değildir. Device driver veya uygulama yazılımı da değildir. Ama bir sistem yazılımıdır.  Bazı işletim sistemleri Middleware'ı çalıştırılabilir  işletim sistemi (executable OS) içine entegre edebilir. Özetle Middleware katmanı , farklı gömülü sistem modellerinde farklı konumda, durumda yer alabilir. 

Şekil-1. Embedded System Modeli'nde Middleware 

Şekil-1'de yer alan gömülü sistem modellerini incelediğimizde Middleware'in durumunun değişebildiğini görürürz. Bazen OS'e gömülüm bazen onun üzerinde.

Burası önemli: Middleware, device driverlar ya da kernel yani alt taraf ile üst taraftaki uygulama katmanı arasında bir köprü görevi görür. Aynı zamanda farklı uygulama yazılımları da sunar. Spesifik olarak Middleware, gömülü sistemler üzerinde kullanılan ,  uygulamalr arasında esneklik, güvenlik, taşınabilirlik, bağlantı, iletişim/haberleşme ve birlikte çalışabilirlik sağlayan  bir soyutlanmış katmandır. 

Middleware kullanmanın önemli yanlarından biri de geleneksel olarak gereksiz bir şekilde uygulama katmanında yedekli bir şekilde bulunan yazılım altyapısını merkezileştirerek uygulamaların karmaşıklığının azaltılmasıdır. Fakat bir sisteme middleware tanımlarken ölçeklenebileceği ve performansı büyük ölçüde etkileyeceği bir durum oluşturulur. Kısacası Middleware, bir gömülü sistemi her katmanda etkiler.

Daha kompleks gömülü sistemlerde genellikle birden fazla Middleware bulunur. Çünkü belirtilen tüm uygulama gereksinimlerini destekleyen bir teknoloji bulmak zordur. Bu durumda da sonradan oluşacak entegrasyon problemlerinin önüne geçebilmek için bireysel Middleware öğeleri birbirleriyle birlikte çalışabilirlik durumlarına göre seçilir. Sonradan sorunlar yaşamamak için bu yapılmalıdır.

Middleware Örnekleri

Gömülü sistem cihazlarda network altyapısının uygulanabilirliğini en iyi ve basit şekilde anlamanın yolu OSI modeli ve Embedded System modelinin ilişkilendirilmesi, benzetilmesinden geçer. 

Şekil-2. OSI Modeli ve Middleware

Şekil-2'deki hiyerarşi incelendiğinde Data-Link Layer'ının üstü Session Layer'ının alt kısmı ile oluşan ara katman Middleware 'a denk gelir. TCP/IP protokol katmanı da Middleware olarak ele alınır. 

Aşağıdaki Şekil-x'te görüldüğü üzere TCP/IP katmanı TCP stack modeli'nde aslında Transport Layer'da yer almaktadır. Onun altında Network Access Katmanı var. Bunları Embedded System modeli'nde Middleware olarak görüyoruz. 

Şekil 3. TCP/IP modeli - OSI Modeli - Embedded System Modeli


Şekil 4. TCP/IP Modeli ve Protokolleri Blok Diagram
  

Yukarıdaki şekilde TCP/IP uygulama katmanı , OSI modelinin de ilk üç katmanının yani Application Layer, Presentation Layer ve Session Layer 'ın işlevselliğini içerir. Yukarıdaki görselde en üst katmandır. Onun altındaki Middleware katmanı ise Transport Layer, Network Layer, Data Link Layer 'ı içerir ve en son Physical Layer kalır o da hardware katmanı olarak ele alınır.

Şekil 5. OSI Modeli

Network Access ve Data Link Layer - Middleware Örnek : PPP

PPP: Point to Point Protocol, yaygın kullanılan bir ortak OSI data-link protokolüdür. Bu protokol veriyi kapsüller ve daha üst layer protokollerine iletir. Mesela IP gibi. Bunu bir fiziksel seri iletim ortamından yapar. PPP, senkron ve asenkron seri iletişimi desteği sağlar.  


Şekil 6. Data-Link Middleware

Kaynaklar

https://www.eetimes.com/guide-to-embedded-systems-architecture-part-1-defining-middleware/






Yorumlar

Bu blogdaki popüler yayınlar

KV260 Kria Starter Kit Series: 3 - Petalinux Install and Boot

KV260 Kria Starter Kit Series: 1 - Power and Boot Up

KV260 Kria Starter Kit Series: 2 - Smartcam Application (Ubuntu)