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

Linux»·¾³½ø³Ì¼äͨÐÅ ¹²ÏíÄÚ´æ(ÉÏ£©

   ¹²ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£¬±ØÈ»ÐèҪijÖÖͬ²½»úÖÆ£¬»¥³âËøºÍÐźÅÁ¿¶¼¿ÉÒÔ¡£
   ²ÉÓù²ÏíÄÚ´æÍ¨ÐŵÄÒ»¸öÏÔ¶øÒ×¼ûµÄºÃ´¦ÊÇЧÂʸߣ¬ÒòΪ½ø³Ì¿ÉÒÔÖ±½Ó¶ÁдÄڴ棬¶ø²»ÐèÒªÈκÎÊý¾ÝµÄ¿½±´¡£¶ÔÓÚÏñ¹ÜµÀºÍÏûÏ¢¶ÓÁеÈͨÐÅ·½Ê½£¬ÔòÐèÒªÔÚÄں˺ÍÓû§¿Õ¼ä½øÐÐËĴεÄÊý¾Ý¿½±´£¬¶ø¹²ÏíÄÚ´æÔòÖ»¿½±´Á½´ÎÊý¾Ý[1]£ºÒ»´Î´ÓÊäÈëÎļþµ½¹²ÏíÄÚ´æÇø£¬ÁíÒ»´Î´Ó¹²ÏíÄÚ´æÇøµ½Êä³öÎļþ¡£Êµ¼ÊÉÏ£¬½ø³ÌÖ®¼äÔÚ¹²ÏíÄÚ´æÊ±£¬²¢²»×ÜÊǶÁдÉÙÁ¿Êý¾Ýºó¾Í½â³ýÓ³É䣬ÓÐеÄͨÐÅʱ£¬ÔÙÖØÐ½¨Á¢¹²ÏíÄÚ´æÇøÓò¡£¶øÊDZ£³Ö¹²ÏíÇøÓò£¬Ö±µ½Í¨ÐÅÍê±ÏΪֹ£¬ÕâÑù£¬Êý¾ÝÄÚÈÝÒ»Ö±±£´æÔÚ¹²ÏíÄÚ´æÖУ¬²¢Ã»ÓÐд»ØÎļþ¡£¹²ÏíÄÚ´æÖеÄÄÚÈÝÍùÍùÊÇÔÚ½â³ýÓ³Éäʱ²Åд»ØÎļþµÄ¡£Òò´Ë£¬²ÉÓù²ÏíÄÚ´æµÄͨÐÅ·½Ê½Ð§ÂÊÊǷdz£¸ßµÄ¡£
LinuxµÄ2.2.xÄÚºËÖ§³Ö¶àÖÖ¹²ÏíÄڴ淽ʽ£¬Èçmmap()ϵͳµ÷Óã¬Posix¹²ÏíÄڴ棬ÒÔ¼°ÏµÍ³V¹²ÏíÄÚ´æ¡£linux·¢Ðа汾ÈçRedhat 8.0Ö§³Ömmap()ϵͳµ÷Óü°ÏµÍ³V¹²ÏíÄڴ棬µ«»¹Ã»ÊµÏÖPosix¹²ÏíÄڴ棬±¾ÎĽ«Ö÷Òª½éÉÜmmap()ϵͳµ÷Óü°ÏµÍ³V¹²ÏíÄÚ´æAPIµÄÔ­Àí¼°Ó¦Óá£
1¡¢page cache¼°swap cacheÖÐÒ³ÃæµÄÇø·Ö£ºÒ»¸ö±»·ÃÎÊÎļþµÄÎïÀíÒ³Ãæ¶¼×¤ÁôÔÚpage cache»òswap cacheÖУ¬Ò»¸öÒ³ÃæµÄËùÓÐÐÅÏ¢ÓÉstruct pageÀ´ÃèÊö¡£struct pageÖÐÓÐÒ»¸öÓòΪָÕëmapping £¬ËüÖ¸ÏòÒ»¸östruct address_spaceÀàÐͽṹ¡£page cache»òswap cacheÖеÄËùÓÐÒ³Ãæ¾ÍÊǸù¾Ýaddress_space½á¹¹ÒÔ¼°Ò»¸öÆ«ÒÆÁ¿À´Çø·ÖµÄ¡£
2¡¢ÎļþÓëaddress_space½á¹¹µÄ¶ÔÓ¦£ºÒ»¸ö¾ßÌåµÄÎļþÔÚ´ò¿ªºó£¬Äں˻áÔÚÄÚ´æÖÐΪ֮½¨Á¢Ò»¸östruct inode½á¹¹£¬ÆäÖеÄi_mappingÓòÖ¸ÏòÒ»¸öaddress_space½á¹¹¡£ÕâÑù£¬Ò»¸öÎļþ¾Í¶ÔÓ¦Ò»¸öaddress_space½á¹¹£¬Ò»¸öaddress_spaceÓëÒ»¸öÆ«ÒÆÁ¿Äܹ»È·¶¨Ò»¸öpage cache »òswap cacheÖеÄÒ»¸öÒ³Ãæ¡£Òò´Ë£¬µ±ÒªÑ°Ö·Ä³¸öÊý¾Ýʱ£¬ºÜÈÝÒ׸ù¾Ý¸ø¶¨µÄÎļþ¼°Êý¾ÝÔÚÎļþÄ򵀮«ÒÆÁ¿¶øÕÒµ½ÏàÓ¦µÄÒ³Ãæ¡£
3¡¢½ø³Ìµ÷ÓÃmmap()ʱ£¬Ö»ÊÇÔÚ½ø³Ì¿Õ¼äÄÚÐÂÔöÁËÒ»¿éÏàÓ¦´óСµÄ»º³åÇø£¬²¢ÉèÖÃÁËÏàÓ¦µÄ·ÃÎʱêʶ£¬µ«²¢Ã»Óн¨Á¢½ø³Ì¿Õ¼äµ½ÎïÀíÒ³ÃæµÄÓ³Éä¡£Òò´Ë£¬µÚÒ»´Î·ÃÎʸÿռäʱ£¬»áÒý·¢Ò»¸öȱҳÒì³£¡£
4¡¢¶ÔÓÚ¹²ÏíÄÚ´æÓ³ÉäÇé¿ö£¬È±Ò³Òì³£´¦Àí³ÌÐòÊ×ÏÈÔÚswap cacheÖÐѰÕÒÄ¿±êÒ³£¨·ûºÏaddress_spaceÒ


Ïà¹ØÎĵµ£º

̰Ðݲװ64λlinuxµÄÞÏÞÎ

administer@administer-laptop:~/tem/tt$ cat hello.asm
[section .data]
strHello db "Hello, world!",0Ah
STRLEN  equ $-strHello
[section .text]
global _start
_start: 
mov edx,STRLEN
mov ecx,strHello
mov ebx,1
mov eax,4
int  0x80
mov  ......

linux֪ʶ

ѧϰLinuxÖÕ¶ËÃüÁî
linuxĿ¼¼Ü¹¹
/   ¸ùĿ¼
/bin    ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot   ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
     /boot/grub/menu.lst   GRUBÉèÖÃ
     /boot/vmlinuz & ......

LinuxµÄÄÚºËÑÓ³Ùº¯Êý

µ±ÄÚºËÐèÒªµÈ´ýÒ»¸ö±È½Ï¶ÌµÄʱ¼ä¼ä¸ôʱ£¬±È·½Ëµ£ºÓÐʱºòÉ豸Çý¶¯Æ÷»áµÈ´ýÔ¤Ïȶ¨ÒåµÄÈô¸É¸ö΢ÃîµÄʱ¼äÖ±µ½Ó²¼þÍê³ÉijЩ²Ù×÷¡£ÓÉÓÚ¶¯Ì¬¶¨Ê±Æ÷ͨ³£ÓкܴóµÄÉèÖÿªÏúºÍÒ»¸öÏ൱´óµÄ×îСµÈ´ýʱ¼ä£¨1ms£©£¬ËùÒÔÉ豸Çý¶¯Æ÷ʹÓÃËü»áºÜ²»·½±ã¡£
ÔÚÕâЩÇé¿öÏ£¬ÄÚºËʹÓÃudelay£¨£©ºÍndelay£¨£©º¯Êý£ºÇ°Õß½ÓÊÕÒ»¸ö΢Ãî¼¶µÄʱ¼ä¼ä¸ô×÷Î ......

Linux²Ù×÷ϵͳÏÂVI±à¼­Æ÷³£ÓÃÃüÁî½éÉÜ


Linux²Ù×÷ϵͳÏÂVI±à¼­Æ÷³£ÓÃÃüÁî½éÉÜ
ZDNet ÍøÂçÆµµÀƵµÀ ¸üÐÂʱ¼ä£º2008-05-19 ×÷Õߣºkid À´Ô´£ºÈüµÏÍø
±¾ÎĹؼü´Ê£ºlinuxÃüÁî Linux linux viÃüÁî
¡¡¡¡Ò»£®¼ò½é
¡¡¡¡viÊÇunixÊÀ½çÖÐ×îͨÓõÄÈ«ÆÁ±à¼­Æ÷£¬linuxÖÐÊÇÓõÄÊÇviµÄ¼ÓÇ¿°ævim,vimͬviÍêÈ«¼æÈÝ£¬vi¾ÍÊÇ"visual interface"µÄËõд¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ