¸®´ª½º °ü·Ã °Ô½ÃÆÇ

2001/07/11(21:18) from 211.169.72.147
ÀÛ¼ºÀÚ : °­ÁÙ±â (jkkang65@hanmail.net) Á¶È¸¼ö : 4900 , ÁÙ¼ö : 43
Q : Ä¿³Î ¸ðµâÀº ¾î¶»°Ô ¸¸µå³ª¿ä?
A : Ä¿³Î ¸ðµâÀº Ä¿³Î ¸ðµå¿¡¼­ µ¿ÀÛÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. Ä¿³Î ¸ðµâÀº C/C++ ¾ð¾î·Î ¸¸µé ¼ö ÀÖÀ¸¸ç, ·ÎµåÇÏ°í ¾ð·ÎµåÇÒ ¶§ ºÒ¸®´Â µÎ °³ÀÇ ÇÔ¼ö init_module()°ú cleanup_module()À» ±¸ÇöÇÏ¸é µË´Ï´Ù. Ä¿³Î ¸ðµâ¿¡¼­´Â Ä¿³Î¿¡¼­ export ÇØÁÖ´Â ÇÔ¼ö³ª º¯¼ö¸¸À» »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. ¸ðµâÀº object ÆÄÀÏ ÇüÅ·Π½ÇÁ¦ ¸µÅ©ÇÏ´Â ÀÛ¾÷Àº module loader°¡ ¼öÇàÇϹǷΠÄÄÆÄÀϸ¸ ÇÑ ÈÄ ·ÎµåÇÏ¸é µË´Ï´Ù. °£´ÜÇÑ ¸Þ½ÃÁö¸¸À» Ãâ·ÂÇÏ´Â ¸ðµâÀ» ¸¸µé¾î¼­ ÄÄÆÄÀÏÇÏ°í ·ÎµåÇÏ´Â °úÁ¤À» »ìÆ캸¸é :

1. ÄÚµå ÀÛ¼º

´ÙÀ½°ú °°ÀÌ hello.c ÆÄÀÏÀ» ¸¸µç´Ù.

#define __KERNEL__
#define MODULE

#include
#include

#ifdef CONFIG_MODVERSIONS
#define MODVERSIONS
#include
#endif

int init_module(void)
{
printk("<1>Hello, World\n");

return 0;
}

void cleanup_module(void)
{
printk("<1>Goodbye\n");
}

2. ÄÄÆÄÀÏÇϱâ
gcc -c hello.c

3. ¸ðµâ ·Îµå ¹× ¾ð·Îµå
insmod hello.o             <= ·Îµå
lsmod                      <= ÇöÀç ·ÎµåµÈ ¸ðµâ ¸ñ·Ï È®ÀÎ
rmmod hello                <= ¾ð·Îµå

tail /var/log/messages     <= ¸ðµâ¿¡¼­ Ãâ·ÂÇÑ ¸Þ½ÃÁö °Ë»ç



--------------------------------------------------------------------------------

Modify Delete Post Reply Backward Forward List
Powered by Kang Jul Ki