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

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼Ç֮ϵͳÆô¶¯2

linux/arch/i386/boot/compressed/head.S
ÔÚsetup()½áÊøºó£¬´Ëº¯Êý¾Í±»Òƶ¯µ½ÎïÀíµØÖ·0x00100000´¦»òÕß0x00001000´¦£¬ÕâÈ¡¾öÓÚÄÚºËÓ³ÏñÊDZ»¸ß×°Ôص½ramÖл¹ÊǵÍ×°Ôص½ramÖС£
½â¶Áº¯Êý£º
startup_32:
        cld
        cli
        movl $(__BOOT_DS),%eax
        movl %eax,%ds
        movl %eax,%es
        movl %eax,%fs
        movl %eax,%gs
        lss stack_start,%esp
ÆäÖеÄboot_dsÄÚ´æÖÐÒѾ­ÓÐ̸¼°¡£³õʼ»¯Á˶μĴæÆ÷ºÍÒ»¸öÁÙʱ¶ÓÕ»¡£
        xorl %eax,%eax
1:      incl %eax               # check that A20 really IS enabled
        movl %eax,0x000000      # loop forever if it isn't
        cmpl %eax,0x100000
        je 1b
²âÊÔA20ÊÇ·ñÕæµÄÖÃλ¡£Ç°ÃæÔÚÇл»µ½±£»¤Ä£Ê½Ö®Ç°£¬ÒѾ­½«A20Òý½ÅÕýʽÖÃ룬²»È»Ã¿¸öÎïÀíµØÖ·µÚ21λ¶¼»á±»cpu¿´×÷0.´ËʱÔÙÑéÖ¤¡£
        xorl %eax,%eax
        movl $_edata,%edi
        movl $_end,%ecx
        subl %edi,%ecx
        cld
        rep
        stosb
ÓÃ0Ìî³ä_edataºÍ_end·ûºÅ±êʶµÄÄÚºËδ³õʼ»¯Êý¾ÝÇø¡£ÔÚlinuxÌî³äramʱ·Ö¼¸¸ö²¿·Ö¡£·ûºÅ_text¶ÔÓ¦ÓÚÎïÀíµØÖ·0x00100000,±íʾÄں˴úÂëµÄµÚÒ»¸ö×ֽڵĵØÖ·¡£Äں˴úÂëµÄ½áÊøλÖÃÓÉÁíÍâÒ»¸öÀàËƵķûºÅ_etext±íʾ¡£ÄÚºËÊý¾Ý·ÖÁ½×飬³õʼ»¯µÄÊý¾ÝºÍû³õʼ»¯µÄÊý¾Ý¡£³õʼ»¯µÄÊý¾ÝÔÚ_etextºó¿ªÊ¼£¬ÔÚ_edata´¦½áÊø¡£½ô½Ó×ÅÊÇδ³õʼ»¯µÄÊý¾Ý²¢ÒÔ_end½áÊø¡£ÕâЩ


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux»ù´¡Ñ§Ï°

1¡¢linux·ÖÇø
--ÔÚlinuxÀïÃæËùÓеÄÉ豸¡¢Èκζ«Î÷£¬ÔÚlinux¿´À´¶¼ÊÇÎļþ¡£
--ÎļþÔÚËü¿´À´£¬ÓÐÁ½ÖÖÐÎʽ£º
  µÚÒ»ÖÖÊÇ×Ö·ûÐÍ£¨¼üÅÌÊäÈë¡¢´òÓ¡»ú£©£»
  µÚ¶þÖÖÊǶþ½øÖÆÐÍ£¨Ó²ÅÌ¡¢¹âÇý¡¢UÅÌ£©
--linuxÖÐËùÓÐÓ²¼þ
--ÊÖ¶¯·ÖÇø
--A¡¢ÖÁÉÙÓÐÁ½¸ö·ÖÇø
  /    ¸ù·ÖÇø
  SWAP ½ ......

LinuxϵÄÊý¾ÝÀàÐÍ

ÄÚºËʹÓõĻù±¾Êý¾ÝÀàÐÍÖ÷ÒªÓУº int £º ±ê×¼µÄCÓïÑÔÕûÊýÀàÐÍ u32 £º 32λÕûÊýÀàÐÍ pid_t £º Ìض¨Äں˶ÔÏópidµÄÀàÐÍ ÔÚ²»Í¬CPUÌåϵ½á¹¹ÉÏ£¬CÓïÑÔµÄÊý¾ÝÀàÐÍËùÕ¼ÓõĿռäÊDz»Ò»ÑùµÄ¡£ÔÚx86ϵÁнṹÏ£¬Êý¾ÝÀàÐÍÕ¼ÓõÄ×Ö½ÚÊýÈçϱíËùʾ£º arch char short int long ptr ......

LinuxϵĶδíÎóµÄÔ­Òò¼°µ÷ÊÔ

¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,
¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄ
gdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3 ......

sed ÃüÁîÍêÈ«½âÎö Ö®linux¸ß¼¶ÃüÁî

sed ±à¼­Ö¸ÁîµÄ¸ñʽÈçÏ :
sed option [address1[,address2]]function[argument] ***.c
λַ²ÎÊý address1/2 ΪÐÐÊý»òÆ¥Åä×Ö´® , ±íʾËùÖ´Ðб༭µÄÐÐ ;
º¯Êý²Î Êý function[argument] Ϊ sed µÄÄÚ¶¨º¯Êý , ±íʾִÐеı༭¶¯×÷¡£
 
Æ¥Åä×Ö´®£º£¨reguler expression ×Ö´®£©
& : ´ú±íÆäÇ° pattern ×Ö´®
Àý£ºs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ