OS: Arsitektur Kernel Linux

From OnnoWiki
Revision as of 11:53, 13 February 2026 by Onnowpurbo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

BAGIAN E — KERNEL & SISTEM LOW-LEVEL BAB 6. Arsitektur Kernel Linux Peran Kernel dalam Sistem Operasi Linux Kernel merupakan inti (core) dari sistem operasi Linux yang bertugas sebagai penghubung langsung antara hardware dan user space. Semua akses ke CPU, memory, disk, dan perangkat jaringan harus melalui kernel. Prinsip ini menjadikan kernel sebagai penjaga gerbang tunggal (single authority) yang menjamin keamanan, isolasi, dan efisiensi sistem . Dalam praktik sehari-hari di Ubuntu 24.04, ketika mahasiswa menjalankan perintah sederhana seperti ls, ping, atau apt install, sesungguhnya mereka sedang memicu system call yang mengalihkan eksekusi dari user mode ke kernel mode. Dari sinilah terlihat bahwa kernel bukan konsep abstrak, melainkan komponen aktif yang bekerja setiap detik. Monolithic Kernel vs Microkernel Monolithic Kernel (Linux) Linux menggunakan arsitektur monolithic kernel, di mana sebagian besar layanan inti (scheduler, memory manager, file system, networking, device driver) berjalan di dalam kernel space. Ciri utama: Performa tinggi karena komunikasi antar komponen terjadi langsung. System call lebih cepat, tanpa overhead message passing. Kernel Linux tetap fleksibel melalui loadable kernel module (LKM). Contoh nyata: Driver NIC, filesystem ext4, dan TCP/IP stack semuanya aktif di kernel. Mahasiswa dapat memuat modul dengan:

sudo lsmod sudo modprobe loop Pendekatan ini konsisten dengan filosofi Linux sebagai general-purpose OS yang efisien untuk server, desktop, dan embedded system .

Microkernel Berbeda dengan Linux, microkernel hanya menyimpan fungsi paling minimal di kernel: IPC (inter-process communication) Scheduler dasar Memory management minimum Layanan lain (driver, file system, network stack) dijalankan di user space. Kelebihan: Fault isolation lebih baik Kernel lebih kecil dan formal-verifiable Kekurangan: Overhead IPC tinggi Performa sering kalah dibanding monolithic kernel Catatan penting: Linux tidak menggunakan microkernel karena trade-off performa dianggap terlalu mahal untuk kebutuhan nyata. Ringkasan Perbandingan Linux → Monolithic (modular) QNX / Minix → Microkernel Android / Windows NT → Hybrid (konseptual) Pendekatan Linux terbukti scalable dan tahan uji dari embedded router (OpenWRT) hingga supercomputer.

Boot Process Linux Boot process menggambarkan perjalanan sistem dari kondisi mati hingga siap menerima login user. Tahapan Boot Linux Firmware (UEFI/BIOS) Melakukan POST dan mencari bootloader. Bootloader (GRUB) Memuat kernel image (vmlinuz) Memuat initramfs Kernel Initialization Deteksi CPU Inisialisasi memory Load driver awal Mount temporary root filesystem Init System (systemd) Menjalankan service Menyiapkan network Menyajikan login prompt Contoh observasi praktis: dmesg | less systemd-analyze blame

Insight penting: Boot process adalah titik temu hardware–kernel–user space dan menjadi lokasi favorit debugging jika sistem gagal menyala.

System Call: Gerbang ke Kernel System call adalah mekanisme resmi agar program di user space dapat meminta layanan kernel. Contoh system call penting: read(), write() fork(), execve() open(), close() socket() Alur Konseptual User Program

→ system call
→ kernel mode
→ kernel service
→ return ke user space

Contoh observasi real: strace ls Mahasiswa akan melihat bahwa perintah sederhana memicu puluhan system call, menegaskan bahwa kernel adalah pusat semua aktivitas OS . Scheduler: Mengatur Waktu CPU Scheduler menentukan siapa mendapat CPU, kapan, dan berapa lama. Linux modern menggunakan Completely Fair Scheduler (CFS) yang bertujuan: Memberikan fair share CPU Meminimalkan latency Menjaga respons sistem tetap interaktif Jenis workload: CPU-bound I/O-bound Interactive process Batch job Observasi praktis: top htop cat /proc/sched_debug

Kunci konsep:Scheduler bukan hanya soal kecepatan, tapi keadilan dan pengalaman pengguna. Memory Management Kernel Linux bertanggung jawab penuh atas alokasi, proteksi, dan optimalisasi memori. Komponen utama: Virtual Memory Paging Swapping Page Cache & Buffer Cache Jika program mengakses memori ilegal → segmentation fault, kernel akan menghentikan proses demi stabilitas sistem. Contoh observasi: free -h vmstat 1 cat /proc/meminfo Virtual memory memungkinkan sistem dengan RAM terbatas tetap menjalankan banyak proses — ilusi memori besar yang dikelola kernel . I/O Management & Device Driver Kernel menangani I/O melalui: Interrupt Device driver I/O scheduler Semua perangkat diperlakukan sebagai file abstrak: ls /dev Driver bertugas: Menerjemahkan perintah kernel → hardware Menangani interrupt Menyediakan antarmuka standar Inilah sebabnya Linux dapat berjalan di ribuan jenis hardware tanpa mengubah aplikasi user.

Refleksi Akademik Pada bab ini mahasiswa diharapkan memahami bahwa: Kernel adalah pusat kekuasaan sistem operasi Arsitektur Linux dipilih karena efisiensi nyata, bukan teori semata Semua praktik berikutnya (compile kernel, module, tuning) berakar pada arsitektur ini “Jika user space adalah panggung, maka kernel adalah sutradaranya.”

Pranala Menarik