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

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


É¢ÁУ¨hash£©º¯Êý²¢²»×ÜÄÜÈ·±£pidÓë±íË÷ÒýÒ»Ò»¶ÔÓ¦¡£Á½¸ö²»Í¬µÄpidÉ¢Áе½ÏàͬµÄ±íË÷Òý³ÆÎª³åÍ»£¨colliding£©,linuxÀûÓÃÁ´±íÀ´´¦Àí³åÍ»µÄpid,ÿһ¸ö±íÏîÊÇÓɳåÍ»µÄ½ø³ÌÃèÊö·û×é³ÉµÄË«ÏòÁ´±í¡£
pidÉ¢ÁбíµÄÊý¾Ý½á¹¹½â¾öÁËËùÓÐÕâЩÄÑÌ⣬ËûÃÇ¿ÉÒÔΪ°üº¬ÔÚÒ»¸öÉ¢ÁбíÖеÄÈκÎpidºÅ¶¨Òå½ø³ÌÁ´±í¡£×îÖ÷ÒªµÄÊý¾Ý½á¹¹ÊÇËĸöpid½á¹¹µÄÊý×飬ËüÔÚ½ø³ÌÃèÊö·ûµÄpid×Ö¶ÎÖС£
struct pid
{
        /* Try to keep pid_chain in the same cacheline as nr for find_pid */
        int nr;pidµÄÊýÖµ
        struct hlist_node pid_chain;/* list of pids with the same nr, only one of them is in the hash */Á´½ÓÉ¢ÁÐÁ´±íµÄÏÂÒ»¸öºÍǰһ¸öÔªËØ
        struct list_head pid_list;ÿ¸öpidµÄ½ø³ÌÁ´±íÍ·
};
»ù±¾ÔË×÷£ºpid_hashÖеÄËĸö»ù±¾ÀàÐͱíÍ·ÕÒµ½tgid¹þÏ£±í£¬È»ºóÕÒµ½¶ÔÓ¦±íÏîÔÙ½øÒ»²½ÕÒµ½½ø³ÌÃèÊö·ûÖеÄpid_chain×ֶΣ¬È»ºó½øÒ»²½ÕÒµ½process descriptorÖеÄpid_chain±íÏȻºóÕÒµ½¹þÏ£±í¡£
´¦ÀípidÉ¢ÁбíµÄº¯ÊýºÍºê£º
#define do_each_task_pid(who, type, task)                               \
        if ((task = find_task_by_pid_type(type, who))) {                \
                prefetch((task)->pids[type].pid_list.next);             \
                do {
#define while_each_task_pid(who, type, task)                            \
           &n


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

LINUXÆÚÄ©¸´Ï° ½ø³ÌÓë½ø³Ì¹ÜÀí

Ò»¡¢LINUXµÄ½ø³Ì״̬ ½©ËÀ̬£ºµ±¸¸½ø³Ì»¹Ã»ÓнáÊøÇ°£¬×Ó½ø³Ì¾ÍÒѾ­ÏȽáÊøÁË£¬Õâʱ×Ó½ø³ÌµÄ×ÊԴûÓÐÈËÀ´»ØÊÕ¡£Í¨³£¸¸½ø³ÌÐèÒªÓÃwaitÀ´µÈ´ý×Ó½ø³ÌµÄ½áÊø¡£
½ø³ÌµÄģʽ£ºÓû§Ä£Ê½(Ö´ÐÐÓû§³ÌÐò)£¬ÄÚºËģʽ(Ö´ÐвÙ×÷ϵͳ´úÂë)
½ø³ÌµÄÀàÐÍ£ºÏµÍ³½ø³Ì£¬Óû§½ø³Ì ¶þ¡¢½ø³Ì¹ÜÀí ¢Ùforkº¯Êý
¹¦ÄÜ£º´´½¨Ò»¸öÈ«Ð嵀 ......

LinuxÉ豸Çý¶¯³ÌÐò ÓëÓ²¼þͨÐÅ18051101072

I/O ¶Ë¿ÚºÍ I/O ÄÚ´æ
ÿÖÖÍâÉè¶¼ÊÇͨ¹ý¶Áд¼Ä´æÆ÷À´½øÐпØÖÆ¡£
ÔÚÓ²¼þ²ã£¬ÄÚ´æÇøºÍ I/O ÇøÓòûÓиÅÄîÉϵÄÇø±ð: ËüÃǶ¼ÊÇͨ¹ýÏòÔÚµØÖ·×ÜÏߺͿØÖÆ×ÜÏß·¢³öµçƽÐźÅÀ´½øÐзÃÎÊ£¬ÔÙͨ¹ýÊý¾Ý×ÜÏß¶ÁдÊý¾Ý¡£
ÒòΪÍâÉèÒªÓëI\O×ÜÏ߯¥Å䣬¶ø´ó²¿·ÖÁ÷ÐÐµÄ I/O ×ÜÏßÊÇ»ùÓÚ¸öÈ˼ÆËã»úÄ£ÐÍ£¨Ö÷ÒªÊÇ x86 ¼Ò×壺ËüΪ¶ÁºÍд I/O ¶Ë¿ÚÌá¹ ......

LinuxÊ®´óÃâ·ÑÊÓÆµ±à¼­Èí¼þ´ó·ÅËÍ


¡¡¡¡ÔÚLinuxÕóÓªÀºóÆðÖ®ÐãUbuntu Linuxµ±ÊôÆäÖеÄٮٮÕß¡£ÔÚUbuntu LinuxÖÐȱʡ°²×°µÄÓ¦ÓóÌÐòÖ÷Òª°üÀ¨ÁË×ÀÃæ»·¾³GNOME¡¢»æÍ¼³ÌÐòGIMP¡¢¼´Ê±Í¨Ñ¶¹¤¾ßPidgin¡¢°ì¹«Ì×¼þOpenOffice.org¡¢Ã½Ìå²¥·ÅÆ÷Totem¡¢ÒôÀÖ²¥·ÅÆ÷RhythmboxÒÔ¼°ÍøÒ³ä¯ÀÀÆ÷FirefoxµÈ¡£ÒªÖ´ÐÐÊÓÆµ±à¼­¡¢BTÏÂÔØºÍ3DͼÐÎÉè¼ÆµÈÈÎÎñÍùÍùÐèÒª½èÖúÓÚµÚÈý·½Èí¼ ......

linuxµÄ¸÷ÖÖ°æ±¾½éÉÜ£¬ÄǸö¸üÊʺÏÄ㣡

×î½üҪתȥ×ö²âÊÔÁË£¬¹«Ë¾Õý×¼±¸£¬´´½¨²âÊÔ×飬ºÜ¶à·þÎñÆ÷¿ÉÄܶ¼ÐèÒª×Ô¼ºÈ¥ÅäÖ㬷þÎñÆ÷µÄÆð²½¾ÍÊÇÒªÁ˽â
¶¼ÓжàÉÙ¸ö°æ±¾µÄlinux£¬¶¼ÊÇÕë¶ÔÄÄЩ·½ÃæµÄ¡£Ï£ÍûÕâЩҲ¶Ô¸ÕÈëÃÅÏëתÓÃlinuxµÄÈËÃÇÓÐËù°ïÖú£¡
Linux×îÔçÓÉLinus Benedict TorvaldsÔÚ1991Ä꿪ʼ±àд¡£ÔÚÕâ֮ǰ£¬Richard Stallman´´½¨ÁËFree Software Foundation£¨ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ