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
Ïà¹ØÎĵµ£º
¢Ùmallocº¯Êý
ÔÐÍ£ºextern void *malloc(unsigned int num_bytes);
Í·Îļþ£º#include <alloc.h>
¹¦ÄÜ£º·ÖÅ䳤¶ÈΪnum_bytes×Ö½ÚµÄÄÚ´æ¿é¡£
˵Ã÷£ºÈç¹û·ÖÅä³É¹¦Ôò·µ»ØÖ¸Ïò±»·ÖÅäÄÚ´æµÄÖ¸Õ룬·ñÔò·µ»Ø¿ÕÖ¸ÕëNULL¡£µ±ÄÚ´æ²»ÔÙʹÓÃʱ£¬Ó¦Ê¹ÓÃfree()º¯Êý½«ÄÚ´æ¿éÊÍ·Å¡£
¾ÙÀý£º
#inclu ......
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆÎªÄںˣ¬²¢ÔÚÌØÈ¨Ä£Ê½ÏÂÔËÐС£ËüÓë΢ÐÍÄÚºË ²»Í¬£¬ºóÕßÖ»°Ñ»ù±¾µÄ¹¦ÄÜ£¨½ø³Ì¼äͨÐÅ [IPC]¡¢µ÷¶È¡¢»ù±¾µÄÊäÈë/Êä³ö [I/O] ºÍÄÚ´æ¹ÜÀí£©µ±×÷ÄÚºËÔËÐУ¬¶ø°ÑÆäËû¹¦ÄÜ£¨Çý¶¯³ÌÐò¡¢ÍøÂç¶ÑÕ»ºÍÎļþϵͳ£©ÅųýÔÚÌØÈ¨¿Õ¼äÖ®Íâ¡£Òò´Ë£¬Äú¿ÉÄÜÈ ......
×÷ÕߣºSheryl Calish
¼òµ¥½éÉÜÕâÒ»ÎÞ´¦²»ÔÚµÄÃüÁîµÄÇ¿´óµÄ·½ÃæÒÔ¼°»ìÂҵķ½Ãæ¡£
2008 Äê 7 Ô·¢²¼
Linux find
ÃüÁîÊÇËùÓÐ Linux ÃüÁîÖÐ×îÓÐÓõÄÒ»¸ö£¬Í¬Ê±Ò²ÊÇ×î»ìÂÒµÄÒ»¸ö¡£ËüºÜÄÑ£¬ÒòΪËüµÄÓï·¨ÓëÆäËû Linux ÃüÁîµÄ±ê×¼Óï·¨²»Í¬¡£µ«ÊÇ£¬ËüºÜÇ¿´ó£¬ÒòΪËüÔÊÐíÄú°´ÎļþÃû¡¢ÎļþÀàÐÍ¡¢Óû§ÉõÖÁÊÇʱ¼ä´Á²éÕÒÎļþ¡£Ê¹Óà ......
MBR£¨Master Boot Recorder£©Ö÷Òª¿ª»úÉÈÇø,·ÅÖÃÓ²Å̵ÄÐÅÏ¢¡£MBR ¿ÉÒÔ˵ÊÇÕû¸öÓ²ÅÌ×îÖØ
ÒªµÄµØ·½ÁË£¬ÒòΪÔÚ MBR ÀïÃæ¼Ç¼ÁËÁ½¸öÖØÒªµÄ¶«Î÷£¬·Ö±ðÊÇ£º¿ª»ú¹ÜÀí³ÌÐò£¬Óë´ÅÅÌ·Ö>Çø±í ( partition table )¡£ËùÒÔÎÒÃÇËù×öµÄÓ²ÅÌ·ÖÇø£¬Ò²¾ÍÊÇÔÚÐÞ¸Äpartition table¡£
ÓÉÓÚÕâ¸ö MBR Çø¿éµÄÈÝÁ¿ÓÐÏÞ£¬ËùÒÔ£¬µ±³õÉè¼ÆµÄʱºò£¬¾ÍÖ ......