OS: 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.”