北大操作系统公开课-文件系统2

FAT文件系统

FAT文件系统-MBR:

前446字节,放操作系统的引导代码。操作系统从MBR开始启动。其他是磁盘的分区情况


现在描述各分区的情况:

每个分区也都有其各自的引导区,在引导区中,我们主要关心BIOS参数块



文件分配表FAT是FAT文件系统中一个非常重要的参数:

              

举例说明,FILE1.TXT文件从2簇开始,那就从文件分配表的下标为2的元素开始搜索,2号元素的值是0003,则说明该文件的下一簇放在0003簇。


文件操作的实现

创建文件:
建立系统与文件的联系,实质是建立文件的
FCB,包括以下两个步骤。
在目录中为新文件建立一个目录项,根据提供的参数及需要填写相关内容
分配必要的存储空间



打开文件:
根据文件名在文件目录中检索,并将该文件的目录项读入内存,建立相应的数据结构,为后续的文件操作做好准备
这个相应的数据结构就是系统打开文件表和用户打开文件表。打开文件后,系统会返回一个值-文件描述符/文件句柄,以后对文件的操作就是对文件描述符/文件句柄的操作。




      
 


文件系统的管理:

备份:通过转储操作,形成文件或文件系统的多个副本

全量转储:
定期将所有文件拷贝到后援存储器
增量转储:
只转储修改过的文件,即两次备份之间的修改,减少系统开销


物理转储:
从磁盘第 0块开始,将所有磁盘块按序输出到磁带
逻辑转储:
从一个或几个指定目录开始,递归地转储自给定日期后所有更改的文件和目录



文件系统的一致性:

问题的产生:
磁盘块 内存 写回磁盘块
若在写回之前,系统崩溃,则文件系统出现不一致

   不一致的概念,指元数据(管理数据)的不一致,元数据记载文件卷的信息,而不是比如word文件未保存,系统崩溃,文件丢失,不在一致性范畴内。
解决方案:
设计一个实用程序,当系统再次启动时,运行该程序,检查磁盘块和目录系统

磁盘块的一致性检查


    可能的结果有4种:左上图对应一致性的结果,如果某一磁盘块在空闲块中,就不会分配给文件。右上角,序号2对应的元素都是0,说明该块既没有分配,又不在空闲块中,相当于文件块丢失,所以,直接在空闲表中把该块标志为1.左下脚中,4对应的空闲区为2,不合理,只需把2改为1。右下脚,块5相当于分配了两次,那就重新申请一块磁盘块,把块5拷贝到重新申请的空间,然后就有两块,分别分配给两个文件。

文件系统的写入策略


分析:通写的话,频繁访问磁盘,所以,性能很差。延迟写,把要写入的数据先写到缓存,定期将缓存写入到磁盘,因为是定期写回,可能数据还没写回,系统就崩溃,所以,可恢复性差。

文件保护机制:

                 

    

文件系统的性能:

磁盘服务(非常耗时)
速度成为系统性能的主要瓶颈之一
设计文件系统应尽可能减少磁盘访问次数


提高文件系统性能的方法:
目录项(FCB)分解、当前目录、磁盘碎片整理,块高速缓存、磁盘调度、提前读取、合理分配磁盘空间、信息的优化分布、 RAID技术… …

  
             


注:此处的文件缓存就是高速缓存。异步就是CPU和I/O并发工作。


注释:内存-缓存-磁盘,在内存中修改的数据,先送到缓存中,然后又Cache Manager定期将缓存的内容存到磁盘上。


















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值