arkadaşlar internette onca kaynağa baktım bir türlü kafamda canlandıramıyorum bu kabuk ne demek çekirdek ne demek diye.aptala anlatır gibi anlatır mısınız lütfen?




 

Baştan söyleyeyim! Yanlış biliyor olabilirim ama birisi yanlislamazsa duzeltmezse en azından fikir verebilir.

Çekirdek (kernel) dediğiniz şey sistemin en temel noktası.
Şimdilik o çekirdek olarak kalsın.
Mesela ping komutu var değil mi? Bu ayrı minik bir program ama bu program iş yapmak için hafızaya işlemciye vs ulaşması lazım. Kendi başına İnternete çıkamaz vs.
İşte bu yan programlar aslında çekirdek üzerinde, çekirdek ile konuşarak çalışıyor ve kendi işlerini yapıyor.

Kabuk (shell) dediğiniz şey ise, windows da bulunan komut satırı givi düşünün. Grafik arayüze değil de komut satırında komutlarla iş yaptığınız yer

kisa

kisa gayet güzel açıklamış. Shell'e erişmek için de genellikle terminal emulator kullanıyorsunuz. Mesela ben şu an terminal emulator olarak iTerm, shell olarak bash, kernel olarak da XNU kullanıyorum. O değil de çekirdek, kabuk, karakter katarı falan gördükçe insan Türkçeden soğuyor :)

bruce mclaren

Çekirdek yada kernel olarak adlandırdığımız kısım, bilgisayarın düğmesine basıldıktan sonra tekrar kapanıncaya kadar olan süreçte çalışan, donanım erişimlerini ayarlayan bir uygulamadır.

shell yada kabuk dediğimiz uygulama/program/yazılım (bash, zsh, sh, jssh, csh vs. gibi bir sürü farklı özelliği olan shell var) kısa'nın dediği gibi aslında komut satırı dediğimiz şey. bu yazılımın görevi, senin klavyeden girdiğin verileri alıp kernel'a iletmek, cd komutunu çalıştırdığında aslında yaptığı şey o uygulamayı çalıştırmak değil, kernel'a, bak kullanıcı şu dizindeki şu dosyaya erişmek istiyor mesajını iletmektir (/bin/cd dosyasına erişmek istiyor) kernel bu mesajı aldığında o dosyanın özelliklerine bakar, ne tür bir dosya bu, senin bu dosyaya erişimin var mı, vs.çalıştırır uygulamayı senin verdiğin parametreleri uygulamaya verir, ve çıktıyı shell'e iletir, shell'de bunu ekrana basar. (en basit hali ile)

şurada [1] linux'un boot süreci ile alakalı çok güzel bir yazı var, ingilizcen varsa ingilizce[2] ile devam etmeni tavsiye ederim. çok teknik gelebilir, anlamayabilirsin, bir kaç kere anlamasan dahi oku, zamanla yeni bilgiler edindiğinde anlaman çok kolay olacaktır.

[1] github.com
[2] github.com

selam
1

mobil görünümden çık