Distribusi Linux bukan hanya kernel Linux. Mereka semua mengandung perangkat lunak penting lainnya, seperti bootloader Grub, Bash shell, utilitas GNU shell, daemon, server grafis X.org, lingkungan desktop, dan banyak lagi.
Semua program yang berbeda ini dikembangkan oleh kelompok-kelompok pembangunan independen yang berbeda. Mereka digabungkan oleh distribusi Linux, di mana mereka membangun di atas satu sama lain untuk membuat sistem operasi "Linux" yang lengkap. Ini tidak seperti Windows, yang dikembangkan sepenuhnya oleh Microsoft.
Saat Anda menyalakan komputer, BIOS komputer atau UEFI Anda memuat perangkat lunak dari perangkat boot Anda. Program pertama yang dimuat dengan sistem operasi apa pun adalah boot loader. Dengan Linux, ini umumnya boot loader Grub.
Jika Anda memiliki beberapa sistem operasi yang terinstal, Grub menyediakan menu yang memungkinkan Anda untuk memilih di antara mereka - misalnya, jika Anda menginstal Linux dalam konfigurasi dual-boot, Anda dapat memilih Linux atau Windows ketika Anda boot.
Grub mungkin mem-boot sistem Linux Anda hampir seketika jika Anda hanya menginstal satu sistem operasi, tetapi masih ada di sana. Grub menangani proses booting Linux, mengeluarkan opsi baris perintah dan memungkinkan Anda untuk mem-boot Linux dengan cara lain untuk tujuan pemecahan masalah. Tanpa boot loader, distribusi Linux tidak bisa boot.
Bagian yang tepat dari perangkat lunak Grub boots adalah kernel Linux. Ini adalah bagian dari sistem yang sebenarnya disebut "Linux." Kernel adalah inti dari sistem. Ini mengelola CPU, memori, dan perangkat input / output seperti keyboard, mouse, dan display. Saat kernel berbicara langsung ke perangkat keras, banyak driver perangkat keras merupakan bagian dari kernel Linux dan berjalan di dalamnya.
Semua perangkat lunak lain berjalan di atas kernel. Kernel adalah perangkat lunak tingkat terendah, yang berinteraksi dengan perangkat keras. Ini memberikan lapisan abstraksi di atas perangkat keras, berurusan dengan semua quirks perangkat keras yang berbeda sehingga sisa sistem dapat peduli tentang mereka sesedikit mungkin. Windows menggunakan kernel Windows NT, dan Linux menggunakan kernel Linux.
Daemon pada dasarnya adalah proses latar belakang. Mereka sering memulai sebagai bagian dari proses boot, jadi mereka adalah salah satu hal berikutnya yang memuat setelah kernel dan sebelum Anda melihat layar masuk grafis Anda. Windows mengacu pada proses seperti "layanan," sementara sistem UNIX-like merujuk mereka sebagai "daemon."
Misalnya, crond, yang mengelola tugas terjadwal, adalah daemon - d di ujungnya berarti “daemon.” Syslogd adalah daemon lain yang secara tradisional mengelola log sistem Anda. Server, seperti server sshd, dijalankan sebagai daemon di latar belakang. Ini memastikan bahwa mereka selalu berjalan dan mendengarkan koneksi jarak jauh.
Daemon pada dasarnya hanyalah proses latar belakang, tetapi mereka adalah proses level sistem yang biasanya tidak Anda perhatikan.
Kebanyakan sistem Linux menggunakan shell Bash secara default. Sebuah shell menyediakan antarmuka prosesor perintah, memungkinkan Anda untuk mengontrol komputer Anda dengan mengetikkan perintah pada antarmuka teks. Shells juga dapat menjalankan skrip shell, yang merupakan kumpulan perintah dan operasi yang dijalankan dalam urutan yang ditentukan dalam skrip.
Bahkan jika Anda hanya menggunakan desktop grafis, cangkang berjalan dan digunakan di latar belakang. Ketika Anda membuka jendela terminal, Anda melihat prompt shell.
Shell menyediakan beberapa perintah bawaan dasar, tetapi sebagian besar perintah shell yang digunakan pengguna Linux tidak dibangun ke dalam shell. Sebagai contoh, perintah sama pentingnya dengan perintah cp untuk menyalin file, perintah ls untuk mendaftarkan file dalam direktori, dan perintah rm untuk menghapus file adalah bagian dari paket GNU Core Utilities.
Sistem Linux tidak akan berfungsi tanpa utilitas penting ini. Bahkan, Bash shell sendiri merupakan bagian dari proyek GNU. Itu sebabnya ada kontroversi mengenai apakah Linux harus benar-benar disebut "Linux" atau "GNU / Linux". Kritik dari nama "Linux" dengan benar menunjukkan bahwa lebih banyak perangkat lunak masuk ke sistem Linux yang khas, yang sering tidak diakui. Kritik terhadap nama "GNU / Linux" dengan tepat menunjukkan bahwa sistem Linux yang khas juga menyertakan perangkat lunak penting lainnya yang tidak dicakup oleh nama "GNU / Linux".
Tidak semua utilitas shell dan program baris perintah dikembangkan oleh proyek GNU. Beberapa perintah dan program terminal masing-masing memiliki proyek mereka sendiri yang didedikasikan untuk mereka.
Bagian desktop grafis dari Linux bukan bagian dari kernel Linux. Ini disediakan oleh jenis paket yang dikenal sebagai "X server", karena mengimplementasikan "X window system" yang berasal beberapa tahun yang lalu.
Saat ini, server X paling populer - atau server grafis - adalah X.org. Ketika Anda melihat jendela masuk atau desktop masuk grafis, itulah X.org yang sedang mengerjakan sihirnya. Seluruh sistem grafis dijalankan oleh X.org, yang berinteraksi dengan kartu video Anda, monitor, mouse, dan perangkat lain.
X.org tidak menyediakan lingkungan desktop penuh, hanya sistem grafis yang dapat dibangun oleh lingkungan desktop dan toolkit.
Apa yang Anda benar-benar gunakan pada desktop Linux adalah lingkungan desktop. Sebagai contoh, Ubuntu menyertakan lingkungan desktop Unity, Fedora menyertakan GNOME, Kubuntu menyertakan KDE, dan Mint secara umum mencakup Cinnamon atau MATE. Lingkungan desktop ini menyediakan semua yang Anda lihat - latar belakang desktop, panel, bilah judul jendela, dan batas.
Mereka juga umumnya menyertakan utilitas mereka sendiri yang dibangun agar sesuai dengan lingkungan desktop secara keseluruhan.Sebagai contoh, GNOME dan Unity menyertakan file manager Nautilus yang dikembangkan sebagai bagian dari GNOME, sedangkan KDE menyertakan pengelola file Dolphin yang dikembangkan sebagai bagian dari proyek KDE.
Tidak semua program desktop adalah bagian dari lingkungan desktop. Misalnya, Firefox dan Chrome adalah agnostik desktop-environment. Mereka hanyalah program yang dapat berjalan normal di atas semua lingkungan desktop. OpenOffice.org adalah rangkaian program lain yang juga tidak terikat pada lingkungan desktop tertentu.
Anda dapat menjalankan program desktop Linux apa pun dalam lingkungan desktop apa pun, tetapi yang dirancang untuk lingkungan desktop tertentu mungkin terlihat tidak pada tempatnya atau terseret dalam proses lain. Sebagai contoh, jika Anda mencoba menjalankan file manager Nautilus GNOME di KDE, itu akan terlihat tidak pada tempatnya, mengharuskan Anda untuk menginstal berbagai pustaka GNOME, dan mungkin memulai proses desktop GNOME di latar belakang ketika Anda membukanya. Tapi itu akan berjalan dan bisa digunakan.
Distribusi Linux melakukan langkah-langkah langkah terakhir. Mereka mengambil semua perangkat lunak ini, menggabungkannya sehingga bekerja sama dengan baik, dan menambahkan utilitas yang diperlukan mereka sendiri. Misalnya, distribusi membuat penginstal sistem operasi mereka sendiri sehingga Anda benar-benar dapat menginstal Linux, serta manajer paket untuk menginstal perangkat lunak tambahan dan menjaga pembaruan perangkat lunak yang diinstal.
Kredit Gambar: tao mai di Flickr