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

linux VFSµÄÎļþIO

      Í¨¹ý²ûÊöÁ½¸ö¾ßÓдú±íÐÔµÄϵͳµ÷ÓÃsys_open()ºÍsys_read()À´¸üºÃµØÀí½âVFSÏò¾ßÌåÎļþϵͳÌṩµÄ½Ó¿Ú»úÖÆ¡£ÔÚÉîÈësys_open()ºÍsys_read()֮ǰ£¬ÎÒÃÇÏȸÅÀÀϵ÷ÓÃsys_read()µÄÉÏÏÂÎÄ¡£ÏÂͼÃèÊöÁË´ÓÓû§¿Õ¼äµÄread()µ÷Óõ½Êý¾Ý´Ó´ÅÅ̶Á³öµÄÕû¸öÁ÷³Ì¡£µ±ÔÚÓû§Ó¦ÓóÌÐòµ÷ÓÃÎļþI/O read()²Ù×÷ʱ£¬ÏµÍ³µ÷ÓÃsys_read()±»¼¤·¢£¬sys_read()ÕÒµ½ÎļþËùÔڵľßÌåÎļþϵͳ£¬°Ñ¿ØÖÆÈ¨´«¸ø¸ÃÎļþϵͳ£¬×îºóÓɾßÌåÎļþϵͳÓëÎïÀí½éÖʽ»»¥£¬´Ó½éÖÊÖжÁ³öÊý¾Ý¡£
              
£¨1£©sys_open()
      sys_open()ϵͳµ÷Óôò¿ª»ò´´½¨Ò»¸öÎļþ£¬³É¹¦·µ»Ø¸ÃÎļþµÄÎļþÃèÊö·û¡£sys_openº¯Êýµ÷ÓùØÏµÍ¼£º
£¨2£©sys_read()
      sys_read()ϵͳµ÷ÓÃÓÃÓÚ´ÓÒÑ´ò¿ªµÄÎļþ¶ÁÈ¡Êý¾Ý¡£Èçread³É¹¦£¬Ôò·µ»Ø¶Áµ½µÄ×Ö½ÚÊý¡£ÈçÒѵ½´ïÎļþµÄβ¶Ë£¬Ôò·µ»Ø0¡£
      ¶ÔÎļþ½øÐжÁ²Ù×÷ʱ£¬ÐèÒªÏÈ´ò¿ªËü¡£ÓÉ¡¶linux VFSµÄÊý¾Ý½á¹¹¡·¿ÉÖª´ò¿ªÒ»¸öÎļþʱ£¬»áÔÚÄÚ´æ×é×°Ò»¸öÎļþ¶ÔÏó£¬Ï£Íû¶Ô¸ÃÎļþÖ´ÐеIJÙ×÷·½·¨ÒÑÔÚÎļþ¶ÔÏóÉèÖúá£ËùÒÔ¶ÔÎļþ½øÐжÁ²Ù×÷ʱ£¬VFSÔÚ×öÁËһЩ¼òµ¥µÄת»»ºó£¨ÓÉÎļþÃèÊö·ûµÃµ½Æä¶ÔÓ¦µÄÎļþ¶ÔÏ󣬯äºËÐÄ˼ÏëÊÇ·µ»Øcurrent->files->fd[fd]ËùÖ¸ÏòµÄÎļþ¶ÔÏ󣩣¬¾Í¿ÉÒÔͨ¹ýÓï¾äfile->f_op->read(file, buf, count, pos)ÇáËɵ÷ÓÃʵ¼ÊÎļþϵͳµÄÏàÓ¦·½·¨¶ÔÎļþ½øÐжÁ²Ù×÷ÁË¡£
£¨3£©×ÛÉÏ
      ¿çÎļþϵͳµÄÎļþ²Ù×÷µÄ»ù±¾Ô­Àí£ºµ½´Ë£¬ÎÒÃÇÒ²¾ÍÄܹ»½âÊÍÔÚLinuxÖÐΪʲôÄܹ»¿çÎļþϵͳµØ²Ù×÷ÎļþÁË¡£¾Ù¸öÀý×Ó£¬½«vfat¸ñʽµÄ´ÅÅÌÉϵÄÒ»¸öÎļþa.txt¿½±´µ½ext3¸ñʽµÄ´ÅÅÌÉÏ£¬ÃüÃûΪb.txt¡£¶Áд²Ù×÷ǰ£¬ÐèÒªÏÈ´ò¿ªÎļþ£¬´ò¿ªÎļþʱ£¬VFS»áÖªµÀ¸ÃÎļþ¶ÔÓ¦µÄÎļþϵͳ¸ñʽ£¬ÒÔºó²Ù×÷¸ÃÎļþʱ£¬VFS»áµ÷ÓÃÆä¶ÔÓ¦µÄʵ¼ÊÎļþϵͳµÄ²Ù×÷·½·¨¡£ËùÒÔ£¬VFSµ÷ÓÃvfatµÄ¶ÁÎļþ·½·¨½«a.txtµÄÊý¾Ý¶ÁÈëÄڴ棻ÔÚ½«a.txtÔÚÄÚ´æÖеÄÊý¾ÝÓ³Éäµ½b.txt¶ÔÓ¦µÄÄÚ´æ¿Õ¼äºó£¬VFSµ÷ÓÃext3µÄдÎļþ·½·¨½«b.txtдÈë´ÅÅÌ£»´Ó¶øÊµÏÖÁË×îÖյĿçÎļþϵͳµÄ¸´ÖƲÙ×÷¡£
      ²»ÂÛÊÇÆÕͨµÄÎļþ£¬»¹ÊÇÌØÊâµÄĿ¼¡¢É豸µÈ£¬VFS¶¼½«ËüÃÇͬµÈ¿´´ý³ÉÎļþ£¬Í¨¹ýͬһÌ×Îļþ²Ù×÷½çÃæÀ´¶ÔËüÃǽøÐвÙ×÷¡£²Ù×÷ÎļþʱÐèÏÈ´ò¿ª£»´ò¿ªÎļþʱ£¬VFS»áÖªµÀ¸ÃÎ


Ïà¹ØÎĵµ£º

LinuxÏÂviÃüÁîÏê½â

vi
±à¼­Æ÷ÊÇËùÓÐUnix¼°Linuxϵͳϱê×¼µÄ±à¼­Æ÷£¬ËüµÄÇ¿´ó²»Ñ·É«ÓÚÈκÎ×îеÄÎı¾±à¼­Æ÷£¬ÕâÀïÖ»ÊǼòµ¥µØ½éÉÜÒ»ÏÂËüµÄÓ÷¨ºÍһС²¿·ÖÖ¸Áî¡£ÓÉÓÚ¶Ô
Unix¼°LinuxϵͳµÄÈκΰ汾£¬vi±à¼­Æ÷ÊÇÍêÈ«ÏàͬµÄ£¬Òò´ËÄú¿ÉÒÔÔÚÆäËûÈκνéÉÜviµÄµØ·½½øÒ»²½Á˽âËü¡£ViÒ²ÊÇLinuxÖÐ×î»ù±¾µÄÎı¾±à¼­
Æ÷£¬Ñ§»áËüºó£¬Äú½«ÔÚLinuxµÄÊÀ½çÀ ......

LinuxÍøÂçÉ豸Çý¶¯Ñ§Ï°±Ê¼Ç( )

LinuxÍøÂçÉ豸Çý¶¯³ÌÐòÌåϵ½á¹¹
´ÓÉϵ½Ï£ºÍøÂçЭÒé½Ó¿Ú²ã-->ÍøÂçÉ豸½á¹¹²ã-->É豸Çý¶¯ÊµÏÖ²ã-->ÍøÂçÉ豸Óëý½é²ã
 
¼ÇÒä·½·¨£º
·ÖÈý²ã£¬1¡¢×îÉÏÃæÀí½âΪÎÒÃÇÓõÄÍøÂç´«Êä·½·¨£¬¾ÍÊÇÍøÂçЭÒ飬2¡¢×îÏÂÃæ¾ÍÊÇÎïÀíÓ²¼þ£¬¼´ÍøÂçÉ豸²ã£¬3¡¢ÖмäÊÇÒ»²ã£¬É豸Çý¶¯£¬È»ºó²ð³É2²¿·Ö£¬Éϲ¿·ÖÊǽṹ£¨²ã£©£¬Ï²¿· ......

linuxÏÂlogrotate ÅäÖúÍÀí½â

¶ÔÓÚLinux µÄϵͳ°²È«À´Ëµ£¬ÈÕÖ¾ÎļþÊǼ«ÆäÖØÒªµÄ¹¤¾ß¡£ÏµÍ³¹ÜÀíÔ±¿ÉÒÔʹÓÃlogrotate ³ÌÐòÓÃÀ´¹ÜÀíϵͳÖеÄ×îеÄʼþ£¬¶ÔÓÚLinux µÄϵͳ°²È«À´Ëµ£¬ÈÕÖ¾ÎļþÊǼ«ÆäÖØÒªµÄ¹¤¾ß¡£ÏµÍ³¹ÜÀíÔ±¿ÉÒÔʹÓÃlogrotate ³ÌÐòÓÃÀ´¹ÜÀíϵͳÖеÄ×îеÄʼþ¡£logrotate »¹¿ÉÒÔÓÃÀ´±¸·ÝÈÕÖ¾Îļþ£¬±¾Æª½«Í¨¹ýÒÔϼ¸²¿·ÖÀ´½éÉÜ
  &n ......

LinuxϵĶδíÎó²úÉúµÄÔ­Òò¼°µ÷ÊÔ·½·¨

¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄgdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°ü ......

LinuxÐźŽéÉÜ(ת)

Ðźţ¨signal£©ÊÇÒ»ÖÖÈí¼þÖжϣ¬ËüÌṩÁËÒ»ÖÖ´¦ÀíÒ첽ʼþµÄ·½·¨£¬Ò²Êǽø³Ì¼äΩһµÄÒ첽ͨÐÅ·½Ê½¡£ÔÚLinuxϵͳÖУ¬¸ù¾ÝPOSIX±ê×¼À©Õ¹ÒÔºóµÄÐźŻúÖÆ£¬²»È¨¿ÉÒÔÓÃÀ´Í¨ÖªÄ³½ø³Ì·¢ÉúÁËʲôʼþ£¬»¹¿ÉÒÔ¸ø½ø³Ì´«µÝÊý¾Ý¡£
    Ò»¡¢ÐźŵÄÀ´Ô´
    ÐźŵÄÀ´Ô´¿ÉÒÔÓкܶàÖÖ·½Ê½£¬°´ÕÕ²úÉúÌõ¼þµÄ²» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ