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

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

ΪÄÚºËѰÕÒнø³ÌÔÚcpuÉÏÔËÐÐʱ£¬±ØÐëÖ»¿¼ÂÇ¿ÉÔËÐнø³Ì£¨TASK_RUNNING£©¡£
Ìá¸ßµ÷¶È³ÌÐòÔËÐÐËٶȵľ÷ÇÏÊǽ¨Á¢¶à¸ö¿ÉÔËÐнø³ÌÁ´±í£¬Ã¿ÖÖ½ø³ÌÓÅÏÈȨ¶ÔÓ¦Ò»¸ö²»Í¬µÄÁ´±í¡£Ã¿¸ötask_structÃèÊö·û°üº¬Ò»¸ölist_headÀàÐ͵Ä×Ö¶Îrun_list¡£Èç¹û½ø³ÌµÄÓÅÏÈȨµÈÓÚk(0-139)£¬run_list×ֶΰѸýø³ÌÁ´ÈëÓÅÏÈȨΪkµÄ¿ÉÔËÐнø³ÌµÄÁ´±íÖС£
Äں˱ØÐëΪϵͳÖÐÿ¸öÔËÐжÓÁб£´æ´óÁ¿µÄÊý¾Ý£¬²»¹ýÔËÐжÓÁеÄÖ÷Òª½á¹¹»¹ÊÇ×é³ÉÔËÐжÓÁеĽø³ÌÃèÊö·û±í£¬ËùÓÐÕâЩÁ´±í¶¼ÓÉÒ»¸öµ¥¶ÀµÄprio_array_tÊý¾Ý½á¹¹À´ÊµÏÖ¡£
185 struct prio_array {
186         unsigned int nr_active;             Á´±íÖнø³ÌÃèÊö·ûµÄÊýÁ¿
187         unsigned long bitmap[BITMAP_SIZE];  ÓÅÏÈȨλͼ£ºµ±ÇÒ½öµ±Ä³¸öÓÅÏÈȨµÄ½ø³ÌÁ´±í²»Îª¿ÕʱÉèÖÃÏàÓ¦µÄλ±êÖ¾
188         struct list_head queue[MAX_PRIO];   140¸öÓÅÏÈȨ¶ÓÁеÄÍ·½áµã
189 };
static void enqueue_task(struct task_struct *p, prio_array_t *array)
{
        sched_info_queued(p);
        list_add_tail(&p->run_list, array->queue + p->prio);
        __set_bit(p->prio, array->bitmap);
        array->nr_active++;
        p->array = array;
}
´Ëº¯Êý½«½ø³ÌÃèÊö·û²åÈëij¸öÔËÐжÓÁÐÁ´±í¡£Óڴ˺¯Êý¶ÔÓ¦µÄÊÇdequeue_task(p,array)
½ø³ÌÃèÊö·ûµÄprio×ֶδæ·Å½ø³ÌµÄ¶¯Ì¬ÓÅÏÈȨ£¬¶øarray×Ö¶ÎÔòÊÇÒ»¸öÖ¸Õ룬ָÏòµ±Ç°ÔËÐжÓÁеÄprio_array_tÊý¾Ý½á¹¹¡£
³ÌÐò´´½¨µÄ½ø³Ì¾ßÓи¸/×Ó¹ØÏµ¡£Èç¹ûÒ»¸ö½ø³Ì´´½¨¶à¸ö×Ó½ø³Ìʱ£¬Ôò×Ó½ø³ÌÖ®¼ä¾ßÓÐÐֵܹØÏµ¡£½ø³Ì0ºÍ½ø³Ì1ÊÇÓÉÄں˴´½¨µÄ¡£½ø³Ì1£¨init£©ÊÇËùÓнø³ÌµÄ׿ÏÈ¡£
real_parent:Ö¸Ïò´´½¨ÁËp½ø³ÌµÄÃèÊö·û£¬Èç¹ûpµÄ¸¸½ø³Ì²»ÔÙ´æÔÚ£¬¾ÍÖ¸Ïò½ø³Ì1£¨init£©µÄÃèÊö·û£¨Èç¹ûÓû§ÔËÐÐÒ»¸öºǫ́½ø³Ì¶øÇÒÍ˳öÁËshell,ºǫ́½ø³Ì¾Í»á³ÉΪinitµÄ×Ó½ø³Ì£©
parent£ºÖ¸ÏòpµÄµ±Ç°¸¸½ø³Ì£¨ÕâÖÖ½ø³ÌµÄ×Ó½ø³ÌÖÕֹʱ£¬±ØÐëÏò¸¸½ø³Ì·¢Ðźţ©¡£ËüµÄֵͨ³£Óëreal_par


Ïà¹ØÎĵµ£º

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: ......

linuxĿ¼¼Ü¹¹

linuxĿ¼¼Ü¹¹
/   ¸ùĿ¼
/bin    ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot   ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
     /boot/grub/menu.lst   GRUBÉèÖÃ
     /boot/vmlinuz   ÄÚºË
 & ......

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

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

Linuxƽ̨ÏÂEclipseµÄ°²×°


Linuxƽ̨ÏÂEclipseµÄ°²×°(2007-06-26 09:50:22)
 
·ÖÀࣺËûɽ֮ʯ
 Linuxƽ̨ÏÂEclipseµÄ°²×°
 
    Linuxƽ̨ÏÂEclipseµÄ°²×°2007Äê06ÔÂ15ÈÕ ÐÇÆÚÎå ÉÏÎç 10:04Linuxƽ̨ÏÂEclipseµÄ°²×°
ÏÂÃæÒÔRedhat 4.0ΪÀý¼òµ¥µÄ½éÉÜÒ»ÏÂEclipseµÄ°²×°£º
Ò».ÏÂÔØËùÐèÈí¼þ
1 ÏÂÔØ Eclipse£¬Í ......

Linux C ¿ª·¢»·¾³(debian)

#apt-get install gcc (±àÒëÆ÷)
#apt-get install gdb (µ÷ÊÔ)
#apt-get install libc6-dev (¿ª·¢¿â)
Èç¹ûûÓпª·¢¿â£¬gccµÄʱºò¾Í»á´íÎó
gcc h.c
h.c: In function ‘main’:
h.c:1: warning: incompatible implicit declaration of built-in function ‘prin ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ