LinuxÍøÂçÇý¶¯³ÌÐò±àд(¶þ)
¶þ.LinuxÏµÍ³ÍøÂçÉ豸Çý¶¯³ÌÐò
¡¡¡¡2.1 ÍøÂçÇý¶¯³ÌÐòµÄ½á¹¹
¡¡¡¡ËùÓеÄLinuxÍøÂçÇý¶¯³ÌÐò×ñÑͨÓõĽӿڡ£Éè¼ÆÊ±²ÉÓõÄÊÇÃæÏò¶ÔÏóµÄ·½·¨¡£Ò»¸öÉ豸¾ÍÊÇÒ»¸ö¶ÔÏó(device ½á¹¹)£¬ËüÄÚ²¿ÓÐ×Ô¼ºµÄÊý¾ÝºÍ·½·¨¡£Ã¿Ò»¸öÉ豸µÄ·½·¨±»µ÷ÓÃʱµÄµÚÒ»¸ö²ÎÊý¶¼ÊÇÕâ¸öÉ豸¶ÔÏó±¾Éí¡£ÕâÑùÕâ¸ö·½·¨¾Í¿ÉÒÔ´æÈ¡×ÔÉíµÄÊý¾Ý(ÀàËÆÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÊ±µÄthisÒýÓÃ)¡£Ò»¸öÍøÂçÉ豸×î»ù±¾µÄ·½·¨Óгõʼ»¯¡¢·¢ËͺͽÓÊÕ¡£
¡¡¡¡ -------------------¡¡¡¡¡¡¡¡¡¡¡¡---------------------
¡¡¡¡|deliver packets¡¡¡¡|¡¡¡¡¡¡¡¡¡¡|receive packets queue|
¡¡¡¡|(dev_queue_xmit()) |¡¡¡¡¡¡¡¡¡¡|them(netif_rx())¡¡¡¡ |
¡¡¡¡ -------------------¡¡¡¡¡¡¡¡¡¡¡¡---------------------
¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡ |¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡|
¡¡¡¡-------------------------------------------------------
¡¡ | methods and variables(initialize,open,close,hard_xmit,|
¡¡ | interrupt handler,config,resources,status...)¡¡¡¡¡¡¡¡ |
¡¡¡¡-------------------------------------------------------
¡¡¡¡¡¡¡¡ |¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡|
¡¡¡¡¡¡-----------------¡¡¡¡¡¡¡¡¡¡¡¡¡¡----------------------
¡¡¡¡ |send to hardware |¡¡¡¡¡¡¡¡¡¡¡¡|receivce from hardware|
¡¡¡¡¡¡-----------------¡¡¡¡¡¡¡¡¡¡¡¡¡¡----------------------
¡¡¡¡¡¡¡¡ |¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡|
¡¡¡¡ -----------------------------------------------------
¡¡¡¡|¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hardware media¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ |
¡¡¡¡ -----------------------------------------------------
³õʼ»¯³ÌÐòÍê³ÉÓ²¼þµÄ³õʼ»¯¡¢deviceÖбäÁ¿µÄ³õʼ»¯ºÍϵͳ×ÊÔ´µÄÉêÇë¡¢·¢ËͳÌÐòÊÇÔÚÇý¶¯³ÌÐòµÄÉϲãÐÒé²ãÓÐÊý¾ÝÒª·¢ËÍʱ×Ô¶¯µ÷Óõġ£Ò»°ãÇý¶¯³ÌÐòÖв»¶Ô·¢ËÍÊý¾Ý½øÐлº´æ£¬¶øÊÇÖ±½ÓʹÓÃÓ²¼þµÄ·¢Ë͹¦ÄܰÑÊý¾Ý·¢ËͳöÈ¥¡£½ÓÊÕÊý¾ÝÒ»°ãÊÇͨ¹ýÓ²¼þÖжÏÀ´Í¨ÖªµÄ¡£ÔÚÖжϴ¦Àí³ÌÐòÀ°ÑÓ²¼þÖ¡ÐÅÏ¢ÌîÈëÒ»¸öskbuff½á
Ïà¹ØÎĵµ£º
Linux® ¿É¼ÓÔØÄÚºËÄ£¿é£¨´ÓÄÚºËµÄ 1.2 °æ±¾¿ªÊ¼ÒýÈ룩ÊÇ Linux Äں˵Ä×îÖØÒª´´ÐÂÖ®Ò»¡£ËüÃÇÌṩÁË¿ÉÉìËõµÄ¡¢¶¯Ì¬µÄÄںˡ£Ì½Ë÷Òþ²ØÔڿɼÓÔØÄ£¿éºóÃæµÄÔÀí£¬²¢Ñ§Ï°ÕâЩ¶ÀÁ¢µÄ¶ÔÏóÈçºÎ¶¯Ì¬µØ×ª»»³É Linux Äں˵ÄÒ»²¿·Ö¡£
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©
£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆÎªÄÚº ......
ubuntu ϱàÒë linux fetion Ó¦ÓóÌÐòdemo
×¢£ºÕâÀï¸ø³ö½çÃæÄ£¿éµÄÔ´´úÂ룬¶ølibfetion¿â(32λ)ÔòÊÇÒÔ¾²Ì¬¿âµÄÐÎʽ·Å½øÈ¥ÁË¡£
1£º½¨Á¢±àÒë»·¾³£º
ÔÚÖÕ¶ËÖ´ÐÐÒÔÏÂÃüÁ
sudo apt-get install automake
sudo apt-get install libc-dev
sudo apt-get install g++
sudo apt-get install libcurl4-openssl-dev
sudo ......
Windows³ÌÐòÔ±ÈçºÎתÏòLinux¿ª·¢Ó¦Óã¿
ÕâÊÇÒ»·â·¢µ½ÓÊÏäÀïÃæµÄÓʼþ£¬¸Ð¾õÓеã´ú±íÐÔ£¬ÕâÀï×ö¸öͳһ»Ø´ð£¬Ò»¼ÒÖ®ÑÔ¹þ£¬»¶ÓÅÄש¡£
ÔÎÄÈçÏ£º
ÎÒ´Ócsdnѧϰ´ó±¾ÓªµÃµ½ÄúµÄÐÅÏ¢¡£²»ºÃÒâ˼´ò½ÁÄú¡£
ÎÒÏÖÔÚÓÃc++ÔÚlinuxÏ¿ª·¢´óÐÍÓ¦ÓóÌÐò¡£ÎÒÏëÇë½ÌÊÇ·ñÖµµÃÉîÈëѧϰlinux kernel¡£
ÎÒûÓÐÌØ±ð¶àµÄʱ¼ä¡£ÁíÍâÎÒÓжàÄêWind ......
ÈçºÎÓÃÓï¾äɱËÀËùÓÐoracle´ø(LOCAL=NO)µÄ½ø³Ì£¿
·½·¨Ò»£º(½øÈëoracleÓû§ÏÂ)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |awk '{print $2}'`
»òÕß (È¥³ýµ±Ç°grep½ø³Ì)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |grep -v grep|awk '{print $2}'`
$ echo $a
$ kill -9 $a
·½·¨¶þ£º£¨Ö±½Óɱ£©
$ p ......
½ø³Ìµ÷¶ÈÕþ²ß¾ÍÊǵ÷¶ÈϵͳÖÖÄÄÒ»¸ö½ø³ÌÀ´CPUÔËÐС£ÕâÖÖµ÷¶È·Ö2²ã¿¼ÂÇ¡£
µÚÒ»²ã£¬½ø³Ì״̬Õâ¸öÊÇ×îÓÅÏÈ¿¼Âǵģ¬Ò²¾ÍÊÇ˵ÓÅÏȼ¶×î¸ßµÄ¡£ÔÚlinuxÖÐÖ»ÓоÍÐ÷̬µÄ½ø³Ì²ÅÓпÉÄܻᱻµ÷¶ÈÑ¡ÖÐÈ»ºóÕ¼ÓÐCPU£¬ÆäËü״̬µÄ½ø³Ì²»¿ÉÄÜÕ¼Óеĵ½CPU¡£ÏÂÃæÊÇlinuxÖнø³ÌµÄ״̬
TASK_RUNNING:¾ÍÐ÷״̬£¬µÃµ½CPU¾Í¿ÉÒÔÔËÐС£
TASK_INTERRU ......