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;
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
ÔÚѧϰÓ빤×÷Öж¼Àë²»¿ªLinux£¬ÄÇô¸É´à¾ÍÖ»×°Ò»¸öLinuxËãÁË£¬²»¹ý»¹ÊÇ»áÓÐÓõ½WindowsµÄÇé¿ö£¬±ÈÈç˵дÂÛÎİ¡£¬Ä³Ð©×¨ÒµÈí¼þ°¡Ê²Ã´µÄ¡£²»ÒªËµLinuxÏÂʲô¶¼ÓУ¬ºÇºÇ£¬·´ÕýÎÒÊDz»¸ÒÓÃLinuxϵÄofficeµÄ£¬´òÓ¡Éç¶¼ÓÃMS word¡£¶øwordÎĵµµ½ÁËopenofficeÖ®Á÷µÄÏÂÃæ¾ÍÊÇ»á³öÏÖÇ§Ææ°Ù¹ÖµÄÏÖÏó¡£
......
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó
½ø³Ì
execve
ÔËÐпÉÖ´ÐÐÎļþ
exit
ÖÐ
Ö¹½ø³Ì
_exit
Á¢¼´ÖÐÖ¹µ±Ç°½ø³Ì
getdtablesize
½ø
³ÌËùÄÜ´ò¿ªµÄ×î´óÎļþÊý
getpgid
»ñȡָ¶¨½ø³Ì×é±êʶºÅ
setpgid
Éè
ÖÃÖ¸¶¨½ø³Ì×é±êÖ¾ºÅ
getpgrp
»ñÈ¡µ±Ç°½ø³Ì×é±êʶºÅ
setpgrp
Éè
Öõ±Ç°½ø³Ì×é± ......