• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

虚拟文件系统(VFS)简介:前言

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网
  Linux是目前蛮热门的一个操作系统。很多人都知道它很是免费的,而且它也很稳定,更重要的是,它不会出现蓝色画面。可是,你知道吗? Linux所支持的档案系统高达十几个,除了为它量身打造的Ext2之外,它还支持了Minix,FAT,VFAT,NFS,NTFS…等等。有没有想过,它是怎么做到使得可以同时支持十多个档案系统呢? 没错,就是VFS,也就是这篇文章的重点。在这篇文章里,我会跟各位介绍Linux档案系统的结构,VFS所扮演的角色。
  
  Linux档案系统结构
  图:http://linuxfab.cx/Columns/17/Image2.gif
  Linux的档案系统在外型上其实跟UNIX档案系统是一样的。它是一个反转过来的树。最上层是系统的根目录,也就是"/"。系统根目录底下可以是目录也可以是档案,目录里也可以包含目录,档案等。如此就形成一个反转过来的树。我们知道,在Windows,如果你有二个partition,一个叫C,另一个叫D。当你要到D这个partition时,只要打"D:"就可以了。但是在Linux里可不是这样。要去读取另一个partition的资料必须要经由mount的动作。像
  
  mount -t ext2 /dev/hda3 /mnt
  
  就会将硬盘第三个partition挂在/mnt这个目录底下。Mount完之后,/mnt原本的内容会看不到,只会看到hda3里的内容。其中/mnt我们称为hda3的mount point。而/mnt这个目录则是被hda3所cover。经过mount以后,我们就可以经由/mnt去读取hda3的内容,就好象hda3的内容本来就放在/mnt底下一样。整个过程,如图1所示。
  
  图1(a)是原本的档案结构,图1(b)则是hda3这个partition的内容,将hda3 mount到/mnt之后,整个档案系统就变成图1(c)的样子。不管如何,Linux会保持其档案系统为一个tree的形状。这样mount下去,我们很容易可以推想到,从根目录开始的这个tree很有可能包含好几种的档案系统,可能挂在/mnt上的是Ext2档案系统,挂在/home上的是FAT,而挂在/cdrom上的则是iso9660档案系统。我们知道,当使用者去读取这些目录里的内容时,他本身是不用去管这个目录挂的档案系统是什么。基本,使用者也不会感到有什么不同。而就programmer的观点来看,我们也不会说去读/mnt里的档案和去读/home里的档案要下不同的参数。Linux是怎么做到这一点的呢? 它就是利用VFS来做到的。
  

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网