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
Ïà¹ØÎĵµ£º
ShellÊÇϵͳµÄÓû§½çÃæ£¬ÌṩÁËÓû§ÓëÄں˽øÐн»»¥²Ù×÷µÄÒ»ÖÖ½Ó¿Ú¡£Ëü½ÓÊÕÓû§ÊäÈëµÄÃüÁî²¢°ÑËüËÍÈëÄÚºËÈ¥Ö´ÐС£
¡¡¡¡Êµ¼ÊÉÏShellÊÇÒ»¸öÃüÁî½âÊÍÆ÷£¬Ëü½âÊÍÓÉÓû§ÊäÈëµÄÃüÁî²¢ÇÒ°ÑËüÃÇË͵½Äںˡ£²»½öÈç´Ë£¬ShellÓÐ×Ô¼ºµÄ±à³ÌÓïÑÔÓÃÓÚ¶ÔÃüÁîµÄ±à¼£¬ËüÔÊÐíÓû§±àдÓÉshellÃüÁî×é³ÉµÄ³ÌÐò¡£Shell±à³ÌÓïÑÔ¾ßÓÐÆÕͨ±à³ÌÓ ......
תÀ´µÄ£¬Ã»Ê¿ÉÒÔ¿´¿´
bin = BINaries
/dev = DEVices
/etc = ETCetera
/lib = LIBrary
/proc = PROCesses
/sbin = Superuser BINaries
/tmp = TeMPorary
/usr = Unix Shared Resources
/var = VARiable ?
FIFO = First In, First Out
GRUB = GRand Unified Bootloader
IFS = Internal Field Seperators
LILO ......
Î壺kmem_cache_create£¨£©·ÖÎö
ÎÒÃÇÒÔÒ»¸öÀý×ÓÀ´¸ú×Ù·ÖÎöÒ»ÏÂslabµÄ»úÖÆ£º
ÏÂÃæÊÇÒ»¸ö²âÊÔÄ£¿éµÄ´úÂ룺
#include <linux/config.h>
#include <linux/module.h>
#include <linux/slab.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("ericxiao <xgr178@163.com>");
MODULE_DESCRI ......
µãÆÀ£º°²×°Èí¼þ°ü rpm -i °üÈ«Ãû ɾ³ý rpm -e name(²»ÊǰüÃû) ²ÎÊý -ivh »ñµÃÒ»¸öÏêϸµÄ°²×°½ø³Ì --nodeps ºöÂÔÒÀÀµ¹ØÏµ --force Ç¿ÖÆ°²×° -U °üÃû:Éý¼¶°²×° -F ¸üв»¹ÜÊÇʲôֱ½Ó¸²¸Ç --replacepkgsÕâÑù RPM ½«ºöÂԸôíÎóÐÅÏ¢ -vih --repla
ÄÚÈÝÀ´×Ô: ½Å±¾Ö®¼Ò www.jb51.net
°²×°Èí¼þ°ü
rpm -i °üÈ ......