LinuxÉ豸ģÐÍ
¿´LDD3ÖÐÉ豸ģÐÍÒ»Õ£¬¾õµÃ˼άÓÐЩ»ìÂÒ¡£ÕâÀï´ÓÕûÌåµÄ½Ç¶ÈÀ´ÀíÀí˼·¡£
±¾ÎÄ´ÓËĸö·½ÃæÀ´×ܽáһЩÄÚÈÝ£º
1.µ×²ãÊý¾Ý½á¹¹£ºkobject,kset.
2.linuxÉ豸ģÐͲã´Î¹ØÏµ£ºbus_type,device,device_driver.
3.¼¯³É£ºPCIÉ豸Çý¶¯Ä£ÐÍʵÀý¼°É豸£¬É豸Çý¶¯×¢²áÔ´ÂëµÄ¼òµ¥·ÖÎö.
4.ÃæÏò¶ÔÏóµÄ˼ÏëÔÚlinuxÉ豸ģÐÍÖеÄÓ¦Ó÷ÖÎö.
Ò»¡¢µ×²ãÊý¾Ý½á¹¹£ºkobject,kset
ÏÈ˵˵ģÐ͵ÄÒâÒå:
×ÜÌåÀ´ËµÊÇΪÁËϵͳµØ¹ÜÀíËùÓÐÉ豸¡£
kobject
½áºÏÃæÏò¶ÔÏóµÄ˼ά¡£Õâ¸ökobjectÊôÓÚ×î»ù´¡µÄ½á¹¹£¬Ò²¾ÍÊÇ×î¸ß³éÏó²ã(ÓеãÏñjavaÖеÄCobjectÀà)¡£ÈκÎÒ»¸öÉ豸ģÐÍÈç×ÜÏߣ¬É豸£¬Çý¶¯¶¼ÊôÓÚÒ»¸ökobject ¡£ÔÚʵÏÖÉÏÕâÖÖÅÉÉú¹ØÏµ¾ÍÊÇÔڽṹÌåÖаüº¬Ò»¸ökobjectµÄ±äÁ¿¡£
Õâ¸öÔÚ²ã´ÎÉÏ´¦Àí×î¶¥²ãµÄkobject½á¹¹ÌṩÁËËùÓÐÄ£ÐÍÐèÒªµÄ×î»ù±¾µÄ¹¦ÄÜ£º
1 ÒýÓüÆÊý ÓÃÓÚÄÚºËά»¤Æä´æÔÚÓëÏûÍö
2 sysfs±íʾ ÿ¸ösys/ϵĶÔÏó¶ÔÓ¦×ÅÒ»¸ökobject¡£
3 ÈȰβåʼþ´¦Àí¡£ ´¦ÀíÉ豸µÄÈȰβåʼþ¡£
Kobjects ÔÚÄÚºËÖжÔÓ¦ÓÐÒ»Ì×ÉêÇ룬³õʼ»¯£¬Ìí¼Ó£¬×¢²á£¬¼ÆÊý²Ù×÷£¬ÊͷŵȺ¯Êý
struct kobject {
const char * k_name; Ãû
char name[KOBJ_NAME_LEN];
struct kref kref; ¼ÆÊý
struct list_head entry; ÓÃÓÚÁ¬½Óµ½Í¬ÀàkobjectsµÄÁ´±í
struct kobject * parent; ÓÃÓÚʵÏÖ²ã´Î£¬Ö¸ÏòÆä¸¸¶ÔÏó¡£
struct kset * kset; ÓÃÓÚʵÏÖ²ã´Î£¬ËùÊôµÄ¼¯ºÏ
struct kobj_type * ktype; Ö¸Ïò¶ÔÏóµÄÀàÐÍ¡£
struct dentry * dentry; ָʾÔÚsysfs ÖеÄĿ¼Ïî
wait_queue_head_t poll;
}; (linux 2.6.18)
Kset ºÍkobj_type struct kset {
struct subsystem * subsys; ÔÚ×îÐÂÄÚºËÖÐÒѾûÓÐsubsys¸ÅÄîÁË¡£Í³Ò»ÓÃksets
struct kobj_type * ktype; ÀàÐÍ¡£
struct list_head list; ͬһksetµÄÁ´±í
spinlock_t list_lock;
struct kobject kobj; ×ÔÉí
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
Ò» ÈýÖÖÀàÐ͵ÄÌ×½Ó×Ö£º
1.Á÷ʽÌ×½Ó×Ö£¨SOCKET_STREAM)
Ìá¹©ÃæÏòÁ¬½ÓµÄ¿É¿¿µÄÊý¾Ý´«Êä·þÎñ¡£Êý¾Ý±»¿´×÷ÊÇ×Ö½ÚÁ÷£¬ÎÞ³¤¶ÈÏÞÖÆ¡£ÀýÈçFTPÐÒé¾Í²ÉÓÃÕâÖÖ¡£
2.Êý¾Ý±¨Ê½Ì×½Ó×Ö£¨SOCKET_DGRAM£©
ÌṩÎÞÁ¬½ÓµÄÊý¾Ý´«Êä·þÎñ£¬²»±£Ö¤¿É¿¿ÐÔ¡£
3.ÔʼʽÌ×½Ó×Ö£¨SOCKET_RAW£©
......
LinuxÏÂgetch()ºÍgetche()
I would recommend never mixing input techniques in a program. Don't mix fgets() or scanf() with getchar(). Don't mix any standerd C library input function with a non-standard function that bypasses the C stream mechanism, be that getch(), getche(), bioskey(), or anything el ......
ÔÚÏò´ó¼ÒÏêϸ½éÉÜLinux mysql֮ǰ£¬Ê×ÏÈÈôó¼ÒÁ˽âÏÂLinux mysql£¬È»ºóÈ«Ãæ½éÉÜLinux mysql£¬Ï£Íû¶Ô´ó¼ÒÓÐÓá£
1. Linux mysql°²×°£º
$ yum install mysql-server
2. Linux mysqlÐÞ¸ÄrootÃÜÂ룺
$ mysqladmin -u root password
your_new_passwd
3. Æô¶¯Linux mysql·þÎñ
$ /etc/init.d/mysqld start
4. Ìí¼ÓΪϵͳ· ......