Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[ת]linuxÉ豸ģÐÍ

Linux
2.6Äں˵ÄÒ»¸öÖØÒªÌØÉ«ÊÇÌṩÁËͳһµÄÄÚºËÉ豸ģÐÍ¡£Ëæ×ż¼ÊõµÄ²»¶Ï½ø²½£¬ÏµÍ³µÄÍØÆË½á¹¹Ô½À´Ô½¸´ÔÓ£¬¶ÔÖÇÄܵçÔ´¹ÜÀí¡¢ÈȲå°ÎÒÔ¼°plug and
playµÄÖ§³ÖÒªÇóÒ²Ô½À´Ô½¸ß£¬2.4ÄÚºËÒѾ­ÄÑÒÔÂú×ãÕâЩÐèÇó¡£ÎªÊÊÓ¦ÕâÖÖÐÎÊÆµÄÐèÒª£¬2.6Äں˿ª·¢ÁËȫеÄÉ豸ģÐÍ¡£
£±£® SysfsÎļþϵͳ
SysfsÎļþϵͳÊÇÒ»¸öÀàËÆÓÚprocÎļþϵͳµÄÌØÊâÎļþϵͳ£¬ÓÃÓÚ½«ÏµÍ³ÖеÄÉ豸×éÖ¯³É²ã´Î½á¹¹£¬²¢ÏòÓû§Ä£Ê½³ÌÐòÌṩÏêϸµÄÄÚºËÊý¾Ý½á¹¹ÐÅÏ¢¡£Æä¶¥²ãĿ¼Ö÷ÒªÓУº
BlockĿ¼£º°üº¬ËùÓеĿéÉ豸
DevicesĿ¼£º°üº¬ÏµÍ³ËùÓеÄÉ豸£¬²¢¸ù¾ÝÉ豸¹Ò½ÓµÄ×ÜÏßÀàÐÍ×éÖ¯³É²ã´Î½á¹¹
BusĿ¼£º°üº¬ÏµÍ³ÖÐËùÓеÄ×ÜÏßÀàÐÍ
DriversĿ¼£º°üÀ¨ÄÚºËÖÐËùÓÐÒÑ×¢²áµÄÉ豸Çý¶¯³ÌÐò
ClassĿ¼£ºÏµÍ³ÖеÄÉ豸ÀàÐÍ£¨ÈçÍø¿¨É豸£¬Éù¿¨É豸µÈ£©
£²£® Äں˶ÔÏó»úÖÆ¹Ø¼üÊý¾Ý½á¹¹
2.1 kobjectÄں˶ÔÏó
Kobject ÊÇLinux 2.6ÒýÈëµÄеÄÉ豸¹ÜÀí»úÖÆ£¬ÔÚÄÚºËÖÐÓÉstruct
kobject±íʾ¡£Í¨¹ýÕâ¸öÊý¾Ý½á¹¹Ê¹ËùÓÐÉ豸Ôڵײ㶼¾ßÓÐͳһµÄ½Ó¿Ú£¬kobjectÌṩ»ù±¾µÄ¶ÔÏó¹ÜÀí£¬Êǹ¹³ÉLinux
2.6É豸ģÐ͵ĺËÐĽṹ£¬ËüÓësysfsÎļþϵͳ½ôÃܹØÁª£¬Ã¿¸öÔÚÄÚºËÖÐ×¢²áµÄkobject¶ÔÏó¶¼¶ÔÓ¦ÓÚsysfsÎļþϵͳÖеÄÒ»¸öĿ¼¡£
Kobject½á¹¹¶¨ÒåΪ£º
struct
 kobject {
char
 
*
 k_name;    
//
 Ö¸ÏòÉ豸Ãû³ÆµÄÖ¸Õë
char
 name[KOBJ_NAME_LEN];   
//
 É豸Ãû³Æ
struct
 kref kref;    
//
 ¶ÔÏóÒýÓüÆÊý
struct
 list_head entry;   
//
 ¹Ò½Óµ½ËùÔÚksetÖÐÈ¥µÄµ¥Ôª
struct
 kobject 
*
 parent; 
//
 Ö¸Ïò¸¸¶ÔÏóµÄÖ¸Õë
struct
 kset 
*
 kset;    
//
 ËùÊôksetµÄÖ¸Õë
struct
 kobj_type 
*
 ktype;   
//
 Ö¸ÏòÆä¶ÔÏóÀàÐÍÃèÊö·ûµÄÖ¸Õë
struct
 dentry 
*
 dentry; 
//
 sysfsÎļþϵͳÖÐÓë¸Ã¶ÔÏó¶ÔÓ¦µÄÎļþ½Úµã·¾¶Ö¸Õë
};
ÆäÖеÄkrefÓò±íʾ¸Ã¶ÔÏóÒýÓõļÆÊý£¬ÄÚºËͨ¹ýkrefʵÏÖ¶ÔÏóÒýÓüÆÊý¹ÜÀí£¬ÄÚºËÌṩÁ½¸öº¯Êýkobject_get()¡¢kobject_put()·Ö±ðÓÃÓÚÔö¼ÓºÍ¼õÉÙÒýÓüÆÊý£¬µ±ÒýÓüÆÊýΪ0ʱ£¬ËùÓиöÔÏóʹÓõÄ×ÊÔ´½«±»ÊÍ·Å¡£
Ktype
ÓòÊÇÒ»¸öÖ¸Ïòkobj_type½á¹¹µÄÖ¸Õ룬±íʾ¸Ã¶ÔÏóµ


Ïà¹ØÎĵµ£º

linux±ÊÊÔÌâÄ¿


Ò»£®Ìî¿ÕÌâ
1. ÔÚLinuxϵͳÖУ¬ÒÔ     ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ     ÖжÁȡҪ¼ÓÔØµÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà     À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪ               ¡£
5. Á´½Ó ......

Linux¿Í»§¶ËʹÓÃSSHµÄÃüÁî¹ÜÀílinux·þÎñÆ÷






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
TD P { margin-bottom: 0cm }
A:link { so-language: zxx }
-->
µÇ½£ºssh [hostname] 
ÊäÈëÃÜÂ룺*****
µÇ
½ÒÔºó¾Í¿ÉÒÔÏñ¿ØÖÆ×Ô¼ºµÄ»úÆ÷Ò»Ñù¿ØÖÆËüÁË£¬²»¹ýûÓпÉÊÓ»¯µÄ½çÃæ¡£²»¹ýÏÖÔÚ
ÎÒËùʹÓùýµÄÁ½¸ö°æ±¾Linux( ......

Linux Shell ±Ê¼Ç¶þ(Ñ­»·½á¹¹)

³ÌÐò12£ºÀàËÆjava ÀïÃæµÄswitch case
[root@localhost scripts]# cat sh12.sh
read -p "input comand:" command
case $command in
"fix")
echo "fix system"
;;
"fuck")
echo "fuck you"
;;
*)
echo "what a stupid man!ex>$0 some word"
......

Linux C ʵÏÖÏ̳߳Ø

×î½ü×öµÄһЩ¹¤×÷ÐèÒªÓõ½Ï̳߳ؼ¼Êõ£¬Òò´Ë²Î¿¼ÁËһЩ×ÊÁϺÍÊé¼®£¬Èç¡¶0bug c/c++ÉÌÓù¤³ÌÖ®µÀ¡·¡£
Ϊ´ËÔÚlinuxƽ̨ÉÏÓô¿cдÁËÒ»¸öÏ̳߳صÄʵÏÖ¡£
ÔÚ´ËÁгöÁËÔ­´úÂë¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓÐ
1.struct  thread_pool_t    // thread pool µÄʵÏÖ´úÂë
2.struct thread_pool_token_t  &nb ......

Linux Ï CÓïÑÔ´óÎļþ¶Áд(´óÓÚ4G£©

ÒÔϵÄ×ö·¨ÕûÀí×ÔÂÛ̳ÉϵÄÌû×Ó¡£ 
ÈçºÎcreate´óÎļþ
Òª´ó¾Í·Ç³£´ó£¬1T°É¡£
ÓÐÁ½ÖÖ·½·¨£º
 
Ò».dd
dd if=/dev/zero of=1T.img bs=1G seek=1024 count=0
bs=1G±íʾÿһ´Î¶Áд1GÊý¾Ý£¬count=0±íʾ¶Áд0´Î£¬seek=1024±íʾÂÔ¹ý1024¸öBlock²»Ð´£¬Ç°Ãæblock sizeÊÇ1G£¬ËùÒÔ¹²ÂÔ¹ý1T£¡
ÕâÊÇ´´½¨´óÐÍsparseÎļþ×î¼ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ