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)
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
MBR£¨Master Boot Recorder£©Ö÷Òª¿ª»úÉÈÇø,·ÅÖÃÓ²Å̵ÄÐÅÏ¢¡£MBR ¿ÉÒÔ˵ÊÇÕû¸öÓ²ÅÌ×îÖØ
ÒªµÄµØ·½ÁË£¬ÒòΪÔÚ MBR ÀïÃæ¼Ç¼ÁËÁ½¸öÖØÒªµÄ¶«Î÷£¬·Ö±ðÊÇ£º¿ª»ú¹ÜÀí³ÌÐò£¬Óë´ÅÅÌ·Ö>Çø±í ( partition table )¡£ËùÒÔÎÒÃÇËù×öµÄÓ²ÅÌ·ÖÇø£¬Ò²¾ÍÊÇÔÚÐÞ¸Äpartition table¡£
ÓÉÓÚÕâ¸ö MBR Çø¿éµÄÈÝÁ¿ÓÐÏÞ£¬ËùÒÔ£¬µ±³õÉè¼ÆµÄʱºò£¬¾ÍÖ ......
×î½üҪתȥ×ö²âÊÔÁË£¬¹«Ë¾Õý×¼±¸£¬´´½¨²âÊÔ×飬ºÜ¶à·þÎñÆ÷¿ÉÄܶ¼ÐèÒª×Ô¼ºÈ¥ÅäÖ㬷þÎñÆ÷µÄÆð²½¾ÍÊÇÒªÁ˽â
¶¼ÓжàÉÙ¸ö°æ±¾µÄlinux£¬¶¼ÊÇÕë¶ÔÄÄЩ·½ÃæµÄ¡£Ï£ÍûÕâЩҲ¶Ô¸ÕÈëÃÅÏëתÓÃlinuxµÄÈËÃÇÓÐËù°ïÖú£¡
Linux×îÔçÓÉLinus Benedict TorvaldsÔÚ1991Ä꿪ʼ±àд¡£ÔÚÕâ֮ǰ£¬Richard Stallman´´½¨ÁËFree Software Foundation£¨ ......
É¢ÁУ¨hash£©º¯Êý²¢²»×ÜÄÜÈ·±£pidÓë±íË÷ÒýÒ»Ò»¶ÔÓ¦¡£Á½¸ö²»Í¬µÄpidÉ¢Áе½ÏàͬµÄ±íË÷Òý³ÆÎª³åÍ»£¨colliding£©,linuxÀûÓÃÁ´±íÀ´´¦Àí³åÍ»µÄpid,ÿһ¸ö±íÏîÊÇÓɳåÍ»µÄ½ø³ÌÃèÊö·û×é³ÉµÄË«ÏòÁ´±í¡£
pidÉ¢ÁбíµÄÊý¾Ý½á¹¹½â¾öÁËËùÓÐÕâЩÄÑÌ⣬ËûÃÇ¿ÉÒÔΪ°üº¬ÔÚÒ»¸öÉ¢ÁбíÖеÄÈκÎpidºÅ¶¨Òå½ø³ÌÁ´±í¡£×îÖ÷ÒªµÄÊý¾Ý½á¹¹ÊÇËĸöpid½á ......