目录
4.1文件系统基础
4.1.1文件的概念
在系统运行时,计算机以进程为基本单位进行资源的分配和调度;而在用户进行的输入、输出中,则以文件为基本单位。
4.1.2文件的逻辑结构
按逻辑结构,文件可划分为:无结构文件和有结构文件
(1)无结构文件:以字节为单位,如:程序文件,目标代码文件。
(2)有结构文件:以记录为单位
(1)顺序文件
(2)索引文件
(3)索引顺序文件
(4)直接文件或散列文件
4.1.3目录结构
(1)文件控制块和索引结点
(2)目录结构
(1)单极目录结构:实现了按名存取,但查找速度慢、不允许文件重名、不便于文件共享。
(2)两极目录结构:主文件目录(MFD)和用户文件目录(UFD)
特点:解决了重名问题,保证了文件的安全,但两级结构缺乏灵活性,不能对文件进行分类。
(3)多级目录结构(树形结构)
绝对路径:从根目录出发的路径
相对路径:从当前目录出发的路径
4.1.4文件共享
(1)基于索引结点的共享方式(硬链接)
用指针直接指向文件,用计数器count记录被共享个数,当有一个指针指向文件时,该共享文件不能被删除。查找速度快。
(2)基于符号链实现文件共享(软链接)
文件下放共享文件的地址。共享文件删除时,通过链接无法找到。
4.1.5文件保护
(1)口令保护
优点:时间和空间的开销不多。
缺点:口令直接存在系统内部,不够安全。
(2)加密保护:保密性强,但是加密解密花费一定的时间。
(3)访问控制:规定每个用户名及其允许的访问类型
4.2文件系统实现
(1)文件分配方式
访问第n条记录 | 优点 | 缺点 | |
连续分配 | 需访问磁盘1次 | 顺序存取时速度快,文件定长时可根据文件起始地址及记录长度进行随机访问。 | 文件存储要求连续的存储空间,会产生碎片,不利于文件的动态扩充。 |
链接分配 | 需访问磁盘n次 | 可解决外存的碎片问题,提高外存空间的利用率,动态增长较方便。 | 只能按照文件的指针链顺序访问,查找效率低,指针信息存放消耗外存空间。 |
索引分配 | m级需访问磁盘m+1次 | 可以随机访问,文件易于增删 | 索引表增加存储空间的开销,索引表的查找策略对文件系统效率影响较大。 |
(2)文件存储空间管理
(1)空闲表法
序号 第一个空闲盘块 空闲盘块数 1 2 4 2 9 3 3 15 5 (2)空闲链表法
(3)位示图法
(4)成组链接法
4.3磁盘组织与管理
4.3.1磁盘的结构
磁盘地址表示:(柱面号•盘面号•扇区号)
对磁盘片组的不同盘面进行错位命名。
4.3.2磁盘调度算法
(1)一次读磁盘操作由寻道时间、延迟时间、传输时间决定。
(1)寻道时间:跨越n条磁道,启动磁臂时间s,m是与磁盘驱动器有关的常数,约为0.2ms
Ts = m * n + s
(2)延迟时间:磁盘的转速r
Tr = 1 / (2 * r)
(3)传输时间:读/写字节数b,r为磁盘每秒的转数,N为一个磁道上的字节数。
Tt = b / (r * N)
(2)磁盘调度算法
(1)先来先服务算法(FCFS)
(2)最短寻道时间优先(SSTF)
(3)扫描算法(SCAN)
(4)循环扫描算法(C-SCAN)
(5)LOOK算法
优点 缺点 FCFS算法 公平、简单 平均寻到距离大,仅应用在磁盘I/O较少的场合 SSTF算法 性格比“FCFS”好 不能保证平均寻到时间最短,可能出现“饥饿”现象 SCAN算法 寻到性能较好,可避免“饥饿”现象 不利于远离磁头一端的访问请求 C-SCAN算法 消除了对两端磁道请求的不公平 ——
4.3.3磁盘的管理
(1)磁盘的格式化
分扇区:低级格式化
分C盘、D盘:逻辑格式化
(2)引导块
(3)坏块