Saya ingin tahu apa perbedaan sebenarnya antara Unix dan Linux.
- Apakah mereka berbagi kernel yang sama?
- Apakah Linux dibangun di atas Unix?
- Apakah program yang ditulis untuk Linux berfungsi di Unix dan sebaliknya?
linux
unix
operating-systems
Xinus
sumber
sumber
Jawaban:
Unix bukanlah satu hal, itu adalah nama untuk keluarga besar sistem operasi terkait, yang berbagi derajat, sejarah, dan arsitektur yang berbeda. Solaris, DEC Unix, IRIX, HP-UX adalah varian Unix. Mereka pada tingkat tertentu kompatibel untuk aplikasi, karena mereka menerapkan standar POSIX ke derajat yang berbeda, yang berarti mereka mengekspos perintah dan API yang sama.
Kernel mereka tidak sama, meskipun jika Anda mencari 'pohon keluarga unix' Anda akan melihat sejarah yang menarik tentang bagaimana varian ini telah berevolusi dari satu sama lain, seperti organisme. Artinya, burung pipit dan burung walet bukan binatang yang sama tetapi mereka memiliki banyak kesamaan.
Linux adalah penulisan ulang, dari awal, dari sistem operasi mirip Unix. Apakah program yang ditulis untuk satu Unix / Linux versus yang lain adalah pertanyaan yang kompleks, tetapi dalam beberapa kasus ya.
sumber
Tidak, Tidak, Ya (sumber)
Untuk benar-benar memahami jawabannya, perlu untuk melihat sejarah kedua sistem operasi.
Unix ditemukan di AT&T Bell Labs oleh Ken Thompson. Rekannya, Dennis Ritchie berkontribusi dan juga menemukan bahasa C dan menulis kompiler C. Selama bertahun-tahun, kode juga disumbangkan oleh UC Berkeley, pekerjaan lebih lanjut di AT&T, Sun, IBM, dan lainnya.
Itu akhirnya distandarisasi dalam serangkaian publikasi yang disebut POSIX. Secara keseluruhan, kode tersebut adalah hak milik, karena dilindungi hak cipta oleh AT&T dan kemudian dijual atau dilisensikan kepada perusahaan lain, yang sebagian besar menulis ulang selama bertahun-tahun tetapi mempertahankan berbagai hak.
Dua cabang "Unix bebas" muncul pada 1990-an. Salah satunya adalah Linux , yang merupakan tiruan, ditulis untuk bertindak seperti Unix tanpa mengandung kode Unix yang sebenarnya.
Cabang lain ada hari ini sebagai NetBSD , dan yang diikuti dengan cepat oleh FreeBSD , dan kemudian banyak lagi oleh * * BSD lain yang mungkin pernah Anda dengar. Proyek-proyek ini sedikit berbeda dari Linux dalam hal mereka "klon parsial". Mereka mengandung campuran kode sumber "nyata Unix" (bagian yang dilisensikan secara bebas, terutama oleh UC Berkeley) dan beberapa kode "klon" yang baru ditulis dan kode lain yang kemudian muncul sebagai bagian dari penulisan ulang atau sesuai kebutuhan untuk mendukung HW modern dan modern Spesifikasi posix.
Linux jauh lebih populer karena NetBSD dan FreeBSD diikat untuk sementara waktu dalam gugatan antara AT&T dan UCB. Meskipun diselesaikan dalam mendukung BSD, mereka tidak pernah pulih dari penundaan, setidaknya, tidak dalam hal popularitas.
Jadi tidak, Linux dan Unix komersial tidak memiliki kode kernel yang sama, meskipun Unix komersial dan * BSD pernah memiliki sedikit kesamaan. Kernel Unix dari vendor berlisensi berisi kode yang mereka tulis sendiri, mungkin dengan beberapa kode AT&T asli masih ada di sana-sini. Kernel Linux terdiri dari kode yang ditulis oleh Linus Torvalds dan penulis lain.
"Perangkat lunak Unix" adalah perangkat lunak yang ditulis untuk API Posix dan biasanya berjalan pada semua versi Unix, Linux, dan NetBSD dan FreeBSD. Secara teori, Posix SW dapat berjalan pada sistem "non-Unix" tetapi itu tampaknya tidak berhasil dengan baik. Saat ini, "Unix" secara teknis merupakan merek dagang, tetapi cenderung digunakan secara informal sebagai sebutan untuk Unix komersial, Linux, dan keluarga BSD.
sumber
Ketika kebanyakan orang berbicara tentang unix, yang mereka maksud adalah "sistem operasi mirip Unix yang sesuai dengan POSIX", yang merupakan Linux.
Apakah mereka berbagi kernel yang sama? Tidak, Linux IS sebuah kernel, bukan sistem operasi. Secara teknis, distro Linux menggunakan kernel Linux dan GNU (lihat gnu.org) "userland". Userland adalah program dasar dan pustaka, dll. Yang menjembatani aplikasi besar dan tugas pengguna dengan API tingkat rendah kernel.
Apakah Linux dibangun di atas Unix? Tidak, itu tiruan. Itu dibangun untuk menyediakan versi Unix yang dapat digunakan dan gratis pada PC desktop yang rendah.
Bisakah program yang ditulis untuk Linux berfungsi di Unix dan sebaliknya? Terkadang. Sebagai contoh, di FreeBSD, ada emulator Linux ABI, yang pada dasarnya mendeteksi bahwa program dibuat untuk Linux, dan membuat set panggilan kernel yang berbeda tersedia. Sesuatu yang serupa tersedia untuk Linux untuk menjalankan hal-hal standar Unix System V (atau versi komersial populer unix), tetapi jarang digunakan, karena sebagian besar program datang sebagai kode sumber yang sesuai dengan POSIX, dan kompilasi di Linux tanpa kesulitan. Juga, sebagian besar program biner untuk unix tersedia langsung untuk Linux. FreeBSD adalah masalah yang lebih kecil, dan tidak memiliki kemewahan ini. Di Linux, sistem untuk memuat binari dari sistem lain paling sering digunakan untuk menjalankan program java, program windows (walaupun ini keliru), dll.
Unix adalah merek dagang, sehingga Linux tidak dapat menggunakan namanya. Unix adalah versi resmi dan lama (inasmuchas ada versi resmi), yang tidak terlalu ramah pengguna. Sebagian besar versi unix dirancang sedikit lebih baik, tetapi tidak harus berfungsi dengan baik dalam hal praktis. Benar-benar tentang hal itu. Banyak perusahaan yang dulu menjalankan Unix sekarang menjalankan Linux.
Jika Anda ingin melihat perbedaan dalam berbagai sistem operasi mirip-unix, dapatkan sendiri salinan FreeBSD, OpenSolaris, dan Debian. Saya mengatakan distro-distro ini secara khusus karena mereka akan lebih mudah untuk dibandingkan, meskipun beberapa yang lain seperti pc-bsd, nexenta, dan ubuntu masing-masing lebih baik.
sumber
Saya pikir secara teknis, GNU / Linux tidak kurang dari UNIX daripada sistem resmi UNIX mana pun, tetapi itu hanya untuk alasan hukum bahwa orang menggambarkan Linux sebagai OS yang mirip UNIX , bukan hanya OS "UNIX".
Sejauh menyangkut kernel, Linux adalah kernel. Jadi menurut definisi, jika suatu sistem menggunakan kernel Linux, maka itu adalah sistem Linux, bukan sistem UNIX.
Linux tidak dibangun "di atas" Unix, itu dibangun sebagai klon UNIX. Semua berbagai utilitas gnu (bash, dll) ditulis dari awal sebagai klon dari utilitas unix yang sesuai.
Ironisnya, Mac OS X, yang memiliki inti UNIX, dikirimkan bersama bash, gcc , dan kemungkinan utilitas GNU lainnya. Jadi itulah sistem UNIX yang mencakup bagian-bagian GNU, dan bukan sebaliknya seperti yang diharapkan.
sumber
Sejarah UNIX Bukan jawaban untuk pertanyaan Anda, tapi mungkin akan menarik.
sumber
Dari NixCraft
sumber