操作系统Chap6.4~6.5 文件系统其他功能 Linux文件管理.pptVIP

操作系统Chap6.4~6.5 文件系统其他功能 Linux文件管理.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

主存映射文件(3)123451234552413进程A虚存进程B虚存物理主存12345磁盘文件优点:进程读写虚存内容相当于执行文件读写操作,在建立映射后,不再需要使用文件系统调用来读写数据,能大大降低开销;在主存中仅需一个页面副本,既节省空间,又不需要缓冲到主存的复制操作。*SchematicViewofVirtualFileSystem6.4.5虚拟文件系统(1)

第一个虚拟文件系统在1986年由Sun公司开发成功,并在SunOS中使用。虚拟文件系统也称虚拟文件系统开关VFS(VirtualFilesystemSwitch),它是内核的一个子系统,提供一个通用文件系统模型,该模型概括所能见到的文件系统常用功能和行为,处理一切和底层设备驱动相关的细节,为应用程序提供标准的接口(文件系统API)。6.4.5虚拟文件系统(1)

虚拟文件系统要实现以下目标同时支持多种文件系统;多个文件系统应与传统的单一文件系统没有区别,在用户面前表现为一致的接口;提供通过网络共享文件的支持,访问远程结点上的文件系统应与访问本地结点的文件系统一致;可以开发出新的文件系统,以模块方式加入到操作系统中。*虚拟文件系统(2)

虚拟文件系统设计思想:1应用层: VFS模型源于UNIX文件系统,使得用户可直接使用标准UNIX文件系统调用来操作文件,无需考虑具体文件系统特性和物理存储介质,通过VFS访问文件系统,才使得不同文件系统之间的协作性和通用性成为可能。2虚拟层:3实现层:虚拟文件系统(2)

虚拟文件系统设计思想:1应用层:2虚拟层: 对所有具体文件系统的共同特性进行抽象的基础上,形成一个与具体文件系统实现无关的虚拟层,并在此层次上定义与用户的一致性接口;3实现层:虚拟文件系统(2)

虚拟文件系统设计思想:1应用层:2虚拟层:3实现层: 该层使用类似开关表技术进行具体文件系统转接,实现各种具体文件系统的细节,每一个是自包含的,包含文件系统实现的各种设施,如超级块、节点区、数据区以及各种数据结构和文件类的操作函数。虚拟文件系统(3)

VFS实质上是一种存在于主存中的,支持多种类型具体文件系统的运行环境,功能有:记录安装的文件系统类型,;建立设备与文件系统的联系;实现面向文件的通用操作;涉及特定文件系统的操作时映射到具体文件系统中去。*6.5Linux的文件管理6.5.1Linux虚拟文件系统6.5.2文件系统注册与注销,安装与卸载6.5.3文件系统缓存机制6.5.4Ext2文件系统*6.5.1Linux虚拟文件系统

标准文件类系统调用,open()、read()、write()、close()等用户空间应用程序系统空间VFS系统调用对应的内核函数,sys_open()、sys_read()、sys_write()、sys_close()Minix文件系统Ext2文件系统…FAT文件系统具体文件系统对应的文件操作函数,open()、read()、write()、close()等应用层虚拟层实现层VFS和具体文件系统的关系缓冲区缓存磁盘驱动器索引节点缓存目录高速缓存文件系统调用(12)

(6)写文件

调用的形式为:nw=write(fd,buf,count);buf是信息传送的源地址,即把buf所指向的用户主存区中的信息,写入到文件中。文件系统调用(13)

(7)文件的随机存取(1)

在文件初次“打开”时,文件的位移量f_offset清空为零,以后的文件读写操作总是根据offset的当前值,顺序地读写文件。为了支持文件的随机访问,提供系统调用lseek,它允许用户在读、写文件前,事先改变f_offset的指向系统调用的形式为:longlseek;longoffset;intwhence,fd;lseek(fd,offset,whence);文件系统调用(14)

文件的随机存取(2)

文件描述字fd必须指向一个用读或写方式打开的文件,当whence是“0”时,则f_offset被置为offset,当whence是“1”时,则f_offset被置为文件当前位置加上offset。6.4.2文件共享1文件的静态共享2文件的动态共享3文件的符号链接共享1文件的静态共享(1)

系统调用

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档