Linux kernel development Chapter2 ½ø³Ì¹ÜÀí
1 ½ø³Ì¹ÜÀíÏà¹Ø´úÂë
1.1 thread_info½á¹¹£¬ÔÚÎļþ<asm/thread_info.h>Öж¨Òå
struct thread_info {
struct task_struct *task;
struct exec_domain *exec_domain£»
unsigned long flags;
__u32 cpu;
__s32 preempt_count;
mm_segment_t addr_limit;
u8 supervisor_stack[0];
};
ÿ¸öÈÎÎñµÄthread_info½á¹¹ÔÚÆäÄÚºËÕ»¶¥¶Ë·ÖÅ䣬ÆätaskÓòÖ¸Ïò¸ÃÈÎÎñµÄʼþtask_struct½á¹¹¡£
1.2 ÈÎÎñ¶ÓÁУ¨task list£©
Ë«ÏòÑ»·Á´±í£¬Á´±íÿһÏî¶¼ÊÇÒ»¸ötask_struct(¶¨ÒåÔÚinclude/linux/sched.hÖÐ),¸Ã½ø³ÌÃèÊö·û°üº¬ÁËÒ»¸ö½ö½ø³ÌµÄËùÓÐÐÅÏ¢¡£
1.3 slab
linuxͨ¹ýslab»úÖÆ·ÖÅätask_struct½á¹¹£¬ÒÔ´ïµ½¶ÔÏó¸´Óúͻº´æ×ÅÉ«µÄÄ¿µÄ¡£
1.4 pid
linuxͨ¹ýpid£¨pid_tÀàÐÍ,integer)À´±êʾÿһ¸öÈÎÎñ½ø³Ì¡£ÎªÁËÓëÀϰ汾unixºÍlinux¼æÈÝ£¬pid×î´óֵΪ32767.Èç¹ûÐèÒª¸ü¶à½ø³Ì£¬¿ÉÒÔͨ¹ý
ÐÞ¸Ä/proc/sys/kernel/pid_maxÀ´Ìá¸ßÉÏÏÞ¡£
1.5 currentºê
currentºêÓÃÓÚ²éÕÒµ±Ç°ÕýÔÚÔËÐнø³ÌµÄ½ø³ÌÃèÊö·û¡£²»Í¬µÄÓ²¼þÌåϵ½á¹¹µÄʵÏÖ²»Í¬¡£
ÔÚx86¼Ü¹¹ÖУ¬¼Ä´æÆ÷²»¶à£¬²»ÄÜʹÓÃרÃŵļĴæÆ÷Ö¸Ïòµ±Ç°½ø³ÌµÄtask_struct.ËüµÄ·½Ê½ÊÇͨ¹ýÔÚÄÚºËÕ»¶¥¶Ë´´½¨thread_info½á¹¹£¬¼ä½ÓµÄ
²éÕÒtask_struct½á¹¹£º
£¨1£©Í¨¹ýÆÁ±ÎÕ»Ö¸Õ루esp£©µÄºó13¸öÓÐЧλ»ñµÃthread_info½á¹¹£¬ÔÚcurrent_thread_info()º¯ÊýÍê³É£º
&n
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍ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 ......
inux±ØÑ§µÄ60¸öÃüÁî
LinuxÌṩÁË´óÁ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÓÐЧµØÍê³É´óÁ¿µÄ¹¤×÷£¬Èç´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢Ä¿Â¼²Ù×÷¡¢½ø³Ì¹ÜÀí¡¢ÎļþȨÏÞÉ趨µÈ¡£ËùÒÔ£¬ÔÚLinuxϵͳÉϹ¤×÷Àë²»¿ªÊ¹ÓÃϵͳÌṩµÄÃüÁî¡£ÒªÏëÕæÕýÀí½âLinuxϵͳ£¬¾Í±ØÐë´ÓLinuxÃüÁîѧÆð£¬Í¨¹ý»ù´¡µÄÃüÁîѧϰ¿ÉÒÔ½øÒ»²½Àí½âLinuxϵͳ¡£
²»Í¬Linux·¢ÐаæµÄÃüÁîÊýÁ¿² ......
µãÆÀ£º°²×°Èí¼þ°ü rpm -i °üÈ«Ãû ɾ³ý rpm -e name(²»ÊǰüÃû) ²ÎÊý -ivh »ñµÃÒ»¸öÏêϸµÄ°²×°½ø³Ì --nodeps ºöÂÔÒÀÀµ¹ØÏµ --force Ç¿ÖÆ°²×° -U °üÃû:Éý¼¶°²×° -F ¸üв»¹ÜÊÇʲôֱ½Ó¸²¸Ç --replacepkgsÕâÑù RPM ½«ºöÂԸôíÎóÐÅÏ¢ -vih --repla
ÄÚÈÝÀ´×Ô: ½Å±¾Ö®¼Ò www.jb51.net
°²×°Èí¼þ°ü
rpm -i °üÈ ......
http://www.faqs.org/docs/kernel/
µÄ11ºÍ12ÔÙÊÔÊÔ¡£
Linux Äں˵ÄWorkQueues API×öÁËÐÞ¸Ä
WorkQueue»úÖÆÔÊÐíÄں˴úÂëÔÚÍíÒ»µãµÄʱ¼äÖ´ÐС£Workqueueͨ¹ý´æÔÚµÄÒ»¸ö»òÕß¶à¸öרÃŵĽø³ÌʵÏÖ£¬È¥Ö´ÐжÓÁй¤×÷¡£ÒòΪÔÚ½ø³ÌµÄÉÏÏÂÎÄ»ã×ÜÖ´ÐУ¬Òò´ËÈç¹ûÐèÒª£¬Æä¿ÉÒÔsleep¡£WorkQueueÒ²¿ÉÒÔÑÓ³ÙÌØ¶¨Ê±¼ä ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ò»¸ö
Linux
·¢Ðа棬Ìå»ýºÜС£¬Óô¦·´¶øºÜ´ó¡£´Ë»°µ±Õ棿
Ò»°ã¶øÑÔ£¬ÀÏʽ¼ÆËã»úÄÚ´æ¶¼²»´ó£¬ ......