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 ϵͳÏÂÈçºÎ·ÖÇø²Å×îºÏÀí
ÒÔÏÂÕª×Ô¡¶Gentoo Linux x86Êֲᡷ
http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
·ÖÇøµÄÊýÄ¿Ö÷Òª¸ù¾ÝÄãµÄϵͳ»·¾³À´¾ö¶¨¡£
ÀýÈ磬Èç¹ûÄãÓкܶàÓû§£¬Äã¿ÉÄܸüÏ£Íû°ÑÄãµÄ/homeĿ¼¶ÀÁ¢³öÀ´£¬ÒòΪÕâÑù×ö¿ÉÒÔÔö¼Ó°²È«ÐÔ£¬±¸·ÝÆðÀ´Ò²¸üÈÝÒס£Èç¹ûÄã°²×°GentooÓÃÀ´×öÓʼþ·þÎñÆ÷ ......
3) Á÷³Ì¿ØÖÆ
1.if
"if" ±í´ïʽ Èç¹ûÌõ¼þΪÕæÔòÖ´ÐÐthenºóÃæµÄ²¿·Ö£º
if ....; then
....
elif ....; then
....
else
....
fi
´ó¶àÊýÇé¿öÏ£¬¿ÉÒÔʹÓòâÊÔÃüÁîÀ´¶ÔÌõ¼þ½øÐвâÊÔ¡£±ÈÈç¿ÉÒԱȽÏ×Ö·û´®¡¢ÅжÏÎļþÊÇ·ñ´æÔÚ¼°ÊÇ·ñ¿É¶ÁµÈµÈ…
ͨ³£ÓÃ" [ ] "À´±íʾÌõ¼þ²âÊÔ¡£×¢ÒâÕâÀïµÄ¿Õ¸ñºÜÖØÒª¡£ÒªÈ·±£· ......
ÿ´ÎװϵͳÉÙ²»ÁËÒª°²×°VMware Tools£¬ÏÖÁгö°²×°²½Ö裬¾Íµ±×ö¸ö±Ê¼Ç°É£º£©
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
ls
cd /tmp
rpm -Uhv /mnt/cdrom/VMwareTools--xxxxxxxxx.rpm
vmware-config-tools.pl
¾ÍokÁË¡£ ......
ulimitÖ÷Òª²é¿´linuxϵͳ϶Ôϵ×ÊÔ´·ÖÅäµÄÏÞÖÆÇé¿ö£¬²é¿´È«²¿Ê¹ÓÃulimit -a (all)
ulimit ²ÎÊý˵Ã÷
Ñ¡Ïî [options] º¬Òå Àý×Ó
-H ÉèÖÃÓ²×ÊÔ´ÏÞÖÆ£¬Ò»µ©ÉèÖò»ÄÜÔö¼Ó¡£ ulimit – Hs 64£»ÏÞÖÆÓ²×ÊÔ´£¬Ïß³ÌÕ»´óСΪ 64K¡£
-S ÉèÖÃÈí×ÊÔ´ÏÞÖÆ£¬ÉèÖúó¿ÉÒÔÔö¼Ó£¬µ«ÊDz»ÄÜ ......
1.CPU&½ø³Ì
1.1 topÃüÁî
top - 20:07:00 up 186 days, 3:47, 3 users, load average: 0.01, 0.02, 0.00
Tasks: 82 total, 1 running, 80 sleeping, 1 stopped, 0 zombie
Cpu(s): 3.7% us, 0.0% sy, 0.0% ni, ......