Bilgisayar biliminde, bir mikro çekirdek (İngilizce: microkernel), bir işletim sistemini uygulamak için gereken mekanizmaları minimuma yakın sağlayan işletim sistemi çekirdeği türüdür. Ana çekirdek sadece birimler arası iletişim ve süreçleri sıralama işlerini yapar. Bellek yönetimi, kayıt ortamı yönetimi, sürücüler ve ağ ile ilgili çok sayıda sürec birbirleriyle iletişim kurarak haberleşir. Bu sayede; parçalardan oluşan yapı ve tasarımın sadeleştirilmesi, bir parçadaki hatanın diğer parçaları etkilememesi ve çalışma anında işletim sisteminin güncelleştirilebilmesi mümkün olabilmektedir.
Mikro çekirdek, çekirdek modu olarak adlandırılan en ayrıcalıklı düzeyde çalışan tek yazılım olabilir. Aygıt sürücüleri, dosya sistemleri gibi geleneksel işletim sistemi işlevleri mikro çekirdeğin kendisinden kaldırılır ve bunun yerine kullanıcı alanında (İngilizce: user space) çalışır.
Kaynak kodu boyutu açısından, mikro çekirdekler genellikle monolitik çekirdeklerden daha küçüktür. Örneğin MINIX 3 mikro çekirdeğinde yalnızca yaklaşık 12.000 satır kod bulunur.
Giriş
Erken işletim sistemi çekirdekleri, bilgisayar belleği sınırlı olduğu için oldukça küçüktü. Bilgisayarların kapasitesi arttıkça, çekirdeğin kontrol etmesi gereken cihazların sayısı da arttı. Unix'in ilk tarihi boyunca, çeşitli aygıt sürücüleri ve dosya sistemi uygulamaları içermelerine rağmen, çekirdekler genellikle küçüktü. Adres alanları 16 bit'ten 32 bit'e yükseldiğinde, çekirdek tasarımı artık donanım mimarisi tarafından kısıtlanmadı ve çekirdekler büyümeye başladı.
Unix'in Berkeley Yazılım Dağıtımı (BSD), daha büyük çekirdekler çağını başlattı. İşlemci, diskler ve yazıcılardan oluşan temel bir sistemi çalıştırmanın yanı sıra BSD, eksiksiz bir TCP/IP ağ sistemi ve mevcut programların ağ üzerinde 'görünmez bir şekilde' çalışmasına izin veren bir "sanal" cihaz ekledi. Bu büyüme uzun yıllar devam etti ve milyonlarca satır kaynak koduna sahip çekirdeklerle sonuçlandı. Bu büyümenin bir sonucu olarak, çekirdekler hatalara eğilimliydi ve bakımı giderek zorlaştı.
Mikro çekirdek, çekirdeklerin bu büyümesini ve bunun sonucunda ortaya çıkan zorlukları ele almak için tasarlandı. Teoride, mikro çekirdek tasarımı, kullanıcı alanı hizmetlerine bölünmesi nedeniyle kodun daha kolay yönetilmesine izin verir. Bu ayrıca, çekirdek modunda çalışan kod miktarının azalmasından kaynaklanan artan güvenlik ve kararlılık sağlar. Örneğin, bir ağ hizmeti arabellek taşması (İngilizce: buffer overflow) nedeniyle çökerse, yalnızca ağ hizmetinin belleği bozularak sistemin geri kalanı çalışmaya devam eder.
Süreçler arası iletişim
Süreçler arası iletişim (İngilizce: inter-process communication), ayrı süreçlerin genellikle ileti göndererek birbirleriyle iletişim kurmasını sağlayan bir mekanizmadır. Süreçler arası iletişim, işletim sisteminin, sistemdeki diğer uygulamalar tarafından kullanılan ve süreçler arası iletişim aracılığıyla çağrılan sunucu adı verilen daha küçük uygulamalardan oluşturulmasına izin verir. Çevresel donanım desteğinin çoğu veya tamamı, aygıt sürücüleri, ağ protokol yığınları, dosya sistemleri, grafikler vb. için sunucularla bu şekilde gerçekleştirilir.
Süreçler arası iletişim (IPC) zaman uyumlu (İngilizce: synchronous) veya zaman uyumsuz (İngilizce: asynchronous) olabilir. Zaman uyumsuz IPC, ağ iletişimine benzer: gönderen bir ileti gönderir ve çalışmaya devam eder. Alıcı, mesajın kullanılabilirliğini kontrol eder veya bir bildirim mekanizması aracılığıyla iletiye karşı uyarılır. Zaman uyumsuz IPC, çekirdeğin iletiler için arabellekler ve kuyruklar (İngilizce: queue) tutmasını ve arabellek taşmasıyla ilgilenmesini gerektirir; ayrıca iletilerin çift kopyalanmasını (İngilizce: double copying) gerektirir (göndericiden çekirdeğe ve çekirdekten alıcıya). Zaman uyumlu IPC'de, birinci taraf (gönderen veya alıcı), diğer taraf IPC'yi gerçekleştirmeye hazır olana kadar engellenir. Ara belleğe alma veya birden çok kopya gerektirmez. Çoğu geliştirici zaman uyumsuz göndermeyi ve zaman uyumlu almayı tercih eder.
Kaynakça
- ^ . wiki.minix3.org. 28 Aralık 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mayıs 2022.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar biliminde bir mikro cekirdek Ingilizce microkernel bir isletim sistemini uygulamak icin gereken mekanizmalari minimuma yakin saglayan isletim sistemi cekirdegi turudur Ana cekirdek sadece birimler arasi iletisim ve surecleri siralama islerini yapar Bellek yonetimi kayit ortami yonetimi suruculer ve ag ile ilgili cok sayida surec birbirleriyle iletisim kurarak haberlesir Bu sayede parcalardan olusan yapi ve tasarimin sadelestirilmesi bir parcadaki hatanin diger parcalari etkilememesi ve calisma aninda isletim sisteminin guncellestirilebilmesi mumkun olabilmektedir Sirasiyla monolitik ve mikro cekirdek tabanli isletim sistemlerinin yapisi Mikro cekirdek cekirdek modu olarak adlandirilan en ayricalikli duzeyde calisan tek yazilim olabilir Aygit suruculeri dosya sistemleri gibi geleneksel isletim sistemi islevleri mikro cekirdegin kendisinden kaldirilir ve bunun yerine kullanici alaninda Ingilizce user space calisir Kaynak kodu boyutu acisindan mikro cekirdekler genellikle monolitik cekirdeklerden daha kucuktur Ornegin MINIX 3 mikro cekirdeginde yalnizca yaklasik 12 000 satir kod bulunur GirisErken isletim sistemi cekirdekleri bilgisayar bellegi sinirli oldugu icin oldukca kucuktu Bilgisayarlarin kapasitesi arttikca cekirdegin kontrol etmesi gereken cihazlarin sayisi da artti Unix in ilk tarihi boyunca cesitli aygit suruculeri ve dosya sistemi uygulamalari icermelerine ragmen cekirdekler genellikle kucuktu Adres alanlari 16 bit ten 32 bit e yukseldiginde cekirdek tasarimi artik donanim mimarisi tarafindan kisitlanmadi ve cekirdekler buyumeye basladi Unix in Berkeley Yazilim Dagitimi BSD daha buyuk cekirdekler cagini baslatti Islemci diskler ve yazicilardan olusan temel bir sistemi calistirmanin yani sira BSD eksiksiz bir TCP IP ag sistemi ve mevcut programlarin ag uzerinde gorunmez bir sekilde calismasina izin veren bir sanal cihaz ekledi Bu buyume uzun yillar devam etti ve milyonlarca satir kaynak koduna sahip cekirdeklerle sonuclandi Bu buyumenin bir sonucu olarak cekirdekler hatalara egilimliydi ve bakimi giderek zorlasti Mikro cekirdek cekirdeklerin bu buyumesini ve bunun sonucunda ortaya cikan zorluklari ele almak icin tasarlandi Teoride mikro cekirdek tasarimi kullanici alani hizmetlerine bolunmesi nedeniyle kodun daha kolay yonetilmesine izin verir Bu ayrica cekirdek modunda calisan kod miktarinin azalmasindan kaynaklanan artan guvenlik ve kararlilik saglar Ornegin bir ag hizmeti arabellek tasmasi Ingilizce buffer overflow nedeniyle cokerse yalnizca ag hizmetinin bellegi bozularak sistemin geri kalani calismaya devam eder Surecler arasi iletisimSurecler arasi iletisim Ingilizce inter process communication ayri sureclerin genellikle ileti gondererek birbirleriyle iletisim kurmasini saglayan bir mekanizmadir Surecler arasi iletisim isletim sisteminin sistemdeki diger uygulamalar tarafindan kullanilan ve surecler arasi iletisim araciligiyla cagrilan sunucu adi verilen daha kucuk uygulamalardan olusturulmasina izin verir Cevresel donanim desteginin cogu veya tamami aygit suruculeri ag protokol yiginlari dosya sistemleri grafikler vb icin sunucularla bu sekilde gerceklestirilir Surecler arasi iletisim IPC zaman uyumlu Ingilizce synchronous veya zaman uyumsuz Ingilizce asynchronous olabilir Zaman uyumsuz IPC ag iletisimine benzer gonderen bir ileti gonderir ve calismaya devam eder Alici mesajin kullanilabilirligini kontrol eder veya bir bildirim mekanizmasi araciligiyla iletiye karsi uyarilir Zaman uyumsuz IPC cekirdegin iletiler icin arabellekler ve kuyruklar Ingilizce queue tutmasini ve arabellek tasmasiyla ilgilenmesini gerektirir ayrica iletilerin cift kopyalanmasini Ingilizce double copying gerektirir gondericiden cekirdege ve cekirdekten aliciya Zaman uyumlu IPC de birinci taraf gonderen veya alici diger taraf IPC yi gerceklestirmeye hazir olana kadar engellenir Ara bellege alma veya birden cok kopya gerektirmez Cogu gelistirici zaman uyumsuz gondermeyi ve zaman uyumlu almayi tercih eder Kaynakca wiki minix3 org 28 Aralik 2014 tarihinde kaynagindan arsivlendi Erisim tarihi 7 Mayis 2022