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

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

µÈ´ý¶ÓÁÐÔÚÄÚºËÖкܶàÓÃ;£¬ÓÈÆäÓÃÔÚÖжϴ¦Àí¡¢½ø³Ìͬ²½¼°¶¨Ê±¡£µÈ´ý¶ÓÁÐʵÏÖÁËÔÚʼþÉϵÄÌõ¼þµÈ´ý£ºÏ£ÍûµÈ´ýÌØ¶¨Ê¼þµÄ½ø³Ì°Ñ×Ô¼º·Å½øºÏÊʵĵȴý¶ÓÁУ¬²¢·ÅÆú¿ØÖÆÈ¨¡£Òò´Ë£¬µÈ´ý¶ÓÁбíʾһ×é˯ÃߵĽø³Ì£¬µ±Ä³Ò»Ìõ¼þ±äÎªÕæÊ±£¬ÓÉÄں˻½ÐÑËüÃÇ¡£
µÈ´ý¶ÓÁÐÓÉË«ÏòÁ´±íʵÏÖ£¬ÆäÔªËØ°üÀ¨Ö¸Ïò½ø³ÌÃèÊö·ûµÄÖ¸Õ롣ÿ¸ö¶ÓÁж¼ÓÐÒ»¸öµÈ´ý¶ÓÁÐÍ·£¬µÈ´ý¶ÓÁÐÍ·ÊÇÒ»¸öÀàÐÍΪwait_queue_head_tµÄÊý¾Ý½á¹¹¡£
struct __wait_queue_head {
        spinlock_t lock;
        struct list_head task_list;
};
typedef struct __wait_queue_head wait_queue_head_t;
µÈ´ý¶ÓÁÐÓÉÖжϴ¦Àí³ÌÐòºÍÖ÷ÒªÄں˺¯ÊýÐ޸ġ£Í¬²½ÊÇͨ¹ýµÈ´ý¶ÓÁÐÍ·ÖеÄlock×ÔÐýËø´ïµ½µÄ£¬task_list×Ö¶ÎÊǵȴý½ø³ÌÁ´±íµÄÍ·¡£
µÈ´ý¶ÓÁÐÁ´±íÖеÄÔªËØÀàÐÍΪwait_queue_t:
struct __wait_queue {
        unsigned int flags;
#define WQ_FLAG_EXCLUSIVE       0x01
        struct task_struct * task;
        wait_queue_func_t func;
        struct list_head task_list;
};
ÿ¸öÔªËØ´ú±íÒ»¸ö˯Ãß½ø³Ì£¬¸Ã½ø³ÌµÈ´ýijһʼþµÄ·¢Éú£¬ËüµÄÃèÊö·ûµØÖ··ÅÔÚtask×Ö¶ÎÖС£task_list×Ö¶ÎÖаüº¬µÄÊÇÖ¸Õ룬ÓÉÕâ¸öÖ¸Õë°ÑÒ»¸öÔªËØÁ¬½Óµ½µÈ´ýÏàͬʱ¼äµÄ½ø³ÌÁ´±íÖС£
ÓÐÁ½ÖÖ˯Ãߣº»¥³â½ø³Ì£¨µÈ´ý¶ÓÁÐÔªËØµÄflags×Ö¶ÎΪ1£©ÓÉÄÚºËÓÐÑ¡ÔñµØ»½ÐÑ£¬¶ø·Ç»¥³â½ø³Ì£¨flagsÊýֵΪ1£©×ÜÊÇÓÉÄÚºËÔÚʼþ·¢Éúʱ»½ÐÑ¡£
#define __WAIT_QUEUE_HEAD_INITIALIZER(name) {                           \
        .lock           = SPIN_LOCK_UNLOCKED,                           \
        .task_list      = { &(name)


Ïà¹ØÎĵµ£º

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

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

ACEÖеÄThread MutexÔÚlinuxϵÄʹÓÃ

ACE¿âÖÐרÃŶÔÏß³Ìͬ²½ÌṩÁËÁ½¸öÀ࣬һ¸öÊÇACE_Thread_MutexÁíÒ»¸öÊÇACE_REcursive_Thread_Mutex¡£ ÔÚÎÒ¿´ À´£¬ÔÚlinuxϽøÐÐÏß³Ìͬ²½£¬²»ÒªÊ¹ÓÃACE_Thread_Mutex£¬ÓÃACE_REcursive_Thread_Mutex¾Í¿ÉÒÔÁË¡£Ô­ÒòºÜ ¼òµ¥£¬ÒòΪACE_Thread_Mutex²»Ö§³ÖÏß³ÌÖØÈë¡£Ò»µ©ÖØÈë(ͬһ¸öÏ̵߳÷ÓÃÁ½´ÎACE_Thread_Mutex: ......

ÇÉÓÃcfengine¹ÜÀílinux·þÎñÆ÷(ת)

cfengine£¨ÅäÖÃÒýÇæ£©ÊÇÒ»ÖÖ UNIX ¹ÜÀí¹¤¾ß£¬ÆäÄ¿µÄÊÇʹ¼òµ¥µÄ¹ÜÀíµÄÈÎÎñ×Ô¶¯»¯£¬Ê¹À§ÄѵÄÈÎÎñ±äµÃ½ÏÈÝÒס£Cfengine
ÊÊÓÃÓÚ¹ÜÀí¸÷ÖÖ»·¾³£¬´Óһ̨Ö÷»úµ½ÉÏÍǫ̀Ö÷»úµÄ»úȺ¾ù¿ÉʹÓᣵ½2.2 °æ±¾ÎªÖ¹£¬ÎÒÃÇÏÖÔÚËùÖªµÄÓÃÓÚÒ»°ãÐÔ¹ÜÀíµÄ×î´ó°²×°»úȺԼΪ20£¬000 ̨¡£
  Í¼-1 ÊÇCfengine µÄ×é³É²¿·ÖµÄ¹ØÏµÍ¼ ¡£
  ......

°²×°linux³öÏÖ¡°²»ÄÜ»®²¦Ëù·ÖÅäµÄ·ÖÇø¡±½â¾ö

MBR£¨Master Boot Recorder£©Ö÷Òª¿ª»úÉÈÇø,·ÅÖÃÓ²Å̵ÄÐÅÏ¢¡£MBR ¿ÉÒÔ˵ÊÇÕû¸öÓ²ÅÌ×îÖØ
ÒªµÄµØ·½ÁË£¬ÒòΪÔÚ MBR ÀïÃæ¼Ç¼ÁËÁ½¸öÖØÒªµÄ¶«Î÷£¬·Ö±ðÊÇ£º¿ª»ú¹ÜÀí³ÌÐò£¬Óë´ÅÅÌ·Ö>Çø±í ( partition table )¡£ËùÒÔÎÒÃÇËù×öµÄÓ²ÅÌ·ÖÇø£¬Ò²¾ÍÊÇÔÚÐÞ¸Äpartition table¡£
ÓÉÓÚÕâ¸ö MBR Çø¿éµÄÈÝÁ¿ÓÐÏÞ£¬ËùÒÔ£¬µ±³õÉè¼ÆµÄʱºò£¬¾ÍÖ ......

unix/linuxÏµĹ²ÏíÄÚ´æ¡¢ÐźÅÁ¿¡¢¶ÓÁÐÐÅÏ¢¹ÜÀí

ÔÚunix/linuxÏ£¬¾­³£ÓÐÒòΪ¹²ÏíÄÚ´æ¡¢ÐźÅÁ¿£¬¶ÓÁеȹ²ÏíÐÅϢûÓиɾ»µØÇå³þ¶øÒýÆðһЩÎÊÌâ¡£
²é¿´¹²ÏíÐÅÏ¢µÄÄÚ´æµÄÃüÁîÊÇipcs [-m|-s|-q]¡£
ĬÈÏ»áÁгö¹²ÏíÄÚ´æ¡¢ÐźÅÁ¿£¬¶ÓÁÐÐÅÏ¢£¬-mÁгö¹²ÏíÄڴ棬-sÁгö¹²ÏíÐźÅÁ¿£¬-qÁгö¹²Ïí¶ÓÁС£
ÔõÑùÇå³þÄØ£¿
Çå³þÃüÁîÊÇipcrm [-m|-s|-q] id¡£
-m ɾ³ý¹²ÏíÄڴ棬-sɾ³ý¹²ÏíÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ