操作系统原理---文件管理

文件系统是什么

  文件系统是磁盘的一个抽象,让用户对磁盘的操作变得容易。文件系统为用户提供了对文件操作的接口,屏蔽了内部复杂的实现细节,让用户不用关心文件在磁盘中的存储位置,组织形式,用户对文件进行访问只需要给出文件名和路径名即可,无需知道磁柱、磁道、扇面、数据块等信息。将用户从数据复杂的存储细节中解放出来。文件系统的作用就是用来存取,组织文件的。

为什么需要文件系统

  1. 屏蔽底层复杂性:对磁盘数据访问是十分复杂的,不仅需要知道数据的物理地址,还需要操作磁盘读取指定数据,然后再组装数据等,如果这些工作交给软件开发人员,将给软件开发造成沉重的负担。
  2. 统一入口,方便权限管理:如果读磁盘的操作没有同意的入口,那就无法实现权限控制和访问控制。文件系统通过统一的入口,使软件对数据的操作只能通过统一入口,因此才能实现权限管理和访问控制。
  3. 操作方便:应荣程序只需要指定路径名和文件名即可访问文件,不需要给出数据的磁盘地址,文件系统会根据路径名和文件名翻译出真实磁盘地址。
  4. 提高代码重用:将文件管理功能抽离出来,形成单独的模块,应用程序无需再次开发,提高代码的重用性。

文件系统的目标

地址独立

  一个文件在产生的时候无需担心其存放的磁盘地址,即文件数据的产生与文件将来存放的磁盘地址相互独立.

地址保护

  地址保护需要对文件的访问进行一定的限制,即不是任何人都可以访问任何文件。

文件夹实现地址独立

为何需要文件夹

  对文件操作的时候,给一个文件名,操作系统便读取出文件名对应的内容,那么操作系统是如何实现的呢,换句话说操作系统是怎么知道文件在磁盘中的地址的呢?这需要一个数据机构来储存每个文件在磁盘中的储存位置,这个数据结构就是文件夹。

文件夹结构

  由于一个文件夹里面可以有子文件夹,因此文件夹是一个树状结构。树的最底端就是跟文件夹,也称根目录。文件夹结构如下图所示:
在这里插入图片描述
  根目录是文件系统的起点,在系统启动的时候加载到内存中,从根目录开始,该文件系统里面的所有文件都可以找出来,由于根目录是整个文件系统的源点,因此如果根目录损坏,则整个文件系统都不可用。

如何获取文件内容

  假定我们要找的文件是:/zou/cs307/file.pdf,这里最左侧的/代表根目录,因此首先到根目录中去寻找,根目录里面可能保存有很多子文件夹,其中一个就是zou文件夹,根目录里保存的是zou文件夹的地址,根据地址读取zou文件夹,发现里面还有一个cs307文件夹的地址,再次根据地址读取传输07文件夹,发现里面含有一个叫file.pdf的文件和该文件地址,最后根据这个地址就能够读取所需文件。在读取该文件的过程中,总共进行了三次寻址。

内存映射的文件

  内存映射原理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值