Linux ve (Ücretsiz) BSD Çekirdeği arasındaki kavramsal fark


19

(Bu sorunun daha önce sorulduğunu fark ettim, ancak konuyu anlamak istediğim şekilde cevaplanmadığını düşünüyorum.)

Arasındaki kavramsal ve yapısal farklılıklar nelerdir?

  • Linux çekirdeği
  • BSD Çekirdeği (diyelim ki FreeBSD)

Günün sonunda ikisi de çekirdek olsa da - yapı, işlevsellik ve uzmanlaşmada farklılıklar olabileceğini varsayacağım. Hangi senaryolarda bir çekirdeğin diğerine göre avantajı olur? (Web Sunucusu, Veritabanı, Bilgi İşlem vb.)

Bir ortak çekirdek veya belirli modüller için güçleri yoğunlaştırmak için ortak çaba var mıdır, yoksa yine de anlamsız olur mu?

Not: Bu bağlamda farklı lisans türleri veya nakliye / paketleme / bakım yaklaşımları önemli değildir. Yapısal, fonksiyonel / özellik seviyesi ve uzmanlık açısından nasıl farklı olduklarını anlamakla gerçekten ilgileniyorum.


Bir ortak çekirdek veya belirli modüller için güçleri yoğunlaştırmak için ortak çaba var mıdır, yoksa yine de anlamsız olur mu? İlk düşüncem, "tamamen linux ve freeBSD karışımına dayalı" üçüncü bir çekirdek oluşturmak için ne anlama gelebileceğidir.
goldilocks

Hayır, hiç değil, tam tersi - her ikisi için de aynı olan parçalar için bir işbirliği oluşturun. Bazı sürücüler için yanılmıyorsam zaten böyle olduğunu düşünüyorum.
binaryanomali

1
@binaryanomaly: farklı lisanslar her iki taraf için de çok önemlidir. Bir dereceye kadar bu bileğe koridorun her iki tarafında bir ideoloji diyebilir. Örneğin, GCC, BSD'lerde bir boğaz noktasıydı ve FreeBSD, şu nedenle bu nedenle varsayılan olarak Clang'a geçti: lisans sorunları.
0xC0000022L

1
@ 0xC0000022L: Kesinlikle haklısınız ve lisanslama sorularının önemli olmadığını söylemek istemedim - sadece bu özel tartışmanın ana odağı olmamasını istedim.
binaryanomali

Gerçekten @ goldilocks, ne çok linuxy ne de BSDish, ama doğru değil üçüncü bir şey faydasını göremezsiniz değil mi?
Josh Rumbut

Yanıtlar:


22

1. Linux-Çekirdeği ile BSD çekirdeği arasındaki kavramsal ve yapısal farklılıklar nelerdir?

Mimari ve iç yapılarla ilgili olarak, elbette işlerin nasıl yapıldığı konusunda farklılıklar vardır (yani: lvm vs geom , FreeBSD için erken ve karmaşık hapishane özelliği, ...), ancak genel olarak ikisi arasında çok fazla fark yoktur:

  • BSD * çekirdeği ve Linux çekirdeği, hibrit / modüler bir şeye tamamen monolitik bir yaklaşımdan evrimleşmiştir.

Yine de, yaklaşımları ve tarihlerinde temel farklılıklar vardır:

  • BSD çekirdeği BSD lisansını , Linux çekirdeği GPL lisanslarını kullanıyor .
  • BSD çekirdeği tek başına çekirdekler değildir , bir bütünün parçası olarak geliştirilmiştir . Tabii ki, bu teknik değil, sadece felsefi bir bakış açısıdır, fakat bu sistem tutarlılığı sağlar .
  • BSD çekirdeği, daha muhafazakar bir bakış açısı ve yaklaşımlarıyla tutarlı kalma konusunda fantezi özelliklere sahip olmaktan daha fazla endişe ile geliştirilmiştir.
  • Linux çekirdeği daha çok sürücüler, özellikler, ... (ne kadar çok o kadar iyi).

Başka bir yerde büyük ölçüde belirtildiği gibi :

Öyle Akıllı Tasarım ve Sipariş karşı (BSD *) Doğal Seleksiyon ve Kaos (GNU / Linux).

2. Hangi senaryolarda bir çekirdeğin diğerine göre avantajı olur?

Genel yapıları ve konseptleri hakkında, neredeyse vanilya Linux çekirdeği ve FreeBSD çekirdeği karşılaştırılırken, aynı genel kullanım seviyesinin aşağı yukarı aynıdır , yani özel bir uzmanlığa sahip değildir (gerçek zamanlı değil, çok paralel değil, değil oyun odaklı, gömülü değil, ...).

Tabii ki burada ve orada, yerel ZFS desteği veya FreeBSD için geom mimarisi ve birçok sürücü veya Linux için çeşitli dosya sistemleri gibi birkaç fark var. Ancak, web sunucuları veya veritabanları gibi bazı genel yazılımların gerçek bir fark yaratmak için kullanacağı hiçbir şey yoktur. Bu vakalardaki karşılaştırmalar büyük olasılıkla ikisi arasındaki bazı ayarlama savaşlarında sona erecek, önemli değil.

Ancak, bazıları OpenBSD'nin güvenliğe derin ve tutarlı bir yaklaşımı olduğunu savunurken, sertleştirilmiş Linux dağıtımları vanilya Linux çekirdeğinin "sadece" değiştirilmiş versiyonlarıdır. Steam-OS , oyun oynamak için bir numara olacak gibi, bu kadar uzmanlaşmış bir sistem için geçerli olabilir .

3. Ortak bir çekirdek veya belirli modüller için güçleri yoğunlaştırmak için ortak çaba var mı?

Orada hiçbir önemli ruhsat, felsefi veya yaklaşım sorunları vardır gibi bir ortak çekirdek için güçlerini konsantre ortak bir çaba.

OpenZFS gibi bazı gerçek ortak çabalar varsa , çoğu zaman birbirlerinden alınan veya ilham alan sürücüler ve kavramlar hakkındadır.


BSD'lerle ilgili Glib genellemeleri genellikle yanlıştır. Muhafazakar olmak, çünkü DragonFly BSD var olduğunu, örneğin, buraya not değil bir BSD dünyaya uygulayabileceğiniz bir genelleme.
JdeBP

5

Birkaç noktayı ele alan kısmi cevap

Birçok seçenek genellikle açık kaynak geliştirmeye bakarken dışarıda kötü bir şey olarak algılanır, ancak doğada olduğu gibi düşünün, penguenler gibi bir hayvan türünün (genellikle) birçok türü vardır. 17 tane var . Her biri açık kaynak projeleriyle (tipik olarak) belirli bir dizi gereksinim için uzmanlaşmıştır. Doğal seleksiyon, zaman içinde daha az uygun olan açık kaynağı ayıklayacaktır.

Bir ortak çekirdek veya belirli modüller için güçleri yoğunlaştırmak için ortak çaba var mıdır, yoksa yine de anlamsız olur mu?

Anlamsız olurdu, bu bazen çabaların bir kopyasıdır, ancak bu bileşenler üzerinde çalışan insanlar bunu bir boşlukta yapmazlar. Başkalarının ne yaptığını inceleyecekler ve bir yaklaşım veya algoritma varsa bunu yapmak mantıklı olduğunda onu dahil ediyorlar.

Diğer mermilerinizle ilgili yapı farklılıklarıyla konuşamam ama en azından 2 tanesine hitap edeceğimi düşündüm.


Kesinlikle orada uzmanlık ile bir nokta var. Öte yandan, penguenlerin DNA'sının (maymunlar ve insanlar için) tamamen aynı oranda yüksek olduğuna ve sadece küçük alanlarda farklılık gösterdiğine de bahse girerim. Doğa, gereksiz çabalardan kaçınmak için oldukça iyidir, ancak sadece ihtiyaç duyulduğu zaman ve yerde farklılaşır. Milyarlarca doğal iterasyon (üreme), o zaman hangi modelin verilen çevresel koşullara en iyi şekilde uyarlandığına karar verir. (Felsefi hale geliyor;)
binaryanomali

@binaryanomaly - bu analojiler ile sorun 8-). Programlama dillerinin / kodunun korelasyonunun DNA ile korelasyonu daha zor olduğu için muhtemelen bu seviyeye almam.
slm

Güzel cevap ve penguenler kullanarak iyi bir karşılaştırma. Sıklıkla, çabanın tekrarlanmasının her zaman kötü olmadığını ve bir projenin çatalının her zaman sonu olmadığını unutuyoruz. Gerçekte daha evrimsel bir süreçtir, gerçekleşmesi gereken ve yeni fikirler yaratabilecek veya sefil bir şekilde başarısız olabilir.
Raphael Ahrens
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.