GNU/Linux >> Belajar Linux >  >> Linux

Linux – Apakah Semua Perintah Unix Ditulis Ulang Di Linux?

Saya ingin tahu perintah mana yang ditulis ulang untuk Linux dan mana yang dipertahankan dari Unix?

Jawaban yang Diterima:

Tampaknya Anda membingungkan dua bagian OS yang sangat berbeda. Ini dapat dimengerti, karena mereka sering disebut secara bergantian, tetapi secara teknis salah, jadi pertanyaan Anda didasarkan pada premis yang salah. Untuk mengeksplorasi sepenuhnya dan semoga menjawab pertanyaan yang mungkin ingin Anda tanyakan, pelajaran sejarah singkat diperlukan.

Pertama, ada UNIX. Pada dasarnya, pada masa itu, UNIX berarti Sistem AT&T UNIX, yang lebih dulu. Tetapi AT&T UNIX menjadi tidak Bebas, jadi Richard Stallman memulai proyek GNU untuk menulis sistem Unix yang Gratis. Karenanya nama Gnu Bukan Unix , disingkat GNU. Rencana untuk GNU diumumkan pada tahun 1983 dan pengembangan dimulai pada tahun 1984.

Pada awal 1990-an, GNU telah mengimplementasikan kembali sebagian besar utilitas UNIX dari awal. Wikipedia mencantumkan beberapa komponen dari keseluruhan sistem yang tidak ditulis ulang (TeX, X Window System, dan mikrokernel Mach disebutkan sebagai contoh komponen yang tidak ditulis ulang) tetapi sebagian besar, alat pengguna ditulis ulang dari awal untuk memenuhi tujuan menghindari penggunaan kembali kode AT&T (atau lebih tepatnya, non-Gratis), serta memperluas kemampuannya dengan menambahkan opsi baris perintah. Akibatnya, utilitas GNU secara teratur lebih kuat daripada alat dari mana mereka mendapatkan inspirasi aslinya.

Pada saat itu, GNU masih kehilangan satu komponen penting:kernel sistem operasi , yang memungkinkan semuanya bekerja bersama di komputer yang sebenarnya tidak menjalankan beberapa OS lain. Pada tahun 1991, Linus Torvalds mulai mengerjakan proyek mainan yang akhirnya dikenal sebagai Linux. Itu pada dasarnya adalah proyek sekolah untuk belajar tentang CPU Intel 80386 32-bit yang baru, dan dimulai dengan sangat sederhana, tetapi akhirnya mulai berubah menjadi kernel sistem operasi yang benar-benar dapat digunakan. Tapi itu tidak memiliki perangkat lunak userland; Linux sendiri tidak menyediakan shell, tidak ada fasilitas startup sistem di luar inisialisasi kernel, tidak ada editor teks, tidak ada antarmuka grafis, tidak ada . Kernel itu seperti mesin mobil; penting untuk membuat mobil yang berguna, tetapi tidak berguna dengan sendirinya (untuk mobil yang berguna, Anda memerlukan hal-hal seperti roda, transmisi, kemudi, tempat duduk pengemudi, tangki bahan bakar atau penyimpanan energi lainnya, dll.). Kernel Linux akhirnya didistribusikan di bawah Lisensi Publik Umum GNU, sama dengan perangkat lunak GNU .

Jadi orang-orang mulai memasangkan keduanya. Anda akan mendapatkan userland mirip Unix, bersama dengan kernel yang didasarkan pada ide-ide dari Unix (termasuk kemiripan yang dekat dengan POSIX), lengkap dengan kode sumber yang dapat Anda retas sebanyak yang Anda inginkan, dan tidak memerlukan biaya apa pun . Terutama sebelum distribusi Linux menjadi umum, butuh sedikit mengutak-atik untuk mendapatkan sesuatu untuk bekerja, tapi itu cukup selesai untuk dapat digunakan oleh mereka yang bersedia meluangkan waktu untuk itu.

Terkait:Linux – Instal Java di Ubuntu/Linux?

Saat ini, GNU menyediakan kernel mereka sendiri. Anda mungkin belum pernah mendengarnya, tetapi ini disebut GNU Hurd. Tapi Hurd tidak ada di awal 1990-an, ketika Linux mulai mendapatkan daya tarik di antara para penghobi dan pengotak, jadi kombinasi kernel Linux dan sebagian besar pengguna GNU yang mendapat perhatian paling besar di antara para pengembang.

Juga, akhir-akhir ini, banyak sistem Unix menginstal, atau mengizinkan administrator untuk menginstal dengan mudah, bagian dari wilayah pengguna GNU. Anda mungkin melihat hal-hal seperti GNU bash, GNU Compiler Collection, GNU C library (vanilla atau patched), dan seterusnya, pada sistem non-GNU.

Lebih buruk lagi, beberapa sistem menggunakan kernel Linux tetapi tidak ada userland GNU sama sekali. Untuk contoh yang banyak digunakan, pertimbangkan OS Android, yang pada dasarnya adalah kernel Linux yang digabungkan dengan userland khusus.

Ini penting karena secara signifikan mengaburkan batas antara GNU, Linux dan berbagai Unix (hanya ada satu UNIX, tetapi ada banyak Unix dan lebih banyak lagi OS yang mirip Unix). Ketika Anda bertanya tentang Linux, Anda sangat sering bertanya tentang sistem GNU/Linux. Tetapi pertimbangkan Debian GNU/kFreeBSD, yang menjalankan userland GNU di atas kernel FreeBSD, tidak menggunakan Linux sama sekali. Atau misalnya Solaris, di mana Anda dapat dengan mudah menginstal berbagai paket GNU termasuk mis. coreutils. Saya pikir Mac OS X dikirimkan dengan bagian-bagian dari wilayah pengguna GNU juga. Atau pertimbangkan Android yang disebutkan di atas.

Pada akhirnya, sistem GNU yang dapat digunakan mungkin menjalankan kode non-GNU, dan sistem non-GNU mungkin menjalankan kode GNU, tetapi utilitas GNU tidak mengandung kode non-GNU.


Linux
  1. 5 kesalahan pemula Linux

  2. 8 perintah Linux praktis favorit saya

  3. Bagaimana Menemukan Semua File yang Dimiliki oleh Pengguna Tertentu di Unix/Linux?

  1. Semua Perintah Kompres/Dekompresi Linux

  2. Perintah Linux untuk mencantumkan semua perintah dan alias yang tersedia

  3. Mengapa GNU/Linux SUS v3+ tidak sesuai?

  1. 5 perintah pemecahan masalah jaringan Linux

  2. Bagaimana cara membuat perintah khusus di Unix/Linux?

  3. Apa perbedaan antara Unix, Linux, BSD dan GNU?