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

linuxÆô¶¯¹ý³ÌdzÎö(3)


ÕâÊDZ¾ÎĵõÚÈý²¿·Ö,ÔÚǰÁ½²¿·ÖÖÐ,ÎÒÒѾ­½²ÊöÁËLinux²Ù×÷ϵͳÊÇÈçºÎ±»»úÆ÷bootµ½,²¢ÇÒloadµ½Öƶ¨µÄÄÚ´æµØÖ·µÄ.ÎÒÃǽ«¼ÌÐøµÚ¶þ²¿·ÖµÄÄÚ
ÈÝ,¿´¿´²Ù×÷ϵͳÔÚÍê³ÉÁËbootsect.sºÍsetup.sµÄÔËÐкó,ÔÚhead.sÖÐ×öÁËЩʲô.
ÈÃÎÒÃÇ»ØÒäÒ»ÏÂ,ÔÚsetup.sÖÐ,ÎÒÃǰÑÕû¸ösystemÄ£¿é´ÓµØÖ·0x10000³öÍùÏÂÒÆ¶¯ÁË0x10000µÄ¾àÀë,Ò²¾ÍÊÇ˵,ÏÖÔÚsystemÄ£¿éÒѾ­Î»ÓÚ0x0000µØ
Ö·ÉÏÁË.¶øÇÒ,ÓÉÓÚhead.s»á±»±àÒëµ½systemÄ£¿éµÄ×îǰ´¦,ËùÒÔÔÚhead.s¿ªÊ¼ÔËÐÐÊÇ,³ÌÐò¼ÆÊýÆ÷Ö¸ÏòµÄλÖÃÆäʵÊÇ0x0000´¦.
´ÓÕâ¶Î³ÌÐò¿ªÊ¼,LinuxÓ¦¸ÃËãÒѾ­±»ÕýʽloadÍê³ÉÁË,²¢ÇÒҲ˳Àû½øÈëÁ˱£»¤Ä£Ê½.½ÓÏÂÀ´µÄ¹¤×÷,¾ÍÏëËùÓоßÓÐÒ»¶¨¹æÄ£µÄϵͳһÑù,ÐèÒª¿ªÊ¼
³õʼ»¯ÁË.ÎÒ¸ù¾Ý±à³ÌÓï»áÓжÔϵͳµÄ½øÒ»²½³õʼ»¯ÑÔµÄÇø±ð,½«LinuxµÄ³õʼ»¯¹ý³Ì·ÖΪÁ½²¿·Ö.µÚÒ»²¿·ÖΪhead.sÖеijõʼ»¯¹¤×÷,¿ÉÒÔ³ÆÖ®Îª
asm³õʼ»¯.¶ø½ÓÏÂÀ´ÏµÍ³½«»á½øÈëµÄmain()º¯ÊýÖÐ,,¿ÉÒÔ³ÆÖ®Îªc³õʼ»¯.ÈÃÎÒÃÇÏÈÀ´¿´Ò»¿´asm³õʼ»¯µÄ¹ý³Ì:
.text
.globl idt,gdt,pg_dir,tmp_floppy_area
pg_dir:
.globl startup_32
startup_32:
 movl $0x10,%eax
 mov %ax,%ds
 mov %ax,%es
 mov %ax,%fs
 mov %ax,%gs
Ê×ÏȳöÏÖµÄÕâÒ»¶Î×÷ÓÃÊǰÑds,es,fs,gs¶Î¼Ä´æÆ÷µÄÄÚÈÝÈ«²¿Ö¸ÏòÔÚsetup.sÖÐÉèÖõÄGDTµÄÊý¾Ý¶Î.ÊÇ·ñ»¹¼ÇµÃ,ÔÚGDTÖÐÎÒÃǶ¨ÒåÁËÈý¸ö¶ÎÃèÊö
·û,µÚÒ»¸öΪȫÁã,ÆäʵÊÇÆúÖ®²»ÓõÄ,µÚ¶þ¸öÓëµÚÈý¸ö¶¼Ö¸ÏòÁ˵ØÖ·0x0000´¦,·Ö±ðΪ´úÂë¶ÎºÍÊý¾Ý¶Î. ÐèҪעÒâµÄÊÇ,ÎÒÃÇÒѾ­½øÈëÁ˱£»¤Ä£Ê½
,Ò²¾ÍÊÇ˵ÏÖÔڶμĴæÆ÷Öдæ·ÅµÄÒѾ­²»Ó¦¸ÃÊÇ¶ÎµÄÆðʼµØÖ·ÁË,¶øÊÇÓ¦¸ÃΪ¶ÎÑ¡Ôñ·û. ÔÚmovl $0x10,%eaxÖÐ,Ö±½ÓÊý0x10Õ¹¿ª³É¶þ½øÖƼÈ
ÊÇ:0000000000010000. ¶ÔÓÚintel 80x86ϵÁеÄCPUÀ´Ëµ,Ñ¡Ôñ·ûµÄ0λºÍ1λ±íÊ¾ÌØÈ¨¼¶±ð, 2λÊÇTI(table indicator),ËüΪ0ʱ±íʾʹÓÃGDT,
Ϊ1ʱ±íʾʹÓÃLDT.¶ø´Ó3λµ½15λ²ÅÊÇÐèҪѡÔñµÄÃèÊö·ûµÄindex.Èçͼ:
               +--------------------------------------------+
               +          INDEX             | TI  |   RPL   |
          


Ïà¹ØÎĵµ£º

Linux ×Ô¼ìºÍ SystemTap


 
 
SystemTap ÊÇ¼à¿ØºÍ¸ú×ÙÔËÐÐÖÐµÄ Linux Äں˵IJÙ×÷µÄ¶¯Ì¬·½·¨¡£Õâ¾ä»°µÄ¹Ø¼ü´ÊÊǶ¯Ì¬£¬ÒòΪ SystemTap ûÓÐʹÓù¤¾ß¹¹½¨Ò»¸öÌØÊâµÄÄںˣ¬¶øÊÇÔÊÐíÄúÔÚÔËÐÐʱ¶¯Ì¬µØ°²×°¸Ã¹¤¾ß¡£Ëüͨ¹ýÒ»¸öÃûΪKprobes µÄÓ¦Óñà³Ì½Ó¿Ú£¨API£©À´ÊµÏÖ¸ÃÄ¿µÄ£¬±¾ÎĽ«Ì½Ë÷Õâ¸ö API¡£ÎÒÃÇÊ×ÏÈÁ˽âÒÔǰµÄһЩÄں˸ú×Ù·½·¨£¬È»ºóÔ ......

Linux ÌØÊâÎļþ£¨1£©——É豸Îļþ

Ò»¡¢É豸Îļþ
¡¡¡¡LinuxϵÄ/dev Ŀ¼ÖÐÓдóÁ¿µÄÉ豸Îļþ¡£Ö÷ÒªÊÇ¿éÉ豸ÎļþºÍ×Ö·ûÉ豸Îļþ¡£¡¡¡¡¿éÉ豸Îļþ¡¡¡¡ÔÚ¹ýÈ¥£¬ÔÚÌí¼ÓдÅÅ̺ó£¬ÍùÍùÐèÒªÊÖ¶¯Ôö¼Ó¿éÉ豸Îļþ¡£ÏÖÔÚͨ³£ÎÒÃDz»ÐèÒªÊÖ¶¯Ôö¼Ó¿éÉ豸Îļþ£¬ÔËÐÐÒ»ÏÂservice kudzu start £¬ÏµÍ³¾Í»á×Ô¶¯ÎªÄúÅäÖÃÏàÓ¦µÄÉ豸¡£¿éÉ豸µÄÖ÷ÒªÌØµãÊÇ¿ÉÒÔËæ»ú¶Áд£¬¶ø×î³£¼ûµ ......

LinuxÃüÁîÐÐÐÔÄܼì²â¹¤¾ß

Ô­ÎÄÁ´½Ó£ºhttp://bbs.linuxtone.org/thread-1986-1-1.html ITÔËάר¼ÒÍø--"×ÔÓÉÆ½µÈ£¬»¥Öú·ÖÏí£¡"
ÉÏÃæÒýÓÃÁËIBMºìƤÊé½éÉܵĹØÓÚLinuxÐÔÄÜÐèÒª¿¼ÂǵÄÄÚÈÝ¡£½ñÌì¼ÌÐø½ØÑ¡ºÍÐÞ¸ÄÎĵµÖйØÓÚ¼ì²â²¿·ÖµÄ½éÉÜ£¬µ«Õⲿ·Ö²»ÊǺÜÏêϸ£¬½ñºóÓÐʱ¼äÎÒ»áÔÙ²¹³äһЩ²Î¿¼×ÊÁÏ¡£
¡ù×¢£ºÏÂÃæ¸½Í¼µÄÃüÁîÊä³öÐÅÏ¢£¬ÒÔºìÆìDC Server 5.0 fo ......

linux vi ²Ù×÷

ÎÄÊé±à¼­Æ÷½éÉÜ [VI]
¡¡¡¡vi ( m ) ÔÚ´ó¶àÊýµÄ unix ϵͳÖÐ ( °üÀ¨ linux ) ¶¼ÄÚ½¨ vi ( m ) ±à¼­Æ÷¡£Èç¹ûÄú¼´½«³ÉΪ linux ϵͳ¹ÜÀíÕߣ¬»òÊdz¤Ê±¼äÔÚ linux »·¾³Öй¤×÷£¬Äú×îºÃѧ»á vi ( m )£¬ÒòΪÄú³ÙÔç»áʹÓõ½Ëü£¬ÓÉÆäÊÇϵͳ³ö×´¿öʱ¡£¶ÔÐÂÊÖ¶øÑÔ£¬µÚÒ»´ÎʹÓà vi ( m ) µÄ¹ý³ÌÊǷdz£Í´¿àµÄ£¬ÉõÖÁÌÖÑáËü£¬ÒòΪËüµÄʹÓ÷ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ