Çekirdek dışındaki bir İşletim Sisteminde neler var?


43

Anladığım kadarıyla, çekirdek donanımla tüm etkileşimi yapar ve belleği, G / Ç aygıtlarını vb. Yönetir. Böylece çekirdek her şeyi yapıyor, ancak işletim sisteminin sadece bir parçası. Peki bir işletim sisteminde başka neler var? Sadece birlikte gelen uygulamalar? Örneğin, Ubuntu'nun bir çekirdekten başka neleri var? Gnome Masaüstü ve diğer birkaç uygulama?

Yanıtlar:


54

Tabii ki kabuk.

Bize bunun için "çekirdek" kelimesini getiren orijinal metafor çok sık unutulur. Metafor, işletim sisteminin bir tohum veya bir somun olmasıdır. Tohumun "çekirdeği", kullanıcıların dışarıdan gördükleri tohumun "kabuğu" ile çevrili uygulama programlarına işletim sistemi hizmetleri sağlayan işletim sisteminin çekirdeğidir.

Bazı insanlar bundan daha spesifik olmak için "çekirdeği" (ve gerçekten de "kabuğunu") bağlamak istiyorlar. Fakat gerçekte işletim sistemleri arasında çok fazla çeşitlilik var. En azından bu varyasyonlar "Solaris" ten shNetware Konsol Komutanlığı Tercümanına OS / 2'nin İşyeri Kabuğuna ve Windows NT Gezgini'ne kadar değişebilen) "kabuk" u oluşturuyor , fakat aynı zamanda bir işletim sisteminden diğerine bir çok farklılık var "çekirdek" in bir parçası olan ve olmayanlar (örneğin, disk G / Ç içerebilir veya içermeyebilir). Bu terimlerin metafor olduğunu hatırlamak en iyisidir .

Başka terminolojiler var. IBM anabilgisayar terminolojisinde, tohum / somun metaforundaki "çekirdek" kontrol programı olarak adlandırılır . Diğer isimler arasında süpervizör , monitör , çekirdek ve yönetici bulunur . Çekirdek oldukça belirgin bir diğer biyolojik metafordur. Bunun da başka bir isim olması ilginç. Harvey M. Deitel, İşletim Sistemlerinde çekirdeği kontrol programına çağırıyor ve şöyle diyor:

Çekirdek normalde, tüm işletim sistemi olarak bilinen şeylerin kodunun küçük bir bölümünü temsil eder [...]

"Çekirdek" kelimesi Latin çekirdeğinden gelir ve bir cevizin çekirdeği anlamına gelir (cf, "fındık" anlamına gelen Latin çekirdeği anlamına gelir). Bu yüzden kontrol programına "çekirdek" denmek bile aslında aynı işletim sistemini somun olarak benzetiyor. İşletim sisteminden daha fazlası için kullanılan bir benzetme. Örneğin kimyaya aşina iseniz, bir atom çekirdeğinin kabuklardaki elektronlarla çevrili olduğunu bileceksiniz .

Sözde isimsiz kişinin new123456aşağıda yazdığı şey, bu metaforların kökenlerini unutmaktan kaynaklanan hataları, bir bütün olarak parçayı yanlış ve tüm işletim sistemi için çekirdeği yanlış yapan derecelere örnek olur. "Kullanıcı alanı" programı olmak, kabuğu işletim sisteminin dışına çıkarmaz, çekirdeği çevreleyen program yapmaz. Üstelik, sürüm 7'nin ötesinde Unix'e uygulanmayan, salt DOS olan bir fikir olmaktan uzak, bu fikir Unix dünyasında hem yaygın hem de günceldir.

( new123456Bir DOSizm için hataların yapılması ironiktir . Çekirdek / kabuk metaforu, CP / M'den emrettiği işlemciyi tercih eden ve CP / M'ye benzeyen, ilk yıllarında DOS'a oldukça yabancıydı . içine temel disk işletim sistemi (BDOS), temel giriş-çıkış sistemi (BIOS - değil sistem firmware, not), komut işlemcisi ve temizlik programları . kod aslında dosyalar halinde bu şekilde yukarı parsellere ayrıldı Bu başka bir şeydir. Örneğin, çekirdek / kabuk metaforunun pek çok işletim sistemindeki gerçek bölümlerle tam olarak örtüşmediği veya tam olarak eşleşmediği gibi .

new123456Deitel'in çekirdeğin genel işletim sisteminin bir parçası olduğu hakkında yazdıklarını unutuyor . Bir işletim sistemi hem çekirdek hem de kabuktur. Sonuçta bu metafor. Deitel de yalnız değil. 1980'lerden itibaren Unix-a-nut-metaforunu açıklayan Unix kitaplarının parçaları var. Urban'ın ve Tiemann'ın 24 Saat İçinde Kendi Kendinize FreeBSD Öğretmelerini Öneririm (SAMS, ISBN 9780672324246), basit bir sebepten dolayı, 54. sayfada tohum olarak bir işletim sistemi metaforunu gösteren bir şemaya sahip olması ve - şaşırtıcı bir şekilde - Bunu yapmak için birkaç kitap.

"Çekirdek" ismi muhtemelen eski isimdir; bugün kesinlikle - belki de Unix sayesinde küçük bir bölümü olmayan - çekirdeği / kabuğu terminolojisini destekleyen Unix'i kesinlikle yırtıcı kılmak. İşte Alan C. Shaw'ın kitabı: 1974'deki kitap İşletim sistemlerinin mantıksal tasarımı (Prentice-Hall, ISBN 9780135401125):

Sistemin kalıcı olarak ana depoda bulunan kısmına tarihsel olarak çekirdek denir . Çekirdek genellikle süreçlerin, kaynakların ve girdi çıktılarının yönetimi için asgari bir dizi ilkel ve süreçten oluşur.
Shaw'ın da bir diyagramı var. ☺


7
Bunun parlak bir cevap olduğunu düşünüyorum, çünkü “kabuk” ile “çekirdek” arasındaki ilişkiyi aklıma getirdi. İkisini de biliyordum, hiçbir zaman bağlantı kurmadım. Sorunun cevabını biliyordum ama yine de bu cevaptan bir şeyler öğrenmeyi başardım. Dolayısıyla, o kadar da oy kullandı. Teşekkürler!
Andrew J. Brehm

Bunu söylemekte tereddüt ederim, çünkü UNIX kabuğu sürüm 7'den beri çekirdekten soyutlandı ve kelimenin tam anlamıyla bir kullanıcı programı olduğundan beri. Ancak söylediğiniz şey bir DOS için geçerlidir (ki bu özellikle korkunç bir tasarım tercihidir).
new123456

İyi oyundu efendim. Ancak, lütfen @kullanıcı adımı söylerken başka bir yere bırakın, böylece yanıt kuyruğumda yayınlansın.
yeni123456

Çok sayıda ilginç geçmişe sahip kapsamlı bir cevap olduğu için geliştirildi (Çekirdek'in bilgisayar terimi - ya da Latin etimolojisinin farkında değildim). Ancak, açıkça başka bir kullanıcının (şimdi silinmiş) cevabına atıfta bulunmasaydı bağımsız bir cevap olarak daha iyi okunacağını düşünüyorum.
Anthony G - Monica adaleti

45

İşletim sisteminin diğer bölümleri, çekirdekle etkileşime giren sürücüleri içerir; kullanıcı arayüzü, ağ iletişimi ve işletim sisteminin çekirdek ile asıl uygulama arasında kalan diğer çekirdek bölümleriyle ilgilenen birkaç yardımcı program katmanı vardır.

Bir örnek vermek gerekirse, Çekirdek'in üst kısmında (açık mavi) görebileceğiniz gibi OS X'in yapısını gösterdim, sizden önce birkaç "çekirdek" işlevsellik, sistem araçları, servis ve API (Uygulama Programlama Arayüzü) katmanları yatıyor. Hatta gerçek uygulamalarda kendileri ile birlikte çalıştığınız GUI'ye bile girebilirsiniz.

görüntü tanımını buraya girin

Çoğu işletim sistemi benzer bir yapıya sahiptir, ancak gerçekte çekirdeğin ne kadarının olduğu konusunda farklar için geniş kapsam vardır. Karşılaştırma için Microkernels hakkındaki Wikipedia makalesine bakın .

EDIT - Yorumunuzu cevaplamak için (yorumum biraz uzadı)

Sen olabilir sadece Linux çekirdeğini önyükleme, ama sen gerçekten çok elde etmek mümkün olmaz, tüm gördüğünüz arayüz ve kullanım sağlayan bütün bu yardım uygulamaları var.

Çekirdek boot (ve donanım başlatıldı) sonra bu gibi hizmetler (başlama işlevsellik sağlamak GNU / Linux İşletim Sistemi diğer bölgelerine bırakabileceğini dener Udev hangi olarak doldurulur /devgibi kullanım şeyler programları için ham cihaz arayüzleri ile sabit diskler ve seri portlar ve benzeri) ve ağ ( dhcpcd ) ve X.org gibi API'leri , GNOME veya KDE gibi bir Pencere Yöneticisi olsa bile pencereleri ve simgeleri gösterebilecek uygulamalar için ayarlar .

Ama evet, sadece çekirdeğin önyüklemesini yapabilirsiniz, orada sadece "Ben çizdim, şimdi ne olacak?" Komut istemi.


Öyleyse sadece bir çekirdeği ve işletim sisteminin genellikle sahip olduğu ilave şeylerden hiçbirini önyükleyebilir miyim ?
AnkurVj

Teoride, sanırım, ama olmaz yapmak bunun üstüne diğer programlar olmadan hiçbirşey. İnsanların eğlence için yarattıkları, çekirdek, kabuk ve belki de derleyici ya da birleştiriciden başka bir şey olmayan küçük işletim sistemleri var (sanırım Linux bu şekilde başladı).
user55325

@AnkurVj Cevabımı ekledim.
Mokubai

3
Sadece Linux çekirdeğini açabileceğini sanmıyorum. Çekirdek, init olarak adlandırdığı bir noktaya erişir; bu sırada sistem çekirdek modundan kullanıcı moduna geçer. Eğer init mevcut değilse (veya bash gibi sahte bir init ise), çekirdek panikler ve çöker. Bu yüzden panikten kaçınmak için bazı init süreçleri olmalı, bu noktada sadece çekirdeğin çalıştığı değil.
Joe Internet,

1
Çıplak bir çekirdek yükleyebilirsiniz, ancak işletim sisteminin geri kalanı olmadan kullanıcı onunla etkileşime girmez.
Keltari
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.