- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
即使提供了虚拟内存、互斥与同步、进程间通信等支持机制,进程仍然无法正常工作,原因是还未为其提供与外界交互的手段,即I/O机制。离开了I/O机制的支持,进程既无法接收外界信息,也无法输出处理结果,就会失去存在的意义。 事实上,计算机系统中除了处理器、内存、中断、时钟等核心硬件资源之外,通常还配置有多种外部设备,如磁盘、光盘等存储设备,网卡等通信设备,键盘、鼠标等输入设备,显示器、打印机等输出设备。如果说处理器、内存等是大脑的话,那么外部设备就是计算机系统的五官和四肢。显然,外部设备管理是操作系统的核心任务之一。 在所有的外部设备中,外部存储设备是最重要的一类,操作系统对其进行了一系列的抽象。外存设备上的存储空间被抽象成了逻辑块的数组,用户可以以块为单位对其进行随机访问,因此外存设备又被称为块设备。块设备上存储的信息被抽象成了文件,一个块设备上的所有文件被组织在一个目录结构中,因此单个块设备上的信息管理系统又被称为物理文件系统。不同块设备上的物理文件系统被统一组织起来,形成了单一的虚拟文件系统(Virtual File System,VFS)。块设备驱动程序负责物理块设备操作的实施,块设备管理层负责逻辑块数组的抽象,物理文件系统负责单个块设备中的存储空间与文件的管理,虚拟文件系统负责物理文件系统的管理。 进一步地,Linux将系统中所有的外部设备全都抽象成了文件(称为设备特殊文件或设备文件),用普通的文件操作统一了千差万别的设备操作,从而统一了外部设备的管理。因此,虚拟文件系统是I/O系统的总接口,是现代操作系统的核心之一。 虚拟文件系统是由SUN公司首先提出的,最初的设计目标有四个,分别是可同时支持多种类型的物理文件系统;可屏蔽物理文件系统之间的差别,统一物理文件系统的使用;可为在网络上共享文件提供支持;允许用户开发并以模块方式动态加载自己的物理文件系统。 经过多年的努力,VFS达到并超过了自己的设计目标,演变成了Unix系列操作系统的标准输入/输出管理系统。事实上,除了管理物理文件系统之外,VFS还管理着系统中的各类外部设备。VFS与物理文件系统和块设备管理程序合作共同完成了块设备的管理,与字符设备管理程序合作完成了字符设备的管理,与网络协议和网络设备管理程序合作完成了网络设备的管理。 11.1.1 虚拟文件系统框架 如果仅从块设备管理的角度观察,VFS与物理文件系统合作主要完成三项管理工作,其中逻辑块的组织与管理工作主要由物理文件系统负责,文件的组织与管理工作由物理文件系统与VFS共同负责,物理文件系统的管理工作主要由虚拟文件系统负责。块设备管理程序、物理文件系统与VFS之间的关系如图11.1所示。 图11.1 VFS与物理文件系统和块设备管理程序间的关系 然而,VFS不是真实的文件系统,它仅存在于内存之中,在外存上并没有对应的实体(所以称为虚拟文件系统)。VFS中的实体和管理结构都是在使用过程中动态生成的,会在系统关闭时自动消亡。 事实上,VFS仅是一个管理框架,它定义上下两个层次的接口。物理文件系统通过下层接口被插入到VFS框架中。只要实现了下层接口,VFS就认为它是一个物理文件系统。用户通过VFS的上层接口使用I/O系统,如安装、卸载物理文件系统,组织与读写文件,操作外部设备等。VFS将用户请求的文件或设备操作转交给下层的物理文件系统或设备管理程序,因此VFS又被称为虚拟文件交换机(Virtual File Switch),如图11.2所示。 图11.2 虚拟文件系统框架 为了实现对物理文件系统的管理,实现上下层接口之间的转接,VFS建立了一整套数据结构,包括超级块结构super_block、索引节点结构inode、目录项结构dentry等,每一个结构中都包含一到多个操作集。设计物理文件系统的核心工作是实现这些结构中的操作集。 11.1.2 超级块结构 VFS管理的最重要的实体或对象是物理文件系统。为描述物理文件系统,VFS专门定义了超级块结构super_block,又称为文件系统类。Linux为它的每个活动的物理文件系统都建立了一个超级块实例,就像为每个进程都建立一个task_struct结构一样。超级块结构中记录着物理文件系统的所有管理信息,大致包括如下几类: (1) 底层块设备。除了一些特殊的伪文件系统之外,大部分的物理文件系统都建立在块设备之上。块设备的设备号记录在域s_dev中,逻辑块设备的描述结构(即结构block_device,见12.1.3节)记录在域s_bdev中。 (2) 块尺寸。文件系统以块为单位读写底层块设备,每次至少一块。不同物理文件系统可以选用不同的块尺寸,但一旦选定就不可再更改,除非重建该物理文件系统。物理文件
您可能关注的文档
- Java基础教程(第2版) 作者 978-7-302-28331-7 B11图形用户界面设计.ppt
- Java简明教程 作者 978-7-302-31477-6 第1章-Java入门.ppt
- Java简明教程 作者 978-7-302-31477-6 第2章-Java编程基础.ppt
- Java简明教程 作者 978-7-302-31477-6 第3章-Java程序基本结构.ppt
- Java简明教程 作者 978-7-302-31477-6 第4章-方法与数组.ppt
- Java简明教程 作者 978-7-302-31477-6 第5章-类和对象.ppt
- Java简明教程 作者 978-7-302-31477-6 第6章-继承、多态与接口.ppt
- Java简明教程 作者 978-7-302-31477-6 第7章-字符串.ppt
- Java简明教程 作者 978-7-302-31477-6 第8章-多线程与Applet技术.ppt
- Java简明教程 作者 978-7-302-31477-6 第9章-图形用户界面.ppt
- Linux原理与结构 作者 郭玉东 全书 第12章.ppt
- Linux原理与结构 作者 郭玉东 全书 封面及目录.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第3-4章 第3章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第3-4章 第4章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第5-8章 第5章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第5-8章 第6章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第5-8章 第7章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第5-8章 第8章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第9-11章 第10章.ppt
- Linux网络操作系统应用教程高职 作者 王和平 第9-11章 第11章.ppt
文档评论(0)