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

linuxÖÐELF¼ÓÔØ¹ý³Ì·ÖÎö

sys_execve
   | - do_execve
|
| - search_binary_handler         
           |- linux_binfmt= elf_format
       |- elf_format-> load_elf_binary
| - elf_entry = load_elf_interp()
          |-   
| if  (BAD_ADDR(elf_entry))
                |     force_sig(SIGSEGV, current);
|     retval =-EINVAL;
 
  
binfmt_elf.c: line 1024
              elf_entry = loc->elf_ex.e_entry;
              if (BAD_ADDR(elf_entry)) {
                     force_sig(SIGSEGV, current);
                     retval = -EINVAL;
                     goto out_free_dentry;
              }
 
ELF¿ÉÐеµµÄÔØÈ룺
 
ÄÚºËÖÐʵ¼ÊÖ´ÐÐ
execv()
»ò
execve()
ϵͳµ÷ÓõijÌÐòÊÇ
do_execve()
£¬Õâ¸öº¯ÊýÏÈ´ò¿ªÄ¿±êÓ³ÏñÎļþ£¬²¢´ÓÄ¿±êÎļþµÄÍ·²¿
(
´ÓµÚÒ»¸ö×Ö½Ú¿ªÊ¼
)
¶ÁÈëÈô¸É
(128)
×Ö½Ú£¬È»ºóµ÷ÓÃÁíÒ»¸öº¯Êý
search_binary_handler()
£¬ÔÚÄÇÀïÃæÈø÷ÖÖ¿ÉÖ´ÐгÌÐòµÄ´¦Àí³ÌÐòǰÀ´ÈÏÁìºÍ´¦Àí¡£ÄÚºËËùÖ§³ÖµÄÿÖÖ¿ÉÖ´ÐгÌÐò¶¼Óиö
struct linux_binfmt
Êý¾Ý½á¹¹£¬Í¨¹ýÏòÄں˵ǼǹÒÈëÒ»¸ö¶ÓÁС£¶ø
search_binary_handler()
£¬ÔòɨÃèÕâ¸ö¶ÓÁУ¬Èø÷¸öÊý¾Ý½á¹¹ËùÌṩµÄ´¦Àí³ÌÐò¡¢¼´¸÷ÖÖÓ³Ïñ¸ñʽ¡¢ÖðһǰÀ´ÈÏÁì¡£Èç¹ûij¸ö¸ñʽµÄ´¦Àí³ÌÐò·¢ÏÖÌØÕ÷Ïà·û¶ø£¬±ãÖ´ÐиøñʽӳÏñµÄ×°ÈëºÍÆô¶¯¡£
ÎÒÃÇ´Ó
ELF
¸ñʽӳÏñµÄ


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linuxÄÚºËÖÐ×î³£¼ûµÄËøÊÇ×ÔÐýËø

 linuxÄÚºËÖÐ×î³£¼ûµÄËøÊÇ×ÔÐýËø(spin lock)¡£×ÔÐýËø×î¶àÖ»Äܱ»Ò»¸ö¿ÉÖ´ÐÐÏ̳߳ÖÓС£Èç¹ûÒ»¸öÖ´ÐÐÏß³ÌÊÔͼ»ñµÃÒ»¸ö±»ÕùÓõÄ×ÔÐýËø£¬ÄÇô¸ÃÏ߳̾ͻáÒ»Ö±½øÐÐæѭ»·µÈ´ýËøÖØÐ¿ÉÓá£ÒªÊÇËøÎ´±»ÕùÓã¬ÇëÇóËøµÄÖ´ÐÐÏ̱߳ãÄÜÁ¢¿ÌµÃµ½Ëü£¬¼ÌÐøÖ´ÐС£ÔÚÈÎÒâʱ¼ä£¬×ÔÐýËø¶¼¿ÉÒÔ·ÀÖ¹¶àÓÚÒ»¸öµÄÖ´ÐÐÏß³Ìͬʱ½øÈëÁÙ½çÇø¡£
  ......

LinuxÄںˣºslab/slob/slub

Ô­ÎÄÁ´½Ó:http://www.linuxdiyf.com/bbs/viewthread.php?tid=92084
 ºÜ¾ÃºÜ¾ÃÒÔǰ£ºÒ»¸ö½Ð×öMark HemmentµÄ¸ç¶ùÃÇдÁËSlab¡£ÔÚ½ÓÏÂÀ´µÄһЩÄêÀÆäËûÈ˶ÔSlab½øÐÐÁËÍêÉÆ¡£Ò»Äê°ëÒÔǰ£¬SLOBÎÊÊÀÁË¡£SLOBµÄÄ¿±êÊÇÕë¶ÔǶÈëʽϵͳµÄ£¬Ö÷ÒªÊÇÊÊÓÃÓÚÄÇЩÄÚ´æ·Ç³£ÓÐÏÞµÄϵͳ£¬±ÈÈç32MBÒÔϵÄÄڴ棬Ëü²»Ì«×¢ÖØlarge smpϵͳ£ ......

Linux²é¿´ºÍÌÞ³ýµ±Ç°µÇ¼Óû§

ÈçºÎÔÚlinuxϲ鿴µ±Ç°µÇ¼µÄÓû§£¬²¢ÇÒÌßµôÄãÈÏΪӦ¸ÃÌßµôµÄÓû§£¿
¿´ÁËÍøÂçÖеÄһЩÀý×Ó.ÔÚÕâÀï×ܽáÒ»ÏÂ.Ö÷ÒªÓõ½µÄÃüÁîÓÐ,w,who,ps,kill,pkill
²é¿´µ±Ç°µÇ¼Óû§:
node8:/home # who
root     :0           2009-11-04 16:26
root     pts/0       &n ......

LINUX°²×°JDK1.6¹¥ÂÔ

 ÍøÉÏÕÒÁ˺ܶ࣬Õâ¸ö×îÓÐЧ£¬×ªÔØÏÂ
ÏÂÔØ³É¹¦ºóÉÏ´«ÖÁ·þÎñÆ÷ÈÎÒâĿ¼
        2. ÔÚµ±Ç°Ä¿Â¼ÊäÈë
        sh jdk-6u2-linux-i586-rpm.bin
        3.¿´µ½ °²×°³ÌÐòÔÚѯÎÊÄúÊÇ·ñ×ðÊØÐí¿ÉЭÒéÒ³Ãæ ,»Ø³µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ