Perbedaan konseptual antara Linux dan (Gratis) BSD Kernel

19

(Saya sudah memperhatikan bahwa pertanyaan ini diajukan sebelumnya, tetapi saya pikir itu belum dijawab dengan cara yang saya ingin mengerti topiknya.)

Apa perbedaan konseptual dan struktural antara a

  • Kernel Linux
  • Kernel BSD (katakanlah FreeBSD)

Sementara pada akhirnya mereka sama-sama kernel - saya akan berasumsi bahwa mungkin ada perbedaan dalam struktur, fungsi dan spesialisasi. Dalam skenario apa salah satu jenis kernel memiliki keunggulan di atas yang lain? (Server Web, Basis Data, Komputasi, dll.)

Apakah ada upaya bersama untuk memusatkan kekuatan untuk satu kernel umum atau modul tertentu atau apakah itu akan sia-sia?

PS: Berbagai jenis lisensi atau pendekatan pengiriman / pengemasan / pemeliharaan tidak penting dalam konteks ini. Saya benar-benar tertarik untuk memahami perbedaannya pada tingkat struktural, fungsional / fitur, dan spesialisasi.

binaryanomaly
sumber
Apakah ada upaya bersama untuk memusatkan kekuatan untuk satu kernel umum atau modul tertentu atau apakah itu akan sia-sia? Pikiran pertama saya adalah poin apa yang mungkin dimiliki ... untuk membuat kernel ketiga "berdasarkan sepenuhnya pada campuran linux dan freeBSD"?
goldilocks
Tidak, tidak sama sekali, sebaliknya - membangun kerja sama untuk bagian yang sama untuk keduanya. Saya pikir untuk driver tertentu ini sudah terjadi jika saya tidak salah.
binaryanomaly
1
@ binaryomaly: lisensi yang berbeda sangat penting bagi kedua belah pihak. Bahkan orang dapat menyebutnya ideologi di kedua sisi lorong. Sebagai contoh, GCC dulu merupakan titik sakit di BSD dan FreeBSD sekarang beralih ke Dentang sebagai default karena alasan ini: masalah lisensi.
0xC0000022L
1
@ 0xC0000022L: Anda memang benar dan saya tidak ingin mengatakan bahwa pertanyaan perizinan tidak penting - saya hanya ingin itu tidak menjadi fokus utama dalam diskusi khusus ini.
binaryanomaly
Sungguh @goldilocks, Anda tidak bisa melihat manfaat dari hal ketiga yang tidak terlalu linuxy, juga tidak terlalu BSDish, tetapi tepat ?
Josh Rumbut

Jawaban:

22

1. Apa perbedaan konseptual dan struktural antara Linux-Kernel dan BSD-kernel?

Mengenai arsitektur dan struktur internal, tentu saja ada perbedaan tentang bagaimana hal-hal dilakukan (yaitu: lvm vs geom , fitur penjara awal dan kompleks untuk FreeBSD, ...), tetapi secara keseluruhan tidak ada banyak perbedaan antara keduanya:

  • Kernel BSD * dan kernel Linux keduanya berevolusi dari pendekatan monolitik murni menjadi sesuatu yang hybrid / modular.

Namun, ada perbedaan mendasar dalam pendekatan dan sejarah mereka:

  • BSD-kernel menggunakan lisensi BSD dan Linux-kernel menggunakan lisensi GPL .
  • BSD-kernel bukan kernel yang berdiri sendiri tetapi dikembangkan sebagai bagian dari keseluruhan . Tentu saja, ini hanyalah sudut pandang filosofis dan bukan sudut pandang teknis, tetapi ini memberikan koherensi sistem .
  • BSD-kernel dikembangkan dengan sudut pandang yang lebih konservatif dan lebih peduli untuk tetap konsisten dengan pendekatan mereka daripada memiliki fitur mewah.
  • Linux-kernel lebih banyak tentang driver, fitur, ... (semakin banyak semakin baik).

Seperti yang dinyatakan di tempat lain :

Ini adalah Intelligent Design and Order (BSD *) versus Seleksi Alam dan Kekacauan (GNU / Linux).

2. Dalam skenario apa salah satu jenis kernel memiliki keunggulan di atas yang lain?

Tentang struktur dan konsep keseluruhan mereka, sementara membandingkan kernel Linux yang hampir vanilla dan kernel FreeBSD, mereka kurang lebih sama dengan tingkat penggunaan umum , yang tanpa spesialisasi tertentu (tidak waktu nyata, tidak sangat paralel, tidak berorientasi permainan, tidak disematkan, ...).

Tentu saja ada beberapa perbedaan di sana-sini, seperti dukungan ZFS asli atau arsitektur geom untuk FreeBSD versus banyak driver atau berbagai sistem file untuk Linux. Tetapi tidak ada yang dapat digunakan oleh beberapa perangkat lunak umum seperti server web atau database untuk membuat perbedaan nyata. Perbandingan dalam kasus-kasus ini kemungkinan besar akan berakhir dalam beberapa pertempuran tuning antara keduanya, tidak ada yang besar.

Tetapi, beberapa orang berpendapat bahwa OpenBSD memiliki pendekatan keamanan yang mendalam dan konsisten, sementara distribusi Linux yang diperkeras adalah "hanya" versi modifikasi dari vanilla Linux-kernel. Ini mungkin benar untuk sistem yang sangat terspesialisasi, seperti halnya Steam-OS menjadi nomor satu untuk bermain game.

3. Apakah ada upaya bersama untuk memusatkan kekuatan untuk satu kernel umum atau modul tertentu?

Tidak ada upaya bersama untuk memusatkan kekuatan untuk satu kernel umum, karena ada lisensi besar, masalah filosofis atau pendekatan.

Jika beberapa upaya nyata yang nyata ada seperti OpenZFS , sebagian besar waktu lebih tentang driver dan konsep yang diambil atau terinspirasi dari satu sama lain.

Ouki
sumber
Generalisasi Glib tentang BSD biasanya salah. Perhatikan di sini, misalnya, bahwa DragonFly BSD ada karena menjadi konservatif bukanlah generalisasi yang dapat diterapkan pada dunia BSD.
JdeBP
5

Jawaban parsial membahas beberapa poin

Banyak pilihan sering dianggap sebagai hal yang buruk ketika di luar melihat pengembangan sumber terbuka tetapi menganggapnya sebagai di alam, ada banyak spesies (sering) dari jenis hewan, kata penguin. Ada 17 . Masing-masing dikhususkan untuk serangkaian persyaratan tertentu, demikian juga dengan proyek sumber terbuka (biasanya). Seleksi alam akan membantu menyingkirkan sumber terbuka yang kurang tepat dari waktu ke waktu.

Apakah ada upaya bersama untuk memusatkan kekuatan untuk satu kernel umum atau modul tertentu atau apakah itu akan sia-sia?

Akan menjadi semacam tidak ada gunanya, itu adalah duplikasi dari upaya di kali tetapi orang yang bekerja pada komponen ini tidak melakukannya dalam ruang hampa juga. Mereka akan melihat-lihat apa yang dilakukan orang lain dan jika ada pendekatan atau algoritma mereka menggabungkannya ketika masuk akal untuk melakukannya.

Saya tidak dapat berbicara dengan perbedaan struktur mengenai peluru Anda yang lain, tetapi saya pikir setidaknya saya akan membahasnya.

slm
sumber
Anda tentu ada benarnya dengan spesialisasi. Di sisi lain saya juga bertaruh bahwa DNA penguin adalah persentase yang sangat tinggi persis sama (seperti untuk kera dan manusia) dan hanya berbeda di daerah kecil. Alam cukup baik dalam menghindari upaya yang berlebihan tetapi hanya membedakan kapan dan di mana dibutuhkan. Miliaran iterasi alami (reproduksi) memutuskan kemudian (seleksi) mana dari pola yang paling disesuaikan dengan kondisi lingkungan yang diberikan. (Semakin filosofis;)
binaryanomaly
@ binaryomaly - itulah masalah dengan analogi 8-). Saya mungkin tidak akan membawanya ke tingkat itu karena korelasi bahasa pemrograman / kode lebih sulit untuk dikorelasikan dengan DNA.
slm
Jawaban yang bagus dan perbandingan yang bagus dengan menggunakan penguin. Seringkali kita lupa bahwa duplikasi usaha tidak selalu buruk dan percabangan suatu proyek tidak selalu berakhir. Ini benar-benar lebih merupakan proses evolusi, yang perlu terjadi dan mungkin menciptakan ide-ide baru atau gagal total.
Raphael Ahrens