LİNUX KERNELDE İKİ SAYIYI TOPLAYAN MODÜL PROGRAMLAMA
“
sudo –i ” komutuyla yönetici girişi yapıyoruz.
" cd /home/terzi " komutunu
yazarak o dizine gidiyoruz. Dikkat edin terzi benim bilgisayarımın adı siz
sizinkine göre değiştirin.
" mkdir modules "
komutuyla terzi uzantısında modules adlı dosya oluşturuyoruz. Bu arada terminalde clear
yazarak ekranı temizleyebilirsiniz.
“
cd modules ” yazarak oluşturduğumuz dosyanın içine giriyoruz.
“
gedit sum.c ” yazarak modules dosyasının içinde sum.c isimli dosya
oluşturuyoruz ve içine giriyoruz. İçinde c ye çok benzeyen kodlarla tasarım
yapıcaz.
“gedit sum.c ”yazdıktan
sonra beyaz bir gedit ekranı açıldı. İçine bu kodları yazıyoruz ve kaydediyoruz.
İnclude = Kütüphaneleri yazıyoruz. Kernel.h kütüphanesi kernelde kullandığımız için yazıyoruz. Module.h kütüphanesi ise modülleri kullanacağımız için yazıyoruz.
Module_param = Bu modül bize kullanıcıdan sayı almamızı sağlayacak.
Module_init= Bu modül ise oluşturduğumuz modülü kernele tanıtacak.
Module_exit= Bu modül ise tanıttığımız modülü kernelden geri alacak.
“ make ” komutunu kullanarak derlemeye başlıyoruz.
” make ” komutuyla birlikte modules klasöründe bu dosyalar
oluştu.
“ insmod sum.ko n1=26 n2=13” yazarak modülümü kernele
tanıtıyorum. İnsmod tanıtma komutu .
sum.ko tanıtılacak dosyanın ismi. n1 ve n2 hatırlarsınız sum.c
dosyamızdaki toplama yapmak için aldığımız int değerinde parametrelerdi.
“ dmesg ” yazarak kernelin verdiği debug mesajlarını
görüntülüyoruz.
Gördüğünüz gibi modülümüz
çalışmış ve girdiğimiz sayıları toplamış.
“ lsmod ” yazarak çalışır halde
olan modülleri görebiliriz.
Sum modülü şu anda çalıştığı için görebiliyoruz.
“ rmmod sum.ko ” yazarak çalışır halde olan sum modülümüzü
kernelden alıyoruz.
Tekrardan dmesg komutunu yazarak mesajlara baktık ve
modülden çıktığımızı bize yazdığını gördük.