mknodÀûÓÃudev¡¢sys¶¯Ì¬´´½¨linuxÉ豸½áµã£¨×ªÔØ£©
ÔÚLinux 2.6ÄÚºËÖУ¬devfs±»ÈÏΪÊǹýʱµÄ·½·¨£¬²¢×îÖÕ±»Å×Æú£¬udevÈ¡´úÁËËü¡£DevfsµÄÒ»¸öºÜÖØÒªµÄÌصã¾ÍÊÇ¿ÉÒÔ¶¯Ì¬´´½¨É豸½áµã¡£ÄÇÎÒÃÇÏÖÔÚÈçºÎͨ¹ýudevºÍsysÎļþϵͳ¶¯Ì¬´´½¨É豸½áµãÄØ£¿
ÓÃudevÔÚ/dev/϶¯Ì¬Éú³ÉÉ豸Îļþ£¬ÕâÑùÓû§¾Í²»ÓÃÊÖ¹¤µ÷ÓÃmknodÁË¡£
ÀûÓõÄkernel API£º
class_create : ´´½¨class
class_destroy : Ïú»Ùclass
class_device_create : ´´½¨device
class_device_destroy : Ïú»Ùdevice
×¢Ò⣬ÕâЩAPIÊÇ2.6.13¿ªÊ¼Óеģ¬ÔÚ2.6.13֮ǰ£¬Ó¦µ±Ê¹ÓÃ
class_simple_create
class_simple_destroy
class_simple_device_add
class_simple_device_remove
ÕâһϵÁУ¬Ò²¾ÍÊÇldd3µÚ14ÕÂÃèÊöµÄ¡£ Ïê¼û:
https:/ n.net/Articles/128644/
Output:
===========================================
[root@localhost dynamic_dev_node]# insmod ./dummy_dev.ko
[root@localhost dynamic_dev_node]# file /dev/dummy_dev0
/dev/dummy_dev0: character special (250/0)
[root@localhost dynamic_dev_node]# rmmod dummy_dev.ko
[root@localhost dynamic_dev_node]# file /dev/dummy_dev0
/dev/dummy_dev0: ERROR: cannot open `/dev/dummy_dev0' (No such file or directory)
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/fs.h>
#include <linux pes.h>
#include <linux/delay.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/ioctl.h>
#include <linux ev.h>
#include <linux/string.h>
#include <linux st.h>
#include <linux/pci.h>
#include <asm/uaccess.h>
#include <asm/atomic.h>
#include <asm/unistd.h>
#define THIS_DESCRIPTION "\
This module is a dummy device driver, it register\n\
\t\ta
Ïà¹ØÎĵµ£º
LinuxÏÂÓýű¾Ð´¼à¿Ø´úÀí³ÌÐò
Îâ旻
Ì©ÑÒÍøÂ繤×÷ÊÒ
Òò¹¤×÷ÐèÒª£¬ÎÒÐèÒª¼à¿Ø¼¸Ì¨·þÎñÆ÷µÄ³ÌÐò״̬£¬SNMP(¼òµ¥ÍøÂç¹ÜÀíÐÒé)¿ÉÒÔÓ㬵«²¢²»ÄÜÂú×ãÎÒµÄÒªÇ󣬶øÇÒ²¢²»¼òµ¥¡£ÎÒÏ£ÍûʵʱµÃµ½ÖîÈç½ø³ÌµÄÐÅÏ¢¡¢CPUʹÓá¢ÄÚ´æʹÓá¢ÍøÂçÁ÷Á¿¡¢ÍøÂç¶Ë¿Ú¡¢´ÅÅÌÐÅÏ ......
1. Download all packet and patchs Done
2. To be involved in the mail list
3. Check Host Requirements Done
»¹Ñ§Ï°ÁË cut ÏÔʾijÐеÄÖ¸¶¨field £¬head ÏÔʾǰ¼¸ÐУ¬readlin ......
STAT(¸ÃÐг̵Ä״̬)
D: ²»¿ÉÓÃÐźÅÖжϵÄ˯Ãß״̬
R: ÕýÔÚÖ´Ðлò´¦ÓÚÖ´ÐжÓÁÐÖÐ
S: ¿ÉÒÔÓÃÐźÅÖжϵÄ˯Ãß״̬
T: ÔÝÍ£Ö´ÐÐ
Z: ½©ËÀ״̬
££££££££££££££££££££££££££££££££££££
W: ûÓÐ×ã¹»µÄ¼ÇÒäÌå·ÖÒ³¿É·ÖÅä
<: ¸ßÓÅÏÈÐòµÄÐгÌ
N: µÍÓÅÏÈÐòµÄÐгÌ&nbs ......
¿´LDD3ÖÐÉ豸ģÐÍÒ»Õ£¬¾õµÃ˼άÓÐЩ»ìÂÒ¡£ÕâÀï´ÓÕûÌåµÄ½Ç¶ÈÀ´ÀíÀí˼·¡£
±¾ÎÄ´ÓËĸö·½ÃæÀ´×ܽáһЩÄÚÈÝ£º
1.µ×²ãÊý¾Ý½á¹¹£ºkobject,kset.
2.linuxÉ豸ģÐͲã´Î¹Øϵ£ºbus_type,device,device_driver.
3.¼¯³É£ºPCIÉ豸Çý¶¯Ä£ÐÍʵÀý¼°É豸£¬É豸Çý¶¯×¢²áÔ´ÂëµÄ¼òµ¥·ÖÎö.
4.ÃæÏò¶ÔÏóµÄ˼ÏëÔÚlinuxÉ豸ģÐÍÖеÄÓ¦Ó÷ÖÎö.
......
¹þÏ£±í£¨Hashtable£©ÓÖ³ÆΪ“É¢ÖÔ£¬HashtableÊÇ»á¸ù¾ÝË÷Òý¼üµÄ¹þÏ£³ÌÐò´úÂë×éÖ¯³ÉµÄË÷Òý¼ü£¨Key£©ºÍÖµ£¨Value£©Åä¶ÔµÄ¼¯ºÏ¡£Hashtable ¶ÔÏóÊÇÓÉ°üº¬¼¯ºÏÖÐÔªËصĹþϣͰ£¨Bucket£©Ëù×é³ÉµÄ¡£¶øBucketÊÇHashtableÄÚÔªËصÄÐéÄâ×ÓȺ×飬¿ÉÒÔÈô󲿷ּ¯ºÏÖеÄËÑÑ°ºÍ»ñÈ¡¹¤×÷¸üÈÝÒס¢¸ü¿ìËÙ¡£
¹þÏ£º¯ ......