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´ÅÅ̲Ù×÷ÃüÁîÏê½â
ÊÕ²Ø
1.·ÖÇøÓë¸ñʽ»¯ÔÀí
Ó²Å̵ķÖÇø·ÖÖ÷MBR£¨446byte£©,Ö÷·ÖÇø±í(64byte)£¬·ÖÇø.
2.ʹÓÃlinuxÖеÄfdisk·ÖÇø
fdisk /dev/sdb
p ´òÓ¡·ÖÇø±í
t ת»»·ÖÇø±í
w д½ø·ÖÇø±í ......
ifconfig
¡¡¡¡
ifconfigÊÇLinuxϵͳÖÐ×î³£ÓõÄÒ»¸öÓÃÀ´ÏÔʾºÍÉèÖÃÍøÂçÉ豸µÄ¹¤¾ß¡£ÆäÖГif”ÊÇ“interface”µÄËõд¡£Ëü¿ÉÒÔÓÃÀ´Éè±¸Íø¿¨µÄ×´
̬£¬»òÊÇÏÔʾµ±Ç°µÄÉèÖá£
¡¡¡¡ ÏÂÃæÎÒÃǼòµ¥µØËµÃ÷³£ÓõÄÃüÁî×éºÏ£º
¡¡¡¡ 1£© ½«µÚÒ»¿éÍø¿¨µÄIPµØÖ·ÉèÖÃΪ19 ......
vi
±à¼Æ÷ÊÇËùÓÐUnix¼°Linuxϵͳϱê×¼µÄ±à¼Æ÷£¬ËüµÄÇ¿´ó²»Ñ·É«ÓÚÈκÎ×îеÄÎı¾±à¼Æ÷£¬ÕâÀïÖ»ÊǼòµ¥µØ½éÉÜÒ»ÏÂËüµÄÓ÷¨ºÍһС²¿·ÖÖ¸Áî¡£ÓÉÓÚ¶Ô
Unix¼°LinuxϵͳµÄÈκΰ汾£¬vi±à¼Æ÷ÊÇÍêÈ«ÏàͬµÄ£¬Òò´ËÄú¿ÉÒÔÔÚÆäËûÈκνéÉÜviµÄµØ·½½øÒ»²½Á˽âËü¡£ViÒ²ÊÇLinuxÖÐ×î»ù±¾µÄÎı¾±à¼
Æ÷£¬Ñ§»áËüºó£¬Äú½«ÔÚLinuxµÄÊÀ½çÀ ......
1,˵Ã÷:
ulimitÓÃÓÚshellÆô¶¯½ø³ÌËùÕ¼ÓõÄ×ÊÔ´.
2,Àà±ð:
shellÄÚ½¨ÃüÁî
3,Óï·¨¸ñʽ:
ulimit [-acdfHlmnpsStvw] [size]
4,²ÎÊý½éÉÜ:
-H ÉèÖÃÓ²¼þ×ÊÔ´ÏÞÖÆ.
-S ÉèÖÃÈí¼þ×ÊÔ´ÏÞÖÆ.
-a ÏÔʾµ±Ç°ËùÓеÄ×ÊÔ´ÏÞÖÆ.
-c size:ÉèÖÃcoreÎļþµÄ×î´óÖµ.µ¥Î»:blocks
-d size:ÉèÖÃÊý¾Ý¶ÎµÄ×î´óÖµ.µ¥Î»:kbytes
-f size:ÉèÖô´½¨ ......
ºÜ¶àÐÂÊÖ£¬ÔÚ°²×°linuxϵͳʱ³£³£»á³öÏÖµÄÎÊÌ⣺Òýµ¼³ÌÐò×°´í£¬»òÕß²»Ð¡ÐÄɾ³ýlinux·ÖÇø£¬°ÑmbrɾµôÁË¡£»òÕß×°ÍêlinuxºóÓÖ֨װwindows£¬°Ñmbr¸²¸ÇÁË£¬ÒÔÖÂÎÞ·¨Æô¶¯ÏµÍ³£¬³öÏÖ"Grub>"µÄÇé¿ö¡£
Èç¹û½«Grub»òÕßLilo°²×°ÔÚMbr(Ö÷Òýµ¼ÉÈÇø)£¬ÖØÐ°²×°Windows»áÔì³ÉGrub»òÕßLiloµÄ¶ªÊ§¡£Èç¹û°ÑËüÃǰ²×°ÔÚ¸ù·ÖÇø£¨root·ÖÇø£©£¬ ......