Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

²é¿´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Ê®´óÃâ·ÑÊÓÆµ±à¼­Èí¼þ´ó·ÅËÍ


¡¡¡¡ÔÚLinuxÕóÓªÀºóÆðÖ®ÐãUbuntu Linuxµ±ÊôÆäÖеÄٮٮÕß¡£ÔÚUbuntu LinuxÖÐȱʡ°²×°µÄÓ¦ÓóÌÐòÖ÷Òª°üÀ¨ÁË×ÀÃæ»·¾³GNOME¡¢»æÍ¼³ÌÐòGIMP¡¢¼´Ê±Í¨Ñ¶¹¤¾ßPidgin¡¢°ì¹«Ì×¼þOpenOffice.org¡¢Ã½Ìå²¥·ÅÆ÷Totem¡¢ÒôÀÖ²¥·ÅÆ÷RhythmboxÒÔ¼°ÍøÒ³ä¯ÀÀÆ÷FirefoxµÈ¡£ÒªÖ´ÐÐÊÓÆµ±à¼­¡¢BTÏÂÔØºÍ3DͼÐÎÉè¼ÆµÈÈÎÎñÍùÍùÐèÒª½èÖúÓÚµÚÈý·½Èí¼ ......

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