Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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)Õâ¸öº¯ÊýÖÐÔö¼ÓÕâ¾ä´ú


Ïà¹ØÎĵµ£º

Linux µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾­Ñé

2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾­Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

Linux C ʵÏÖÏ̳߳Ø

×î½ü×öµÄһЩ¹¤×÷ÐèÒªÓõ½Ï̳߳ؼ¼Êõ£¬Òò´Ë²Î¿¼ÁËһЩ×ÊÁϺÍÊé¼®£¬Èç¡¶0bug c/c++ÉÌÓù¤³ÌÖ®µÀ¡·¡£
Ϊ´ËÔÚlinuxƽ̨ÉÏÓô¿cдÁËÒ»¸öÏ̳߳صÄʵÏÖ¡£
ÔÚ´ËÁгöÁËÔ­´úÂë¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓÐ
1.struct  thread_pool_t    // thread pool µÄʵÏÖ´úÂë
2.struct thread_pool_token_t  &nb ......

¼¸ÖÖLinux µÄ¿ª¹Ø»ú״̬½âÎö

ÔÚlinuxÏÂһЩ³£ÓõĹػú/ÖØÆôÃüÁîÓÐshutdown¡¢halt¡¢reboot¡¢¼°init£¬ËüÃǶ¼¿ÉÒÔ´ïµ½ÖØÆôϵͳµÄÄ¿µÄ£¬µ«Ã¿¸öÃüÁîµÄÄÚ²¿¹¤×÷¹ý³ÌÊDz»Í¬µÄ£¬Í¨¹ý±¾ÎĵĽéÉÜ£¬Ï£ÍûÄã¿ÉÒÔ¸ü¼ÓÁé»îµÄÔËÓø÷ÖֹػúÃüÁî¡£
¡¡¡¡ 1.shutdown
   shutdownÃüÁȫµØ½«ÏµÍ³¹Ø»ú¡£ ÓÐЩÓû§»áʹÓÃÖ±½Ó¶ÏµôµçÔ´µÄ·½Ê½À´¹Ø±Õlinux£¬ÕâÊÇÊ®·Ö ......

LinuxÖ®VIÃüÁîÏê½â


¹¦ÄÜ×îÇ¿Ôڵı༭Æ÷&mdash;&mdash;vi

¹¦ÄÜ×îÇ¿Ôڵı༭Æ÷——vi
viÊÇËùÓÐUNIXϵͳ¶¼»áÌṩµÄÆÁÄ»±à¼­Æ÷£¬ËüÌṩÁËÒ»¸öÊÓ´°É豸£¬Í¨¹ýËü¿ÉÒԱ༭Îļþ¡£µ±È»£¬¶ÔUNIXϵͳÂÔÓÐËùÖªµÄÈË£¬
»ò¶à»òÉÙ¶¼¾õµÃvi³¬¼¶ÄÑÓ㬵«viÊÇ×î»ù±¾µÄ±à¼­Æ÷£¬ËùÒÔÏ£Íû¶ÁÕßÄܺúðÑËüѧÆðÀ´£¬ÒÔºóÔÚUNIXÊÀ½çÀï±Ø ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ