Hai semuanya, apa kabar? Kali ini saya mau sharing tentang Kernel dan User Space di Linux. Yang bisa dibilang menjadi “mesin tak terlihat” yang menjalankan Linux.
Kalau diibaratkan, misalnya Linux adalah sebuah kota.
- Kernel = Pemkot yang mengatur tatanan perkotaan seperti mengelola lalu lintas (CPU scheduling), mengelola sumber daya (file management), dan juga menjaga keamanan (security).
- User space = Warga dan tempat publik
Kernel
Kernel bisa dibilang sebagai inti dari sistem operasi. Berikut ini adalah beberapa tugas dari kernel:
- 🚦 Scheduling: mengatur giliran program yang menggunakan CPU
- 📂 Manajemen file: mengontrol akses ke file dan direktori
- 🔐 Keamanan: validasi izin pengguna
- 🖧 Jaringan dan driver: menjembatani hardware dan software.
User Space
Nah, bagian ini adalah tempat di mana aplikasi yang kita gunakan sehari-hari berjalan. Misalnya seperti Terminal/Shell, web browser, dan lainnya.
Setiap program berjalan sebagai Proses (process) terisolasi dengan beberapa atribut:
- 🆔 PID (Process ID) – nomor unik untuk identifikasi proses.
- 💾 Virtual Memory
- 📊 State atau kondisi/status dari proses (berjalan/mati)
Jenis Proses
User Process
Proses jenis ini adalah program yang dijalankan langsung sebagai pengguna. Misalnya saat kita membuka web browser, text editor, atau aplikasi lain.
User process berjalan di user space yaitu tempat di memori yang memang dialokasikan khusus untuk aplikasi yang dijalankan oleh pengguna.
User process juga memiliki batasan akses dan penggunaan ke resource sistem untuk tujuan keamanan dan stabilitas.
Daemons
Daemons adalah jenis proses khusus yang berjalan di latar belakang tanpa interaksi langsung dengan pengguna. Biasanya Daemon dimulai saat sistem berjalan dan terus berjalan selama sistem aktif.
Daemons bisa berjalan di user space atau kernel space, tergantung dari fungsinya. Daemons dikendalikan oleh sistem operasi atau admin sistem, bukan oleh pengguna biasa.
Beberapa daemon dan tugasnya:
- Print daemon– mencetak dokumen
- Syslog daemon– mengelola log sistem
- Apache, NGINX – web server
- DHCP daemon– alokasi alamat IP.
Singkatnya, daemons bertugas untuk memastikan layanan penting dapat berjalan di sistem secara terus-menerus.
Kernel Threads
Kernel thread adalah thread -bagian dari proses- yang dikelola oleh kernel OS. Kernel thread berjalan di kernel space, yaitu tempat “istimewa” di memori dan memiliki akses penuh ke semua resource yang ada di sistem.
Kernel threads melakukan berbagai tugas penting untuk menjaga OS berfungsi dengan efisien. Berikut ini adalah sebagian kecil contoh dari tugas kernel threads:
- Manajemen memori
- Penjadwalan proses
- Komunikasi dengan hardware
Melihat Proses yang Berjalan
Kita bisa menggunakan perintah ps
untuk melihat proses yang berjalan di sistem. Tapi, kita juga bisa gunakan opsi tambahan untuk melihat daftar proses yang lebih lengkap yaitu dengan menggunakan perintah ps -ef
.
-e
: menampilkan semua proses yang berjalan di sistem.-f
: menampilkan informasi detail untuk setiap proses.
Dengan menggunakan perintah ps -ef
, sistem akan menampilkan detail proses yang dilengkapi dengan UID – (User ID) dan juga PPID – (Parent Process ID) yang bisa membantu kita dalam memahami hirarki dari proses yang sedang berjalan.
Untuk tulisan kali ini, sampai di sini dulu ya. Sampai jumpa. Bye.
Leave a Reply