LinuxÄÚºËÔö¼Óϵͳµ÷ÓÃ
1.linux ϵͳµ÷ÓõĻù±¾ÔÀí
linuxµÄϵͳµ÷ÓÃÐÎʽÓëPOSIX¼æÈÝ£¬Ò²ÊÇÒ»Ì×CÓïÑÔº¯ÊýÃûµÄ¼¯ºÏ¡£È»¶ø£¬linuxϵͳµ÷ÓõÄÄÚ²¿ÊµÏÖ·½Ê½È´ÓëDOCµÄINT 21HÏàËÆ£¬ËüÊǾ¹ýINT 0X80HÈíÖжϽøÈëºó£¬ÔÙ¸ù¾Ýϵͳµ÷ÓúŷÖÃűðÀàµØ·þÎñ¡£
´Óϵͳ·ÖÎöµÄ½Ç¶È£¬linuxµÄϵͳµ÷ÓÃÉæ¼°4¸ö·½ÃæµÄÎÊÌâ¡£
(1)Óëϵͳµ÷ÓÃÓйصÄÊý¾Ý½á¹¹ºÍº¯Êý
º¯ÊýÃûÒÔ“sys_”¿ªÍ·£¬ºó¸ú¸Ãϵͳµ÷ÓõÄÃû×Ö¡£ÀýÈ磬ϵͳµ÷ÓÃfork()µÄÏìÓ¦º¯ÊýÊÇsys_fork()(¼ûkernel/fork.c),exit()µÄÏìÓ¦º¯ÊýÊÇsys_exit()(¼ûkernel/fork.c)¡£
Îļþinclude/asm/unisted.hΪÿ¸öϵͳµ÷Óù涨ÁËΨһµÄ±àºÅ¡£¼ÙÉèÓÃname±íʾϵͳµ÷ÓõÄÃû³Æ£¬ÄÇôϵͳµ÷ÓúÅÓëϵͳµ÷ÓÃÏìÓ¦º¯Êý
µÄ¹ØÏµÊÇ£ºÒÔϵͳµ÷ÓúÅ_NR_name×÷Ϊϱ꣬¿ÉÕÒ³öϵͳµ÷Óñísys_call_table(¼ûarch/i386/kernel
/entry.S)ÖжÔÓ¦±íÏîµÄÄÚÈÝ£¬ËüÕýºÃ ÊǸÃϵͳµ÷ÓõÄÏìÓ¦º¯Êýsys_nameµÄÈë¿ÚµØÖ·¡£ÏµÍ³µ÷
Óñísys_call_table¼Ç¼Á˸÷sys_nameº¯ÊýÔÚ±íÖеÄλ Ö㬹²190Ïî¡£ÓÐÁËÕâÕÅ±í£¬¾ÍºÜÈÝÒ׸ù¾ÝÌØ¶¨ÏµÍ³µ÷ÓÃ
ÔÚ±íÖÐµÄÆ«ÒÆÁ¿£¬ÕÒµ½¶ÔÓ¦µÄϵͳµ÷ÓÃÏìÓ¦º¯ÊýµÄÈë¿ÚµØÖ·¡£ÏµÍ³µ÷ÓÃ±í¹²256ÏÓàϵÄÏîÊǿɹ©Óû§×Ô¼ºÌí¼ÓµÄϵͳµ÷Óÿռ䡣
(2)½ø³ÌµÄϵͳµ÷ÓÃÃüÁîת»»ÎªINT 0x80ÖжϵĹý³Ì
ºê¶¨Òå_syscallN()¼ûinclude/asm/unisted.h)ÓÃÓÚϵͳµ÷Óõĸñʽת»»ºÍ²ÎÊýµÄ´«µÝ¡£NÈ¡0~5Ö®¼äµÄÕûÊý¡£
²ÎÊý¸öÊýΪNµÄϵͳµ÷ÓÃÓÉ_syscallN()¸ºÔð¸ñʽת»»ºÍ²ÎÊý´«µÝ¡£ÏµÍ³µ÷ÓúŷÅÈëEAX¼Ä´æÆ÷£¬Æô¶¯INT 0x80
ºó£¬¹æ¶¨·µ»ØÖµËÍEAX¼Ä´æÆ÷¡£
(3)ϵͳµ÷Óù¦ÄÜÄ£¿éµÄ³õʼ»¯
¶Ôϵͳµ÷Óõijõʼ»¯Ò²¾ÍÊǶÔINT
0x80µÄ³õʼ»¯¡£ÏµÍ³Æô¶¯Ê±£¬»ã±à×Ó³ÌÐòsetup_idt(¼ûarch/i386/kernel/head.S)×¼±¸ÁË1ÕÅ256ÏîµÄidt±í£¬ÓÉ
start_kernel()(¼û
init/main.c),trap_init()(¼ûarch/i386/kernel/traps.c)µ÷ÓõÄCÓïÑԺ궨Òå
set_system_gate(0x80,&system_call)(¼û
include/asm/system.h)ÉèÖÃ0x80ºÅÈíÖжϵķþÎñ³ÌÐòΪ
system_call(¼ûarch/i386/kernel/entry.S),system.call¾ÍÊÇËùÓÐϵͳµ÷ÓõÄ×ÜÈë¿Ú¡£
(4)ÄÚºËÈçºÎΪ¸÷ÖÖϵͳµ÷Ó÷þÎñ
µ±½ø³ÌÐèÒª½øÐÐϵͳµ÷ÓÃʱ£¬±ØÐëÒÔCÓïÑÔº¯ÊýµÄÐÎʽдһ¾äϵͳµ÷ÓÃÃüÁî¡£¸ÃÃüÁîÈç¹ûÒÑÔÚij¸öÍ·Îļþ
ÖÐÓÉÏàÓ¦µÄ_syscallN()Õ¹¿ª£¬ÔòÓû§³ÌÐò±ØÐë°üº¬¸ÃÎÄ ¼þ¡£µ±½ø³ÌÖ´Ðе½Óû§³ÌÐòµ
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
ת×Ô£º http://ipie.blogbus.com/logs/36730036.html
Linux¸ß¼¶È¨ÏÞ¹ÜÀí£ºACLÓ÷¨¼ò½é
2009-03-18 23:11:22 by deepblue
ǰ¶Îʱ¼ä£¬ÔÚLinuxÉÏÉèÖÃÒ»¸öĿ¼µÄ·ÃÎÊȨÏÞʱ£¬·¢ÏÖͨ¹ý¼òµ¥µÄchmod²Ù×÷²»ÄÜÂú×ã×Ô¼ºµÄÐèÇó£¬
ÎÊÌ⣺Èç¹ûÓÃrootÕʺŴ´½¨ÁËÒ»¸öĿ¼DIR£¬ÓÐA,B,C,DËÄ×éÓû§£¬ÎÒÏë¸øA×éÓû§¶ÁдִÐеÄȨÏÞ£ ......
linuxËÑË÷·¾¶: Èç¹ûÓõÄshellÊÇbash,Ôò»·¾³±äÁ¿¼ÓÔØ
1./etc/profile
2.Óû§homeĿ¼ÏÂÃæµÄ.bash_profile
3.Óû§homeĿ¼ÏÂÃæµÄ.bash_login
gcc -I<includeĿ¼>
POSIXϵͳҲ¿ÉÒÔ½¨Á¢»·¾³±äÁ¿
......
1 ¡¢Ç°ÑÔ
¡¡¡¡×Ô´Óµ®ÉúÒÔÀ´£¬Linux ¾Í±»²»¶ÏÍêÉÆºÍÆÕ¼°£¬Ä¿Ç°ËüÒѾ³ÉΪÖ÷Á÷ͨÓòÙ×÷ϵͳ֮һ£¬Ê¹Óõ÷dz£¹ã·º£¬ËüÓë Windows¡¢UNIX Ò»ÆðÕ¼¾ÝÁ˲Ù×÷ϵͳÁìÓò¼¸ºõËùÓеÄÊг¡·Ý¶î¡£ÌرðÊÇÔÚ¸ßÐÔÄܼÆËãÁìÓò£¬Linux ÒѾ³ÉΪһ¸öÕ¼Ö÷µ¼µØÎ»µÄ²Ù×÷ϵͳ£¬ÔÚ2005Äê6ÔÂÈ«ÇòTOP500 ¼ÆËã»úÖУ¬ÓÐ 301 ̨²¿ÊðµÄÊÇ Linux ²Ù×÷ϵͳ¡£Òò ......