ÉîÈëÀí½â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
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
½â¾öRed Hat Enterprise Linux AS 4 ÖÐÎÄÂÒÂëÎÊÌâ
ÎÒÓõÄϵͳÊÇRed Hat Enterprise Linux AS 4£¬ÔÚX-windows×ÀÃæ»·¾³ÏµēÖÕ¶Ë”´°¿Ú²Ù×÷ÊÇÄÜÕýÈ·ÏÔʾºº×Ö£¬µ«ÊÇÔÚÓÃSSHµÇ½Linux²Ù×÷ϵͳ£¬ÎÒÓõÄÊÇputtyÔ¶³Ì¹ÜÀíLinux£¬·¢ÏÖ·µ»ØÖÐÎÄÌáʾÐÅϢȫ¶¼ÊÇÂÒÂ룬¼òµ¥µÄ½â¾ö°ì·¨¾ÍÊÇÔÚSSH¶ËÖ´ÐУº
export LC_ALL ......
LinuxʵÑ鱨¸æ4
ÎÒµÄ×÷Òµ 2009-11ÔÂ11
ʵÑ飺ÎļþȨÏÞ¼°Óû§¹ÜÀí
ÐÕ Ãû
ÕÅ¿
ÈονÌʦ
³ÂѩƼ
Ö¸µ¼½Ìʦ
³ÂѩƼ
ʵÑ鵨µã
B203
ʵÑéʱ¼ä
2009Äê11ÔÂ11ÐÇÆÚ ¶þ
Ò»¡¢ÊµÑéÄ¿µÄ
ÒªÇ ......
ÕÆÎÕ¸÷linux ³£ÓÃÃüÁîµÄʹÓÃ
¶þ¡¢ÊµÑé²½Öè¼°½á¹û·ÖÎö
ÒªÇ󣺽«ÊµÑé»ñµÃµÄ½á¹û½øÐÐÃèÊö£¬»ù±¾ÄÚÈݰüÀ¨£º
1. ´ò¿ªlinuxϵͳ,½øÈëÓû§µÇ¼½çÃæ,Èçͼ1
2. ÊäÈëÓû§ÃûºÍÃÜÂë¾Í¿ÉÒÔ½øÈëÎı¾×Ö·û²Ù×÷½çÃæÁ ......
ʵÏÖ³ÌÐòÔÚºǫ́ÔËÐУº
[³ÌÐò] &
µ«Èç¹ûÍüÁËÊäÈë&£¬µ«ÓÖ²»Ïë°Ñ³ÌÐòÍ£Ö¹ºóÖØÐÂÆô¶¯£¬
Äã¿ÉÒÔÕâÑù×ö£º
°´Ctrl+z,ÔÝͣǰ̨¹¤×÷£¬
È»ºóÓÃjobsÃüÁî²é¿´µ±Ç°shellÒ»¹²Æô¶¯Á˶àÉÙºǫ́³ÌÐò£¬Äã¿ÉÒÔ¿´µ½ÄãµÄ³ÌÐòÔÚÆäÖУ¬
ËüµÄ״̬ÊÇstopp ......