Saya terus membaca kalimat ini:
Linux adalah sistem mirip Unix, tetapi bukan Unix.
Saya tidak tahu apa perbedaan nyata antara keduanya. Saya tahu Linux mendapat banyak ide dari Unix dan lisensi keduanya berbeda. Selain itu, karena saya bukan ahli dalam salah satu dari mereka, saya ingin tahu apakah ada perbedaan mendasar di antara mereka dalam desain atau aspek penting lainnya.
linux
operating-systems
unix
Gnijuohz
sumber
sumber
Jawaban:
Sistem "Unix like" mungkin sepenuhnya sesuai dengan Spesifikasi UNIX Tunggal , nama kolektif standar untuk apa yang memenuhi syarat sebagai sistem Unix, tetapi pada saat yang sama Unix adalah merek dagang terdaftar dari The Open Group dan vendor dari sistem Unix like perlu untuk mendapatkan sistem mereka terdaftar untuk secara resmi memenuhi syarat sebagai Unix. Saat ini sistem UNIX 03 yang terdaftar adalah:
Vendor sistem open source Unix like (kebanyakan Linux dan FreeBSD) biasanya tidak mendaftar dengan The Open Group, baik untuk menghindari biaya sertifikasi atau, yah, karena mereka tidak menemukan banyak nilai dalam melakukannya. Secara teori, sangat mungkin bahwa sistem seperti Unix secara teknis adalah Unix, dan yang hilang hanyalah sertifikasi.
Linux Foundation di sisi lain, menciptakan Basis Standar Linux , standar ISO , dalam upaya untuk membakukan Linux. Kepatuhan dengan POSIX adalah jantung dari SUS dan LSB, menjaga hubungan antara Unix dan Linux.
Sistem seperti Unix dan Unix cenderung lebih mirip daripada yang berbeda, secara teori semua rasa Unix yang populer, terdaftar atau tidak, adalah sesuai dengan POSIX (lengkap atau sebagian besar), sehingga mereka berbagi antarmuka pemrograman inti, kerang dan utilitas (dan banyak lainnya barang). IEEE dan Grup Terbuka mempertahankan salinan versi terbaru yang tersedia secara bebas, POSIX.1-2008 , di mana Anda dapat menemukan informasi lebih lanjut tentang apa sebenarnya arti kepatuhan POSIX.
Sekarang, terlepas dari alasan hukum dan teknis, Linux mewarisi mantra "not Unix" dari hubungannya dengan GNU , sistem operasi mirip Unix yang diprakarsai oleh Richard Stallman. GNU adalah singkatan dari "GNU's not Unix", karena niat Stallman adalah untuk membangun sistem yang kompatibel dengan Unix yang akan bebas, dan untuk melakukan hal itu seharusnya tidak mengandung kode Unix, karena Unix adalah hak milik.
Pengembang Linux awal mulai porting alat GNU ke Linux, dan sistem yang dihasilkan disebut GNU / Linux pada awal tahun 1992 . Ada kontroversi yang bertahan lama tentang apakah Linux harus disebut sebagai Linux atau GNU / Linux (karena menggabungkan beberapa bagian GNU), tetapi itu tidak relevan dengan pertanyaan Anda, yang relevan adalah bahwa "bukan Unix" hanya dapat merujuk pada asosiasi dengan GNU dan tidak ada hubungannya dengan desain itu, tergantung pada konteksnya.
Artikel "History of Linux" di Wikipedia menjelaskan asal-usul Linux dan hubungannya dengan Unix (via Minix dan GNU) secara terperinci, dan Anda juga harus meluangkan waktu untuk membaca referensi artikel, jika Anda tertarik belajar lebih banyak.
sumber
UNIX adalah keluarga sistem operasi dan saat ini UNIX lebih merupakan merek yang dimiliki oleh The Open Group. Untuk sistem operasi yang akan diberi merek UNIX, itu harus menjalani pengujian kesesuaian, dan untuk Linux ini berarti bahwa setiap distribusi di luar sana (Ubuntu, Debian, Fedora, Red Hat, dll) harus secara terpisah menjalani pengujian kesesuaian ini untuk setiap rilis . Jadi ini adalah salah satu alasan utama mengapa Linux adalah sistem seperti unix dan bukan UNIX.
Pengujian yang saya sebutkan ini adalah untuk memastikan kepatuhan OS dengan Spesifikasi Single Unix, yang saat ini di versi 4 SUSv4 (Spesifikasi Single Unix versi 4). Spesifikasi ini mendefinisikan satu set API yang harus tersedia untuk aplikasi agar sistem memenuhi syarat untuk nama UNIX.
sumber
Jawaban yang ada sudah menyebutkan beberapa perbedaan yang Anda cari. Tanpa menjadi ahli kernel Linux, saya juga akan menambahkan bahwa banyak perbedaan desain / implementasi antara GNU / Linux dan berbagai Unix tercakup dalam seri pola desain kernel Linux .
sumber
"UNIX" adalah hal yang rumit untuk dijabarkan. Dalam hal kesesuaian standar, baik Solaris dan Mac OS X adalah "secara resmi" UNIX tetapi Anda tidak perlu menghabiskan banyak waktu sebelum Anda menemukan perbedaan yang agak besar di antara keduanya. Ada diagram hebat yang mendokumentasikan pelepasan berbagai rasa dari sistem operasi seperti UNIX atau UNIX dan bagaimana mereka saling mempengaruhi dan menyimpang.
Dalam skema besar hal-hal yang terlihat, berjalan dan dukun seperti UNIX, sistem Linux [*] adalah salah satu rilis yang lebih konvensional. Sangat umum bagi orang untuk merujuk ke Unix atau * nix dan berarti "apa pun yang mirip UNIX", yang mungkin termasuk Linux. Namun UNIX adalah merek dagang terdaftar dengan batasan bagaimana itu dapat diterapkan secara komersial; tidak ada distribusi Linux yang memenuhi batasan itu.
[*] Karena pertanyaan ini mengundang pemecah rambut semantik, saya pikir ini adalah topik utama dalam hal ini untuk menunjukkan bahwa Linux itu sendiri hanyalah sebuah kernel di mana sistem operasi dapat dibangun. Adalah umum untuk membangun sistem mirip UNIX di atas Linux, yang memang dirancang untuk itu, dan sistem itu biasanya dibangun dari komponen proyek GNU. Dalam jawaban di atas "Linux" dapat dibaca sebagai singkatan untuk "sistem operasi yang menggabungkan kernel Linux".
sumber
Saya pernah membaca bahwa Linux adalah apa yang Anda dapatkan ketika Anda mengambil pengembang PC dan memintanya untuk menulis OS Unix, sedangkan FreeBSD adalah apa yang Anda dapatkan ketika Anda mengambil pengembang Unix dan memintanya untuk membuat PC OS .... don ' jangan lupakan BSD dalam perbandingan Anda!
Perbedaannya terutama pada Kernel karena aplikasi userspace (termasuk hal-hal seperti ls) adalah bagian dari proyek GNU. Ini berarti bahwa Unix, FreeBSD, dan Linux semuanya tampak hampir sama.
Namun ada perbedaan begitu Anda mencermati. Layout direktori akan berbeda (tetapi banyak distro Linux menggunakan kebanyakan sendiri yang kompatibel tetapi tata letak masih berbeda), sistem file berbeda (Unix menggunakan UFS, FreeBSD menggunakan FFS, Linux menggunakan Ext3 untuk menyederhanakan - semuanya dapat menggunakan port dari FSs umum, misalnya ZFS)
Lalu ada perbedaan dalam API inti, Linux akan memberi Anda API inotify untuk memberi tahu Anda ketika file berubah, Mac OSX memberi Anda FSEvents , dan FreeBSD memberi Anda kqueue .
Jadi mereka dapat dianggap keluarga yang sama - bandingkan sistem Windows dengan alat-alat GNU yang diportingkan dengan sistem Linux dengan alat yang sama. Mereka hanya akan tampak sama secara dangkal, tetapi sistem Unix atau FreeBSD akan tetap tampak sebanding. Jika dilihat lebih dekat, Anda akan menemukan aplikasi porting antara FreeBSD, Unix dan Linux relatif lebih mudah dibandingkan dengan porting ke OS alternatif seperti Windows.
sumber
Unix bukan lagi Sistem Operasi tunggal. Dulunya merupakan implementasi oleh Bell Labs / AT&T tetapi sekarang ini merupakan standar.
Secara teknis, Linux hanya sebuah kernel. Kernel ini dapat ditemukan di OS seperti Unix, yang paling populer adalah Android. Di sisi lain, ada banyak OS berbasis Linux yang mirip Unix. Sebagian besar (jika tidak semua) dari mereka menggunakan perpustakaan dan utilitas Gnu. Kombinasi ini memberikan distribusi Linux API Unix dan kepatuhan (atau ketidakpatuhan) ke standar.
Standar Unix tidak memerlukan sistem yang sesuai untuk menjadi milik atau memiliki lisensi tertentu. BSD, OpenSolaris / Illumos, darwin adalah contoh implementasi Unix yang bukan Linux yang masih gratis.
Sistem yang patuh biasanya tetapi tidak selalu merupakan campuran komponen kepemilikan dan sumber terbuka sementara Gnu / Linux dapat berupa Open Source sepenuhnya atau juga termasuk barang-barang berpemilik.
Sejauh menyangkut kepatuhan Unix, tidak ada banyak perbedaan. Sebagian besar distribusi Linux dan implementasi Unix berbagi set perintah yang sama menggunakan set opsi yang sama. Namun, Anda akan menemukan banyak ekstensi dari perintah standar, terutama di sisi Gnu di mana mereka disebut Gnuisme, dan banyak perintah yang tidak didefinisikan oleh standar di tempat pertama (kompiler, perintah administratif, instalasi, pengemasan, lingkungan grafis). Ini adalah area di mana Anda dapat menemukan banyak divergensi, ketidakcocokan, dan terkadang perang suci.
Model pengembangan Gnu / Linux biasanya dianggap lebih "organik" dan "bazaar", sedangkan sistem mirip Unix lainnya lebih "dirancang" dan "katedral". Tergantung pada subsistem, perbedaannya tidak terlalu jelas dan tergantung individu dan / atau perusahaan di belakangnya.
sumber
Linux hadir dengan banyak alat seperti:
Namun, sebagian besar sistem operasi UNIX dianggap sebagai sistem operasi yang lengkap karena semuanya berasal dari satu sumber atau vendor.
Beberapa hal yang mereka bagikan:
sumber
Tidak juga, Linux adalah rekayasa kebalikan dari Unix, jadi desain kernel mengikuti filosofi Ken Thompson. Cara Linux tampaknya meniru filosofi Unix semaksimal mungkin tanpa pernah membebani diri sendiri dengan pemikiran asli.
sumber