Kernel Linux seperti jembatan yang memungkinkan komunikasi komputasi antara aplikasi dan perangkat keras dan mengelola sumber daya sistem. Linus Torvalds mengembangkan kernel Linux dengan C dan Assembly dan dengan demikian, ia berhasil menciptakan inti yang ringan dan portabel yang dirilis ke publik sebagai open source.
Anda dapat melihat kernel Linux di berbagai sektor seperti ruang angkasa, komputer, jam tangan pintar, ponsel, robotika, dan kesehatan. Tetapi pernahkah Anda bertanya-tanya bagaimana cara kerja kernel Linux di bawah tenda?
Penggunaan Perangkat Keras di Linux
Kernel Linux, pertama-tama, mengontrol perangkat keras mana yang akan berjalan dan dengan cara apa saat Anda menghidupkan komputer. Selain itu, kontrol perangkat lunak kelas atas dimungkinkan berkat antarmuka pemrograman. Untuk memberikan contoh kontrol ini, Anda dapat melihat informasi tentang perangkat keras yang dipasang di slot pada motherboard Anda dan mendapatkan manfaat dari informasi terperinci ini.
Juga, antarmuka pemrograman ini menyediakan lapisan abstraksi. Misalnya, jika Anda ingin melakukan percakapan video dengan teman, Anda memerlukan webcam. Lapisan abstraksi memungkinkan perangkat lunak yang Anda gunakan untuk menggunakan webcam ini terlepas dari merek dan modelnya. Perangkat lunak di sini hanya dapat menggunakan antarmuka yang ada untuk Linux. Kernel Linux menerjemahkan panggilan fungsi antarmuka ini menjadi perintah perangkat keras aktual yang dibutuhkan webcam.
Menggunakan /proc dan /sys sistem file virtual, kernel Linux dapat ekspor informasi rinci tentang perangkat keras itu mendeteksi. Di bawah ini Anda dapat melihat beberapa alat yang digunakan untuk ini dan perangkat serta kartu mana yang mereka ekspor:
- lspci: Untuk perangkat PCI
- lsusb: Untuk perangkat USB
- lspcmcia: Untuk kartu PCMCIA
Seperti yang Anda lihat, distribusi Linux pada gambar di atas berjalan di VirtualBox. Namun, Anda memiliki kesempatan untuk melihat banyak informasi seperti VGA, pengontrol USB, jembatan, dan pengontrol SATA.
Anda juga dapat menggunakan -v parameter untuk mendapatkan informasi yang lebih detail.
Di kernel Linux, aplikasi biasanya mengakses perangkat melalui file khusus yang ada di /dev direktori. File khusus ini mewakili disk drive dan perangkat fisik lainnya. File seperti: /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 dan dev/snd/* adalah contoh dari file khusus ini.
Manajemen Sistem File Linux
Sistem file adalah salah satu komponen paling penting dari kernel Linux. Sistem file Linux adalah salah satu manfaat terbesarnya. Semua file pada sistem Linux berkumpul menjadi satu cabang. Dengan demikian, pengguna dapat menggunakan hierarki ini untuk mencapai tempat yang diinginkan.
Titik awal hierarki ini adalah direktori root (/). Subdirektori lain berada di bawah direktori root. Subdirektori yang paling sering digunakan di bawah / adalah /home direktori. Subdirektori ini berisi subdirektori lain dan setiap direktori memiliki file yang menyimpan data aktual.
Misalnya, Anda dapat memikirkan file teks di desktop Anda. Jika Anda membuat file teks bernama helloworld.txt di desktop Anda, Anda dapat menyebutnya sebagai /home/muo/Desktop/helloworld.txt. Contoh dari /muo di sini tentu saja akan bervariasi. Karena nama subdirektori ini bergantung pada nama pengguna Anda saat ini. Dengan sistem penamaan ini, kernel Linux menerjemahkan antara penyimpanan aktual dan fisik yang ada pada disk.
Selain itu, kernel Linux dapat mengintegrasikan data dari beberapa disk. Di sinilah sistem pemasangan berperan. Ini menggunakan salah satu disk di sistem root dan memasang yang lain ke direktori yang ada dalam hierarki. Disk lain kemudian ditempatkan di bawah titik pemasangan. Hal ini memungkinkan pengguna untuk menyimpan /home direktori pada hard disk kedua yang juga berisi subdirektori lain.
Saat Anda memasang disk ke /home direktori, Anda dapat mengakses direktori ini dari lokasi normal. Jadi, jalur seperti /home/muo/Desktop/helloworld.txt terus bekerja.
Anda dapat melihat titik pemasangan antara file di sistem Anda dengan temukan -A memerintah.
Dengan banyak format sistem file, Anda dapat menyimpan data secara fisik di disk. Yang paling banyak dikenal di Linux adalah ext2, ext3, dan ext4 format sistem file. Namun, ada banyak format sistem file lainnya. Bagaimanapun, Anda harus memformat sistem file sebelum memasangnya. Anda dapat menggunakan perintah seperti mkfs.ext3 (mkfs adalah singkatan dari make file system dan ext3 adalah sistem file) untuk ini.
Perintah ini menerima jalur file perangkat yang ingin Anda format sebagai parameter. Ini adalah operasi yang merusak dan Anda harus menggunakannya dengan hati-hati jika Anda tidak ingin menghapus atau mengatur ulang sistem file.
Selain ini, ada juga sistem file jaringan seperti NFS yang digunakan kernel Linux. NFS adalah sistem file jaringan di mana data tidak disimpan pada disk lokal. Dengan NFS, data melewati jaringan ke server yang menyimpan data. Karena data akan berada di server, pengguna tidak harus terus-menerus menanganinya. Mereka juga dapat menggunakan sistem file hierarki tradisional Linux seperti biasa.
Operasi Fungsi Bersama
Semua perangkat lunak dalam sistem Linux memiliki fungsi yang sama. Inilah sebabnya mengapa fungsi-fungsi ini menjadi pusat di kernel Linux. Misalnya, saat membuka file, Anda hanya dapat membukanya dengan nama file, tanpa mengetahui di mana file tersebut disimpan secara fisik, dan fungsi serta operasi apa yang akan digunakannya. Semua fungsi ini sudah ada di kernel.
Anda dapat menyimpan file Anda di hard disk, membaginya di antara beberapa hard disk, atau bahkan menyimpannya di server jauh. Fungsi komunikasi file bersama penting dalam kasus seperti itu. Aplikasi bertukar data terlepas dari bagaimana data dipindahkan. Fungsi komunikasi bersama ada untuk melakukan pertukaran data ini. Perpindahan ini dapat melalui jaringan nirkabel atau bahkan saluran telepon tetap.
Manajemen Proses di Linux
Contoh aktif dari program yang beroperasi pada data atau informasi dalam memori dikenal sebagai proses. Tugas kernel Linux adalah untuk menghasilkan dan melacak wilayah memori ini. Kernel mengalokasikan memori untuk program yang sedang berjalan dan memuat kode yang dapat dieksekusi ke dalam memori dari sistem file. Segera setelah itu, kernel menjalankan kode.
Kernel Linux mendukung multitasking. Ia mampu menjalankan banyak proses secara bersamaan. Hanya ada satu transaksi dalam kerangka waktu tertentu. Namun, kernel Linux membagi waktu menjadi potongan-potongan kecil dan sebagai hasilnya, setiap prosedur berlangsung secara berurutan.
Karena segmen waktu kecil ini dalam peningkatan milidetik, mereka hanya aktif pada waktu tertentu dan tetap menganggur sepanjang waktu. Tugas kernel Linux di sini adalah untuk memaksimalkan kinerja dengan menjalankan beberapa proses sekaligus.
Jika slot waktu terlalu lama, aplikasi yang berjalan mungkin tidak responsif seperti yang Anda inginkan. Jika kerangka waktu terlalu pendek, mungkin ada masalah dengan perubahan tugas. Tergantung pada prioritas proses, interval kerangka waktu yang diperlukan di sini akan bervariasi. Anda mungkin pernah mendengar tentang proses berprioritas tinggi dan proses berprioritas rendah sebelumnya. Ini adalah salah satu fungsi yang dikontrol oleh kernel Linux.
Penjelasan ini tidak selalu benar. Batasan sebenarnya adalah bahwa hanya ada satu proses pekerja per inti prosesor pada satu waktu. Sistem multiprosesor memungkinkan beberapa proses berjalan secara paralel. Sebuah sistem dasar hampir selalu memiliki lusinan proses yang berjalan.
Hak Akses di Linux
Seperti halnya sistem operasi lain, Anda dapat membuat banyak pengguna di sistem Linux. Dalam kasus seperti itu, ada sistem manajemen hak yang mendukung pengguna individu dan grup. Di sinilah file dan izin pengguna ikut bermain.
Kernel Linux mengelola data dan memeriksa izin yang diperlukan untuk setiap proses. Misalnya, jika Anda mencoba membuka file, kernel harus memeriksa ID proses terhadap izin akses. Jika kernel memeriksa dan melihat bahwa Anda memiliki izin, itu akan membuka file.
Kernel Linux Mengontrol Semuanya
Seperti yang Anda lihat, kernel Linux mengawasi semuanya mulai dari keamanan file Anda hingga membuat pengguna dan mengunduh file dari internet. Semuanya dalam urutan tertentu. Setiap pengguna memiliki hak. Kernel Linux mengelola proses dan slot waktu untuk kinerja puncak.
Selain itu, sistem file, yang merupakan salah satu fitur terbesar yang membedakan kernel Linux dari sistem operasi lain, sangat penting. Linux bukanlah kotak tersembunyi. Sebaliknya, semua file dan kode sumber dapat diakses. Untuk lebih memahami sifat praktis dan kuat dari kernel Linux, Anda dapat memeriksa hierarki sistem direktori Linux.