Mikro çekirdek Operating Sistemi: Archidoku, Avantajları

MicroKernel'i öğrenmeden önce şunu anlayalım:

Çekirdek Nedir?

Çekirdek, sistem kaynaklarını yöneten bir işletim sisteminin önemli bir parçasıdır. Aynı zamanda bilgisayarın yazılımı ile donanımı arasında köprü görevi görür. Bootloader'dan sonra başlangıçta yüklenen ilk programlardan biridir. Çekirdek ayrıca çeşitli programlar için makinenin donanımına güvenli erişim sağlamaktan da sorumludur. Ayrıca belirli bir uygulamanın belirli bir donanımı ne zaman ve ne kadar süreyle kullanacağına da karar verir.

Mikro çekirdek nedir?

microkernel bir işletim sistemini uygulamak için gereken minimum miktarda işlev, veri ve özelliği içeren bir yazılım veya koddur. Bir işletim sisteminin en temel işlevlerini çalıştırmaya yetecek kadar iyi olan minimum sayıda mekanizma sağlar. Çok fazla politika dayatmadığı için işletim sisteminin diğer bölümlerinin de uygulanmasına olanak tanır.

Mikro çekirdekler ve bunların kullanıcı ortamları genellikle C++ or C programlama dilleri biraz montajla. Ancak bazı üst düzey kodlamalarla başka uygulama dilleri de mümkündür.

Monolitik Çekirdek Nedir?

Monolitik Çekirdek, aşağıdaki gibi tüm temel sistem hizmetlerini çalıştırır: süreç yönetimi, Çekirdek alanında bellek yönetimi, G/Ç iletişimi ve kesme yönetimi, dosya sistemi vb.

Bu tür Çekirdek yaklaşımında, işletim sisteminin tamamı çekirdek modunda tek bir program olarak çalışır. İşletim sistemi, büyük bir yürütülebilir ikili program halinde birbirine bağlanan bir prosedürler koleksiyonu olarak yazılmıştır.

microkernel Archidoku

Mikro çekirdek, bir işletim sisteminin doğru uygulanması için en önemli parçadır. Aşağıdaki şemada Microkernel'in bellek, süreç planlama mekanizmaları ve süreçler arası iletişim gibi temel işlemleri gerçekleştirdiğini görebilirsiniz.

microkernel Archidoku
Mikro Çekirdek Tabanlı OperaZamanlama Sistemi

Microkernel ayrıcalıklı düzeyde çalışan tek yazılımdır. İşletim sisteminin diğer önemli işlevleri çekirdek modundan kaldırılır ve kullanıcı modunda çalıştırılır. Bu işlevler aygıt sürücüleri, uygulama, dosya sunucuları, işlemler arası iletişim vb. olabilir.

Mikro Çekirdeğin Bileşenleri

Bir mikro çekirdek, sistemin yalnızca temel işlevlerini içerir. Bir bileşen yalnızca dışarıya konulması sistemin işlevselliğini kesintiye uğratacaksa Mikro Çekirdeğe dahil edilir. Diğer tüm gerekli olmayan bileşenler kullanıcı moduna geçirilmelidir.

Mikro çekirdekte gerekli olan minimum işlevler şunlardır:

  • Bellek yönetimi Adres alanları gibi mekanizmalar Mikroçekirdeğe dahil edilmelidir. Ayrıca hafıza koruma özelliklerini de içerir.
  • İşlemci planlama mekanizmaları süreç ve iş parçacığı zamanlayıcılarını içermelidir.
  • İşlemler arası iletişim, kendi adres alanlarını çalıştıran sunucuları yönetir.

Mikro Çekirdek ve Monolitik Çekirdek Arasındaki Fark

parametreler Monolitik çekirdek Mikro Çekirdek
Basic Tek bir adres alanında çalışan büyük bir süreçtir Sunucu adı verilen ayrı işlemlere ayrılabilir.
Kod Monolitik bir çekirdek yazmak için daha az kod gerekir. Mikro çekirdek yazmak için daha fazla kod gerekir
Güvenlik Bir hizmet çökerse, tüm sistem yekpare bir çekirdek halinde çöker. Bir hizmetin çökmesi mikro çekirdeğin çalışmasını asla etkilemez.
Yakın İletişim Tek bir statik ikili dosyadır Sunucular IPC aracılığıyla iletişim kurar.
Örnek E-posta Linux, BSD'ler, Microsoft Windows (95,98, Ben), Solaris, OS-9, AIX, DOS, XTS-400 vb. L4Linux, QNX, SymbianK42, Mac OS X, Integrity, vb.

Mikro Çekirdeğin Avantajları

İşte Microkernel kullanmanın artıları/yararları

  • Mikro çekirdek mimarisi küçük ve izole olduğundan daha iyi işlev görebilmektedir.
  • Mikro çekirdekler güvenlidir çünkü yalnızca sistemin işlevselliğini bozacak bileşenler dahil edilmiştir.
  • Sistemin genişletilmesi daha erişilebilir olduğundan Çekirdeği bozmadan sistem uygulamasına eklenebilir.
  • Mikro çekirdekler modülerdir ve farklı modüller, Çekirdeğe dokunmadan bile değiştirilebilir, yeniden yüklenebilir, değiştirilebilir.
  • Monolitik sistemlerle karşılaştırıldığında daha az sistem çökmesi.
  • Mikro çekirdek arayüzü, daha modüler bir sistem yapısını uygulamanıza yardımcı olur.
  • Yeniden derlemeden yeni özellikler ekleyin
  • Sunucu arızası da diğer herhangi bir kullanıcı programının arızası gibi izole edilir.
  • Mikro çekirdek sistemi esnek olduğundan, farklı sunucular tarafından uygulanan ve sistemde bir arada bulunabilen farklı stratejiler ve API'ler vardır.
  • Artan güvenlik ve kararlılık, çekirdek modunda çalışan kod miktarının azalmasına neden olacaktır

Mikro Çekirdeğin Dezavantajı

İşte Microkernel kullanmanın dezavantajları/eksileri:

  • Mikro çekirdek sisteminde hizmet sunmak normal monolitik sisteme göre pahalıdır.
  • Sürücüler sırasıyla prosedürler veya süreçler olarak uygulandığında bağlam anahtarı veya işlev çağrısı gerekir.
  • Mikro çekirdek sisteminin performansı kayıtsız olabilir ve bazı sorunlara yol açabilir.

ÖZET

  • Çekirdek, sistem kaynaklarını yöneten bir işletim sisteminin önemli bir parçasıdır.
  • Mikro çekirdek, bir işletim sistemini uygulamak için gereken minimum miktarda işlev, veri ve özelliği içeren bir yazılım veya koddur.
  • Monolitik Çekirdek yaklaşımında, işletim sisteminin tamamı çekirdek modunda tek bir program olarak çalışır.
  • Mikro çekirdek, bir işletim sisteminin doğru uygulanması için en önemli parçadır.
  • Bir mikro çekirdek, sistemin yalnızca temel işlevlerini içerir.
  • Monolitik çekirdek, tek bir adres alanında çalışan büyük bir işlemdir; Mikroçekirdek ise sunucu adı verilen ayrı işlemlere bölünebilir.
  • Mikro çekirdek mimarisi küçük ve izoledir, bu nedenle daha iyi işlev görebilir
  • Mikro çekirdek sisteminde hizmet sağlamak normal monolitik sisteme kıyasla pahalıdır