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

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®½ø³Ì1

½ø³ÌÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý£¬Êdzä·ÖÃèÊö³ÌÐòÒѾ­Ö´Ðе½ºÎÖ̶ֳȵÄÊý¾Ý½á¹¹µÄ»ã¼¯¡£ÔÚlinuxÖУ¬³£½«½ø³Ì³ÆÎªÈÎÎñ£¨task£©»òÕßỊ̈߳¨thread£©¡£½ø³ÌµÄÄ¿µÄ¾ÍÊdzе£·ÖÅäϵͳ×ÊÔ´µÄʵÌå¡£
µ±Ò»¸ö½ø³Ì´´½¨Ê±£¬¼¸ºõÓ븸½ø³ÌÏàͬ¡£½ÓÊܸ¸½ø³ÌµØÖ·¿Õ¼äµÄÒ»¸öÂß¼­¿½±´£¬²¢´Ó½ø³Ì´´½¨ÏµÍ³µ÷ÓõÄÏÂÒ»ÌõÖ¸ÁʼִÐÐÓ븸½ø³ÌÏàͬµÄ´úÂë¡£¾¡¹Ü¸¸×Ó½ø³Ì¿ÉÒÔ¹²Ïíº¬ÓгÌÐò´úÂëµÄÒ³£¬µ«ÊÇËüÃǸ÷×ÔÓжÀÁ¢µÄÊý¾Ý¿½±´£¨Õ»ºÍ¶Ñ£©£¬Òò´Ë×Ó½ø³Ì¶ÔÒ»¸öÄÚ´æµ¥ÔªµÄÐ޸ĶԸ¸½ø³ÌÊDz»¿É¼ûµÄ¡£
linuxʹÓÃÇáÁ¿¼¶½ø³Ì£¨lightwetght process£©¶Ô¶àÏß³ÌÓ¦ÓóÌÐòÌṩ¸üºÃµÄÖ§³Ö¡£Á½¸öÇáÁ¿¼¶½ø³Ì»ù±¾ÉÏ¿ÉÒÔ¹²ÏíһЩ×ÊÔ´£¬ÖîÈçµØÖ·¿Õ¼ä¡¢´ò¿ªµÄÎļþµÈµÈ¡£Ö»ÒªÆäÖÐÒ»¸öÐ޸Ĺ²Ïí×ÊÔ´£¬ÁíÒ»¸ö¾ÍÁ¢¼´²é¿´ÕâÖÖÐ޸ġ£Á½¸öÏ̷߳ÃÎʹ²Ïí×ÊԴʱ¾Í±ØÐëͬ²½ËüÃÇ×Ô¼º¡£ÊµÏÖ¶àÏß³ÌÓ¦ÓóÌÐòµÄÁíÒ»¸ö¼òµ¥·½Ê½¾ÍÊǰÑÇáÁ¿¼¶½ø³ÌÓëÿ¸öÏ̹߳ØÁªÆðÀ´¡£Ïß³ÌÖ®¼ä¾Í¿ÉÒÔͨ¹ý¼òµ¥µØ¹²ÏíͬһÄÚ´æµØÖ·¿Õ¼ä¡¢Í¬Ò»´ò¿ªÎļþ¼¯µÈÀ´·ÃÎÊÏàͬµÄÓ¦ÓóÌÐòÊý¾Ý½á¹¹¼¯£»Í¬Ê±£¬Ã¿¸öÏ̶߳¼¿ÉÒÔÓÉÄں˶ÀÁ¢µ÷¶È£¬ÒÔ±ãÓÚÒ»¸ö˯ÃßµÄͬʱÁíÒ»¸öÈÔÈ»ÊÇ¿ÉÒÔÔËÐеġ£
ÃèÊö½ø³ÌÊý¾Ý½á¹¹µÄÊÇtask_struct,ËüµÄ×ֶΰüº¬ÁËÓëÒ»¸ö½ø³ÌÏà¹ØµÄËùÓÐÐÅÏ¢¡£/include/linux/sched.h
½ø³ÌµÄ״̬ºÍ½ø³ÌµÄ¸¸£¯×Ó¼ä¹ØÏµ
½ø³Ì״̬£º
½ø³ÌÃèÊö·ûÖеÄstate×Ö¶ÎÃèÊöÁ˽ø³Ìµ±Ç°Ëù´¦µÄ״̬¡£ÓÉÒ»×é±êÖ¾×é³É£¬ÆäÖÐÿ¸ö±êÖ¾ÃèÊöÒ»ÖÖ¿ÉÄܵĽø³Ì״̬¡£ÕâЩ״̬ÊÇ»¥³â£¬Òò´ËÖ»ÄÜÉèÖÃÒ»ÖÖ״̬£¬ÆäÓàµÄ±êÖ¾½«±»Çå³ý¡£
#define TASK_RUNNING            0    
¿ÉÔËÐÐ״̬£¬½ø³ÌҪôÔÚcpuÉÏÖ´ÐУ¬ÒªÃ´×¼±¸Ö´ÐС£
#define TASK_INTERRUPTIBLE      1    
¿ÉÖжϵȴý״̬£¬½ø³Ì±»¹ÒÆð£¨Ë¯Ãߣ©£¬Ö±µ½Ä³¸öÌõ¼þ±äÎªÕæ¡£²úÉúÒ»¸öÓ²¼þÖжϣ¬ÊͷŽø³ÌÕýµÈ´ýµÄϵͳ×ÊÔ´£¬»ò´«µÝÒ»¸öÐźŶ¼ÊÇ¿ÉÒÔ»½Ðѽø³ÌµÄÌõ¼þ£¨°Ñ½ø³ÌµÄ״̬·Å»Øµ½TASK_RUNNING£©.
#define TASK_UNINTERRUPTIBLE    2
²»¿ÉÖжϵĵȴý״̬£¬Óë¿ÉÖжϵĵȴý״̬ÀàËÆ£¬µ£ÓÇÒ»¸öÀýÍ⣬°ÑÐźŴ«µÝµ½Ë¯Ãß½ø³Ì²»ÄܸıäËüµÄ״̬¡£ÕâÖÖ״̬ºÜÉÙÓõ½£¬µ«ÔÚÒ»Ð©ÌØ¶¨µÄÇé¿öÏ£¨½ø³Ì±ØÐëµÈ´ý£¬Ö±µ½Ò»¸ö²»Äܱ»ÖжϵÄʼþ·¢Éú£©£¬ÕâÖÖ״̬ÊǺÜÓÐÓõġ£ÀýÈ磬µ±½ø³Ì´ò¿ªÒ»¸öÉ豸Îļþ£¬ÆäÏàÓ¦µÄÉ豸Çý¶¯³ÌÐò¿ªÊ¼Ì½²âÏàÓ¦µÄÓ²¼þÉ豸ʱ»áÓõ½ÕâÖÖ״̬¡£Ì½²âÍê³ÉÒÔǰ£¬É豸Çý


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

Linux Òýµ¼¹ý³ÌÄÚÄ»

Òýµ¼ Linux® ϵͳµÄ¹ý³Ì°üÀ¨ºÜ¶à½×¶Î¡£²»¹ÜÄúÊÇÒýµ¼Ò»¸ö±ê×¼µÄ x86 ×ÀÃæÏµÍ³£¬»¹ÊÇÒýµ¼Ò»Ì¨Ç¶ÈëʽµÄ
PowerPC® »úÆ÷£¬ºÜ¶àÁ÷³Ì¶¼¾ªÈ˵ØÏàËÆ¡£±¾ÎĽ«Ì½Ë÷ Linux
µÄÒýµ¼¹ý³Ì£¬´Ó×î³õµÄÒýµ¼µ½Æô¶¯µÚÒ»¸öÓû§¿Õ¼äÓ¦ÓóÌÐò¡£ÔÚ±¾ÎĽéÉܵĹý³ÌÖУ¬Äú½«Ñ§Ï°µ½¸÷ÖÖÓëÒýµ¼ÓйصÄÖ÷Ì⣬ÀýÈçÒýµ¼¼ÓÔØ³ÌÐò¡¢Äں˽âѹ¡¢³õʼ
RA ......

Linux»ù´¡Ñ§Ï°

1¡¢linux·ÖÇø
--ÔÚlinuxÀïÃæËùÓеÄÉ豸¡¢Èκζ«Î÷£¬ÔÚlinux¿´À´¶¼ÊÇÎļþ¡£
--ÎļþÔÚËü¿´À´£¬ÓÐÁ½ÖÖÐÎʽ£º
  µÚÒ»ÖÖÊÇ×Ö·ûÐÍ£¨¼üÅÌÊäÈë¡¢´òÓ¡»ú£©£»
  µÚ¶þÖÖÊǶþ½øÖÆÐÍ£¨Ó²ÅÌ¡¢¹âÇý¡¢UÅÌ£©
--linuxÖÐËùÓÐÓ²¼þ
--ÊÖ¶¯·ÖÇø
--A¡¢ÖÁÉÙÓÐÁ½¸ö·ÖÇø
  /    ¸ù·ÖÇø
  SWAP ½ ......

LinuxϵÄÊý¾ÝÀàÐÍ

ÄÚºËʹÓõĻù±¾Êý¾ÝÀàÐÍÖ÷ÒªÓУº int £º ±ê×¼µÄCÓïÑÔÕûÊýÀàÐÍ u32 £º 32λÕûÊýÀàÐÍ pid_t £º ÌØ¶¨Äں˶ÔÏópidµÄÀàÐÍ ÔÚ²»Í¬CPUÌåϵ½á¹¹ÉÏ£¬CÓïÑÔµÄÊý¾ÝÀàÐÍËùÕ¼ÓõĿռäÊDz»Ò»ÑùµÄ¡£ÔÚx86ϵÁнṹÏ£¬Êý¾ÝÀàÐÍÕ¼ÓõÄ×Ö½ÚÊýÈçϱíËùʾ£º arch char short int long ptr ......

LinuxϵĶδíÎóµÄÔ­Òò¼°µ÷ÊÔ

¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,
¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄ
gdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ