Jelaskan Desain dari Linux

Linux menggunakan kernel monolitik dengan desain modul (bisa memuat modul kernel). Desain monolitik memungkinkan Linux untuk menangani sistem berkas, penggerak perangkat, jaringan, dan periferal.

Banyak fungsi-fungsi tingkat tinggi di Linux ditangani oleh proyek-proyek terpisah yang berintegrasi dengan kernel. Userland GNU merupakan sebuah bagian penting dari sistem Linux yang menyediakan shell dan peralatan-peralatan yang menangani banyak fungsi-fungsi dasar sistem operasi. Di atas kernel, peralatan-peralatan ini membentuk sebuah sistem Linux lengkap dengan sebuah antarmuka pengguna grafis yang dapat digunakan, umumnya berjalan di atas X Window System.

Karena pada dasarnya Linux adalah kernel, maka seiring berkembangnya teknologi, berbagai komponen dimasukkan dalam sistem Linux. Diantaranya adalah:

Pemuat pengebutan. Contohnya adalah GNU GRUB, SYSLINUX, dan Libreboot. Program ini memungkinkan Linux untuk dimuat di RAM atau ROM setelah komputer dinyalakan dan firmware seperti BIOS selesai diinisialisasi. Pemuat ini terletak di MBR.

Program init. Init biasanya digunakan di sistem operasi mirip Unix. Program ini adalah program pertama yang diluncurkan Linux untuk memulai proses lainnya seperti proses log masuk LightDM. Hampir semua distro Linux mengggunakan systemd sebagai init-nya, sementara Chrome OS menggunakan Upstart.

Pustaka perangkat lunak, yang diperlukan untuk menjalankan aplikasi-aplikasi. GNU C Library (glibc) adalah pustaka GNU yang dipakai oleh kernel Linux. Disamping itu, SDL adalah contoh pustaka untuk aplikasi multimedia.

Perintah Unix, dengan GNU Core Utils sebagai standar impelementasi perintah Unix. Terdapat juga implementasinya untuk sistem benam, seperti BusyBox.

Pustaka widget, adalah pustaka untuk membangun antarmuka pengguna grafis untuk aplikasi. Berbagai pustaka tersedia di Linux, seperti GTK, Qt, dan wxWidgets.

Sistem manajemen paket, untuk mengatur paket yang akan dipasang ke Linux. Contohnya adalah APT, DNF.