LinuxµÄÖжϴ¦ÀíµÄһЩ˵Ã÷
1¡¢ÖжÏÊÇÒ»ÖÖµçÐźţ¬ÓÉÓ²¼þÉ豸Éú³É£¬²¢Ö±½ÓËÍÈëÖжϿØÖÆÆ÷µÄÊäÈëÒý½ÅÉÏ¡£È»ºóÔÙÓÉÖжϿØÖÆÆ÷Ïò´¦ÀíÆ÷·¢ËÍÏàÓ¦µÄÐźš£´¦ÀíÆ÷Ò»¾¼ì²âµ½´ËÐźţ¬±ãÖжÏ×Ô¼ºµÄµ±Ç°¹¤×÷ת¶ø´¦ÀíÖжϡ£´Ëºó£¬´¦ÀíÆ÷»á֪ͨ²Ù×÷ϵͳÒѾ²úÉúÖжϣ¬ÕâÑù£¬²Ù×÷ϵͳ¾Í¿ÉÒÔ¶ÔÕâ¸öÖжϽøÐÐÊʵ±µÄ´¦ÀíÁË¡£
2¡¢²»Í¬µÄÉ豸¶ÔÓ¦µÄÖжϲ»Í¬£¬¶øÃ¿¸öÖж϶¼Í¨¹ýÒ»¸öΨһµÄÊý×Ö±êʶ¡£ÖжÏֵͨ³£±»³ÆÎªÖжÏÇëÇó(IRQ)Ïß¡£ÓÐЩÖжÏÖµÊÇÖ¸¶¨µÄ£¬ÓÐЩÊǶ¯Ì¬·ÖÅäµÄ¡£Ìض¨µÄÖжÏ×ÜÓëÌØ¶¨µÄÉ豸Ïà¹ØÁª¡£
3¡¢Òì³£ÓëÖжϲ»Í¬£¬ËüÔÚ²úÉúʱ±ØÐ뿼ÂÇÓë´¦ÀíÆ÷ʱÖÓͬ²½¡£Òì³£Ò²³£³£³ÆÎªÍ¬²½Öжϡ£Ðí¶à´¦ÀíÆ÷Ìåϵ½á¹¹´¦ÀíÒì³£ÓëÖжϵķ½Ê½ÀàËÆ£¬Òò´ËÄں˶ÔËüÃǵĴ¦ÀíÒ²ºÜÀàËÆ¡£
4¡¢ÔÚÏìÓ¦Ò»¸öÌØ¶¨ÖжϵÄʱºò£¬Äں˻áÖ´ÐÐÒ»¸öº¯Êý£¬¸Ãº¯Êý½Ð×öÖжϴ¦Àí³ÌÐò»òÖжϷþÎñÀý³Ì¡£²úÉúÖжϵÄÿ¸öÉ豸¶¼ÓÐÒ»¸öÏàÓ¦µÄÖжϴ¦Àí³ÌÐò£¬Èç¹ûÒ»¸öÉ豸¿ÉÒÔ²úÉú¶àÖÖ²»Í¬µÄÖжϣ¬ÄÇô¸ÃÉ豸¾Í¿ÉÒÔ¶ÔÓ¦¶à¸öÖжϴ¦Àí³ÌÐò¡£Ò»¸öÉ豸µÄÖжϴ¦Àí³ÌÐòÊÇËüÉ豸Çý¶¯³ÌÐòµÄÒ»²¿·Ö¡£
5¡¢Öжϴ¦Àí³ÌÐòÓëÆäËûÄں˺¯ÊýµÄÕæÕýÇø±ðÔÚÓÚ£ºÖжϴ¦Àí³ÌÐòÊDZ»Äں˵÷ÓÃÀ´ÏìÓ¦Öжϵ쬶øËüÃÇÔËÐÐÓÚÎÒÃdzÆÖ®ÎªÖжÏÉÏÏÂÎĵÄÌØÊâÉÏÏÂÎÄÖС£
6¡¢Öжϴ¦ÀíÒ»°ã·ÖΪÁ½¸ö²¿·Ö£¬Öжϴ¦Àí³ÌÐòÊÇÉϰ벿£º½ÓÊÕµ½Ò»¸öÖжϾÍÁ¢¼´Ö´ÐУ¬µ«Ö»×öÓÐÑϸñʱÏ޵Ť×÷£¬ÕâЩ¹¤×÷¶¼ÊÇÔÚËùÓÐÖжϱ»½ûÖ¹µÄÇé¿öÏÂÍê³ÉµÄ¡£Äܹ»±»ÔÊÐíÉÔºóÍê³ÉµÄ¹¤×÷±»ÍƳٵ½Ï°벿ȥ¡£Í¨³£Çé¿öÏ£¬Ï°벿»áÔÚÖжϴ¦Àí³ÌÐò·µ»ØÊ±Á¢¼´Ö´ÐС£
7¡¢LinuxÖеÄÖжϴ¦Àí³ÌÐòÊÇÎÞÐèÖØÈëµÄ¡£µ±Ò»¸ö¸ø¶¨µÄÖжϴ¦Àí³ÌÐòÕýÔÚÖ´ÐÐʱ£¬ÏàÓ¦µÄÖжÏÏßÔÚËùÓд¦ÀíÆ÷É϶¼»á±»ÆÁ±Îµô£¬ÒÔ·ÀÖ¹ÔÚͬһÖжÏÏßÉϽÓÊÕÁíÒ»¸öеÄÖжϡ£Í¨³£Çé¿öÏ£¬ËùÓÐÆäËûµÄÖж϶¼ÊÇ´ò¿ªµÄ£¬ËùÒÔÕâЩ²»Í¬ÖжÏÏßÉÏµÄÆäËüÖж϶¼Äܱ»´¦Àí£¬µ«µ±Ç°ÖжÏÏß×ÜÊDZ»½ûÖ¹µÄ¡£ÓÉ´Ë¿ÉÒÔ¿´³ö£¬Í¬Ò»¸öÖжϴ¦Àí³ÌÐò¾ø¶Ô²»»á±»Í¬Ê±µ÷ÓÃÒÔ´¦ÀíǶÌ×Öжϡ£
8¡¢¹²ÏíµÄÖжϴ¦Àí³ÌÐòÓë·Ç¹²ÏíµÄÔÚ×¢²áºÍÔËÐз½Ê½ÉϱȽÏÀàËÆ£¬µ«²îÒìÖ÷ÒªÓÐÒÔÏÂÈý´¦£º
A£¬×¢²áÖжϴ¦Àí³ÌÐòº¯Êýrequest_irq()µÄ²ÎÊýflags±ØÐëÉèÖÃSA_SHIRQ±êÖ¾¡£
B£¬¶Ôÿ¸ö×¢²áµÄÖжϴ¦Àí³ÌÐòÀ´Ëµ£¬dev_id²ÎÊý±ØÐëΨһ¡£²»Äܸø¹²ÏíµÄ´¦Àí³ÌÐò´«µÝNULLÖµ¡£
C£¬Öжϴ¦Àí³ÌÐò±ØÐëÄܹ»Çø·ÖËüµÄÉ豸ÊÇ·ñÕæµÄ²úÉúÁËÖжϡ£·ñÔòËü¸ù±¾ÎÞ·¨ÖªµÀÊÇËü¶ÔÓ¦µÄÉ豸·¢³öÁËÕâ¸öÖжϻ¹Êǹ²ÏíÕâÌõÖжÏÏߵįäËüÉ豸·¢³öÁËÕâ¸öÖжϡ£
9¡¢µ±Ö´ÐÐÒ»¸öÖÐ
Ïà¹ØÎĵµ£º
±¾ÎÄÑ¡×Ô¡¶LinuxϵͳÓëÍøÂç·þÎñ¹ÜÀí¼¼Êõ´óÈ«£¨µÚ2°æ£©¡·Ò»Êé
µÚ2°æ ǰÑÔ LinuxÊÇÒ»¸öÓÅÐãµÄ¡¢ÈÕÒæ³ÉÊìµÄ²Ù×÷ϵͳ£¬¾¹ýÊ®¼¸ÄêµÄ·¢Õ¹£¬ÒѾӵÓÐÁË´óÁ¿µÄÓû§¡£ÎªÁËÂú×ãÖÚ¶àLinux³õѧÕß¡¢°®ºÃÕß¼°×¨ÒµÈËÔ±µÄʹÓÃÐèÒª£¬±ÊÕßÔÚ¶àÄê´ÓÊÂLinuxÑо¿¡¢½Ìѧ¼°¿ª·¢¹¤×÷µÄ»ù´¡ÉϾ ......
Linux·þÎñÆ÷ÐÔÄܼà²âÊǺÜÖØÒªµÄ¹¤×÷£¬·þÎñÆ÷ÔËÐÐÓ¦¸ÃÌṩ×îÓÐЧµÄϵͳÐÔÄÜ¡£µ±·þÎñÆ÷ϵͳÐÔÄÜͻȻµÍÓÚÆ½¾ùÓ¦ÓеÄÇé¿ö£¬ÎÊÌâ¿ÉÄÜÀ´×ÔÔÚÖ´ÐеĽø³Ì¡¢ÄÚ´æµÄʹÓÃÂÊ¡¢´ÅÅ̵ÄÐÔÄÜ¡¢ÍøÂçÁ÷Á¿ºÍCPU µÄѹÁ¦¡£ÔÚÔ¤Ëã¶ÌȱµÄ½ñÌ죬Àí½âÈçºÎÓÅ»¯ÏµÍ³ÐÔÄܱÈÒÔÍùÈκÎʱºò¶¼ÖØÒª¡£ÒªÊµÏÖËüµÄǰÌáÊÇ£¬Äã±ØÐë³ä·ÖÁ˽â×Ô¼ºµÄ¼ÆËã»úºÍÍøÂ磬´Ó¶ ......
netmask ipµØÖ· broadcast ×ÓÍøÑÚÂë gateway Íø¹Ø dns DNS·þÎñÆ÷
vmwareÈýÖÖÍøÂçÁ¬½ÓÉÏÍøÉèÖãº
²é¿´VMNET1ºÍVMNET8µÄIP£¬Íø¹ØÐÅÏ¢£¬¿ÉÒÔipconfigÃüÁî
1
.ÇŽӷ½Ê½(bridge) :
ĬÈÏʹÓÃvmnet0
½«ÐéÄâ»úµÄipÉèÖÃÓëÖ÷»úÍ¬Íø¶ÎδʹÓÃip,ÆäÓàÓëÖ÷»úÏàͬ:
ipµØÖ·ÓëÖ÷»úͬ¶ÎÏàÒì,
×ÓÍ ......
Éè¼ÆÒ»¸ölinuxϵÄdeamon½ø³Ì£¬¹Ø¼üÖ»Óм¸¸ö£º
1.forkÁ½´Î¡£
2.forkµÚÒ»´ÎºÍµÚ¶þ´ÎÖ®¼ä³ÉΪ½ø³Ì×éÍ·¡£
3.¸Ä±ä¹¤×÷Ŀ¼¡£
4.ºöÂÔÐźš£
5.ÉèÖöÁдÑÚÂë¡£
Ò»ÏÂÊÇÒ»¸ö´ÓÍøÂçËѼ¯µ½µÄÀý³Ì£¬·Ç³£ºÃµÄÑÝʾÁËÉÏÊöÒªµã£¬´æ´Ë±¸Íü¡£
#include
#include
#include
#include
void main(int argc, char ** argv)
{
tim ......
ÎÞÂÛÊÇÔÚLinux»¹ÊÇÔÚUnix»·¾³ÖУ¬make¶¼ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ±àÒëÃüÁî¡£²»¹ÜÊÇ×Ô¼º½øÐÐÏîÄ¿¿ª·¢»¹Êǰ²×°Ó¦ÓÃÈí¼þ£¬ÎÒÃǶ¼¾³£ÒªÓõ½make»òmake install¡£ÀûÓÃmake¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔ½«´óÐ͵Ŀª·¢ÏîÄ¿·Ö½â³ÉΪ¶à¸ö¸üÒ×ÓÚ¹ÜÀíµÄÄ£¿é£¬¶ÔÓÚÒ»¸ö°üÀ¨¼¸°Ù¸öÔ´ÎļþµÄÓ¦ÓóÌÐò£¬Ê¹ÓÃmakeºÍ makefile¹¤¾ß¾Í¿ÉÒÔ¼ò½àÃ÷¿ìµØÀí˳¸÷¸öÔ´ÎļþÖ® ......