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

linux 0.11 ÄÚºËѧϰ sched.c£¬µ÷¶È½ø³Ì¡£


/*
 * 2010-1-21
 * ¸ÃÎļþʱÄÚºËÖÐÓйØÈÎÎñµ÷¶ÈµÄº¯Êý³ÌÐò£¬ÆäÖаüº¬»ù±¾º¯Êýsleep_on£¬
 * wakeup£¬scheduleµÈ£¬ÒÔ¼°Ò»Ð©¼òµ¥µÄϵͳµ÷Óá£Í¬Ê±½«ÈíÅ̵ļ¸¸ö²Ù×÷
 * º¯ÊýÒ²·ÅÖÃÔÚÕâÀï¡£
 * 
 * scheduleº¯ÊýÊ×ÏȶÔËùÓеÄÈÎÎñ¼ì²é£¬»½ÐÑÈκÎÒ»¸öÒѾ­µÃµ½ÐźŵÄÈÎÎñ£¬
 * ¾ßÌåµÄ·½·¨ÊÇÕë¶ÔÈÎÎñÊý×éÖеÄÿ¸öÈÎÎñ£¬¼ì²éÆ侯±¨¶¨Ê±Öµalarm¡£Èç¹ûÈÎÎñ
 * µÄalarmÒѾ­³¬ÆÚ£¨alarm < jiffies£©£¬ÔòÔÚËüµÄÐźÅλͼÖÐÉèÖÃSIGALARM£¬È»ºó
 * ÇéÊéalarmÖµ¡£jiffiesÊÇϵͳ×Ô´Ó¿ª»úÖ®ºóËãÆðµÄµÎ´ðÊý¡£ÔÚscheed.hÖж¨Ò壬
 * Èç¹û½ø³ÌÐźŵÄλͼÖгýÈ¥±»×èÈûµÄÐźÅÖ®Í⻹ÓÐÆäËûÐźţ¬²¢ÇÒÈÎÎñ´¦ÓÚ¿É
 * ÖжÏ˯Ãß״̬£¬ÔòÖÃÈÎÎñΪ¾ÍÐ÷״̬¡£
 * ËæºóÊǵ÷¶Èº¯ÊýµÄºËÐÄ´¦Àí£¬Õⲿ·Ö´úÂë¸ù¾Ý½ø³Ìʱ¼äƬºÍÓÅÏÈȨµÄµ÷¶È»úÖÆ£¬
 * À´Ñ¡Ôñ½«ÒªÖ´ÐеijÌÐò¡£ËûÊ×ÏÈÊÇÑ­»·¼ì²éÈÎÎñÊý×éÖеÄËùÓÐÈÎÎñ¡£¸ù¾Ýÿ¸ö¾ÍÐ÷
 * ÈÎÎñÊ£ÓàÖ´ÐÐʱ¼äÖµcounterÖÐÑ¡È¡Ò»¸ö×î´óµÄ£¬ÀûÓÃswitch_toº¯ÊýÍê³ÉÈÎÎñ
 * ת»»¡£Èç¹ûËùÓеľÍÐ÷ÈÎÎñµÄ¸ÃÖµ¶¼ÊÇ0£¬Ôò±íʾ´Ë¿ÌËùÓÐÈÎÎñµÄʱ¼äƬ¶¼ÒÑÔËÐÐÍê¡£
 * ÓÚÊǾ͸ù¾ÝÈÎÎñµÄÓÅÏÈȨֵpriority£¬ÖØÖÃÿ¸öÈÎÎñµÄÔËÐÐʱ¼äcounter¡£ÔÚÖØÐÂ
 * Ñ­»·¼ì²éËùÓеÄÈÎÎñÖصÄÖ´ÐеÄʱ¼äƬֵ¡£
 * ÁíÒ»¸öÖµµÃһ˵µÄÊÇsleep_onº¯Êý£¬¸Ãº¯ÊýËä¶Ì£¬È´Òª±Èscheduleº¯ÊýÄÑÀí½â£¬
 * ¼òµ¥µÄ½²£¬sleep_onº¯ÊýÖ÷ÒªµÄ¹¦ÄÜÊǵ±Ò»¸ö½ø³ÌËùÇëÇóµÄ×ÊÔ´ÕýÔÚ棬»òÕßÊÇ
 * ²»ÔÚÄÚ´æÖб»Çл»³öÈ¥£¬·ÅÔڵȴý¶ÓÁÐÖеȴýÒ»¶Îʱ¼ä¡£Çл»»ØÀ´ºóÔÚ¼ÌÐøÖ´ÐС£
 * ·ÅÈëµÈ´ý¶ÓÁеķ½Ê½ÊÇ£¬ÀûÓÃÁ˺¯ÊýÖеÄtmpÖ¸ÕëΪ¸÷¸öÕýÔڵȴýÈÎÎñµÄÁªÏµ¡£
 * »¹ÓÐÒ»¸öº¯Êýinterrupt_sleep_on£¬¸Ãº¯ÊýµÄÖ÷Òª¹¦ÄÜÊÇÔÚ½ø³Ìµ÷¶È֮ǰ£¬°Ñµ±Ç°
 * ÈÎÎñÉèÖÃΪ¿ÉÖжϵȴý״̬£¬²¢ÔÚ±¾ÈÎÎñ±»»½ÐÑÖ®ºó»¹ÐèÒª²é¿´¶ÓÁÐÉÏÊÇ·ñ»¹ÓÐ
 * ºóÀ´µÄµÈ´ýÈÎÎñ£¬Èç¹ûÓУ¬Ïȵ÷¶ÈËûÃÇ¡£
 *
 */ 
/*
 *  linux/kernel/sched.c
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * 'sched.c' is the main kernel file. It contains scheduling primitives
 * (sleep_on, wakeup, schedule etc) as well as a number of simple system
 * call functions (type getpid(), which just extracts a field fr


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò


Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò
¡ð¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚLinuxµÄ2.6.10ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔLinux
Device
Driver3ÌṩµÄscull³ÌÐò(scullĿ¼ÖеÄmain.cºÍscull.h)Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬module_init( )ºÍmodule_exit(
)ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ ......

LinuxÏÂCVS·þÎñÆ÷µÄ°²×°ÓëÅäÖÃ

LinuxÏÂCVS·þÎñÆ÷µÄ°²×°ÓëÅäÖÃ
1¡¢CVS·þÎñÆ÷µÄ°²×°
¡¡¡¡CVS·þÎñÆ÷°æ¿ÉÒÔ´ÓÍøÉϵĺܶàµØ·½ÏÂÔص½£¬Ò²¿ÉÒÔµ½CVSµÄ¹Ù·½ÍøÕ¾½øÐÐÏÂÔØ¡£¸ù¾ÝÄãËùʹÓõÄϵͳ£¬ÏÂÔØÏàÓ¦µÄ°æ±¾£¬È»ºó½øÐа²×°¡£ÒòΪµ±Ç°´ó²¿·ÖÈËÊÇÔÚLinuxÏÂʹÓÃCVS·þÎñÆ÷½øÐа汾¹ÜÀí£¬²¢ÇÒRedhat LinuxÊÇÄ¿Ç°×îÁ÷ÐеÄÒ»¸öLinux·¢ÐаæÖ®Ò»£¬ËùÒÔ±¾ÎĽ«Ö÷Òª»ùÓÚRe ......

LinuxÏÂcoreÎļþ

1.1 coreÎļþµÄ¼òµ¥½éÉÜ
ÔÚÒ»¸ö³ÌÐò±ÀÀ£Ê±£¬ËüÒ»°ã»áÔÚÖ¸¶¨Ä¿Â¼ÏÂÉú³ÉÒ»¸öcoreÎļþ¡£coreÎļþ½ö½öÊÇÒ»¸öÄÚ´æÓ³Ïó(ͬʱ¼ÓÉϵ÷ÊÔÐÅÏ¢)£¬Ö÷ÒªÊÇÓÃÀ´µ÷ÊԵġ£
1.2 ¿ªÆô»ò¹Ø±ÕcoreÎļþµÄÉú³É
ÓÃÒÔÏÂÃüÁîÀ´×èֹϵͳÉú³ÉcoreÎļþ:
ulimit -c 0
Ò²¿ÉÒÔÐÞ¸ÄϵͳÎļþÀ´µ÷ÕûcoreÑ¡Ïî
ÔÚ/etc/profileͨ³£»áÓÐÕâÑùÒ»¾ä»°À´½ûÖ¹²úÉú ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ