Linux ÄÚ´æ°ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷µÄʵÏÖ
3.2.1 Linux ÄÚ´æ°ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷µÄʵÏÖ×ÜÌå²½Öè
×ÜÌå²½Ö裺
l ²ÉÓ÷½°¸Èý£¬ÔÚÔÚÔÀ´·ÖÎöµÄ»ù´¡ÉÏ£¬ÒÔ¼°ÒÑÖªLinuxϵͳÄÚ´æµÄ³õʼ»¯µÄÇé¿ö£¬¶ÔÄں˴úÂë½øÐÐÐ޸ģ¬Ö÷Òª°üÀ¨È·¶¨ÐÂÇøµÄ·¶Î§£¬½¨Á¢ÐÂÇø£¬ÖØÐ¶ԷÖÅäÄÚ´æµÄ·ÖÅä»úÖÆ½øÐÐÉèÖá£
l ÐÂÇø»®·Öºó£¬¶Ôн¨µÄÁ½¸öÇø½øÐÐÒ»¶¨³Ì¶ÈÉϵÄÑÓ³Ù£»
l ½¨Á¢ÏµÍ³µ÷Óã¬ÏµÍ³µ÷Óý«ÌṩÓû§½øÐÐÊÖ¶¯ÉèÖ÷ÃÎÊ·½Ê½¡£
l ¶ÔÄں˽øÐÐÅäÖ㬲¢½øÐÐÏà¹Øµ÷ʽ¡£
l Óû§³ÌÐò½øÐÐ×îÖյIJâÊÔ£¬²¢ÑéÖ¤Ïà¹Ø½áÂÛ¡£
3.2.2 Linux Äں˰ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷´úÂëʵÏÖ
(Ò»)¡¢Ð޸ĴúÂ룺
1) ÔÚinit/main.cÕâ¸öÎļþÖÐ,ÔÚÕâÒ»¶Î´úÂë
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
#endif
µÄÏÂÃæÔö¼ÓÕâ¶Î´úÂë:
unsigned long max_normal_low_pfn=0;
EXPORT_SYMBOL(max_normal_low_pfn);
ÕâÀïʹÓÃEXPORT_SYMBOLÊÇÉùÃ÷max_normal_low_pfnÊÇÈ«¾Ö±äÁ¿£¬ËùÓеÄÎļþ¶¼¿ÉÒÔʹÓã¬ËüµÄÓô¦ÊÇΪÁ˱ê¼ÇÐÂÇøZONE_NORMAL_LOWµÄ×î´ó¿ÉÓõÄÒ³¿òºÅ¡£
2) arch/x86/kernel/setup.cÕâ¸öÎļþ£º
l ÔÚstruct boot_params boot_params;
#endifÖ®ºóÌí¼Ó£¬ÉùÃ÷¸Ã±äÁ¿ÒѾÔÚ±ðµÄÎļþÓж¨ÒåÁË
extern unsigned long max_normal_low_pfn;
l ÔÚsetup_arch()Õâ¸öº¯ÊýÖУ¬ÔÚfind_low_pfn_range()Õâ¸öÖ®ºó£¬Ôö¼ÓÕâÒ»¾ä£º
max_normal_low_pfn = max_low_pfn/2;
¸Ã¾äÓÃÓÚ¼ÆËãÐÂÇø(ZONE_NORMAL_LOW)µÄ×î´ó¿ÉÓÃÒ³¿òºÅ¡£
3) ÔÚarch/x86/mm/init_32.cÎļþ
l ÔÚunsigned long max_low_pfn_mapped; unsigned long max_pfn_mapped;Ö®ºóÌí¼Óextern unsigned long max_normal_low_pfn;
l ÔÚstatic void __init zone_sizes_init(void)Õâ¸öº¯ÊýÖÐÔö¼ÓÕâ¾ä´ú
Ïà¹ØÎĵµ£º
×î½ü×öµÄһЩ¹¤×÷ÐèÒªÓõ½Ï̳߳ؼ¼Êõ£¬Òò´Ë²Î¿¼ÁËһЩ×ÊÁϺÍÊé¼®£¬Èç¡¶0bug c/c++ÉÌÓù¤³ÌÖ®µÀ¡·¡£
Ϊ´ËÔÚlinuxƽ̨ÉÏÓô¿cдÁËÒ»¸öÏ̳߳صÄʵÏÖ¡£
ÔÚ´ËÁгöÁËÔ´úÂë¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓÐ
1.struct thread_pool_t // thread pool µÄʵÏÖ´úÂë
2.struct thread_pool_token_t &nb ......
Ò». ÖÕÖ¹½ø³ÌµÄ¹¤¾ß kill ¡¢killall¡¢pkill¡¢xkill
ÖÕÖ¹Ò»¸ö½ø³Ì»òÖÕÖ¹Ò»¸öÕýÔÚÔËÐеijÌÐò£¬Ò»°ãÊÇͨ¹ý kill ¡¢killall¡¢pkill¡¢xkill µÈ½øÐС£±ÈÈçÒ»¸ö³ÌÐòÒѾËÀµô£¬µ«ÓÖ²»ÄÜÍ˳ö£¬Õâʱ¾ÍÓ¦¸Ã¿¼ÂÇÓ¦ÓÃÕâЩ¹¤¾ß¡£
ÁíÍâÓ¦Óõij¡ºÏ¾ÍÊÇÔÚ·þÎñÆ÷¹ÜÀíÖУ¬ÔÚ²»Éæ¼°Êý¾Ý¿â·þÎñÆ÷³ÌÐòµÄ¸¸½ø³ÌµÄÍ£Ö¹ÔËÐУ¬Ò²¿ÉÒÔÓÃÕâЩ¹¤¾ßÀ´Ö ......
1¡¢Ö±½ÓÓÃexportÃüÁ
#export PATH=$PATH:×Ô¶¨Òå·¾¶
²é¿´ÊÇ·ñÒѾÉèºÃ£¬¿ÉÓÃÃüÁîexport²é¿´£º
[root@localhost bin]# export
PATH=$PATH:×Ô¶¨Òå·¾¶
2¡¢ÐÞ¸ÄprofileÎļþ£º
#vi /etc/profile
ÔÚÀïÃæ¼ÓÈë:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. ÐÞ¸Ä.bashrcÎļþ£º
# vi /root/. ......
¹¦ÄÜ×îÇ¿ÔÚµÄ±à¼Æ÷——vi
¹¦ÄÜ×îÇ¿ÔÚµÄ±à¼Æ÷——vi
viÊÇËùÓÐUNIXϵͳ¶¼»áÌṩµÄÆÁÄ»±à¼Æ÷£¬ËüÌṩÁËÒ»¸öÊÓ´°É豸£¬Í¨¹ýËü¿ÉÒÔ±à¼Îļþ¡£µ±È»£¬¶ÔUNIXϵͳÂÔÓÐËùÖªµÄÈË£¬
»ò¶à»òÉÙ¶¼¾õµÃvi³¬¼¶ÄÑÓ㬵«viÊÇ×î»ù±¾µÄ±à¼Æ÷£¬ËùÒÔÏ£Íû¶ÁÕßÄܺúðÑËüѧÆðÀ´£¬ÒÔºóÔÚUNIXÊÀ½çÀï±Ø ......
Õâ¾Í¿ìÒ»ÄêÁË£¬Àϰå˵ÎÒ»¹Ã»ÈëÃÅ¡£ÓÐÕâ·½ÃæµÄ´óÏÀÃǸøÎÒ˵˵£¬ÎÒ¾¹¸ÃÔõôÌáÉý×Ô¼º£¿£¡
ÏÖÔÚÎÒµÄÄÔ´üÀïһƬ½¬ºý£¬Ò²²»ÖªµÀ×Ô¼ºÑ§ÁËʲô¡£¡£¡£
´Ó2009µÄʮһÔ·ݿªÊ¼Ñ§Ï°LINUX²Ù×÷ϵͳ£¬ÏÈÊÇ¿´Á˼¸±¾Ê飺ÕÅÁáµÄ<<Linux²Ù×÷ϵͳÔÀíÓëÓ¦ÓÃ>>¡¢ÁõíµµÄ<<ǶÈëʽϵͳ½Ó¿ÚÉè¼ÆÓëLinuxÇý¶¯³ÌÐò¿ª·¢>>£¬»¹Â ......