A.
TUGAS 1
1. Pertama kita harus memasang paket untuk kompilasi kernel modul dengan perintah :
# apt-get install linux-headers-general make gcc
2. Selanjutnya kita buat file hello.c dengan editor yang ada, dengan isi dari file itu sebagai berikut :
Gambar 1.1
Gambar 1.2
4. Selanjutnya compile dengan perintah #make
Setalah proses compile dilakukan akan muncul beberapa file baru.
Gambar 1.4
5. Pasang kernel modul dengan perintah #insmod hello.ko
Gambar 1.5
6. Cek apakah kernel sudah terpasang dengan perintah #lsmod
Gambar 1.6
7. Cek output dari kernel module setelah terpasang dengan perintah #dmesg
Gambar 1.7
Gambar 1.8
9. Cek kembali output kembali dengan perintah #dmesg
Gambar 1.9
10. Analisa :
Modul kernel adalah sebuah file obyek yang berisi fungsi-fungsi yang dapat digunakan oleh kernel system operasi. Tujuan dibuat sebuah module kernel adalah untuk menyediakan fungsi-fungsi yang tidak disediakan secara default oleh kernel. Modul ini biasanya digunakan sebagai device driver.
Pada kasus diatas kernel module menggunakan dua macro yaitu __init dan __exit. Kedua fungsi tersebut dapat dereferensikan oleh module_init dan module_exit. Dalam kasus ini proses pengkompilean menggunakan Makefile. Makefile melakukan pengkompilean otomatis. Apabila proses kompilasi berhasil maka akan muncul beberapa file baru dan juga file excutable.
Beberapa penjelasan tentang source code diatas :
Obj-m adalah objek-objek module yang ingin decompile All & clean menunjukkan profil otomatisasi Makefile $(shell uname –r) memberikan hasil berupa versi kernel make -C /lib/modules/$(KVERSION)/build M=$(PWD)..
B. TUGAS 2
Contoh implementasi struktur system operasi.