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

ÉîÈëÀí½âlinuxÄں˱ʼÇÁù£ºlinuxϵͳµ÷ÓÃ

Ò»°ãÇé¿öÏ£¬½ø³Ì²»ÄÜ´æÈ¡ÏµÍ³Äں˵ģ¬Ö»ÓÐϵͳµ÷ÓÃÊÇÒ»¸öÀýÍ⣬ÔÚintel½á¹¹µÄ¼ÆËã»úÖУ¬ÊÇͨ¹ýÖжÏ0x80ʵÏÖµÄ
½ø³Ì¿ÉÒÔ¿ÉÒÔÌø×ªµ½ÄÚºËÖеÄλÖÃÊÇsystem_call¡£Ôڴ˼ì²éϵͳµ÷Óúţ¬Ëü¸æËßÄں˽ø³ÌÇëÇóºÎÖÖ·þÎñ£¬È»ºó²éÕÒϵͳµ÷Óñísys_call_table£¬ÕÒµ½Ï£Íûµ÷ÓõÄÄں˵ØÖ·º¯Êý£¬µ÷Óô˺¯Êý£¬È»ºó·µ»Ø¡£
      
1¡¢  ºê¶¨Òå(unistd.h)
_syscallN(type,name,x…)£¬NÊÇϵͳµ÷ÓÃËùÐè²ÎÊýÊýÄ¿£¬typeÊÇ·µ»ØÀàÐÍ,nameÊÇÃæÏòÓû§µÄϵͳµ÷Óú¯ÊýÃû,x…ÊDzÎÊý£¬¸öÊýΪN
È磺#define _syscall1(type,name,type1,arg1) \
type name(type1 arg1) \
{ \
long __res; \
__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
: "=a" (__res) \
: "0" (__NR_##name),"ri" ((long)(arg1)) : "memory"); \
__syscall_return(type,__res); \
}
·ÖÎö£º
ouput£º _res 0%  __NR##name  “=a”±íʾ´æ·ÅÔÚeax¼Ä´æÆ÷
       Ò²¾ÍÊDZíʾ°Ñ±äÁ¿_res´æ·ÅÔÚeaxÖУ¬“0”±íʾ°Ñ_NR##name¹ØÁªµ½0%¼´_res£®·µ»ØÖµÒ²´æ·ÅÔÚeaxÖУ®
 
       #define _syscall2(type,name,type1,arg1,type2,arg2) \
type name(type1 arg1,type2 arg2) \
{ \
long __res; \
__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
       : "=a" (__res) \
       : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) \
              : "memory"); \
__syscall_return(type,__res); \
}
ͬÀí¿ÉÒÔÖªµÀarg1´æ·ÅÔÚeaxÖУ¬arg2´æ·ÅÔÚebxÖÐ
 
µ±ÎÒÃÇÔÚ³ÌÐòÖÐÓõ½ÏµÍ³µ÷ÓÃʱ£¬¶ÔÓÚlinuxÔ¤¶¨ÒåµÄϵͳµ÷Ó㬱àÒëÆ÷»áÔÚÔ¤´¦Àíʱ×Ô¶¯¼ÓÈëºê_syscallN()²¢½«ÆäÕ¹¿ª£¬¶ÔÓÚ×Ô¼ºÌí¼ÓµÄϵͳµ÷Óã¬ÐèÒªÔÚ³ÌÐòÖÐÏÔʾµØµ÷Óúê_syscallN£®
 
2         ϵͳµ÷ÓÃÈë¿Úº¯Êý
ÔÚ_syscallN()ÖÐÖ´ÐÐÁËint 0x80ºó£¬³ÌÐò½øÈëÄÚºË̬£¬ÎÒÃÇÔÚÏÝÚåÃźÍϵͳÃŵijõʼ»¯Àï×öÁËÈçÏÂÉèÖÃ
set_system_gate(SYSCALL_VECTOR,&system_call);
³ÌÐòÌøµ½system_call£¨entry.s£©´¦
ENTRY(system_call)
  &nb


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

linuxÏÂc±àÒëϵͳ(ת)

 
±àÒë¹ý³Ì¸ÅÊö
Á˽âһЩ±àÒë֪ʶµÄ¶ÁÕß¶¼ÖªµÀ£¬Ëùν±àÒ룬¾ÍÊÇÔÚ±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸Ðл¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
UNIX»·¾³ÏµÄC±àÒëϵͳËù×ñÑ­µÄÒ²ÊÇÕâôһ¸öÒ»° ......

linuxÏÂviÃüÁî´óÈ«

linuxÏÂviÃüÁî´óÈ«
ĬÈÏ·ÖÀà   2009-04-12 14:59   ÔĶÁ1663   ÆÀÂÛ2  
×ֺţº ´ó´ó  ÖÐÖР СС
Îı¾±à¼­Æ÷ÊÇËùÓмÆËã»úϵͳÖÐ×î³£ÓõÄÒ»ÖÖ¹¤¾ß¡£Ê¹ÓÃ×îΪ¹ã·ºµÄÊÇvi£¬¶øviÃüÁî·±¶à£¬¸÷´óÂÛ̳»ù±¾É϶¼ÓÐ×ܽᣡΪÁË´ó¼Òѧϰ·½±ã£¬Çë×ÔÓÉת·¢!   &nb ......

LinuxÖеÄshellÃüÁî²ÎÊýÏê½â

ÃüÁîÐÐ
¡¡¡¡ ¡¡¡¡Óû§µÇ¼µ½Linuxϵͳʱ£¬¿ÉÒÔ¿´µ½Ò»¸öshellÌáʾ·û£¬±êʶÁËÃüÁîÐеĿªÊ¼¡£Óû§¿ÉÒÔÔÚÌáʾ·ûºóÃæÊäÈëÈκÎÃüÁî¼°²ÎÊý¡£ÀýÈ磺
¡¡¡¡
¡¡¡¡$ date
¡¡¡¡
¡¡¡¡¶þ 11 23 01:34:58 CST 1999 
¡¡¡¡
¡¡¡¡$ 
¡¡¡¡
¡¡¡¡Óû§µÇ¼ʱ£¬Êµ¼Ê½øÈëÁËshell£¬Ëü×ñÑ­Ò»¶¨ ......

linuxÏÂddÃüÁîµÄÉÏÁ÷Ó÷¨

ÏȼòÒª½éÉÜÏÂddµÄ²ÎÊý£¬ºó±ßͨ¹ý¼¸¸öʵÀý½éÉÜddµÄÓ¦Ó㬲ο¼ÁËÆäËûÍøÓѵÄ×ÊÁÏ£¬ÔÚ´ËÒ»
²¢¸Ðл£¬Ë®Æ½ÓÐÏÞÎÄÖÐÓÐʲô´íÎóÇë´ó¼ÒÖ¸Õý¡£
dd ÊÇ Linux/UNIX ϵÄÒ»¸ö·Ç³£ÓÐÓõÄÃüÁ×÷ÓÃÊÇÓÃÖ¸¶¨´óСµÄ¿é¿½±´Ò»¸öÎļþ£¬²¢ÔÚ¿½±´
µÄͬʱ½øÐÐÖ¸¶¨µÄת»»¡£
1. ÃüÁî¼ò½é
dd µÄÖ÷ҪѡÏ
Ö¸¶¨Êý×ֵĵط½ÈôÒÔÏÂÁÐ×Ö·û½áβ³ËÒÔÏ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ