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½áÊø¡£ÕâЩ
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1¡¢linux·ÖÇø
--ÔÚlinuxÀïÃæËùÓеÄÉ豸¡¢Èκζ«Î÷£¬ÔÚlinux¿´À´¶¼ÊÇÎļþ¡£
--ÎļþÔÚËü¿´À´£¬ÓÐÁ½ÖÖÐÎʽ£º
µÚÒ»ÖÖÊÇ×Ö·ûÐÍ£¨¼üÅÌÊäÈë¡¢´òÓ¡»ú£©£»
µÚ¶þÖÖÊǶþ½øÖÆÐÍ£¨Ó²ÅÌ¡¢¹âÇý¡¢UÅÌ£©
--linuxÖÐËùÓÐÓ²¼þ
--ÊÖ¶¯·ÖÇø
--A¡¢ÖÁÉÙÓÐÁ½¸ö·ÖÇø
/ ¸ù·ÖÇø
SWAP ½ ......
ÄÚºËʹÓõĻù±¾Êý¾ÝÀàÐÍÖ÷ÒªÓУº int £º ±ê×¼µÄCÓïÑÔÕûÊýÀàÐÍ u32 £º 32λÕûÊýÀàÐÍ pid_t £º Ìض¨Äں˶ÔÏópidµÄÀàÐÍ ÔÚ²»Í¬CPUÌåϵ½á¹¹ÉÏ£¬CÓïÑÔµÄÊý¾ÝÀàÐÍËùÕ¼ÓõĿռäÊDz»Ò»ÑùµÄ¡£ÔÚx86ϵÁнṹÏ£¬Êý¾ÝÀàÐÍÕ¼ÓõÄ×Ö½ÚÊýÈçϱíËùʾ£º arch char short int long ptr ......
¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,
¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄ
gdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3 ......
sed ±à¼Ö¸ÁîµÄ¸ñʽÈçÏ :
sed option [address1[,address2]]function[argument] ***.c
λַ²ÎÊý address1/2 ΪÐÐÊý»òÆ¥Åä×Ö´® , ±íʾËùÖ´Ðб༵ÄÐÐ ;
º¯Êý²Î Êý function[argument] Ϊ sed µÄÄÚ¶¨º¯Êý , ±íʾִÐеı༶¯×÷¡£
Æ¥Åä×Ö´®£º£¨reguler expression ×Ö´®£©
& : ´ú±íÆäÇ° pattern ×Ö´®
Àý£ºs ......