LINUX ϶àÏ̱߳à³Ì
LinuxϵĶàÏ̱߳à³Ì
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
¡¡¡¡ÎªÊ²Ã´ÓÐÁ˽ø³ÌµÄ¸ÅÄîºó£¬»¹ÒªÔÙÒýÈëÏß³ÌÄØ£¿Ê¹ÓöàÏ̵߳½µ×ÓÐÄÄЩºÃ´¦£¿Ê²Ã´µÄϵͳӦ¸ÃÑ¡ÓöàỊ̈߳¿ÎÒÃÇÊ×ÏȱØÐë»Ø´ðÕâЩÎÊÌâ¡£
¡¡¡¡Ê¹ÓöàÏ̵߳ÄÀíÓÉÖ®Ò»ÊǺͽø³ÌÏà±È£¬ËüÊÇÒ»Öַdz£"½Ú¼ó"µÄ¶àÈÎÎñ²Ù×÷·½Ê½¡£ÎÒÃÇÖªµÀ£¬ÔÚLinuxϵͳÏ£¬Æô¶¯Ò»¸öеĽø³Ì±ØÐë·ÖÅ䏸Ëü¶ÀÁ¢µÄµØÖ·¿Õ¼ä£¬½¨Á¢ÖÚ¶àµÄÊý¾Ý±íÀ´Î¬»¤ËüµÄ´úÂë¶Î¡¢¶ÑÕ»¶ÎºÍÊý¾Ý¶Î£¬ÕâÊÇÒ»ÖÖ"°º¹ó"µÄ¶àÈÎÎñ¹¤×÷·½Ê½¡£¶øÔËÐÐÓÚÒ»¸ö½ø³ÌÖеĶà¸öỊ̈߳¬ËüÃDZ˴ËÖ®¼äʹÓÃÏàͬµÄµØÖ·¿Õ¼ä£¬¹²Ïí´ó²¿·ÖÊý¾Ý£¬Æô¶¯Ò»¸öÏß³ÌËù»¨·ÑµÄ¿Õ¼äԶԶСÓÚÆô¶¯Ò»¸ö½ø³ÌËù»¨·ÑµÄ¿Õ¼ä£¬¶øÇÒ£¬Ï̼߳ä±Ë´ËÇл»ËùÐèµÄʱ¼äҲԶԶСÓÚ½ø³Ì¼äÇл»ËùÐèÒªµÄʱ¼ä¡£¾Ýͳ¼Æ£¬×ܵÄ˵À´£¬Ò»¸ö½ø³ÌµÄ¿ªÏú´óÔ¼ÊÇÒ»¸öÏ߳̿ªÏúµÄ30±¶×óÓÒ£¬µ±È»£¬ÔÚ¾ßÌåµÄϵͳÉÏ£¬Õâ¸öÊý¾Ý¿ÉÄÜ»áÓнϴóµÄÇø±ð¡£
¡¡¡¡Ê¹ÓöàÏ̵߳ÄÀíÓÉÖ®¶þÊÇÏ̼߳䷽±ãµÄͨÐÅ»úÖÆ¡£¶Ô²»Í¬½ø³ÌÀ´Ëµ£¬ËüÃǾßÓжÀÁ¢µÄÊý¾Ý¿Õ¼ä£¬Òª½øÐÐÊý¾ÝµÄ´«µÝÖ»ÄÜͨ¹ýͨÐŵķ½Ê½½øÐУ¬ÕâÖÖ·½Ê½²»½ö·Ñʱ£¬¶øÇҺܲ»·½±ã¡£Ïß³ÌÔò²»È»£¬ÓÉÓÚͬһ½ø³ÌϵÄÏß³ÌÖ®¼ä¹²ÏíÊý¾Ý¿Õ¼ä£¬ËùÒÔÒ»¸öÏ̵߳ÄÊý¾Ý¿ÉÒÔÖ±½ÓΪÆäËüÏß³ÌËùÓã¬Õâ²»½ö¿ì½Ý£¬¶øÇÒ·½±ã¡£µ±È»£¬Êý¾ÝµÄ¹²ÏíÒ²´øÀ´ÆäËûһЩÎÊÌ⣬ÓеıäÁ¿²»ÄÜͬʱ±»Á½¸öÏß³ÌËùÐ޸ģ¬ÓеÄ×Ó³ÌÐòÖÐÉùÃ÷ΪstaticµÄÊý¾Ý¸üÓпÉÄܸø¶àÏ̳߳ÌÐò´øÀ´ÔÖÄÑÐԵĴò»÷£¬ÕâЩÕýÊDZàд¶àÏ̳߳ÌÐòʱ×îÐèҪעÒâµÄµØ·½¡£
¡¡¡¡³ýÁËÒÔÉÏËù˵µÄÓŵãÍ⣬²»ºÍ½ø³Ì±È½Ï£¬¶àÏ̳߳ÌÐò×÷ΪһÖÖ¶àÈÎÎñ¡¢²¢·¢µÄ¹¤×÷·½Ê½£¬µ±È»ÓÐÒÔϵÄÓŵ㣺
¡¡¡¡1) Ìá¸ßÓ¦ÓóÌÐòÏìÓ¦¡£Õâ¶ÔͼÐνçÃæµÄ³ÌÐòÓÈÆäÓÐÒâÒ壬µ±Ò»¸ö²Ù×÷ºÄʱºÜ³¤Ê±£¬Õû¸öϵͳ¶¼»áµÈ´ýÕâ¸ö²Ù×÷£¬´Ëʱ³ÌÐò²»»áÏìÓ¦¼üÅÌ¡¢Êó±ê¡¢²Ëµ¥µÄ²Ù×÷£¬¶øÊ¹ÓöàÏ̼߳¼Êõ£¬½«ºÄʱ³¤µÄ²Ù×÷£¨time consuming£©ÖÃÓÚÒ»¸öеÄỊ̈߳¬¿ÉÒÔ±ÜÃâÕâÖÖÞÏÞεÄÇé¿ö¡£
¡¡¡¡2) ʹ¶àCPUϵͳ¸ü¼ÓÓÐЧ¡£²Ù×÷ϵͳ»á±£Ö¤µ±Ïß³ÌÊý²»´óÓÚCPUÊýĿʱ£¬²»Í¬µÄÏß³ÌÔËÐÐÓÚ²»Í¬µÄCPUÉÏ¡£
¡¡¡¡3) ¸ÄÉÆ³ÌÐò½á¹¹¡£Ò»¸ö¼È³¤ÓÖ¸´ÔӵĽø³Ì¿ÉÒÔ¿¼ÂÇ·ÖΪ¶à¸öỊ̈߳¬³ÉΪ¼¸¸ö¶ÀÁ¢»ò°ë¶ÀÁ¢µÄÔËÐв¿·Ö£¬ÕâÑùµÄ³ÌÐò»áÀûÓÚÀí½âºÍÐÞ¸
Ïà¹ØÎĵµ£º
¶ÔÓÚ²»Í¬µÄLinuxÄں˰汾£¬´ËÁбí¿ÉÄܲ»Í¬£¬»ùÓÚºóÏò¼æÈÝÐÔ£¬Ëæ×ÅLinuxÄں˰汾ºÅµÄÔö¼Ó£¬´ËÁбí¿ÉÄÜ»á±ä³¤¡£´ËÁбíΪ2.6.24-16Äں˰汾ÓÚ/usr/include/asm/unistd_32.hÖÐÁгöµÄ324¸öϵͳµ÷Óúš£
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define ......
Linux µÄ×Ö·û´®½ØÈ¡ºÜÓÐÓá£ÓаËÖÖ·½·¨¡£
¼ÙÉèÓбäÁ¿ var=http://www.hao.com/123.htm
.
.
Ò» # ºÅ½ØÈ¡£¬É¾³ý×ó±ß×Ö·û£¬±£ÁôÓÒ±ß×Ö·û¡£
echo ${var#*//}
ÆäÖÐ var ÊDZäÁ¿Ãû£¬# ºÅÊÇÔËËã·û£¬*// ±íʾ´Ó×ó±ß¿ªÊ¼É¾³ýµÚÒ»¸ö // ºÅ¼°×ó±ßµÄËùÓÐ×Ö·û
¼´É¾³ý http://
½á¹ûÊÇ £ºwww.hao.com/123.htm
.
.
¶ ......
´´½¨Ð½ø³Ì£ºforkº¯Êý
1.1.1. forkº¯Êý¸Éʲô£¿
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
‘fork()’º¯ÊýÓÃÓÚ´ÓÒÑ´æÔÚ½ø³ÌÖд´½¨Ò»¸öнø³Ì¡£Ð½ø³Ì³ÆÎª×Ó½ ......
Ò»¡¢ÉèÖÃGNOME»òÕßKDEΪĬÈÏµÄÆô¶¯×ÀÃæ»·¾³
¡¡¡¡·½·¨1£ºÐÞ¸Ä/etc/sysconfig/desktop£¬¸ù¾ÝÐèÒª½«“DESKTOP”ºóÃæµÄÄÚÈݸÄΪKDE»òGNOME¡£
¡¡¡¡·½·¨2£ºÔÚµ±Ç°Óû§Ä¿Â¼Ï½¨Á¢“.xinitrc”Õâ¸öÎļþ(×¢ÒâÎļþÃûǰÓÐÒ»¸öµãºÅ£¬´ú±í½¨Á¢µÄÊÇÒ»¸öÒþ²ØÎļþ)£¬ÎļþµÄÄÚÈݾÍÒ»ÐÐstartkde»ògnome-session£¬¸ù¾Ý ......
Ò»¡¢É豸Îļþ
¡¡¡¡LinuxϵÄ/dev Ŀ¼ÖÐÓдóÁ¿µÄÉ豸Îļþ¡£Ö÷ÒªÊÇ¿éÉ豸ÎļþºÍ×Ö·ûÉ豸Îļþ¡£¡¡¡¡¿éÉ豸Îļþ¡¡¡¡ÔÚ¹ýÈ¥£¬ÔÚÌí¼ÓдÅÅ̺ó£¬ÍùÍùÐèÒªÊÖ¶¯Ôö¼Ó¿éÉ豸Îļþ¡£ÏÖÔÚͨ³£ÎÒÃDz»ÐèÒªÊÖ¶¯Ôö¼Ó¿éÉ豸Îļþ£¬ÔËÐÐÒ»ÏÂservice kudzu start £¬ÏµÍ³¾Í»á×Ô¶¯ÎªÄúÅäÖÃÏàÓ¦µÄÉ豸¡£¿éÉ豸µÄÖ÷ÒªÌØµãÊÇ¿ÉÒÔËæ»ú¶Áд£¬¶ø×î³£¼ûµ ......