Mikro çekirdek Operating Sistemi: Archidoku, Avantajları
⚡ Akıllı Özet
Mikroçekirdek, yalnızca temel işlevleri (bellek yönetimi, işlem zamanlaması ve işlemler arası iletişim) çekirdek alanında tutan, aygıt sürücüleri, dosya sunucuları ve diğer hizmetlerin ise kullanıcı alanında ayrı olarak çalıştığı minimal bir işletim sistemi çekirdeğidir.

Mikroçekirdeği öğrenmeden önce şunları anlayalım:
Çekirdek Nedir?
Çekirdek (kernel), sistem kaynaklarını yöneten bir işletim sisteminin önemli bir parçasıdır. Ayrıca bilgisayarın yazılımı ve donanımı arasında bir köprü görevi görür. Önyükleyici (bootloader) yüklendikten 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. Belirli bir uygulamanın belirli donanımı ne zaman ve ne kadar süreyle kullanacağına da karar verir.
Mikro çekirdek nedir?
Mikro çekirdek, bir işletim sistemini uygulamak için gereken minimum miktarda işlev, veri ve özellik içeren bir yazılım veya koddur. İşletim sisteminin en temel işlevlerini çalıştırmak için yeterli olan minimum sayıda mekanizma sağlar. Çok fazla politika dayatmadığı için işletim sisteminin diğer bölümlerinin 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?
Tek parça halindeki bir çekirdek, tüm temel sistem hizmetlerini çalıştırır, örneğin: süreç yönetimiBellek yönetimi, G/Ç iletişimi, kesme işlemleri, dosya sistemi vb. işlemler çekirdek alanında gerçekleştirilir.
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 programa bağlanan bir dizi prosedür olarak yazılır.
microkernel Archidoku
Bir işletim sisteminin doğru şekilde uygulanması için mikro çekirdek en önemli parçadır. Aşağıdaki şemada da görebileceğiniz gibi, mikro çekirdek bellek, işlem zamanlama mekanizmaları ve işlemler arası iletişim gibi temel işlemleri yerine getirir.
Mikro Çekirdek Tabanlı OperaZamanlama Sistemi
Mikroçekirdek, ayrıcalıklı düzeyde çalışan tek yazılımdır. İşletim sisteminin diğer önemli işlevleri çekirdek modundan çıkarılır ve kullanıcı modunda çalıştırılır. Bu işlevler aygıt sürücüleri, uygulamalar, dosya sunucuları, süreçler arası iletişim vb. olabilir.
Mikro Çekirdeğin Bileşenleri
Mikroçekirdek, sistemin yalnızca temel işlevlerini içerir. Bir bileşen, ancak dışarıya yerleştirilmesi sistemin işlevselliğini kesintiye uğratacaksa mikroçekirdeğe dahil edilir. Diğer tüm gereksiz bileşenler kullanıcı moduna alınmalıdır.
Mikroçekirdekte gerekli olan minimum işlevler şunlardır:
- Bellek yönetimi Adres alanları gibi mekanizmalar mikro çekirdeğe dahil edilmelidir. Ayrıca bellek koruma özelliklerini de içermelidir.
- İş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 | microkernel |
|---|---|---|
| Temel | Tek bir adres alanında çalışan büyük bir işlemdir. | Sunucu adı verilen ayrı işlemlere ayrılabilir. |
| Code | Monolitik bir çekirdek yazmak için daha az kod gerekir. | Bir mikro çekirdek yazmak için daha fazla koda ihtiyaç vardır. |
| 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 | Bu, 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, Symbian, K42, Mac OS X, Integrity, vb. |
Mikro Çekirdeğin Avantajları
Mikro çekirdek kullanmanın avantajları/faydaları şunlardır:
- Mikroçekirdek mimarisi küçük ve izole olduğundan daha iyi performans gösterebilir.
- Mikroçekirdekler güvenlidir çünkü yalnızca sistemin işlevselliğini bozabilecek bileşenler içerirler.
- Sistemin genişletilmesi daha erişilebilir hale geldi, bu sayede çekirdeği bozmadan sistem uygulamasına eklenebiliyor.
- Mikroçekirdekler modülerdir ve farklı modüller, çekirdeğe dokunmadan değiştirilebilir, yeniden yüklenebilir veya düzenlenebilir.
- Monolitik sistemlerle karşılaştırıldığında daha az sistem çökmesi.
- Mikro çekirdek arayüzü, daha modüler bir sistem yapısını uygulamaya koymanıza yardımcı olur.
- Yeni özellikler yeniden derlemeye gerek kalmadan eklenebilir.
- Sunucu arızası da, diğer kullanıcı programlarının arızaları gibi, münferit bir durumdur.
- Mikroçekirdek sistemi esnektir, bu nedenle farklı sunucular tarafından uygulanan farklı stratejiler ve API'ler sistemde bir arada bulunabilir.
- Çekirdek modunda çalışan kod miktarının azalması, güvenlik ve istikrarın artmasına yol açar.
Mikroçekirdeğin Dezavantajları
Mikro çekirdek kullanmanın dezavantajları/olumsuz yönleri şunlardır:
- Mikro çekirdekli bir sistemde hizmet sunmak, normal monolitik bir sisteme kıyasla daha pahalıdır.
- Sürücüler prosedür veya süreç olarak uygulandığında, sırasıyla bağlam değiştirme veya fonksiyon çağrısı gereklidir.
- Mikro çekirdek sisteminin performansı kayıtsız olabilir ve bazı sorunlara yol açabilir.

