LinuxÄÇЩʶùÖ®ÎÒÊÇSysfs(6)Îļþϵͳ
½ÓÏÂÀ´£¬ÎÒÃǽøÈësysfs²¿·Ö¡£¿´¿´
kobject_add()->create_dir()->sysfs_create_dir()
bus create file->sysfs create file()
. . .
ÕâЩsysfsº¯ÊýµÄÄÚÄ»¡£
˵°×ÁË£¬sysfs¾ÍÊÇÀûÓÃVFSµÄ½Ó¿ÚÈ¥¶ÁдkobjectµÄ²ã´Î½á¹¹£¬½¨Á¢ÆðÀ´µÄÎļþϵͳ¡£¹ØÓÚsysfsµÄÄÚÈݾÍÔÚfs/sysfs/Ï¡£ kobjectµÄ²ã´Î½á¹¹µÄ¸üÐÂÓëɾ³ý¾ÍÊÇÄÇЩÂÒÆß°ËÔãµÄXX_register()ÃǸɵÄÊÂÇé¡£
ÔÚkobject_add()ÀïÃæ£¬µ÷ÓÃÁËsysfs_create_dir()¡£ÈÃÎÒÃÇ¿´¿´Ëü¾¿¾¹ÊÇÈçºÎcreateµÄ¡£
135 int sysfs_create_dir(struct kobject * kobj)
136 {
137 struct dentry * dentry = NULL;
138 struct dentry * parent;
139 int error = 0;
140
141 BUG_ON(!kobj);
142
143 if (kobj->parent)
144 parent = kobj->parent->dentry;
145 else if (sysfs_mount && sysfs_mount->mnt_sb)
146 parent = sysfs_mount->mnt_sb->s_root;
147 else
148 return -EFAULT;
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
ÓÉÓÚ Linux Á¼ºÃµÄÓû§È¨ÏÞ¹ÜÀíÌåϵ£¬²¡¶¾ÍùÍùÊÇ Linux ϵͳ¹ÜÀíÔ±×îºó²ÅÐèÒª¿¼ÂǵÄÎÊÌâ¡£ÒÔÍù£¬Linux ÉϵÄɱ¶¾Èí¼þÖ÷ÒªÊÇΪÆóÒµµÄÓʼþºÍÎļþ·þÎñÆ÷ËùÉè¼ÆµÄ¡£Èç½ñ£¬Ëæ×Å Linux ×ÀÃæÓû§ÊýÁ¿µÄÔö³¤£¬×ÀÃæÓû§ÔÚÊÜÒæÓÚ Linux ϵͳ¶Ô²¡¶¾½ÏÇ¿µÄÌìÈ»ÃâÒßÁ¦µÄͬʱ£¬Ò²ÐèҪɱ¶¾Èí¼þÇåÀí´ÓÍøÂç»òUÅÌ´øÀ´µÄWIndows²¡¶¾¡£¾¡¹ÜÄÇЩ ......
LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......
linux ¿ª»úÆô¶¯½Å±¾Ë³Ðò¡£
µÚÒ»²½£ºÆô¶¯ÄÚºË
µÚ¶þ²½£ºÖ´ÐÐinit £¨ÅäÖÃÎļþ/etc/inittab£©
µÚÈý²½£ºÆô¶¯ÏàÓ¦µÄ½Å±¾£¬²¢ÇÒ´ò¿ªÖÕ¶Ë/etc/init.d
rc.sysinit rc.d(ÀïÃæµÄ½Å±¾£© rc.local
µÚËIJ½£ºÆô¶¯loginµÇ¼½çÃæ login
µÚÎå²½:ÔÚÓû§µÇ¼µÄʱºòÖ´ÐÐsh½Å±¾µÄ˳Ðò£ºÃ¿´ÎµÇ¼µÄʱºò¶ ......