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

Mr. ProcessµÄÒ»Éú£­LinuxÄں˵ÄÉç»áÊÓ½Ç (1)µ÷¶È

Written by manio (http://blog.csdn.net/manio)
LinuxÄÚºËÊÇÒ»¸öÎޱȸ´ÔÓµÄϵͳ£¬ÒªÏë¿´Çå´óÖµÄÂöÂçÒ²·ÇÒ×Ê¡£Æäʵ£¬¿ÉÒÔ°ÑÔËÐÐÖеÄLinuxÏëÏñ³ÉÒ»¸öÈËÀàµÄÉç»á£¬µ±ÖеĽø³Ì¾ÍÊÇÉç»áÖеÄÈË¡£ÈËÓÐÉúÀϲ¡ËÀ£¬½ø³ÌÓд´½¨¡¢Òì³£¡¢ÖÕÖ¹¡£ÈËÓи÷ÖÖ¸÷ÑùµÄ²Æ²ú£¬½ø³ÌÓжÔÓ¦µÄµØÖ·¿Õ¼ä¡¢É豸µÈµÈ¡£È˱»¸÷ÖÖ¸÷ÑùµÄ¶«Î÷ÏÞÖÆ×Å£¬±»È˹Ü×Å£¬½ø³ÌÒ²ÊÇ¡£ÄÚºËÎޱȾ޴󣬴ÓÄÄ×ÅÊÖ£¿ÎÒÏ룬´Ó½ø³ÌµÄÊÓ½ÇÀ´¿´ÊǸöºÃ°ì·¨¡£²¢ÇÒ£¬ÔÚѧϰLinuxÄں˵Äͬʱ£¬Àà±ÈÈËÀàÉç»áÀ´¿´£¬»áÓиüÉî¿ÌµÄÓ¡Ïó£¬Àí½âµÃ¸ü͸³¹¡£
±¾À´Ò²Ó¦¸Ã´Ó½ø³ÌµÄ´´½¨¿ªÊ¼Ð´µÄ£¬µ«ÊÇ×î½üÔÚ¿´µ÷¶ÈµÄÏà¹ØÂÛÎÄ£¬¾ÍÓÖ°ÑLinuxµ÷¶ÈµÄ¶«Î÷¿´ÁËһϡ£ËùÒÔ£¬¾ÍÏÈдµ÷¶ÈÏà¹ØµÄ¶«Î÷°É¡£
Ê×ÏȽéÉÜÓë½ø³ÌËùÔÚ»·¾³¶ÔÓ¦µÄÈËÀೡ¾°£º
ÕâÊÇÒ»¸ö¹«Ë¾£¬¹«Ë¾ÀïÓкܶàÈË£¨½ø³Ì£©£¬Ã¿¸öÈ˶¼ÓÐÆä¶ÔÓ¦µÄÖ°³Æ£¨ÓÅÏȼ¶£©¡£Õâ¸ö¹«Ë¾ºÜÆæ¹Ö£¬Ö»ÓÐÒ»ÕŰ칫×À£¨CPU£©£¬ÔÚÈÎÒâʱ¿Ì£¬Ö»ÄÜÓÐÒ»¸öÈËÔÚ¹¤×÷(TASK_RUNNINGÕýÔÚÔËÐÐ״̬)¡£ÆäËûÈËÄØ£¬ÒªÃ´ÔÚÐÝÏ¢ÊÒʱ¶ÌÔݵØÐÝÏ¢£¨¶ÔÓ¦TASK_RUNNING¾ÍÐ÷״̬£©£¬ÒªÃ´¾ÍÔÚÇÞÊÒSleep(¶ÔÓ¦TASK_INTERRUPTABLE»òTASK_UNINTERRUPTABLE)£¬ÒªÃ´¾ÍÊÇËÀÈËÁË£¬ÔÚͣʬ¼ä£¨TASK_ZOMBIE£©¡£Êǵģ¬ÕâÊÇÕæµÄ£¬Õâ¸ö¹«Ë¾¾ÍÊǸöѪº¹¹¤³§£¬¸É»îÀÛËÀÁË£¬¾ÍÖ±½Ó¶ª½øÍ£Ê¬¼ä£¬²Ò¾øÈËå¾£¡
ÒÔÏÂÊǴ˹«Ë¾µÄÆ½ÃæÍ¼£º
ͼ½â£º“ÍÆÃÅ”Êǵ¥ÏòµÄ£º±ÈÈçÁ¬½Ó¹¤×÷ÊÒºÍ̫ƽ¼äµÄÊÇÍÆÃÅ£¬Ö°Ô±Ö»ÄÜ´Ó¹¤×÷ÊÒ×ßµ½Ì«Æ½¼ä£¬²»ÄÜ´Ó̫ƽ¼ä×ßµ½¹¤×÷ÊÒ£¨ÕâÌ«ÏÅÈËÁË£©¡£“°¼²ÛÃÅ”ÊÇË«ÏòµÄ£º±ÈÈçÁ¬½Ó¹¤×÷ÊÒºÍÐÝÏ¢ÊÒµÄÃÅÊǰ¼²ÛÃÅ£¬Ö°Ô±¿ÉÒÔ×ßÀ´×ßÈ¥¡£
ʱ¼äƬ(time slice)£ºÕâ¸ö¹«Ë¾µÄ¹¤×ÊÌØ±ð¸ß£¬°´¹¤×÷µÄСʱÊý¼ÆËã¡£¹¤×÷ÕßµÃÇ®£¬²»¹¤×÷Õß²»µÃÇ®¡£ËùÒÔ£¬ËùÓеÄÈ˶¼ÌØÏëÈ¥°ì¹«×ÀÄÇÀ﹤×÷£¬Õù×ÅÇÀ×ÅҪȥ¡£ÎªÁËÈôó¼Ò¶¼Óлú»áÈ¥¹¤×÷£¨±ÜÃâÓеÄÈËûǮÄ㬶öËÀ£¬i.e. starve to death£©£¬ËùÒÔ¹«Ë¾³öÁËÌõ¹æ¶¨£¬Ã¿¸öÈËÿ´Î¹¤×÷µÄʱ¼ä²»Äܳ¬¹ý¹«Ë¾·Ö¸ø×Ô¼ºµÄʱ¼äƬ£¨time slice£©¡£Ê±¼äƬµÄ´óСÓÉ´ËÈ˵ÄÖ°³Æ¾ö¶¨¡£
Ö°³Æ£¨Ò²¾ÍÊÇÄÚºËÖеÄpriority£©£ºÖ°³ÆÓÐÁ½ÖÖ£¬Ò»ÖÖÊǾ²Ì¬Ö°³Æ£¨static priority£©£¬Ò»ÖÖÊǶ¯Ì¬Ö°³Æ£¨dynamic priority£©¡£¾²Ì¬Ö°³ÆÊÇÏÈÌìµÄ£¬ÓÉ´ËÈ˵ÄÀϰ־ö¶¨£¨¸»¶þ´úÓÐÏÈÌìÓÅÊÆ£¡£©¡£¶¯Ì¬ÓÅÏȼ¶ÊÇ¿´ÔÚ¹«Ë¾ÀïµÄ¹¤×÷±íÏֵġ£Ö°³ÆÊǺÜÖØÒªµÄ¶«Î÷£¬Ö°³ÆÔ½¸ß£¬Äãµ½°ì¹«×ÀÉÏ׬ǮµÄ»ú»áÔ½´ó¡£
ĬÈÏʱ¼äƬ³¤µãºÃ»¹ÊǶ̵ãºÃ£¿
×ÔÈ»ÊDz»³¤²»¶ÌºÃ£¨ÊÀ½çÉϵÄÊÂÇé¶¼ÊÇÕâÑù£©¡£Èç¹ûÌ«¶ÌÁË£¬±ÈÈç˵ijְԱʱ¼äƬÊÇ1·ÖÖÓ£¨¶ÔÓ¦µÄLi


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

Linux fork()º¯Êýѧϰ

    ÔÚ UNIX ϵͳÖУ¬Óû§´´½¨Ò»¸öнø³ÌµÄΨһ·½·¨¾ÍÊǵ÷ÓÃϵͳµ÷Óà fork¡£µ÷ Óà fork µÄ½ø³Ì³ÆÎª¸¸½ø³Ì£¬¶øÐ´´½¨µÄ½ø³Ì½Ð×ö×Ó½ø³Ì¡£ÏµÍ³µ÷ÓõÄÓï·¨¸ñʽ£º
    pid = fork();
    ÔÚ´Óϵͳµ÷Óà fork Öзµ»ØÊ±£¬Á½¸ö½ø³Ì³ýÁË·µ»ØÖµ pid ²»Í¬Í⣬¾ßÓÐÍêȫһÑùµÄÓû§¼¶ÉÏÏÂÎ ......

linuxÄÚºËÉý¼¶²½Öè

1¡£ÏÂÔØ2.6.9µÄÄÚºË
2¡£ÔÚ/usr/srcĿ¼Ï½âѹÄÚºË
tar zvxf /ÏÂÔØµÄ·¾¶/linux-2.6.0.tar.gz
 
3¡£ÅäÖÃ
# make mrproper
# make menuconfig
make mrproper ÊÇÇåÀí´úÂëÊ÷µÄ¶¯×÷£¬±£Ö¤Ô´´úÂëÊǸɾ»µÄ
4.±àÒë
make
5¡£°²×°
make modules_install
make install
 
¿´À´2¡£6µÄ±àÒëȷʵ±ÈÒÔ ......

¹ØÓÚLinux¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄ·ÖÎö


 
²é¿´ÎÄÕÂ
 
 
¹ØÓÚLinux¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄ·ÖÎö
2009-12-15 11:44
1.ʲôÊÇ¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×ſ⡣
±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ÏµÍ³ÔØÈëÄÚ´æÖ´ÐС£
ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£
±¾ÎĽöÏÞÓÚ½éÉÜlinuxϵĿâ ......

ÉîÈëÀí½âLinux kernel£¨Äںˣ©ÖеÄsignalº¯Êý

ÔÚLinuxÄں˴úÂëÖУ¬ÓÐÒ»¸öÐźŴ¦Àí°ó¶¨Æ÷º¯Êýsignal£¬Ëüµ½Ô­ÐͶ¨ÒåÈçÏ£¬Í¨¹ýman 2 signal¿ÉÒԲ鿴ÆäÔ­ÐÍ¡£
#include <signal.h>
typedef void (*sighandler_t)(int);    (1)
sighandler_t signal(int signum,sighandler_t handler);    (2)
µÚÒ»¾äÊǰüº¬Í·Îļþ£¬µÚ¶þ¾äÊÇÀàÐͶ¨Ò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ