文件管理的概念和功能

image_a2688e14.png
image_da307846.png

文件的属性

image_2c067b9e.png
image_93762977.png

文件内部的数据如何组织起来?

image_be0ba59c.png
image_2bd5907d.png

文件之间应该如何组织起来?

image_8291ecfd.png

操作系统应该向上提供哪些功能?

image_5fe99a48.png
image_171eb20a.png

从上往下看,文件应该如何存放在外存?

image_e4cb2981.png
image_c95c837c.png

其他需要由操作系统实现的文件管理功能

image_477489d6.png

文件的逻辑结构

image_3ba5535b.png
image_370ed4b5.png

无结构文件

image_318334da.png

有结构文件

image_710069b9.png
定长记录:
image_4406d5d8.png
不定长记录:
image_f78440dc.png

有结构文件的逻辑结构

image_c0de63e6.png

顺序文件

image_e83e5efb.png
image_32aadaa8.png

索引文件

  • 不经意间让我想起了数据库的索引,聚簇索引和唯一索引等,有了更进一步的理解,而且知道了它的时间空间效率。
    image_8f9d208f.png

索引顺序文件

image_b27c4751.png
索引顺序文件的效率分析:
image_90ea6d39.png

多级索引顺序文件

image_8a67809b.png

文件目录结构

image_742390d9.png
image_f260e2bd.png

文件控制块(FCB)

image_07d9f0a7.png
image_e075c0c0.png

对目录的操作

image_403ad213.png

单级目录结构

image_46ed7876.png

两级目录结构

image_e578fe45.png

多级目录结构(树形目录结构)

image_1735a12c.png
image_34ff6fb6.png
无环图目录结构解决文件共享
image_d311ba05.png

无环图目录结构

image_ca4e68b1.png
image_af23d7f0.png

索引节点(FCB的改进)瘦身

image_8d132658.png
image_f53e29f6.png

文件物理结构

image_a48b0a67.png
image_14a0840c.png

文件块、磁盘块

image_92cf8854.png
image_7a86e3c0.png

连续分配

连续分配优点:
image_236a9054.png
image_12c43c86.png
连续分配缺点:

image_094bf3e0.png
image_6f3211a9.png
image_995fb81e.png

链接分配

image_873bdf4f.png

隐式链接

image_e64cbce2.png
image_4ef17c23.png

显式链接

image_c4385c8e.png
image_d414c931.png

链接分配总结

image_17b044cb.png

索引分配

image_a8ad9725.png
如何实现逻辑块号到物理块号的转换?
image_0417e059.png
数据太大,一个索引表装不下那么多的映射怎么办?
image_a730c59d.png

链接方案

image_81a8ef7b.png

多层索引

image_6f87f997.png
image_dc28e4e1.png

混合索引

image_38a20c8f.png

索引分配总结

image_7e3fa1eb.png

文件物理结构分配总结

image_537e92ea.png

对磁盘块的管理

image_17944c1e.png
image_ab92d5b9.png
image_c4776205.png

存储空间的划分与初始化

image_e54cbda5.png

空闲表法

如何分配?
image_4b6a92d5.png

image_baa5dedc.png
如何回收?
image_9ee18ec5.png
image_0ef5ce04.png

空闲链表法

image_f379fe3c.png

空闲盘块链

image_87ef4f6f.png

空闲盘区链

image_12a3531d.png

位示图法

image_e2837fbe.png
如何分配与回收?

image_00d5e180.png

成组链接法

image_36a19b23.png
超级块的作用
image_88e9cdbc.png
如何分配?
需要1个空闲磁盘块
image_d39ec6df.png
image_674c2347.png
需要100个空心啊磁盘块
image_c095153d.png
image_5215a8db.png
如何回收?
image_e25a43dc.png
image_8df478fc.png
第二种情况,第一组已满
image_ee168324.png
image_53a31d4e.png

文件的基本操作(创建、删除、打开、关闭等)

image_64d2c113.png
image_65306af8.png

创建文件

image_c4fe7320.png

删除文件

image_2ae55375.png

打开文件

image_88fc6b53.png
打开文件表有两种:
image_de66047e.png

关闭文件

image_035a226b.png

读文件

image_8f9fda99.png

写文件

image_8f7b3a68.png

文件共享

image_374bfa9e.png
image_415f5f4a.png

基于索引结点的共享方式(硬链接)

image_92330d8a.png

基于符号链的共享方式(软链接)

image_da1bf243.png

软链接访问磁盘的速度会更慢,因为要进行多次磁盘IO操作

例子
image_36879b1c.png
image_b0458edd.png

共享的文件不存在时
image_cca334cb.png
image_cee5f7f4.png
image_35dd99bd.png

文件保护

image_a7709f7e.png

口令保护

image_c70d2f20.png

加密保护

image_a097a416.png

访问控制

image_aac60127.png
image_c64cff50.png

windows的访问控制

image_6fba6f96.png
image_45a5bb79.png
image_3fbf6b02.png
image_003031a0.png
image_f027bcbe.png

文件系统的层次结构

image_51ed85a7.png

image_464c0af3.png

磁盘的结构

image_ab9be9ff.png

磁盘、磁道、扇区

image_7466880b.png

如何在磁盘中读/写数据

image_d8519b44.png

盘面、柱面

image_1d75a4ee.png

磁盘的分类

按磁头是否可移动分类

image_725b5d75.png

按盘片是否可更换分类

image_3f764534.png

磁盘调度算法

image_a75fa116.png
image_7ccf1c1d.png

一次磁盘读/写操作需要的时间

image_fb975180.png
image_b267f789.png

image_301b0c1a.png

先来先服务(FCFS)

image_088ab543.png

最短寻找时间优先算法(SSTF)

image_d944560d.png

扫描算法(SCAN)

image_7a33204c.png

LOOK算法

image_e71ca4c5.png

循环扫描算法(S-SCAN)

image_492352ed.png

C-LOOK算法

image_d258a35d.png

减少磁盘延迟时间的方法

image_b3364bd4.png

前情回顾

image_59d829a2.png

交替编号

image_ed8a94b8.png

磁盘地址结构的设计

image_0dc226c8.png
image_d2c8b224.png
image_91cf9337.png

错位命名

image_06084be7.png
image_1efc6eda.png

磁盘管理

image_78980b27.png

磁盘初始化

image_a865e6ef.png

引导块

image_ca781803.png
image_ac84af3d.png

坏块的管理

image_a04f08ca.png