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»áÖªµÀ¸ÃÎ
Ïà¹ØÎĵµ£º
shellÊÇÓû§ºÍLinux²Ù×÷ϵͳ֮¼äµÄ½Ó¿Ú¡£LinuxÖÐ
ÓжàÖÖshell£¬ÆäÖÐȱʡʹÓõÄÊÇBash¡£±¾Õ½²ÊöÁËshellµÄ¹¤×÷ÔÀí£¬shellµÄÖÖÀ࣬shellµÄÒ»°ã²Ù×÷¼°BashµÄÌØÐÔ¡£
¡¡¡¡Ê²Ã´ÊÇshell
¡¡¡¡LinuxϵͳµÄshell×÷Ϊ²Ù×÷ϵͳµÄÍâ¿Ç£¬ÎªÓû§Ìá
¹©Ê¹ÓòÙ×÷ϵͳµÄ½Ó¿Ú¡£ËüÊÇÃüÁîÓïÑÔ¡¢ÃüÁî½âÊͳÌÐò¼°³ÌÐòÉè¼ÆÓïÑÔµÄͳ³Æ¡£
¡¡¡¡she ......
Ò». yumÊÇʲô
yum = Yellow dog Updater, Modified
Ö÷Òª¹¦ÄÜÊǸü·½±ãµÄÌí¼Ó/ɾ³ý/¸üÐÂRPM°ü.
ËüÄÜ×Ô¶¯½â¾ö°üµÄÒÐÀµÐÔÎÊÌâ.
ËüÄܱãÓÚ¹ÜÀí´óÁ¿ÏµÍ³µÄ¸üÐÂÎÊÌâ
×¢:ΪʲôҪʹÓÃyum¶ø²»ÓÃapt,×î¼òµ¥µÄÔÒò,Fedora×Ô´ø
¶þ. ......
£¨1£©»ù±¾¸ÅÄî
´Ó±¾ÖÊÉϽ²£¬ÎļþϵͳÊÇÌØÊâµÄÊý¾Ý·Ö²ã´æ´¢½á¹¹£¬Ëü°üº¬Îļþ¡¢Ä¿Â¼ºÍÏà¹ØµÄ¿ØÖÆÐÅÏ¢¡£ÎªÁËÃèÊöÕâ½á¹¹£¬LinuxÒýÈëһЩ»ù±¾¸ÅÄî:
A£¬Îļþ£ºÒ»×éÔÚÂß¼ÉϾßÓÐÍêÕûÒâÒåµÄÐÅÏ¢ÏîµÄϵÁС£ÁíÍ⣬ÔÚLinuxÖУ¬³ýÁËÆÕͨÎļþ£¬ÆäËûÖîÈçĿ¼¡¢É豸¡¢Ì×½Ó×ÖµÈÒ²ÒÔÎļþ±»¶Ô´ý¡£×ÜÖ® ......
LinuxÍøÂçÉ豸Çý¶¯³ÌÐòÌåϵ½á¹¹
´ÓÉϵ½Ï£ºÍøÂçÐÒé½Ó¿Ú²ã-->ÍøÂçÉ豸½á¹¹²ã-->É豸Çý¶¯ÊµÏÖ²ã-->ÍøÂçÉ豸Óëý½é²ã
¼ÇÒä·½·¨£º
·ÖÈý²ã£¬1¡¢×îÉÏÃæÀí½âΪÎÒÃÇÓõÄÍøÂç´«Êä·½·¨£¬¾ÍÊÇÍøÂçÐÒ飬2¡¢×îÏÂÃæ¾ÍÊÇÎïÀíÓ²¼þ£¬¼´ÍøÂçÉ豸²ã£¬3¡¢ÖмäÊÇÒ»²ã£¬É豸Çý¶¯£¬È»ºó²ð³É2²¿·Ö£¬Éϲ¿·ÖÊǽṹ£¨²ã£©£¬Ï²¿· ......