Apa Itu Sistem Operasi Linux?
Apa yang dimaksud Linux?
Linux adalah sistem operasi (OS) mirip Unix, open source, dan dikembangkan komunitas untuk komputer, server, mainframe, perangkat mobile, dan perangkat yang dipasangkan. Ini didukung hampir di tiap basis komputer utama, termasuk x86, ARM dan SPARC, menjadikan salah satunya sistem operasi yang paling banyak didukung.
Bagaimana sistem operasi Linux digunakan?
Tiap versi OS Linux mengelola sumber daya hardware, mengeluarkan dan menangani program, dan menyediakan beberapa wujud interface pengguna. Komunitas yang sangat besar untuk developer dan berbagai distribusi berarti jika versi Linux ada untuk sebagian besar tugas, dan Linux sudah memasuki banyak bidang komputasi.
Misalkan, Linux sudah ada sebagai OS terkenal untuk server website seperti Apache, dan untuk operasi jaringan, pekerjaan komputasi ilmiah yang membutuhkan cluster komputasi besar, menjalankan database, komputasi desktop dan titik akhir, dan jalankan perangkat mobile dengan versi OS seperti Android.
OS Linux bisa diketemukan di beberapa pengaturan berlainan, memberikan dukungan banyak kasus penggunaan yang lain. Linux digunakan dengan berikut ini:
- Server OS untuk server web, server basis data, server file, server email, dan semua jenis server bersama lainnya. Dirancang untuk mendukung aplikasi volume tinggi dan multithreading, Linux sangat cocok untuk semua jenis aplikasi server.
- Desktop OS untuk komputasi produktivitas pribadi. Linux adalah open source dan lingkungan desktop yang tersedia secara bebas bagi pengguna yang lebih memilih untuk OS komersial.
- Headless server OS untuk sistem yang tidak memerlukan interface pengguna grafis (GUI) atau terminal dan keyboard yang terhubung langsung. Sistem tanpa head sering digunakan untuk server jaringan yang dikelola dari jarak jauh dan perangkat lain.
- Embedded device or appliance OS untuk sistem yang memerlukan fungsi komputasi terbatas. Linux digunakan sebagai OS tertanam untuk berbagai aplikasi, termasuk peralatan rumah tangga, sistem hiburan otomotif, dan peralatan sistem file jaringan.
- Network OS, sakelar, server sistem nama domain, perangkat jaringan rumah, dan lainnya. Misalnya, Cisco menawarkan versi Cisco Internetwork Operating System (IOS) yang menggunakan kernel Linux.
- Software development OS untuk developeran software perusahaan. Meskipun banyak alat developeran telah dipindahkan ke Windows atau OS lain, Linux adalah rumah bagi beberapa alat developeran software open source yang paling banyak digunakan. Misalnya, git untuk kontrol sumber terdistribusi; vim dan emacs untuk pengeditan kode sumber; dan kompiler dan juru bahasa untuk hampir setiap bahasa pemrograman.
- Cloud OS untuk instance cloud. Penyedia komputasi awan utama menawarkan akses ke instans komputasi awan yang menjalankan Linux untuk server awan, desktop, dan layanan lainnya.
Linux sangat dapat dikonfigurasi dan bergantung pada desain modular yang memungkinkan pengguna menyesuaikan versi Linux mereka sendiri. Bergantung pada aplikasinya, Linux dapat dioptimalkan untuk berbagai tujuan seperti:
- kinerja jaringan;
- kinerja komputasi;
- penyebaran pada platform hardware tertentu;
- penyebaran pada sistem dengan memori terbatas, penyimpanan atau sumber daya komputasi.
Pengguna dapat memilih distribusi Linux yang berbeda untuk aplikasi tertentu atau mengadaptasi distribusi tertentu untuk memasukkan konfigurasi kernel kustom.
distribusi Linux
Sejak developeran awal, Linux telah mengadopsi ketentuan copyleft dari Free Software Foundation yang berasal dari GNU GPL. GPL mengatakan bahwa apapun yang diambil secara gratis dan dimodifikasi harus didistribusikan secara gratis. Dalam praktiknya, jika Linux atau komponen berlisensi GNU lainnya dikembangkan atau dimodifikasi untuk membuat versi baru Linux, versi baru tersebut harus didistribusikan secara gratis. Hal ini mencegah developer atau kelompok lain mengambil keuntungan secara tidak adil dari karya orang lain yang tersedia secara bebas.
Tersedia ratusan versi Linux yang berbeda, juga dikenal sebagai distribusi atau distro. Distribusi biasanya membedakan diri mereka dari package dengan menangani tujuan, filosofi, fungsi, atau target pasar tertentu.
Ada distribusi yang disesuaikan untuk fungsi target tertentu, seperti server, desktop, game, keamanan, atau perangkat tersemat termasuk sistem Raspberry Pi. Sebagian besar distribusi modern sudah dikompilasi dan siap digunakan, sementara distribusi lain seperti Gentoo Linux terdiri dari kode sumber yang dapat dikompilasi oleh pengguna secara lokal selama instalasi awal untuk mengoptimalkan konfigurasi sistem mereka. Knoppix Linux adalah salah satu dari banyak distro yang digunakan untuk memulihkan hard drive yang rusak dan melakukan tugas dukungan teknis lainnya. Profesional keamanan informasi menggunakan Kali Linux untuk pengujian penetrasi dan tugas terkait keamanan lainnya.
Linux telah menjadi komponen penting dari sistem hiburan pembuat mobil. Banyak pembuat mobil telah bergabung dengan Automotive Grade Linux (AGL), sebuah proyek sumber terbuka yang dipandu oleh Linux Foundation. Misalnya, kendaraan Toyota dan Lexus menggunakan AGL untuk sistem infotainmennya.
Distribusi Linux dapat dikembangkan oleh komunitas, seperti Debian, Slackware dan Gentoo. Distribusi lainnya adalah komersial dan ditujukan untuk penggunaan perusahaan, termasuk Red Hat Enterprise Linux dan SUSE Linux Enterprise Server. Banyak distribusi menggunakan kombinasi developeran yang didukung oleh komunitas dan perusahaan, seperti Fedora Red Hat, openSUSE dari SUSE dan Ubuntu dari Canonical.
GNU GPL tidak melarang kepemilikan intelektual, dan merupakan hal yang lumrah bagi pembuat komponen Linux untuk memegang hak cipta atas berbagai komponen. GNU GPL memastikan bahwa komponen tersebut tetap bebas dan bebas didistribusikan. Meskipun softwarenya tetap gratis, beberapa distribusi komersial biasanya membebankan biaya untuk layanan bernilai tambah, seperti dukungan atau layanan developeran kustom.
Komponen dan terminologi Linux
Sistem OS Linux menggabungkan beberapa komponen yang berbeda, termasuk:
- Bootloader. Bootloader bertanggung jawab untuk mengelola proses boot komputer dan untuk memulai kernel Linux. Itu juga dapat digunakan untuk mengelola sistem yang mem-boot lebih dari satu OS.
- Kernel. Inti dari sistem Linux, kernel menangani akses jaringan, menjadwalkan proses atau aplikasi, mengelola perangkat periferal dasar dan mengawasi semua layanan sistem file. Kernel Linux adalah software yang berinteraksi langsung dengan hardware komputer.
- Init sistem. Proses pertama dijalankan setelah kernel dimuat. Proses adalah turunan dari program yang berjalan di komputer, dan sistem init menginisialisasi sistem untuk memungkinkannya menjalankan proses lain. Init adalah program daemon yang bertindak sebagai proses induk untuk semua proses lain yang berjalan di sistem. Init dapat dikonfigurasi untuk memulai proses tertentu pada inisialisasi sistem. Misalnya, ketika sistem akan menjalankan server web, sistem init dapat dikonfigurasi untuk memuat semua software server web yang diperlukan.
- Daemon. Ini adalah program yang berjalan di latar belakang, menangani permintaan layanan. Server web yang berjalan di server Linux bergantung pada daemon, biasanya bernama httpd, untuk mendengarkan permintaan server web.
- Server grafis. Ini adalah software yang mengontrol bagaimana grafik ditampilkan di komputer. Tanpa server grafis, pengguna hanya dapat berinteraksi dengan sistem Linux melalui interface baris perintah. Sistem X Window, juga dikenal sebagai X11 atau X, adalah server grafis paling umum untuk Linux, meskipun bukan satu-satunya. X berjalan sebagai daemon server pada sistem dan dipanggil oleh aplikasi ketika output grafis diperlukan.
- Lingkungan desktop. Ini adalah kumpulan aplikasi dan kontrol interface pengguna yang berinteraksi dengan pengguna saat menggunakan Linux sebagai platform desktop. Akses ke lingkungan desktop biasanya dikontrol melalui Sistem X Window atau sistem grafis lainnya. Setiap lingkungan desktop menentukan tampilannya sendiri, termasuk cara elemen grafis seperti jendela, menu pull-down, dan file ditampilkan dan dimanipulasi. Lingkungan desktop juga akan menyertakan satu set aplikasi default untuk mengelola file dan folder, mengedit teks, menjalankan sesi baris perintah, dan tugas umum lainnya. Aplikasi Ini adalah software yang diinstal selama dan setelah instalasi Linux awal. Sebagian besar distribusi Linux menyertakan ribuan aplikasi berbeda, termasuk untuk server jaringan dan untuk penggunaan desktop.
- Aplikasi. Ini adalah software yang diinstal selama dan setelah instalasi Linux awal. Sebagian besar distribusi Linux menyertakan ribuan aplikasi berbeda, termasuk untuk server jaringan dan untuk penggunaan desktop.
Sementara komponen ini termasuk dalam sebagian besar distribusi Linux, mereka belum tentu merupakan bagian dari setiap sistem Linux yang diterapkan. Misalnya, server berbasis Linux mungkin tidak memerlukan server grafis, lingkungan desktop, atau aplikasi.
Tetapi sebenarnya banyak developer luar dan proyek GNU yang menawarkan fungsi tingkat tinggi ke kernel Linux untuk menyediakan OS yang terealisasi sepenuhnya. Misalnya, ada modul untuk menyediakan interface baris perintah, mengimplementasikan GUI, mengelola keamanan, dan menawarkan input video atau layanan audio -- yang masing-masing dapat dimodifikasi dan dioptimalkan untuk membentuk distribusi unik untuk tugas tertentu.
Lingkungan desktop juga dapat sangat bervariasi dengan pendekatan yang berbeda untuk desain GUI dan aplikasi default. Dua lingkungan desktop paling populer adalah:
- Lingkungan desktop GNOME, yang termasuk dalam sebagian besar distribusi Linux populer, adalah desktop default bagi banyak orang. Dirancang agar mudah digunakan dan dapat diandalkan, GNOME menelurkan proyek lingkungan desktop lainnya, termasuk MATE, Cinnamon, dan Unity.
- Lingkungan desktop KDE adalah alternatif utama untuk GNOME. KDE juga dirancang agar mudah digunakan dan dapat diandalkan. Itu telah meneruskan proyek lain, termasuk Lingkungan Desktop Trinity.
software pengelola package biasanya menambah, memperbarui, atau menghapus komponen software di bawah OS Linux. Manajer package memungkinkan pengguna untuk menginstal software tambahan yang tidak termasuk dalam distribusi mereka. Contoh manajer package software termasuk RPM Package Manager, dpkg, OpenPKG dan Zero Install.
Cara kerja sistem operasi Linux
OS Linux mengikuti desain modular yang merupakan kunci dari banyak variasi dan distribusinya. Semua distribusi Linux didasarkan pada kernel Linux, tetapi dapat berbeda tergantung pada faktor-faktor seperti:
- Versi kernel. Distribusi dapat dikonfigurasi dengan versi yang lebih baru untuk memasukkan fitur yang lebih baru atau dengan versi yang lebih lama agar lebih stabil.
-
Modul kernel. Ini adalah software yang dapat dimuat dan dibongkar ke dalam kernel untuk memperluas fungsionalitas tanpa me-reboot. Modul kernel sering digunakan untuk mendukung:
- driver perangkat, yang menggunakan kode yang mengontrol bagaimana perangkat terpasang beroperasi;
- driver sistem file, yang menggunakan kode yang mengontrol cara kerja kernel dengan sistem file yang berbeda;
- panggilan sistem, yang menggunakan kode yang mengontrol bagaimana program meminta layanan dari kernel.
- Opsi konfigurasi. Kernel Linux dikompilasi dengan opsi konfigurasi yang diatur untuk menyertakan hanya driver perangkat atau sistem file yang digunakan untuk beberapa distribusi khusus; misalnya, mengkompilasi kernel untuk perangkat nirkabel tanpa driver perangkat jaringan berkabel.
Kernel Linux adalah satu hal yang dimiliki oleh semua sistem yang menjalankan Linux. Linux bekerja dengan:
- Memuat dan mem-boot kernel Linux.
- Setelah di-boot, kernel mengelola semua input dan output sistem. Sistem diinisialisasi, dan proses dapat dimulai.
- Saat proses sistem dimulai, sistem dapat digunakan untuk proses yang menyertakan fungsi server jaringan, perintah yang dimasukkan secara interaktif melalui baris perintah, aplikasi desktop, atau aplikasi atau program apa pun.
Meskipun kernel mungkin hampir identik -- dengan beberapa perbedaan konfigurasi dan kompilasi -- pengalaman pengguna bisa sangat bervariasi, tergantung pada bagaimana sistem Linux digunakan. Misalnya, beberapa kasus penggunaan Linux dengan pengalaman pengguna yang sangat berbeda meliputi:
- Sistem produktivitas desktop, seperti yang digunakan oleh developer software atau profesional lainnya. Workstation developeran software dapat dioptimalkan untuk kinerja, sedangkan desktop untuk profesional administrasi dapat dioptimalkan untuk penggunaan alat produktivitas desktop.
- Server jaringan bahkan mungkin tidak menyertakan terminal untuk akses langsung. Server tanpa head ini dikelola dari jarak jauh melalui terminal jaringan atau sesi Windows. Server dapat digunakan oleh banyak orang tetapi harus diakses langsung hanya oleh admin sistem yang berwenang.
- Thin client memungkinkan pengguna untuk mengakses lingkungan desktop yang kaya dari perangkat yang ringan. Ini termasuk komputer kartu tunggal Raspberry Pi dan Google Chromebook.
Saat menggunakan Linux dengan lingkungan desktop sebagai GUI, Linux bekerja sama seperti OS berbasis GUI lainnya. Aplikasi dan sumber lainnya dapat dibuka dengan mengklik ikon, dan file dapat dipindahkan, disalin, atau dihapus menggunakan mouse atau trackpad.
Demikian pula, menggunakan baris perintah Linux mirip dengan baris perintah OS modern:
userID@DESKTOP-2KD3FT2:/mnt/c/WINDOWS/system32$
Contoh ini menunjukkan prompt perintah default di Subsistem Windows untuk Linux. Prompt menampilkan, dari kiri ke kanan, userID@hostname, dan path lengkap dari direktori saat ini diikuti dengan simbol "$".
Pro dan kontra menggunakan Linux
Beberapa keuntungan menggunakan Linux antara lain:
- software sumber terbuka. Kernel Linux dirilis di bawah lisensi GNU GPL open source software. Sebagian besar distro menyertakan ratusan aplikasi, dengan banyak pilihan di hampir setiap kategori. Banyak distribusi juga menyertakan software berpemilik, seperti driver perangkat yang disediakan oleh pabrikan, untuk mendukung hardware mereka.
- Biaya perizinan. Tidak seperti Microsoft Windows atau Apple macOS, Linux tidak memiliki biaya lisensi yang jelas. Meskipun dukungan sistem tersedia dengan biaya tertentu dari banyak vendor Linux, OS itu sendiri bebas untuk disalin dan digunakan. Beberapa organisasi IT telah meningkatkan penghematan mereka dengan mengganti software server mereka dari OS komersial ke Linux.
- Keandalan. Linux dianggap sebagai OS yang andal dan didukung dengan patch keamanan. Linux juga dianggap stabil, artinya dapat berjalan di banyak situasi. Linux juga mengatasi kesalahan saat menjalankan software dan input yang tidak terduga.
- Kompatibilitas terbalik. Linux dan software sumber terbuka lainnya cenderung sering diperbarui untuk tambalan keamanan dan fungsional, sambil mempertahankan fungsionalitas inti. Konfigurasi dan skrip shell cenderung berfungsi tidak berubah meskipun pembaruan software diterapkan. Tidak seperti vendor software komersial yang meluncurkan versi baru OS mereka bersama dengan cara baru untuk bekerja, Linux dan aplikasi sumber terbuka umumnya tidak mengubah mode operasinya dengan rilis baru.
- Banyak pilihan. Di antara ratusan distribusi yang tersedia, ribuan aplikasi, dan opsi yang hampir tak terbatas untuk mengonfigurasi, mengkompilasi, dan menjalankan Linux di hampir semua platform hardware, mengoptimalkan Linux untuk hampir semua aplikasi dapat dilakukan.(
Beberapa kelemahan menggunakan Linux antara lain:
- Kurangnya standar yang ditetapkan. Tidak ada versi standar Linux, yang mungkin bagus untuk mengoptimalkan Linux untuk aplikasi tertentu, tetapi kurang bagus untuk menerapkan gambar server atau desktop standar. Berbagai pilihan dapat mempersulit dukungan sebagai hasilnya.
- Biaya dukungan. Meskipun suatu organisasi dapat memperoleh Linux secara bebas tanpa biaya lisensi, dukungannya tidaklah gratis. Sebagian besar distributor perusahaan Linux seperti SUSE dan Red Hat menawarkan kontrak dukungan. Bergantung pada keadaan, biaya lisensi ini dapat mengurangi penghematan secara signifikan.
- software berpemilik. software produktivitas desktop seperti Microsoft office tidak dapat digunakan di desktop Linux, dan software berpemilik lainnya mungkin tidak tersedia untuk platform Linux.
- hardware tidak didukung. Sementara banyak produsen hardware menyediakan driver perangkat Linux untuk produk mereka, banyak yang tidak.
- Kurva belajar yang curam. Banyak pengguna berjuang untuk belajar menggunakan desktop Linux atau aplikasi berbasis Linux.
Dalam beberapa kasus, atribut Linux yang sama menjadi keuntungan atau kerugian. Misalkan, memiliki banyak opsi untuk mengkustomisasi OS Linux memberikan keuntungan untuk produsen yang cari OS terpasang, tapi sebagai kerugian untuk perusahaan yang inginkan OS desktop yang bisa digunakan oleh beberapa pengguna akhir.
Sejarah Linux
Linus Torvalds mulai mengerjakan Linux sebagai pengganti Minix OS saat di University of Helsinki di Finlandia. Torvalds mengenal tugas yang sudah dilakukan pada Project GNU di tahun 1983, yang ditujukan untuk membuat OS yang cocok dengan Unix yang semuanya terbagi dalam software bebas, dan mencatat GNU sebagai model untuk distribusi. Tetapi, pembuatan GNU belum usai di saat Torvalds cari pengganti Minix, mendorongnya untuk meningkatkan kernel OS alternatif yang dinamakan Linux -- singkatan dari Unix punya Linus -- dan mengadopsi GNU GPL.
Torvalds merilis kernel Linux pada bulan September 1991. Komunitas developer bekerja untuk memadukan komponen GNU dengan kernel Torvalds untuk membuat OS gratis yang lengkap yang dikenali secara kelompok sebagai Linux. Torvalds terus meningkatkan kernel Linux dan komunitas developer yang luas terus membuat dan memadukan beragam jenis komponen.
Sementara Linux masih ketinggalan Windows dan macOS di desktop, itu terus melawan vendor OS berpemilik di server dan mekanisme tertanam.