Genel Yazılım Dersleri

Bilgisayarın Herşeyi: Kernel ( Çekirdek)

Bayanlar ve Baylar.İşte karşımızdaaaa Kernel. Yani çekirdek. Birader nedir bu çekirdek az bahseder misin, dediyseniz ahan da size bilgi. ‘İşletim sistemi ile donanımlar arasındaki iletişimi sağlayan bilgisayar yazılımsal parçacığı’ diyebiliriz kısaca. Buradaki işletim sistemi tabiri Unix tabanlı olabilir, Windows ( Win32) tabanlı olabilir, Android tabanlı olabilir, Os X …olabilir de olabilir farketmez. İşte bu çekirdek var ya çekirdek, aslında işletim sistemini yönlendiren, aldığı talimatları donanım bileşenlerine aktarıp uygunluğunu yapılandıran veya veri akışlarını kontrol altında tutan; kısaca her türlü  Yönet-Denetle-Kontrol Et gibi fonksiyonları icra eder. kernelAha işte yukarıdaki resimde çekirdeğin basit bir çalışma mantığı. Çekidek işletim sistemindeki uygulamaları birimlere aktarmakla meşgul. Heeee şimdi sorumuzu soralım ? E kardeşim madem kernel bu işi yapıyor, bu kernel nerdedir dostum? Cevap veriyorum! Heryerde!! O heryerde! Yok la yok şaka yaptım. Mantıksal olarak işletim sistemlerinde genellikle sistemin yüklü olduğu ve ana bileşenlerini barındırdığı klasörlerde saklanırlar tekil olarak. Fakat işletim sistemi açıldığında sisteme ‘kullanıcıya farkettirmeden’ yüklenirler ve kullanıcı işletim sistemini kapatacağı ana kadar bellekte yerlerini korurlar. E tabi az önce dediğim gibi tek bir dosya olarak görünse de aslında tek bir kod dosyası değildir. Birden fazla farklı dosya bir araya gelerek aslında çekirdeği oluşturur. Detaya inip de yazıyı boğmayalım.

Şimdi bir örnek verelim. Aslında bilgisayara takılan her bir donanımın veya aygıtın bir kimliği vardır. ‘E biz bunu biliyorduk!’ diyip de canımı sıkmayın. Mesela elimizde bir Flash disk olsun ve işletim sistemimiz de Microsoft’un Windows 7’si olsun. Lanet olsun reklam yaptık. Neyse. Flash disk’i bilgisayarın Universal Serial Bus’una taktık. ( Havayı gördün mü dostum, ne İngilizce ama!Adam bir de İngilizcesini yazıyor, kısaca USB portu desene la ! ‘ dediğinizi duyar gibi oldum. Flash Disk’i taktıktan sonraki işlem aynen şöyle gerçekleşir:

1- Kernel abimiz çalışır.

2- Bu aygıt neyin nesi? diye sorup cevabını kendisi bulur.

3- Nerden bağlanmış der ve bulur.

4-Kullanıcının bunu anlamlı haliyle görmesini sağlar.

3- O an boşta olan bir sürücü etiketi ataması yapar. ( Abi F harfi boş verim mi?)

4- Kullanıcıya ne tür bir işleme ait olduğunu işletim sistemine bırakarak çekilir!

5- Ben çıktım sıra sende işletim sistemi der.

Tabi yukarıda saydığım işlemler fark ettiniz mi bilmiyorum ama kısa bir sürede gerçekleşir. E tabi bu çekirdeğin ne kadar güçlü olduğuna bağlıdır.

Gel gelelim bunun önemli kısmına. Soru şu: Bu çekirdek ne ile yazılmış olabilir? El cevap diyorum ve yazıyorum. İşletim sistemi hangi dille yazılmışsa genellikle bu dille yazılmaya özen gösterilir. Niyekine? E çünkü işletim sisteminin diliyle aynı doğrultuda olmalı ki rahatlıkla birbirlerini anlayabilsinler. ”Suatçım, aklımız karıştı be abi.” demeyin. Zaten bir işletim sistemini yazarken genellikle birden fazla dil kullanılır ki bunların başında yazılımın atası ‘ Assembly’ veya ‘Assembler’ gelir. He kurban!

E peki bu Kernel dediğimiz şey sadece bilgisayarlarda mı bulunur? E ayıp la. İki saattir ne anlatıyoruz burda? Okumamışsın ki! Bas git lan! Lafım size değil. O anlamayan arkadaşa tabi. Yahu biraderim bu soruna aha böyle bir cevap veriyorum: Herhangi bir işletim sistemi kullanan odun da olsa mutlaka bir çekirdeği vardır!

Soru geliyor. Çekirdeği değiştirebilir miyiz? Güçlendirebilir miyiz?

Cevap veriyorum: Eğer sen o seviyede biriysen zaten bu yazıyı okumaman gerekirdi saf! Biz yine de insanca cevap verelim garibanın sorusuna. Abim e tabi bu sorunun cevabı yine işletim sisteminde gizli. Eğer işletim sistemine müdahale edebilirsen tabii ki değiştirebilirsin. Ama şöyle söyleyeyim. Linux işletim sistemlerinde Kernel’e müdahale edip onu güncelleyebilme şansın var tabii ki. Ama malesef ki bunu Microsoft işletim sistemlerinde yapamazsın. Çünkü Microsof işletim sistemlerinin kaynak kodları gizlidir ve ikinci üçüncü dördüncü…. şahıslarla paylaşılamaz.

Hee şimdi özet geçeyim.

Çekirdek ( Kernel ) ne kadar güçlü ise işletim sistemleri o kadar performanslı çalışır.

Kernel ne kadar güçlü ise işletim sistemleri – donanımlar arası uyum o kadar hızlı olur.

Kernel ne kadar güçlü ise işletim sistemleri o kadar farklı aygıt türlerini çalıştırma yetisine sahip olurlar.

Evet. Parmaklarım yoruldu. Tatlı-sert bir üslup kullandım ki yazıyı okurken bunalmayın. Sorusu olan? Yokmuş güzel. Hadi dağılın. Selam ve dua ile veyazıyı istediğiniz yerde paylaşabilirsiniz diyorum.

Yazar Hakkında

Suat Tusun

Bir enaniyet abidesi. Yazılımla ilgileniyor. Visual C# bildiğini sanıyor. PHP'de iyi. Ağ - sanallaştırma da bildiğini iddia ediyor. Grafik ortamla arası iyi değil. İngilizcesi güzel. Arapçası idare. Kürtçesi de harika. Hacking-Penetration'a ayrı ilgisi var. Judo biliyor. Silahlara merakı var.

Yorum Bırak