Kernel, Init, Service ANd Linux Filesystem Basics
1. Linux Kernel
Boot loader memuat kernel dan sistem file berbasis RAM awal (initramfs) ke dalam memori, sehingga dapat digunakan langsung oleh kernel.
Ketika kernel dimuat dalam RAM, kernel segera menginisialisasi dan mengkonfigurasi memori komputer dan juga mengkonfigurasi semua perangkat keras yang terpasang pada sistem. Ini mencakup semua prosesor, subsistem I/O, perangkat penyimpanan, dll. Kernel juga memuat beberapa aplikasi ruang pengguna yang diperlukan.
2. /sbin/init dan LayananSetelah kernel menyiapkan semua perangkat kerasnya dan memasang sistem file root, kernel menjalankan /sbin/init. Setelah dimulai, proses inisialisasi mengambil kendali membawa sistem ke atas. Itu membaca file konfigurasi dan berdasarkan status yang dikonfigurasi dalam file konfigurasi itu memulai semua layanan dan proses lain untuk menjalankan sistem.
Alternatif Startup
- SysVinit
SysVinit adalah kumpulan program init gaya Sistem V yang aslinya ditulis oleh Miquel van Smoorenburg. Mereka termasuk init, yang dijalankan oleh kernel sebagai proses 1, dan merupakan induk dari semua proses lainnya.
Secara tradisional, proses startup ini dilakukan dengan menggunakan konvensi yang berasal dari tahun 1980-an dan variasi System V dari UNIX. Proses serial ini memiliki sistem yang melewati urutan runlevel yang berisi kumpulan skrip yang memulai dan menghentikan layanan. Setiap runlevel mendukung mode berbeda dalam menjalankan sistem.
SysVinit memandang hal-hal sebagai proses serial, dibagi menjadi serangkaian tahapan berurutan. Setiap tahap membutuhkan penyelesaian sebelum tahap berikutnya dapat dilanjutkan. Dengan demikian, startup tidak dengan mudah memanfaatkan pemrosesan paralel yang dapat dilakukan pada beberapa prosesor atau core.
Program ini dibuat untuk bekerja dalam lingkungan statis. Ini tidak bekerja dengan baik dengan perangkat hot-plug. Misalnya, Anda memiliki sistem Linux yang menggunakan program ini untuk manajemen layanan dan proses. Jika sistem ini dalam keadaan berjalan dan Anda memasang perangkat USB ke sistem, program ini tidak mengenali perangkat USB tersebut.
Dengan demikian, sistem sekarang membutuhkan metode dengan kemampuan yang lebih cepat dan ditingkatkan. Dua alternatif utama yang dikembangkan adalah:
- Upstart
Upstart digunakan sebagai solusi sementara oleh banyak pengembang Linux. Diadopsi di Fedora 9 (tahun 2008) dan di RHEL 6 dan klonnya.
Tidak seperti SysVinit yang diciptakan untuk beroperasi di lingkungan statis, Pemula diciptakan untuk beroperasi di lingkungan yang fleksibel. Pemula memberikan tiga manfaat utama dibandingkan SysVinit. Manfaat tersebut adalah; manajemen layanan berbasis peristiwa, startup layanan asinkron, dan restart otomatis layanan yang mogok.
Pemula, alih-alih menggunakan run-level, menggunakan peristiwa sistem untuk memulai dan menghentikan layanan. Event adalah perubahan status sistem. Ketika suatu peristiwa terjadi, pemula mendeteksi peristiwa itu dan membuat perubahan yang diperlukan.
Suatu peristiwa dapat berupa apa saja yang memerlukan atau memicu perubahan dalam status sistem. Berikut ini adalah beberapa contoh peristiwa.
- Perangkat hot-plug (seperti drive USB) dicolokkan atau dilepas dari sistem.
- Sistem boot.
- Layanan dimulai atau dihentikan.
- Systemd
Systemd adalah pengganti program penginisialisasi SysVinit dan Pemula. Systemd adalah program penginisialisasi sistem modern.
Diadopsi oleh Fedora pertama (pada 2011), Diadopsi oleh RHEL 7, SUSE, dan Ubuntu16.04 sebagai program penginisialisasi sistem default.
Terlepas dari bagaimana perasaan seseorang tentang kontroversi atau metode teknis systemd, adopsi yang hampir universal telah membuat pembelajaran cara bekerja di sistem Linux menjadi lebih sederhana, karena perbedaan di antara distribusi lebih sedikit.
Systemd Features
Sistem dengan systemd memulai lebih cepat daripada sistem dengan metode init sebelumnya. Hal ini sebagian besar karena menggantikan serangkaian langkah dengan teknik paralelisasi agresif, yang memungkinkan beberapa layanan untuk dimulai secara bersamaan.
Skrip shell startup yang rumit diganti dengan file konfigurasi yang lebih sederhana, yang menyebutkan apa yang harus dilakukan sebelum layanan dimulai, cara menjalankan startup layanan, dan kondisi apa yang seharusnya ditunjukkan oleh layanan telah diselesaikan saat startup selesai. Satu hal yang perlu diperhatikan adalah bahwa /sbin/init sekarang hanya menunjuk ke /lib/systemd/systemd; yaitu systemd mengambil alih proses init.
Satu perintah systemd (systemctl) digunakan untuk sebagian besar tugas dasar. Berikut adalah daftar singkat penggunaannya:
- Memulai, menghentikan, memulai ulang layanan (menggunakan httpd, Apache web server, sebagai contoh) pada sistem yang sedang berjalan:
$ sudo systemctl start | stop | restart httpd.service
- Mengaktifkan atau menonaktifkan layanan sistem dari memulai saat sistem boot:
$ sudo systemctl enable | disable httpd.service
3. Linux Filesystem
Bagian ini akan menjelaskan tata letak sistem file standar yang digunakan oleh sebagian besar distribusi Linux.
Pikirkan lemari es yang memiliki banyak rak yang dapat digunakan untuk menyimpan berbagai barang. Rak ini membantu Anda mengatur barang belanjaan berdasarkan bentuk, ukuran, jenis, dll. Konsep yang sama berlaku untuk sistem file, yang merupakan perwujudan dari metode penyimpanan dan pengorganisasian kumpulan data sewenang-wenang dalam bentuk yang dapat digunakan manusia.
Berbagai jenis sistem file yang didukung oleh Linux:
- Conventional disk filesystems: ext3, ext4, XFS, Btrfs, JFS, NTFS, vfat, exfat, dll.
- Flash Storage filesystems: ubifs, jffs2, yaffs, dll.
- Database Filesystems
- Special purpouse filesystem: procfs, sysfs, tmpfs, squashfs, debugfs, fuse, dll.
Partitions And Filesystem
Partition adalah bagian logis dari disk.
Filesystem adalah metode menyimpan/menemukan file di hard disk.
Seseorang dapat menganggap partisi sebagai wadah di mana sistem file berada, meskipun dalam beberapa keadaan, sistem file dapat menjangkau lebih dari satu partisi.
Dengan membagi harddisk menjadi beberapa partisi, data dapat dikelompokkan dan dipisahkan sesuai kebutuhan. Ketika terjadi kegagalan atau kesalahan, hanya data di partisi yang terpengaruh yang akan rusak, sedangkan data di partisi lain kemungkinan akan bertahan.
Perbandingan antara sistem file di Windows dan Linux diberikan dalam tabel berikut:
The Filesystem Hierarchy Standard
Sistem Linux menyimpan file penting mereka sesuai dengan tata letak standar yang disebut (FHS) Filesystem Hierarchy Standard . Memiliki standar dirancang untuk memastikan bahwa pengguna, administrator, dan pengembang dapat berpindah antar distribusi tanpa harus mempelajari kembali bagaimana sistem diatur.
Linux menggunakan karakter '/' untuk memisahkan jalur (tidak seperti Windows, yang menggunakan '\'), dan tidak memiliki huruf drive. Beberapa drive dan/atau partisi dipasang sebagai direktori dalam sistem file tunggal. Media yang dapat dilepas seperti drive USB serta CD dan DVD akan muncul sebagai terpasang di/run/media/namapenggunaanda/disklabel untuk sistem Linux terbaru, atau di bawah/media untuk distribusi lama.
Daftar Root Filesystem Herarchy
- /bin/ -> Essential user command binaries
- /boot/ -> Static files of the boot loader
- /dev/ -> Device Files
- /etc/ -> Host-specific sysytem configuration ( required directories. OPT, XII, SGML, XML )
- / home/ -> User Home Driectories
Contoh: /home/student/-> / home/student/dir ) and /home/linuxgym
- /lib/ -> Essential shared libraries and kernel modules
- /media/ -> mount point for removable media
- /mnt/ -> mount point for temporarily mounted filesystem
- /opt/ -> Add-on application software packages
- /sbin/ -> system binaries
- /srv/ -> data for server provided by this system
- /tmp/ -> temporary files
- /usr/ -> (multi-) user utilities and application ( secondary herarchy required directories , bin, include, lib, local ,sbin ,share )
Contoh: /usr/local/ -> /usr/local/bin (/usr/local/games)
/var/ -> variable Files
/root/ -> home directory for the root user
/proc/ -> virtual filesystem documenting kernel and process status as txt files
Lebih Lanjut Tentang Standar Hirarki Sistem File
- Semua nama sistem file Linux peka huruf besar/kecil, jadi /boot, /Boot, dan /BOOT mewakili tiga direktori (folder) yang berbeda.
- Banyak distribusi membedakan antara utilitas inti yang diperlukan untuk operasi sistem yang tepat dan program lain, dan menempatkan yang terakhir di direktori di bawah /usr (think user).
Untuk memahami bagaimana program lain diatur, temukan direktori /usr dalam diagram dari halaman sebelumnya dan bandingkan subdirektori dengan subdirektori yang ada langsung di bawah direktori root sistem (/).
Contoh Gambaran :
Terimakasih, Semoga Bermanfaat.






Tidak ada komentar:
Posting Komentar