Home General Computer Multimedia Business Lounge
|
[dummie]basic programming kernel modul
|
|
02-29-2012, 01:35 AM
(This post was last modified: 02-29-2012 01:45 AM by alessandra.)
|
|||
|
|||
|
[dummie]basic programming kernel modul
PENGANTAR
--------- Kernel module adalah potongan kode yang dapat di load dan unload ke dalam kernel saat ada request dari user program tersebut akan memperluas fungstionalitas kernel tanpa perlu reboot sistem. Sebagai contoh,satu jenis modul device buat driver yang memungkinkan kernel untuk mengakses hardware untuk terhubung ke komputer. tanpa modul,kita harus bisa membuat kernel monolitik agar dapat menambahkan fungsi baru yang terhubung langsung di dalam kernel selain memiliki memori kernel yang lebih besar,kelemahannya adalah kita akan di minta terus untuk reboot kernel ketika kita menginginkan fungsi terbaru di dalamnya. START ----- Modul kernel seharusnya memiliki setidaknya 2fungsi utama,yaitu : "start"(initialisasi) untuk pemanggilan fungsi terhadap init_module() dan pemanggilan fungsi cleanup_module() fungsi tersebut biasanya di panggil oleh module insmodded ke dalam kernel tadi sesaat sebelum rmmoded di jalankan,dan menggunakan init_module() dan cleanup_module() untuk memulai dan mengakhiri fungsinya (untuk lebih jelasnya tentang insmodded dan rmmoded silahkan bergoogling) biasanya,init_module() di gunakan untuk register handler langsung dengan kernel atau mengganti salah satu fungsi kernel dengan kode itu sendiri (tetap melakukan pemanggilan fungsi asli) setiap modul kernel di haruskan menyertakan linux/module.h guna ekspansi makro yang akan menyempurnakan perintah printk()log level dan KERN_ALERT berikut contoh kodingan simple untuk kernel module #include <linux/module.h> #include <linux/kernel.h> int init_module(void) { printk(KERN_INFO "hai unyu\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "fufufu\n"); } coba simpan dengan nama semu.c cara kompilenya pun sedikit berbeda dari aplikasi userspace biasa yang disimpan dalam Makefile,walaupun sedikit nampak terorganisir,pengaturan berlebihan yang banyak terakumulasi dalam sublevel Makefiles yang cukup besar memakan memory userspace. sekarang mari kita mencoba kompilasi code program dengan perintah : obj-m += semu.o make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules lalu ketikan perintah : alessa@nullsoft:~/lkm# make dan akan menampilkan output,seperti berikut : make −C /lib/modules/2.6.11/build M=/root/lkm modules make[1]: Entering directory `/usr/src/linux-headers-2.6.35-22' CC [M] /root/lkm/semu.c Building modules, stage 2. MODPOST pemanggilan kbuild dan build adalah proses untuk modul loadable eksternal yang sekarang adalah sepenuhnya terintegrasi dalam kernel standar untuk membangun mekanisme kerjanya [*next lanjut ya,tutorialnya alessa udah ngantuk nih mau bobo..] Referensi : http://en.wikipedia.org/wiki/Loadable_kernel_module (Loadable kernel module) http://techpubs.sgi.com/library/tpl/cgi-...ode20.html (Developer/Lx_KMPG system call ) http://140.120.7.20/LinuxRef/LinuxArticl...mming.html (introducing linux kernel module) http://www.stillhq.com/pdfdb/000489/data.pdf (introducing linux kernel programming with module) http://www.linuxchix.org/content/courses...ng/lesson8 (your first kernel module) mohon tambahan ilmunya untuk saya yang masih newbiesemoga berkenan memberikan tambahan ![]() salam kenal pula
|
|||
Reputed by : anko_kum4ru(+1) , ditatompel(+1) , ev1lut10n(+1) |
|
02-29-2012, 01:43 AM
|
|||
|
|||
|
RE: [dummie]basic programming kernel modul
:wah.. bikin mimisan nih tutorialnya...
![]() keren mbak.. ![]() dits ijin pelajari dulu
|
|||
|
02-29-2012, 01:44 AM
|
|||
|
|||
|
RE: [dummie]basic programming kernel modul
widih keren tutorial nya
|
|||
|
02-29-2012, 01:46 AM
|
|||
|
|||
|
RE: [dummie]basic programming kernel modul
bru belajar mas bro
|
|||
|
02-29-2012, 02:10 AM
|
|||
|
|||
RE: [dummie]basic programming kernel modul
![]() ![]() keren cewe2 di sini ![]()
|
|||
|
03-21-2012, 06:49 AM
(This post was last modified: 03-21-2012 06:50 AM by x.intruders.)
|
|||
|
|||
| RE: [dummie]basic programming kernel modul | |||
|
« Next Oldest | Next Newest »
|
| Topic Tools | ||||||
| ||||||
| Possibly Related Threads... | |||||
| Thread: | Author | Replies: | Views: | Last Post | |
| [Tutor] Nembak Cewek di C Basic [Dari om Nisan] | Zeattacker | 12 | 360 |
12-20-2012 03:45 PM Last Post: ubuntux |
|
| Some Kernel Coding Style in C (incomplete) | cr0security | 4 | 283 |
07-20-2012 10:03 PM Last Post: monyett |
|
| Sekilas VFS pada linux kernel 2.4 | ev1lut10n | 2 | 505 |
07-14-2012 09:44 PM Last Post: cbrnewbie |
|
| [Tutor] Network Programming | jackerp | 8 | 563 |
03-02-2012 10:37 AM Last Post: jackerp |
|
| [Solved] C Programming | d3m3nt012 | 8 | 595 |
01-16-2012 03:20 AM Last Post: d3m3nt012 |
|
| IOCTL Programming Under Linux Kernel 2.6 | ev1lut10n | 3 | 670 |
11-25-2011 01:01 PM Last Post: ketek |
|
| TCP Socket Programming dengan Bahasa C (Linux) | mywisdom | 8 | 1,905 |
04-20-2011 01:16 AM Last Post: mywisdom |
|
| Loadable Kernel Module (part 1) | mywisdom | 1 | 839 |
10-01-2010 02:00 PM Last Post: blu3k1d5 |
|
| Users Browsing |
| 1 Guest(s) |


untuk saya yang masih newbie











