Penjelajah Kernel Linux
(reverser.dev)- Kernel Linux bukanlah satu proses tunggal, melainkan lapisan inti yang membentuk seluruh sistem, struktur yang selalu hadir untuk menghubungkan perangkat keras dan perangkat lunak
- Menjaga eksekusi tetap berjalan dengan mengoordinasikan system call, interupsi, dan penjadwalan untuk proses pengguna
- Kernel bekerja sebagai struktur berlapis yang tervirtualisasi, dipetakan, diisolasi, dan dikendalikan
- Sebagai bahan pembelajaran, diperkenalkan berkas sumber inti seperti
init/main.c,kernel/fork.c,include/linux/sched.h, danarch/x86/kernel/entry_64.S - Penting sebagai materi pembelajaran dasar untuk memahami struktur dan peran kernel
Hakikat kernel
- Kernel adalah sistem itu sendiri, bukan proses, yaitu lapisan otoritatif yang selalu hadir yang menghubungkan perangkat keras dan perangkat lunak
- Menjalankan peran sentral dalam mendukung eksekusi proses pengguna dan mengelola sumber daya sistem
- Kernel adalah entitas yang melayani proses, yang mempertahankan pekerjaan pengguna dengan mengoordinasikan system call (syscall), interupsi, dan penjadwalan
Struktur berlapis sistem
- Kernel tersusun sebagai struktur kendali yang tervirtualisasi, dipetakan, dan terisolasi
- Pada runtime, berbagai lapisan saling berinteraksi untuk menjaga stabilitas dan kendali sistem
Berkas untuk pembelajaran
- Empat berkas utama berikut diperkenalkan untuk memahami struktur kernel
init/main.ckernel/fork.cinclude/linux/sched.harch/x86/kernel/entry_64.S
Soal pemeriksaan konsep
- Perbedaan mendasar antara kernel dan proses: B. Kernel bukan proses, melainkan sistem itu sendiri
- Cara kernel mendukung proses pengguna: B. Mengoordinasikan system call, interupsi, dan penjadwalan
- Karakteristik berlapis kernel: C. Struktur yang tervirtualisasi, dipetakan, terisolasi, dan dikendalikan
1 komentar
Komentar Hacker News
Ini proyek yang benar-benar keren. Mengingatkan pada susunan halaman Talmud — menarik bagaimana lapisan komentar dari ratusan tahun bertumpuk dalam satu halaman
Kode memang tidak linear seperti itu, tetapi Linux Kernel Explorer ini juga memberi kesan serupa akan ‘lapisan anotasi’
Saya особенно suka format catatan di sampingnya
Tautan referensi terkait: Tata letak halaman Talmud, Catatan tata letak Talmud
Rasanya saya melewatkan sesuatu. Sejak lama kita sudah bisa menjelajahi source kernel di web — misalnya situs seperti Elixir Bootlin
Tapi saya tidak paham fitur tambahan apa yang ditawarkan ini. Bootlin bahkan punya pencarian, sementara di sini saya tidak melihatnya
Untuk zaman sekarang, saya berharap ada penjelasan kode berbasis LLM atau sesuatu seperti graf dependensi
Kena rate limit GitHub API jadi daftar file tidak muncul
Kalau ada yang mengalami masalah yang sama, ganti IP dengan VPN atau Cloudflare Wrap bisa mengatasinya
Kalau saya jadi pengembangnya, saya akan menambahkan opsi login GitHub atau lapisan cache agar pengguna baru lebih mudah mengaksesnya
Saya sangat suka alat seperti ini. Dulu saya pernah menganalisis source code mesin pemungutan suara elektronik Brasil dengan alat serupa buatan Red Hat
Waktu itu saya bertugas merapikan file dan fungsi yang duplikat, dan aplikasinya berupa desktop app berbasis Motif UI
Saya sangat suka ide seperti ini. Saat menjelajahi kode proyek yang kompleks, sering kali sulit tahu harus mulai dari mana, dan alat ini membantu memahami struktur inti dengan cepat
Tapi saya menemukan bug — di Chapter 2, saat membuka direktori seperti “mm/”, muncul error “Invalid file response”. Sepertinya ia mencoba membuka direktori seolah-olah itu file
Saya juga memberi apresiasi tinggi pada karya Florent Revest
Explorer ini terasa seperti alat yang memang dibutuhkan banyak developer
Source kernel sangat besar dan rumit, jadi sering tidak jelas harus mulai dari mana, dan ini menunjukkan strukturnya layaknya semacam peta
Kita juga bisa melihat VFS atau cara modul saling terhubung dalam sekali pandang, dan meski ada masalah seperti batas API atau error direktori, ini tetap langkah awal yang hebat
Itu juga sangat membantu ketika saya mulai bekerja dengan Linux, dan setelah itu ada Elixir yang diimplementasikan ulang dalam Python serta source code-nya
Elixir Bootlin sudah lama ada, tetapi berfungsi lebih baik di perangkat mobile
Kelihatannya sangat keren. Pembuatnya adalah fabiomaia.eu
Saya ingin meminta dibuatkan alat serupa untuk Python
Sepertinya akan berguna saat mengajarkan struktur repositori CPython kepada engineer baru
Saya jadi penasaran — bagian kode kernel mana yang paling mengesankan?
File
arch/x86/kernel/entry_64.Sdi Chapter 1 tidak bisa dibukaJuga tidak terlihat di tree direktori
(Ada komentar lain yang menyebut masalah ini, tetapi sepertinya sudah dihapus)
arch/x86/entry/entry_64.S