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

LinuxʹÓõĻº´æ


6.7.1 LinuxʹÓõĻº´æ
²»¹ÜÔÚÓ²¼þÉè¼Æ»¹ÊÇÈí¼þÉè¼ÆÖУ¬¸ßËÙ»º´æÊÇ»ñµÃ¸ßÐÔÄܵij£ÓÃÊֶΡ£Linux ʹÓÃÁ˶àÖÖºÍÄÚ´æ¹ÜÀíÏà¹ØµÄ¸ßËÙ»º´æ¡£
1£® »º³åÇø¸ßËÙ»º´æ£º
»º³åÇø¸ßËÙ»º´æÖаüº¬ÁËÓÉ¿éÉ豸ʹÓõÄÊý¾Ý»º³åÇø¡£ÕâЩ»º³åÇøÖаüº¬ÁË´ÓÉ豸ÖжÁÈ¡µÄÊý¾Ý¿é»òдÈëÉ豸µÄÊý¾Ý¿é¡£»º³åÇø¸ßËÙ»º´æÓÉÉ豸±êʶºÅºÍ¿é±êºÅË÷Òý£¬Òò´Ë¿ÉÒÔ¿ìËÙÕÒ³öÊý¾Ý¿é¡£Èç¹ûÊý¾ÝÄܹ»ÔÚ»º³åÇø¸ßËÙ»º´æÖÐÕÒµ½£¬Ôòϵͳ¾ÍûÓбØÒªÔÚÎïÀí¿éÉ豸ÉϽøÐÐʵ¼ÊµÄ¶Á²Ù×÷¡£
ÄÚºËΪÿ¸ö»º³åÇøÎ¬»¤ºÜ¶àÐÅÏ¢ÒÔÓÐÖúÓÚ»ººÍд²Ù×÷£¬ÕâЩÐÅÏ¢°üÀ¨Ò»¸ö“Ôࣨdirty£©”룬±íʾÄÚ´æÖеĻº³åÇøÒѱ»Ð޸쬱ØÐëдµ½´ÅÅÌ£»»¹°üÀ¨Ò»¸öʱ¼ä±êÖ¾£¬±íʾ»º³åÇø±»Ë¢Ðµ½´ÅÅÌ֮ǰÒѾ­ÔÚÄÚ´æÖÐÍ£ÁôÁ˶೤ʱ¼ä¡£ÒòΪ»º³åÇøµÄÓйØÐÅÏ¢±»±£´æÔÚ»º³åÇøÊײ¿£¬ËùÒÔ£¬ÕâЩÊý¾Ý½á¹¹Á¬Í¬Óû§Êý¾Ý±¾ÉíµÄ»º³åÇø¶¼ÐèҪά»¤¡£
»º³åÇø¸ßËÙ»º´æµÄ´óС¿ÉÒԱ仯¡£µ±ÐèҪлº³åÇø¶øÏÖÔÚÓÖûÓпÉÓõĻº³åÇøÊ±£¬¾Í°´Ðè·ÖÅäÒ³Ãæ¡£µ±¿ÕÏÐÄÚ´æ±äµÃ²»×ãʱ£¬ÀýÈçÉÏÒ»½Ú¿´µ½µÄÇé¿ö£¬¾ÍÊÍ·Å»º³åÇø²¢·´¸´Ê¹ÓÃÏàÓ¦µÄÒ³Ãæ¡£
2£® Ò³Ãæ¸ßËÙ»º´æ
Ò³Ãæ¸ßËÙ»º´æÊÇÒ³ÃæI/O²Ù×÷·ÃÎÊÊý¾ÝËùʹÓõĴÅÅ̸ßËÙ»º´æ¡£ÎÒÃÇÔÚÎļþϵͳ»á¿´µ½£¬read( )¡¢write( )ºÍmmap( )ϵͳµ÷ÓöԳ£¹æÎļþµÄ·ÃÎʶ¼ÊÇͨ¹ýÒ³Ãæ¸ßËÙ»º´æÀ´Íê³ÉµÄ¡£ÒòÎªÒ³ÃæI/O²Ù×÷Òª´«ÊäÕûÒ³Êý¾Ý£¬Òò´Ë¸ßËÙ»º´æÖÐËù±£ÁôµÄÐÅÏ¢µ¥ÔªÊÇÒ»¸öÕûÒ³Ãæ¡£Ò»¸öÒ³Ãæ°üº¬µÄÊý¾Ýδ±ØÊÇÎïÀíÉÏÏàÁڵĴÅÅ̿飬Òò´Ë¾Í²»ÄÜʹÓÃÉ豸ºÅºÍ¿éºÅÀ´±êÊ¶Ò³Ãæ¡£Ïà·´£¬Ò³Ãæ¸ßËÙ»º´æÖÐÒ»¸öÒ³ÃæµÄ±êʶÊÇͨ¹ýÎļþµÄË÷Òý½ÚµãºÍÎļþÖÐµÄÆ«ÒÆÁ¿´ïµ½µÄ¡£
ÓëÒ³Ãæ¸ßËÙ»º´æÓйصIJÙ×÷Ö÷ÒªÓÐÈýÖÖ£ºµ±·ÃÎʵÄÎļþ²¿·Ö²»ÔÚ¸ßËÙ»º´æÖÐʱÔö¼ÓÒ»Ò³Ãæ£¬µ±¸ßËÙ»º´æ±äµÃÌ«´óʱɾ³ýÒ»Ò³Ãæ£¬ÒÔ¼°²éÕÒÒ»¸ö¸ø¶¨ÎļþÆ«ÒÆÁ¿ËùÔÚµÄÒ³Ãæ¡£
 
3£®½»»»¸ßËÙ»º´æ
Ö»ÓÐÐ޸ĺóµÄ£¨Ôà£©Ò³Ãæ²Å±£´æÔÚ½»»»ÎļþÖС£Ð޸ĺóµÄÒ³ÃæÐ´Èë½»»»Îļþºó£¬Èç¹û¸ÃÒ³ÃæÔٴα»½»»»µ«Î´±»ÐÞ¸Äʱ£¬¾ÍûÓбØÒªÐ´Èë½»»»Îļþ£¬Ïà·´£¬Ö»Ð趪Æú¸ÃÒ³Ãæ¡£½»»»¸ßËÙ»º´æÊµ¼Ê°üº¬ÁËÒ»¸öÒ³Ãæ±íÏîÁ´±í£¬ÏµÍ³µÄÿ¸öÎïÀíÒ³Ãæ¶ÔÓ¦Ò»¸öÒ³Ãæ±íÏî¡£¶Ô½»»»³öµÄÒ³Ãæ£¬¸ÃÒ³Ãæ±íÏî°üº¬±£´æ¸ÃÒ³ÃæµÄ½»»»ÎļþÐÅÏ¢£¬ÒÔ¼°¸ÃÒ³ÃæÔÚ½»»»ÎļþÖеÄλÖÃÐÅÏ¢¡£Èç¹ûij¸ö½»»»Ò³Ãæ±íÏî·ÇÁ㣬Ôò±íÃ÷±£´æÔÚ½»»»ÎļþÖеĶÔÓ¦ÎïÀíÒ³ÃæÃ»Óб»Ð޸ġ£Èç¹ûÕâÒ»Ò³ÃæÔÚºóÐøµÄ²Ù×÷Öб»Ð޸ģ¬Ôò´¦ÓÚ½»»»»º´æÖеÄÒ³Ãæ±íÏî±»ÇåÁã¡£ Linux ÐèÒª´ÓÎïÀíÄÚ´æÖн»»»³öij¸öÒ³ÃæÊ±£¬ËüÊ×ÏÈ·ÖÎö½»»»»º´æÖеÄÐÅÏ¢£¬Èç


Ïà¹ØÎĵµ£º

linux api±Ê¼Ç£¨7£©£ºÏµÍ³µ÷ÓÃÈçºÎ°ÚÍÑÐźŵĸÉÈÅ

ÔÚlinux»·¾³Ï±à³ÌÓÐÒ»¸öºÜÈÃÈËÍ·ÌÛµÄÎÊÌâ¾ÍÊÇÐźŶÔϵͳµ÷ÓõĸÉÈÅ£¬ÔÚϵͳµ÷Óùý³ÌÖÐÈç¹ûÊܵ½ÐźŵĸÉÈÅ£¬
²¿·Öϵͳµ÷ÓûὫerrnoÉèÖóÉEINTR£¬ÎÒÃDz»µÃ²»±àдÏÂÃæµÄ´íÎó´¦Àí´úÂëÀ´·ÀÖ¹ÕâÖÖÇé¿öµÄ·¢Éú£º
syscall:
int ret = syscall(...);
if (ret < 0 && EINTER == errno)
goto syscall;
el ......

ÕÆÎÕLinux±à³ÌµÄ10¸ö²½Öè

×ölinux cÓïÑÔ¿ª·¢ÓÐһСÕó×ÓÁË£¬ÔÚÕâ±ß×Ô¼º×ܽáÁËЩÐĵã¬ÏàÐÅÄÜÈò»¶®µÃLinux±à³ÌµÄÈËÂýÂý²½ÈëLinuxµîÌá£ÓÐÈκβ»¶Ô»ò²»×¼È·Ö®´¦»¶Ó­ÌÖÂÛ¡£
1. °²×° linux ²Ù×÷ϵͳ
¼ÈȻҪѧϰlinuxϵÄcÓïÑÔ¿ª·¢£¬ÄÇô°²×°¸ölinux²Ù×÷ϵͳÊDZØÐëµÄ¡£½¨Òé°²×°Ubuntu£¬ÕâÊÇÎÒĿǰ¼û¹ý½çÃæ×îÓѺõÄlinux²Ù×÷ϵͳÁË¡£¹ØÓÚÈçºÎʹÓÃUbuntuÒ ......

Ïê½âLinuxÖÐcron/crontab¹¤×÷Ô­Àí

ÏȽéÉܼ¸¸ö»ù±¾¸ÅÄ
ºǫ́½ø³Ì£ºÔÚºǫ́ÔËÐеÄÎÞÐëÓëÓû§½»»¥µÄ³ÌÐò¡£ÔÚ¶àÈÎÎñ²Ù×÷ϵͳÉÏÔËÐжà¸öºǫ́½ø³Ì£¬ÓÐЩºǫ́½ø³Ì£¨ÀýÈçÊØ»¤³ÌÐò£©´ÓÀ´¶¼²»ÐèÒªÓû§ÊäÈ룬ÆäËüһЩ½ø³ÌÖ»ÊÇÔÚÓû§Ã¦ÓÚĿǰÔËÐÐÓÚǰ̨µÄ³ÌÐòʱ²ÅÁÙʱ´¦ÓÚºǫ́¡£
ÊØ»¤½ø³ÌÊÇÒ»ÖÖºǫ́½ø³Ì¡£crond½ø³ÌÊÇÖÚ¶àÊØ»¤½ø³ÌÖеÄÒ»ÖÖ£¬¿´¿´cronÕâ¸öµ¥´ÊÔÚ×ÖµäÀïà ......

LinuxÏÂÓÀ¾ÃÐÞ¸ÄMACµØÖ·ºÍifconfigÃüÁî×ܽá(ת)


1. ¹Ì¶¨Ò»¸öMACµØÖ·£¬ÌرðÊÇÔÚʹÓöà¸öÐéÄâ»úµÄʱºò
linux»·¾³ÏÂ:
ÓÃrootÉí·ÝµÇ¼£¬ÔÚ/etc/rc.d/rc.localÀï¼ÓÉÏÕâÈý¾ä
ifconfig eth0 down
ifconfig eth0 hw ether 00:0C:18:EF:FF:ED
ifconfig eth0 up
ÕâÑùÖØÐÂrebootºó¾Í²»ÅÂMAC¸´Ô­ÁË¡£
2. ifconfigÃüÁî£¨×ªÔØhttp://www.cnblogs.com/taobataoma/archive/2007/1 ......

Linux Platform Device and Driver

´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
 
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ