Apa perbedaan antara Unix, Linux, BSD dan GNU? [Tutup]

27

Apa perbedaan yang sangat mendasar antara Unix, Linux, BSD dan GNU? Unix adalah OS yang paling awal, jadi istilah 'Unix like' dapat dimengerti, karena mereka memiliki kernel, struktur sistem file, sebagian besar perintah, pengguna dll sama dengan Unix. Masih mengapa mereka berbeda? Apa yang membuat mereka terpisah? Apakah itu kernel?

Kapish M
sumber
2
Pertanyaan ini mungkin dijawab dengan jawaban Apakah semua perintah Unix ditulis ulang di Linux? .
CVn

Jawaban:

31

Itu adalah pertanyaan yang sulit dijawab.

"Unix Like" atau "* nix" pertama biasanya berarti POSIX. Semua sistem yang Anda daftarkan adalah sistem POSIX. POSIX adalah seperangkat standar untuk diterapkan.

Sekarang untuk pertanyaan yang lebih sulit.

GNU sebenarnya bukan OS. Ini lebih dari seperangkat aturan atau filosofi yang mengatur perangkat lunak bebas, yang pada saat yang sama melahirkan banyak alat saat mencoba membuat OS. Jadi alat-alat GNU pada dasarnya adalah versi terbuka dari alat-alat yang sudah ada tetapi dibangun untuk memenuhi prinsip-prinsip perangkat lunak terbuka. GNU / Linux adalah gabungan dari alat-alat itu dan kernel Linux untuk membentuk OS yang lengkap, tetapi ada "GNU" lainnya. GNU / Hurd misalnya.

Unix dan BSD adalah implementasi "lama" dari POSIX yang berbagai tingkat "sumber tertutup". Unix biasanya benar-benar sumber tertutup, tetapi ada banyak rasa Unix seperti halnya Linux jika tidak lebih. BSD biasanya tidak dianggap "terbuka" oleh beberapa orang tetapi sebenarnya itu jauh lebih terbuka daripada apa pun yang ada. Lisensinya juga diizinkan untuk penggunaan komersial dengan batasan yang jauh lebih sedikit karena lisensi yang lebih "terbuka" diizinkan.

Linux adalah pendatang baru. Sebenarnya itu "hanya kernel", namun, secara umum dianggap sebagai OS penuh ketika dikombinasikan dengan GNU Tools dan banyak hal lainnya.

Perbedaan utama yang diatur adalah cita-cita. Unix, Linux, dan BSD memiliki cita-cita berbeda yang mereka implementasikan. Mereka semua adalah POSIX, dan pada dasarnya semuanya dapat dipertukarkan. Mereka memang memecahkan beberapa masalah yang sama dengan cara yang berbeda. Jadi selain dari cita-cita dan bagaimana mereka memilih untuk menerapkan standar POSIX, ada sedikit perbedaan.

Untuk info lebih lanjut, saya sarankan Anda membaca artikel singkat tentang pembuatan GNU, OSS, Linux, BSD, dan UNIX. Mereka akan condong ke arah ide masing-masing, tetapi ketika Anda membacanya, Anda akan mendapatkan ide yang bagus tentang perbedaan tersebut.

Diagram silsilah Unix ini dengan jelas menunjukkan sejarah Unix, BSD, GNU dan Linux ( dari Wikimedia ):

Diagram silsilah Unix

kapas
sumber
Catatan: tidak semuanya POSIX. mis. lihat man unimplemented(IIRC, mungkin man security) pada sistem GNU / Linux.
strugee
Strugee benar. Mereka tidak sepenuhnya patuh, tetapi mereka berusaha untuk menjadi. Tidak yakin bagaimana mengerjakannya menjadi jawaban. Unix-Like juga secara teknis berbeda dari POSIX tetapi secara umum ketika orang mengatakan Unix-Like mereka biasanya berarti POSIX.
coteyr
1
Beberapa info pelengkap dalam tanya jawab ini .
tidak, pengembang kernel Linux tidak pernah berniat untuk memenuhi POSIX. Saya lupa di mana saya membaca ini (saya melihat di halaman manual tetapi tidak dapat menemukannya) tetapi ada syscalls tertentu yang tidak akan pernah dilaksanakan karena pertimbangan keamanan.
strugee
Saya percaya GNU awalnya dimaksudkan sebagai OS.
Faheem Mitha
14

Linux bukan OS, ini kernel. Linux dengan sendirinya tidak memiliki lingkungan 'userland' (tidak ada aplikasi, tidak ada perintah, tidak ada ... dll ...).

Jika Anda ingin memiliki OS yang lengkap, Anda harus menambahkan userland ke kernel Anda. Secara historis, untuk Linux, itu GNU. Semua (?) Distribusi Linux bukan distribusi 'Linux asli'. Itu adalah distribusi GNU / Linux (GNU + Linux).

BSD adalah OS lengkap 'unix-like', dengan kernel itu sendiri dan itu adalah userland sendiri (tidak ada kernel linux atau GNU).

GNU / Linux dan * BSD family (FreeBSD, OpenBSD dan NetBSD) adalah OS 'unix-like', mereka berperilaku seperti Unix.

Berikut ini adalah perbandingan antara (GNU) / Linux dan * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html

pengotor kotor
sumber
tautan Anda tidak berfungsi
Anthon
@Anthon itu berfungsi
Prvt_Yadav