操作系统教程OS 孙忠秀

15、文件系统3(操作系统笔记)

2017-01-12  本文已影响82人  yjaal

四、文件系统的安全性

这里我们讨论如何确保未经授权的用户不能存取某些文件?

4.1 文件保护机制

于是在实现的时候需要考虑用户身份验证和访问控制。对于用户身份我们可以采用比如密码、口令等方式。

4.2 文件的访问控制

有不同的访问控制手段,比如主动控制(使用访问控制表)和能力表(使用权限表)。

4.3 UNIX的文件访问控制

采用文件的二级存取控制,审查用户的身份、审查操作的合法性

五、文件系统的性能

5.1 文件系统的性能问题

5.2 提高文件系统性能:块高速缓存(BLOCK CACHE)

又称为文件缓存、磁盘高速缓存、缓冲区高速缓存。是指在内存中为磁盘块设置的一个缓冲区,保存了磁盘中某些块的副本。当对文件系统进行操作的时候:

5.3 如何实现块高速缓存

5.4 Windows的文件访问方式

一般有下面三种方式:

用户对磁盘的访问通过访问文件缓存来实现:

5.5 提高文件系统性能:合理分配磁盘空间

分配磁盘块时,把有可能顺序存取的块放在一起(尽量分配在同一柱面上,从而减少磁盘臂的移动次数和距离)

3
说明:我们读取文件系统时,每次都要先找到i节点区,然后再去找到文件位置,如果i节点区在最外道,而相关文件在最里道,则在读取的时候磁臂就需要不断的移动,这样显示效率低下。一种解决方案如(a),我们将i节点区和相关文件放在距离较近的磁道上;另一种是如(b),首先将磁道分成了若干组,然后将i节点区也划分成若干部分,每一组磁道都有一个i节点区,而每个文件都和其i节点区在同一组,这样磁臂也不需要很大的移动。

5.6 提高文件系统性能:磁盘调度

当有多个访盘请求等待时,采用一定的策略,对这些请求的服务顺序调整安排,从而降低平均磁盘服务时间,达到公平、高效的目的。

一次访盘时间 = 寻道时间 + 旋转延迟时间 + 传输时间

5.7 磁盘调度算法

例子:假设磁盘访问序列:98、183、37、122、14、124、65、67,这些数字表示柱面号或磁道号。读写头起始位置为53。请计算磁头服务序列和磁头移动总距离(道数)。下面使用几种算法进行计算:

主要的目的是减少了新请求的最大延迟。

主要是为了解决磁头臂的粘性问题。

主要是为了解决磁头臂的粘性问题。本算法及以上都是对磁臂移动的优化算法。

5.8 提高文件系统性能:信息优化分布

记录在磁道上的排列方式也会影响输入输出操作的时间。

7
说明:如果信息是按左边那样分布的,那么如果首先读到1号记录,然后花5ms处理,但是此时磁盘已经转到了4号记录,于是如果我们要处理2号记录,则必须将4、5、6、7、8都旋转过去之后才能处理2号记录;而如果信息是按右边那样分布的,当处理完1号记录,而此时磁盘也刚好旋转到了2号记录处,这样就能极大的提高文件系统的性能。

5.9 提高文件系统性能:记录的成组与分解

典型的例子就是目录文件的存储。

5.10 提高文件系统性能:RAID技术

起始就是独立磁盘冗余阵列(Redundant Arrays of Independent Disks),就是将多块磁盘按照一定要求构成一个独立的存储设备。目的就是提高可靠性和性能。在实现时,需要考虑存储系统的速度、容量、容错、数据灾难发生后的数据恢复。

上一篇 下一篇

猜你喜欢

热点阅读