LinuxµÄÄÚºËÑÓ³Ùº¯Êý
µ±ÄÚºËÐèÒªµÈ´ýÒ»¸ö±È½Ï¶ÌµÄʱ¼ä¼ä¸ôʱ£¬±È·½Ëµ£ºÓÐʱºòÉ豸Çý¶¯Æ÷»áµÈ´ýÔ¤Ïȶ¨ÒåµÄÈô¸É¸ö΢ÃîµÄʱ¼äÖ±µ½Ó²¼þÍê³ÉijЩ²Ù×÷¡£ÓÉÓÚ¶¯Ì¬¶¨Ê±Æ÷ͨ³£ÓкܴóµÄÉèÖÿªÏúºÍÒ»¸öÏ൱´óµÄ×îСµÈ´ýʱ¼ä£¨1ms£©£¬ËùÒÔÉ豸Çý¶¯Æ÷ʹÓÃËü»áºÜ²»·½±ã¡£
ÔÚÕâЩÇé¿öÏ£¬ÄÚºËʹÓÃudelay£¨£©ºÍndelay£¨£©º¯Êý£ºÇ°Õß½ÓÊÕÒ»¸ö΢Ãî¼¶µÄʱ¼ä¼ä¸ô×÷ΪËüµÄ²ÎÊý£¬²¢ÔÚÖ¸¶¨µÄÑÓ³Ù½áÊøºó·µ»Ø£»¶øºóÕßËù½ÓÊÕµÄÖ¸¶¨ÑӳٵIJÎÊýÊÇÄÉÃë¼¶µÄ£¬Í¬ÑùÔÚÖ¸¶¨µÄÑÓ³Ù½áÊøºó·µ»Ø¡£
udelay£¨£©ºÍndelay£¨£©ÕâÁ½¸öº¯Êý¶¨ÒåÈçÏ£º
void udelay(unsigned long usecs)
{
unsigned long loops;
loops = (usecs*HZ*current_cpu_data.loops_per_jiffy)/1000000;
cur_timer->delay(loops);
}
void ndelay(unsigned long nsecs)
{
unsigned long loops;
loops = (nsecs*HZ*current_cpu_data.loops_per_jiffy)/1000000000;
cur_timer->delay(loops);
}
ÕâÁ½¸öº¯Êý¶¼ÊÇÒÀÀµÓëcur_timer¶¨Ê±Æ÷¶ÔÏóµÄdelay·½·¨£¬Ëü½ÓÊÕ“loops”ÖеÄʱ¼ä¼ä¸ô×÷Ϊ²ÎÊý¡£Ã¿Ò»´Î“loop”¾«È·µÄ³ÖÐøÊ±¼äÈ¡¾öÓÚcur_timerÉæ¼°µÄ¶¨Ê±Æ÷¶ÔÏó¡£
¡¾Èç¹ûcur_timerÖ¸Ïòtime_hpet¡¢time_pmtmrºÍtimer_tsc¶ÔÏó£¬ÄÇôһ´Î“loop”ʱ¼ä¶ÔÓ¦Ò»¸öCPUÑ»·——Ò²¾ÍÊÇÁ½¸öÁ¬ÐøCPUʱÖÓÐźżäµÄʱ¼ä¼ä¸ô¡£¡¿
¡¾Èç¹ûcur_timerÖ¸Ïòtimer_none»òtimer_pit¶ÔÏó£¬ÄÇôһ´Î“loop”ʱ¼ä¶ÔÓ¦Ò»Ìõ½ô´ÕÖ¸ÁîÑ»·ÔÚÒ»´Îµ¥¶ÀµÄÑ»·ÖÐËù»¨·ÑµÄʱ¼ä¡£¡¿
ʼ»¯½×¶Î£¬select_timer()ÉèÖúÃcur_timerºó£¬ÄÚºËͨ¹ýÖ´ÐÐcalibrate_delay()º¯ÊýÀ´¾ö¶¨Ò»¸ö½ÚÅÄÀïÓжàÉٴΓloop”¡£Õâ¸öÖµ±»±£´æÔÚcurrent_cpu_data.loops_per_jiffy±äÁ¿ÖУ¬ÕâÑùudelay()ºÍndelay()¾ÍÄܸù¾ÝËüÀ´°Ñ΢ÃîºÍÄÉÃëת»»³É“loops”¡£
Ïà¹ØÎĵµ£º
2005Äê9ÔÂ22ÈÕ£¬Ç廪ÔÚ¶Á²©Ê¿ÉúÍõÛóÔÚˮľÉçÇøBLOGÉÏ·¢±íÁË¡¶Ç廪ÃεķÛËé--д¸øÇ廪´óѧµÄÍËѧÉêÇë¡·Ã÷È·ÒªÇóÍËѧ, ÒýÆðÉç»á¸÷½ç¹ã·ºÕùÂÛ. Ëû´´×÷µÄ³¤ÆªÎÄÕ¡¶ÍêÈ«ÓÃLinux¹¤×÷¡·, ÑóÑóÁ½Íò¶à×Ö, ´Ó²»Í¬½Ç¶È¾Ó¸ßÁÙϵIJûÊöÁËËûÑÛÖÐLinuxÍêÈ«ÓÅÔ½ÓÚWindowsµÄ¸÷ÖÖÀíÓÉ, ÕâÆªÎÄÕ²¢²»¼òµ¥µÄÊÇһƪÂÛÊö"WindowsÄÜ×öµÄÊÂLinux¶¼Ä ......
#protect share data
spin_lock/spin_unlock: protect the data during process context(and only at process context), and make sure your code bewteen lock/unlock is fast enough.There may deadlock if the same spin_lock is called at interrupt context.
spin_lock_irq/spin_unlock_irq: call it during interru ......
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©
¹ÜµÀ¼°ÓÐÃû¹ÜµÀ
Ö£ÑåÐË (mlinux@163.com)¹ú·À¿Æ´ó¼ÆËã»úѧԺ
2002 Äê 12 ÔÂ 11 ÈÕ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË linux ½ø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶΡ£ÆäÖйܵÀºÍÓÐÃû¹ÜµÀÊÇ×îÔçµÄ½ø³Ì¼äͨÐÅ»úÖÆÖ®Ò»£¬¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵ ......
´Ë´¦vmware°æ±¾Îª6.5 £¬Ö÷»úΪwindows xp,vmware °²×°ÁËredhat linux
1.ÍøÂçÉèÖãº
´ò¿ªvmware,µãvmware->setting->Hardware->Newwork Adapter->Custom - >
VMnet1(host-only)
²é¿´windowsÍøÂçÁ¬½Ó,¿´µ½Ò»¸öVMnet1µÄÁ¬½Ó,ÉèÖÃËüµÄipÓë×ÓÍøÑÚÂë¡£Èç:IP:192.168.13.1 ,×ÓÍøÑÚÂë 255.255.255.0 ......
http://www.softhouse.com.cn/linux/knowledge/tech/7320.html
......