Apakah Linux adalah Unix?

190

Jadi, ada banyak versi Unix yang berbeda di luar sana: HP-UX, AIX, BSD, dll. Linux dianggap sebagai klon Unix daripada implementasi Unix. Apakah semua "nyata" Unix adalah keturunan asli dari yang asli? Jika tidak, apa yang memisahkan Linux dari Unix?

Shawn J. Goff
sumber

Jawaban:

224

Itu tergantung pada apa yang Anda maksud dengan "Unix", dan oleh "Linux".

  • UNIX adalah merek dagang terdaftar dari The Open Group . Merek dagang memiliki sejarah penting, dan tidak sepenuhnya jelas bahwa itu tidak digeneralisasi karena penggunaan luas "Unix" mengacu pada sistem seperti Unix (lihat di bawah). Saat ini Grup Terbuka memberikan penggunaan merek dagang untuk sistem apa pun yang lolos sertifikasi UNIX Tunggal . Lihat juga Mengapa ada * Ketika Ada Sebutan Unix Di Seluruh Internet? .

  • Unix adalah sistem operasi yang lahir pada tahun 1969 di Bell Labs . Berbagai perusahaan menjual, dan masih menjual, kode yang berasal dari sistem asli ini, misalnya AIX , HP-UX , Solaris . Lihat juga Evolusi sistem operasi dari Unix .

  • Ada banyak sistem yang mirip Unix, karena mereka menawarkan antarmuka yang mirip dengan programmer, pengguna, dan administrator. Sistem produksi tertua adalah Berkeley Software Distribution , yang berangsur-angsur berkembang dari berbasis Unix (yaitu berisi kode yang berasal dari implementasi asli) ke Unix-like (yaitu memiliki antarmuka yang sama). Ada banyak sistem operasi berbasis BSD atau yang diturunkan dari BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X , dll. Contoh lain termasuk OSF / 1 (sekarang dihentikan, itu adalah sistem komersial berbasis Unix-like non-Unix-based), Minix(awalnya mainan sistem operasi mirip Unix digunakan sebagai alat pengajaran, sekarang menjadi sistem produksi tertanam mirip Unix), dan yang paling terkenal adalah Linux .


  • Sebenarnya, Linux adalah kernel sistem operasi yang dirancang seperti kernel Unix.

  • Linux paling umum digunakan sebagai nama sistem operasi mirip Unix yang menggunakan Linux sebagai kernelnya. Karena banyak alat di luar kernel adalah bagian dari proyek GNU , sistem seperti itu sering dikenal sebagai GNU / Linux . Semua distribusi Linux utama terdiri dari GNU / Linux dan perangkat lunak lainnya.

  • Ada sistem seperti Unix berbasis Linux yang tidak menggunakan banyak alat GNU, terutama di dunia embedded, tapi saya tidak berpikir ada di antara mereka yang tidak menggunakan alat pengembangan GNU, khususnya GCC .

  • Ada sistem operasi yang menggunakan Linux sebagai kernelnya tetapi tidak seperti Unix. Yang paling terkenal adalah Android , yang tidak memiliki pengalaman pengguna seperti Unix (meskipun Anda dapat menginstal baris perintah mirip Unix) atau pengalaman administrator atau (kebanyakan) pengalaman programmer (program Android asli "" menggunakan API yang sama sekali berbeda dari Unix).

Gilles
sumber
70
Dan jangan lupa bahwa GNU adalah singkatan dari "GNU is Not Unix"!
alex
57
"Gnu bukan Unix" berarti Gnu tidak berdasarkan pada kode asli Unix, bukan bahwa Gnu tidak ingin mengimplementasikan spesifikasi Unix. Mengutip rms: "Unix Gratis! Memulai Thanksgiving ini saya akan menulis sistem perangkat lunak lengkap Unix yang kompatibel yang disebut GNU (untuk Gnu's Not Unix), dan memberikannya gratis (1) kepada semua orang yang dapat menggunakannya."
jlliagre
8
Jika distro Linux ingin mendapatkan sertifikasi sebagai UNIX, itu tidak perlu banyak berubah dan bisa jadi begitu. Tetapi saya belum pernah mendengar ada orang yang membayar semua uang itu untuk apa, pada titik ini, nilainya sangat sedikit.
Kevin Cantu
6
@Kevin: Caldera (sekarang terkenal dengan nama lain) pernah bekerja di sana, meskipun mereka tidak pergi jauh-jauh (mereka tampaknya telah meninggalkan ide dan mendorong LSB sebagai gantinya jauh sebelum mereka tiba-tiba lupa bahwa mereka pernah mendengar tentang Linux).
Gilles
4
@milkovsky Tidak. Seperti yang saya jelaskan dalam jawaban saya, kata "Linux" memiliki dua arti. "Android berbasis Linux" benar dengan makna 1 (kernel). "Linux mirip Unix" benar dengan arti 2 (sistem operasi).
Gilles
58

Untuk semua maksud dan tujuan, distribusi Linux modern yang khas (Ubuntu, Debian, Red Hat, Fedora, Slackware, dll) adalah Unix, tetapi secara tegas, tidak ada sistem yang dapat mengklaim sebagai Unix tanpa disertifikasi, jadi alih-alih orang mengatakan itu adalah Unix. Seperti Unix. Mereka terinspirasi oleh Unix, dan meneruskan budayanya.

Ini juga berlaku untuk sistem BSD.

Mac OS X bersertifikat Unix, jadi Unix memiliki nama dan memang. (dan ini sebenarnya berdasarkan pada BSD).

Perlu dicatat bahwa karena Linux itu sendiri hanyalah sebuah kernel, ia dapat digunakan untuk membangun sistem yang tidak seperti unix (seperti Android).

Hasen
sumber
1
Catatan: kernel Mac OS X tidak didasarkan pada kernel BSD apa pun. Bagian mode pengguna didasarkan pada FreeBSD dan sebagian NetBSD sepengetahuan saya.
0xC0000022L
2
Kernel hari ini mungkin agak berbeda dari kernel BSD, tapi saya pikir itu awalnya (setidaknya sebagian) berdasarkan itu.
Hasen
3
Perlu dicatat bahwa FreeBSD adalah turunan langsung dari ATT Unix dan pernah berisi kode ATT Unix. Itu bukan hanya "terinspirasi" oleh Unix.
Rob
2
@ 0xC0000022L dan kita melangkah lebih jauh sekarang "Versi awal Mach memiliki kernel monolitik, dengan banyak kode BSD di kernel. Mach 3.0 adalah implementasi microkernel pertama." Bagi saya, osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html cukup sumber yang otoritatif.
poige
2
Dan untuk menyimpulkan: "Beberapa aspek yang bertanggung jawab atas BSD meliputi: proses model id pengguna, izin, kebijakan keamanan dasar API POSIX, sistem panggilan gaya BSD TCP / IP stack, soket BSD, firewall VFS dan sistem file (lihat Sistem File Mac OS X untuk rincian) Sistem V IPC crypto framework berbagai mekanisme sinkronisasi ". Bagi saya ini sudah cukup untuk mengatakan bahwa itu didasarkan pada BSD. Hadapi kebenaran.
poige
23

Linux lebih 'mirip Unix' jadi ya secara sederhana Anda bisa menyebutnya klon, hal yang sama berlaku untuk BSD (walaupun diakui BSD dapat dianggap lebih dekat dengan Unix daripada Linux).

Hal utama yang memberi Linux judul mirip Unix adalah kenyataan bahwa ia hampir sepenuhnya sesuai dengan standar POSIX (Portable Operating System Interface [for Unix]) yang telah meningkat dari waktu ke waktu.

Hal utama lainnya, adalah pewarisan kode dll , seperti yang diperlihatkan di Wikipedia, Linux sebenarnya tidak berasal dari sumber Unix, melainkan cukup banyak dibangun dari awal (ini masih diperdebatkan).

Jadi pada dasarnya, hal utama yang memisahkan Unix dari Linux adalah leluhur dan standar yang dipenuhi.

NJ
sumber
1
Ada juga Spesifikasi Unix Tunggal untuk dipertimbangkan.
Dennis Williamson
Saya pasti akan mengatakan bahwa BSD lebih dekat ke Unix daripada Linux. Karena lisensi BSD yang lebih liberal dan pengembangannya dekat dengan AT&T UNIX, banyak kode sumber BSD dan API-nya digunakan dalam Unix komersial. Sistem file UFS di Solaris dan beberapa UNIX komersial lainnya datang langsung dari BSD. Juga, Berkely Sockets API (tidak harus sumber) yang digunakan oleh semua termasuk Linux dikembangkan pada BSD.
penguin359
3
Setelah seluruh kekacauan SCO vs IBM, menjadi jelas bahwa kernel Linux tidak mengandung kode Unix sama sekali.
vonbrand
11

Jawaban yang dipilih menjelaskannya dengan cukup lengkap, tetapi Anda harus menonton seluruh film dokumenter untuk mengetahui semua detail antara pengembangan awal UNIX, dan bagaimana Linux keluar.

Pertama, Anda harus mempertimbangkan bahwa Linux adalah kernel, yang dibuat oleh linus dan programmer lain. Dia memilih untuk merilisnya dengan GPL, yang pada saat itu merupakan lisensi yang dibuat oleh FSF, (RMS dan orang lain), yang juga mengembangkan kernel dan GNU mereka sendiri.

Apa yang biasa kita sebut Linux adalah, pada awalnya, kernel, plus semua alat lain yang aslinya berasal dari proyek GNU. Kedua proyek tersebut secara historis berbeda, karena pada saat itu, kernel dari orang-orang FSF ditinggalkan untuk mendukung kernel Linux, yang jauh lebih baik.

Saya ingat ada film dokumenter, Anda harus benar-benar menontonnya, saya merasa penting untuk budaya pemrograman Anda.

Hal lain yang harus Anda pertimbangkan ketika berpikir tentang "* nix", juga semuanya melibatkan POSIX dan hal-hal standar arsitektur lainnya. Subjek ini adalah desain / penelitian OS, tetapi ia mendefinisikan dengan tepat bagaimana OS yang terlibat bekerja, dan sangat penting ketika Anda memiliki kernel yang bekerja dengan baik dengan alat-alatnya.

jokoon
sumber
Sebenarnya POSIX sekarang disebut SUS (Spesifikasi Single Unix), yang disebutkan.
0xC0000022L
1
@STATUS POSIX adalah dasar untuk SUSv2. Grup Austin kemudian dibentuk sebagai kelompok kerja bersama antara IEEE yang menciptakan POSIX dan Grup Terbuka yang memiliki merek dagang UNIX dan spesifikasi UNIX. Mereka merilis POSIX: 2001 juga dikenal sebagai SUSv3. Sejauh ini yang saya tahu sama. POSIX masih dikembangkan dengan POSIX: 2004 dan POSIX: 2008 yang merupakan inti dari SUSv4. Saya tidak berpikir POSIX belum mati. en.wikipedia.org/wiki/Single_UNIX_Spesifikasi
penguin359
Saya mengerti bahwa SUS adalah POSIX dengan beberapa tambahan.
vonbrand
Tautan ke film dokumenter itu?
Edward Torvalds
edward torvalds Maaf saya tidak ingat judulnya. Ini menampilkan RMS terutama, dan tampak seperti dokumen lama.
jokoon
6

Sudah banyak jawaban bagus tapi saya pikir pandangan Dennis Ritchie (co-pencipta Unix) yang hebat akan menjadi pelengkap yang menarik untuk jawaban yang lebih teknis lainnya.

Tampaknya Dennis Ritchie menganggap Linux sebagai turunan Unix yang sah. Dalam sebuah wawancara tahun 1999 untuk LinuxFocus.org , ia ditanya,

apa pendapat Anda tentang semua momentum Linux, dan keputusan banyak perusahaan untuk mulai mengembangkan perangkat lunak untuk itu?

Jawabannya terhadap pertanyaan itu

Saya pikir fenomena Linux cukup menyenangkan, karena menarik sangat kuat atas dasar yang disediakan Unix. Linux tampaknya menjadi yang paling sehat dari turunan Unix langsung, meskipun ada juga berbagai sistem BSD serta penawaran yang lebih resmi dari workstation dan produsen mainframe. Saya tidak dapat menahan diri untuk mengamati, tentu saja, "sumber bebas" Dunia yang diturunkan dari Unix tampaknya menderita jenis fragmentasi dan perselisihan yang persis sama yang terjadi dan masih terjadi di dunia komersial.

Anthony Geoghegan
sumber
1

Secara historis Linus Torvalds telah menciptakan klon Minix OS yang ditingkatkan. Pengembangan Linux tidak berfokus pada platform dan basis pelanggan tertentu, dan pengembang Linux memiliki beragam pengalaman dan perspektif. OS seperti HP-UX, AIX, Solaris dan lainnya sebagian besar dipertajam untuk vendor.

Dalam komunitas Linux tidak ada seperangkat alat atau lingkungan standar yang ketat. Kurangnya standarisasi menyebabkan inkonsistensi yang signifikan dalam Linux. Untuk beberapa pengembang, kemampuan untuk menggunakan pencapaian terbaik dari sistem operasi lain adalah nilai tambah, tetapi itu tidak selalu nyaman untuk menyalin elemen UNIX di Linux, misalnya, ketika nama perangkat di dalam Linux dapat diambil dari AIX, sedangkan alat untuk bekerja dengan sistem file difokuskan pada HP-UX. Ketidakcocokan jenis ini juga ditemukan antara distribusi Linux yang berbeda.

Quarind
sumber
0

Unix, awalnya UNICS (Layanan Informasi dan Komputasi UNiplexed).

Unix (bermerek UNIX) adalah keluarga multitasking, sistem operasi komputer multi-pengguna yang berasal dari AT&T Unix yang asli. Pengembangan dimulai pada 1969 dan diumumkan di luar Bell abs pada Oktober 1973.

Berbagai varian akademik dan komersial Unix dari vendor seperti University of California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) dan Sun Microsystems (Solaris).

  • BSD ( B erkeley S oftware D istribution) rilis menjadi dasar bagi beberapa proyek open source pembangunan yang sedang berlangsung, misalnya, FreeBSD, OpenBSD, NetBSD, Darwin, dan TrueOS.
  • Xenix adalah versi dihentikan dari sistem operasi Unix untuk berbagai platform komputer mikro, dilisensikan oleh Microsoft.
  • AIX ( A dvanced saya nteractive e X ecutive) dikembangkan dan dijual oleh IBM untuk beberapa platform komputer-nya.

Linux adalah keluarga sistem operasi perangkat lunak bebas dan sumber terbuka yang dibangun di sekitar kernel Linux. Komponen utama Linux adalah kernel Linux, sebuah kernel sistem operasi yang pertama kali dirilis pada 17 September 1991 oleh Linus Torvalds.

Linux dikemas dalam bentuk yang dikenal sebagai distribusi Linux (atau singkatnya distro) untuk penggunaan desktop dan server. Beberapa distribusi Linux yang paling populer dan arus utama adalah Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE dan Ubuntu, bersama dengan distribusi komersial seperti Red Hat Enterprise Linux

Antarmuka pengguna, juga dikenal sebagai shell, adalah antarmuka perintah-baris (CLI), antarmuka pengguna grafis (GUI), atau melalui kontrol yang melekat pada perangkat keras terkait, yang umum untuk sistem tertanam. Untuk sistem desktop, mode default biasanya adalah antarmuka pengguna grafis, meskipun CLI umumnya tersedia melalui jendela terminal emulator atau pada konsol virtual terpisah.

  • Shell CLI adalah antarmuka pengguna berbasis teks, yang menggunakan teks untuk input dan output. Shell dominan yang digunakan di Linux adalah Bourne-Again Shell (bash), awalnya dikembangkan untuk proyek GNU.
  • Kerang GUI adalah K Desktop Environment (KDE), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon dan Xfce, meskipun ada berbagai antarmuka pengguna tambahan. Sebagian besar antarmuka pengguna populer didasarkan pada Sistem X Window, sering kali hanya disebut "X".

GNU adalah sistem operasi dan koleksi perangkat lunak komputer yang luas. GNU sepenuhnya terdiri dari perangkat lunak bebas yang sebagian besar dilisensikan di bawah GPL Proyek GNU sendiri. GNU adalah singkatan rekursif untuk "GNU's Not Unix!", Dipilih karena desain GNU mirip Unix, tetapi berbeda dari Unix dengan menjadi perangkat lunak bebas dan tidak mengandung kode Unix. Pengembangan sistem operasi GNU dimulai oleh Richard Stallman ketika ia bekerja di Laboratorium Inteligensi Buatan Massachusetts Institute of Technology (MIT) pada tahun 1983.

Komponen dasar termasuk Koleksi Pengumpul GNU (GCC), pustaka GNU C (glibc), dan Utilitas Inti GNU (coreutils), tetapi juga GNU Debugger (GDB), Utilitas Biner GNU (binutils), GNU Bash shell dan GNOME lingkungan desktop.

Premraj
sumber
-7

Linux adalah Sistem Operasi Unix-Like yang dikembangkan oleh Linus Torvalds dan ribuan lainnya.
BSD adalah sistem operasi UNIX yang karena alasan hukum harus disebut Unix-Like.
OS X adalah Sistem Operasi UNIX berbasis grafis yang dikembangkan oleh Apple Inc.

Linux adalah contoh paling menonjol dari Unix OS "asli". Ini berjalan pada apa saja dan mendukung lebih banyak perangkat keras daripada BSD atau OS X. Kutipan menarik yang saya temukan ketika saya membandingkan BSD dan Linux:

Linux adalah apa yang Anda dapatkan ketika sekelompok peretas PC duduk dan mencoba menulis sistem Unix untuk PC. BSD adalah apa yang Anda dapatkan ketika sekelompok peretas UNIX duduk dan mencoba untuk mem-port sistem Unix ke PC.

BSD lebih seperti OS Unix daripada Linux. Yang juga penting adalah bahwa Apple menggunakan komponen BSD dan Linux. Apple Menggunakan APT dari Debian dan Ubuntu pada platform iOS dan OS X. Dan itu didasarkan pada BSD. (Intinya adalah Darwin, yang merupakan kernelnya sendiri. Beastie platypus adalah maskot Darwin karena ia adalah campuran antara Beastie dari BSD dan Platypus.)

Jika Anda menginginkan sistem operasi Unix "asli" (Sistem yang menjalankan apa saja dan mendukung banyak perangkat keras), cobalah Linux.
Jika Anda ingin dukungan perangkat keras kelas bawah dan sakit kepala (saya tahu saya akan mendapatkan banyak kebencian tetapi saya tidak peduli), gunakan BSD.
Jika Anda ingin menghabiskan $ 1000 +, gunakan OS X dan iOS. (Sekali lagi saya mungkin akan mendapatkan satu ton kebencian.)

Saya adalah Pengguna Linux yang sudah lama, telah menggunakannya dan hidup dari tahun 90-an hingga awal 2000-an dan kemudian berhenti menggunakannya untuk sementara waktu tetapi mulai menggunakannya lagi sekitar pertengahan 2012 sebagai OS permanen saya sehingga saya dapat merekomendasikannya kepada siapa pun yang ingin untuk mencoba sesuatu selain Windoze.

Craig Wessel
sumber
4
Karena Linux baru-baru ini berubah dengan Wayland / systemd / etc, Linux semakin tidak lagi menjadi sistem seperti Unix dan menjadi entitasnya sendiri. Itu membuat dirinya kurang kompatibel dengan sistem Unix dan Unix yang benar sampai pada titik di mana sistem nyata ini mengembangkan sikap "tidak peduli" terhadap Linux. "Rekomendasi" Anda jauh dari dasar dan membuat saya setuju dengan Anda bahwa Anda belum menyentuh barang-barang ini dalam 15 tahun.
Rob
11
Linux bukan OS, tetapi kernel.
Martin Schröder
3
Apple tidak menggunakan APT dari Debian. Itu tidak termasuk alat yang sama sekali berbeda bernama APT (Java Annotation Processing Tool). Dan komunitas jailbreak menggunakan APT sebagai manajer paket untuk menginstal perangkat lunak iOS yang bertentangan dengan kehendak Apple.
abarnert
4
Sebenarnya, hampir setiap pernyataan dalam jawaban ini salah. "Berjalan pada banyak sistem == Unix" konyol. Apple tidak pernah merilis sistem $ 1000 + yang menjalankan iOS. BSD adalah keluarga sistem Unix dan Unix-like, bukan OS tunggal. Linux adalah kernel yang dapat digabungkan dengan pengguna seperti Unix (seperti GNU), pengguna Unix-ish yang dilucuti (seperti eLinux atau Android), atau apa pun yang Anda inginkan. Dan seterusnya.
abarnert