LinuxÖеȴý¶ÓÁлúÖÆ·ÖÎö
ʲôÊǵȴý¶ÓÁУ¿
ÔÚÈí¼þ¿ª·¢ÖÐÈÎÎñ¾³£ÓÉÓÚijÖÖÌõ¼þûÓеõ½Âú×ã¶ø²»µÃ²»½øÈë˯Ãß״̬£¬È»ºóµÈ´ýÌõ¼þµÃ
µ½Âú×ãµÄʱºòÔÙ¼ÌÐøÔËÐУ¬½øÈëÔËÐÐ״̬¡£ÕâÖÖÐèÇóÐèÒªµÈ´ý¶ÓÁлúÖÆµÄÖ§³Ö¡£
Linux
ÖÐÌṩÁ˵ȴý¶ÓÁеĻúÖÆ£¬¸Ã»úÖÆÔÚ
ÄÚºËÖÐÓ¦Óúܹ㷺¡£
ÔÚ
Linux
ÄÚºËÖÐʹÓõȴý¶ÓÁеĹý³ÌºÜ¼òµ¥£¬
Ê×Ïȶ¨ÒåÒ»¸ö
wait_queue_head
£¬È»ºóÈç¹ûÒ»¸ö
task
ÏëµÈ´ýijÖÖʼþ£¬ÄÇôµ÷ÓÃ
wait_event
£¨µÈ´ý¶ÓÁУ¬Ê¼þ£©¾Í¿ÉÒÔÁË¡£
Linux
Öеȴý¶ÓÁеÄʵÏÖ
µÈ´ý¶ÓÁÐÓ¦Óù㷺£¬µ«ÊÇÄÚºËʵÏÖÈ´Ê®·Ö¼òµ¥¡£ÆäÉæ¼°µ½Á½¸ö±È½ÏÖØÒªµÄÊý¾Ý½á¹¹£º
1)
__wait_queue_head
£¬¸Ã½á¹¹
ÃèÊöÁ˵ȴý¶ÓÁеÄÁ´Í·£¬Æä°üº¬Ò»¸öÁ´±íºÍÒ»¸öÔ×ÓËø£¬½á¹¹¶¨ÒåÈçÏ£º
struct __wait_queue_head {
spinlock_t lock;
struct list_head task_list;
};
2)
__wait_queue
£¬¸Ã½á¹¹ÊǶÔÒ»¸öµÈ
´ýÈÎÎñµÄ³éÏó¡£Ã¿¸öµÈ´ýÈÎÎñ¶¼»á³éÏó³ÉÒ»¸ö
wait_queue
£¬²¢ÇÒ¹ÒÔØµ½
wait_queue_head
ÉÏ¡£¸Ã½á¹¹¶¨
ÒåÈçÏ£º
struct __wait_queue {
unsigned int flags;
void *private;
wait_queue_func_t func;
struct list_head task_list;
};
Ïà¹ØÎĵµ£º
1) È·±£¼ÆËã»úµÄ123¶Ë¿ÚûÓб»·À»ðǽ×èµ²£»
2) ÓÃrootµÇ¼£»
3) ÐÞ¸Ä/etc/crontabÎļþ£¬¼ÓÈëÒÔÏÂÒ»ÐÐÃüÁ
0 23 * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
ÒÔÉÏÃüÁîÉèÖúúó´æÅÌ¡£ÄúµÄ»úÆ÷½«ÔÚÿÌìµÄ23:00¸ù¾Ý¹ú¼ÒÊÚʱÖÐÐĵÄNTP·þÎñÆ÷ʱ¼ä×Ô¶¯Ð£×¼Ê±¼ä¡£Èç¹ûÄúµÄ»úÆ÷²»ÄÜÁª½á»¥ÁªÍø£¬Ç ......
Èç¹ûÄãºÜÏëÖªµÀÕû¸ö²Ù×÷ϵͳÄÚµÄÿ¸öĿ¼ÄÚ¶¼ÓÐЩʲô£¬Ö´ÐÐÃüÁ
cd / && tree >> ~/filesystem.tree
Õ⽫ÊÇÒ»¸ö¶à´ï8MµÄÎļþ£¬ÀïÃæ»áÃèÊöÕû¸öÎļþϵͳµÄĿ¼¼°ÆäÎļþ½á¹¹£¬ÏÖÔÚ¾ÍÕûÌå¶øÑÔÀ´¸ÅÊöһϣº
Ò»¼¶»ù±¾Ä¿Â¼½á¹¹£º
/
Îļþϵͳ¸ùĿ¼£¬Î»ÓÚÕû¸öÎļþϵͳµÄ×î¶¥¼¶
/boot
´æ·Å×ÅÆ ......
¼ÌÐø¡£¡£¡£
ÓôÃÆµÄÊÂÇé¼ÌÐø³öÏÖ£¬³öÏÖÉÏÃæµÄ´í£¬»¹²»ÖªµÀËùÒÔÈ»ÄØ£¬½øÈëÒ»¸öbusyboxµÄÖն˵ȴýÊäÈë״̬£¬¸Ï½ôgoogle£¬¿ÉÄÜÓоȡ£
Ï´β»¸ÒÂÒɾÄÚºË×é¼þÁË£¬·¢ÏÖ¶Ô×Ô¼ºÒªµÄÐèÇó²»Ã÷È·£¬½á¹û²úÉú»ìÂҵľÖÃæÁË¡£
¼ÌÐøÂÒŪ£¬helpÏ£¬³öÏÖÁËÐí¶à¿ÉÒÔ±»½âÎöµÄÃüÁ²»ÊÇÉÙĿ¼Âð£¬ÎÒmksirÏ£¬½á¹û²»ÐУ¬ºÃÏñÕâ¸ö״̬ÊÇÒ»¸ö/bin ......
ת×Ô:http://www.xxlinux.com/linux/article/development/kernel/20090112/14828.html
sysfs ÊÇ Linux ÄÚºË
ÖÐÉè¼Æ½ÏеÄÒ»ÖÖÐéÄâµÄ»ùÓÚÄÚ´æµÄÎļþϵͳ£¬ËüµÄ×÷ÓÃÓë proc ÓÐЩÀàËÆ£¬µ«³ýÁËÓë proc ÏàͬµÄ¾ßÓв鿴ºÍÉ趨ÄÚºË
²ÎÊý¹¦ÄÜÖ®Í⣬»¹ÓÐΪ Linux ͳһÉ豸ģÐÍ×÷Ϊ¹ÜÀíÖ®Óá£Ïà±ÈÓÚ proc Îļþϵͳ£¬Ê¹Óà sysfs µ¼³ ......