Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

²é¿´linux ´íÎóÂëµÄ³ÌÐò

ΪÁË·½±ã²é¿´LinuxϵͳϵĴíÎóÂëÒÔ¼°ËüµÄº¬Ò壬дÁËÒ»¸ö³ÌÐòÀ´´òÓ¡ÕâЩÐÅÏ¢¡£
listerrno.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define MAX_ERRNO 256
int main(int argc, char* argv[])
{
int n = 0;
printf("----------------------- Errno ------------ ......

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

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ºÅ