linux½ø³Ì¹ÜÀíÖ®½ø³Ì´´½¨
Ëùν½ø³Ì¾ÍÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý. ËüÊÇÏÖ´ú²Ù×÷ϵͳÖÐÒ»¸öºÜÖØÒªµÄ³éÏó,ÎÒÃÇ´Ó½ø³ÌµÄÉúÃüÖÜÆÚ:´´½¨,Ö´ÐÐ,ÏûÍöÀ´·ÖÎöÒ»ÏÂLinuxÉϵĽø³Ì¹ÜÀíʵÏÖ.
Ò»:ǰÑÔ
½ø³Ì¹ÜÀí½á¹¹;
ÔÚÄÚºËÖÐ,ÿһ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask.¾ÍÊÇÒÔǰËù½²µÄPCB.ËüµÄ½á¹¹ÈçÏÂ(include/linux/sched.h):
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
void *stack;
atomic_t usage;
unsigned int flags; /* per process flags, defined below */
unsigned int ptrace;
int lock_depth; /* BKL lock depth */
……
……
}
ÓÉÓÚÕâ¸ö½á¹¹°üº¬Á˽ø³ÌµÄËùÓÐÐÅÏ¢,ËùÒÔÊ®·ÖÅÓ´ó,ÎÒÃÇÔÚÒÔºóµÄ·ÖÎöÖÐÔÙÀ´·ÖÎö¸÷³ÉÔ±µÄº¬Òå¡£
Task_structµÄ´æ·Å£º
ÔÚϵͳÔËÐйý³ÌÖУ¬½ø³ÌÇл»Ê®·ÖƵ·±£¬ËùÒÔÎÒÃÇÐèÒªÒ»ÖÖ·½Ê½Äܹ»¿ìËÙ»ñµÃµ±Ç°½ø³ÌµÄtask_struct¡£linuxµÄtask_struct´æ·ÅÈçÏÂͼËùʾ£º
ÈçÉÏͼËùʾ£º½ø³ÌÄں˶ÑÕ»µ×²¿´æ·Å×Åstruct thread_struct.¸Ã½á¹¹ÖÐÓÐÒ»¸ö³ÉÔ±Ö¸Ïòµ±Ç°½ø³ÌµÄtask_struct.ÔÚÄÚºËÖÐÓÐÒ»¸ö»ñÈ¡µ±Ç°½ø³ÌµÄthread_struct µÄºê¡£ËüµÄ¶¨ÒåÈçÏ£º
#define GET_THREAD_INFO(reg)
movl $THREAD, reg;
andl %esp, reg
THREAD_SIZE¶¨ÒåÈçÏ£º
#ifdef CONFIG_4KSTACKS
#define THREAD_SIZE (4096)
#else
#define THREAD_SIZE (8192)
#endif
ÎÒÃÇÌÖÂÛ³£¹æµÄ8KÕ»µÄÇé¿ö¡£-THREAD_SIZE¼´Îª£º0xFFFFE000.ÒòΪջ±¾ÉíÊÇÒ³Ãæ¶ÔÆëµÄ.ËùÒÔÖ»Òª°ÑµÍ13λÆÁ±×µô¾ÍÊÇthread_struct.µÄµØÖ·.
½ø³ÌÁ´±í:
ÿһ¸ö½ø³Ì¶¼Óи¸½ø³Ì,ÏàÓ¦µÄÿ¸ö½ø³Ì¶¼»á¹ÜÀí×Ô¼ºµÄ×Ó½ø³Ì.ÔÚlinuxϵͳÖÐ,ËùÓнø³Ì¶¼ÊÇÓÉinit½ø³ÌÅÉÉú¶øÀ´.init½ø³ÌµÄ½ø³ÌÃèÊö·ûÓÉinit_task¾²Ì¬Éú³É.ËüµÄ¶¨ÒåÈçÏÂËùʾ:
struct task_struct init_task = INIT_TASK(init_task);
#define INIT_TASK(tsk)
{ &nbs
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
1. ²½ÖèÒ»
·¨Ò»£ºÐÞ¸Äϵͳ±àÒëʱҪÓõ½µÄConfig.in£¬Ôö¼ÓÄãÒªÓõÄÈ«¾Ö±äÁ¿
·¨¶þ£ºÐ´Ò»¸ö×Ô¼ºµÄConfig.in,È»ºóÔÚÆäËû»á±àÒëµ½µÄConfig.inÖаüº¬
2.²½Öè¶þ
make menuconfig
Ö®ºóÔÚÉú³ÉµÄ.configÖУ¬¾Í¿ÉÒÔgrepµ½ÐÂÌí¼ÓµÄ±äÁ¿ÁË
3.²½ÖèÈý
ÔÚMakefileÖоͿÉÒÔÓÃÕâ¸ö±äÁ¿ÁË¡£ ......
linuxÏÂÏë½âѹrarÎļþ ±ØÐë°²×°Èí¼þ£¬ÎÒʹÓõ½ÊÇrarlinux
ÏÂÃæÊÇÏÂÔØµØÖ·
rarlinux¹Ù·½ÍøÕ¾ÏÂÔØµØÖ·
http://www.rarsoft.com/download.htm
°²×° ......