操作系统复习,知识点总结
6.磁盘与文件系统
7.操作系统接口
上一篇文章——>操作系统知识点总结(一)
上一篇文章——>操作系统知识点总结(二)
6.磁盘与文件系统
(1)磁盘的结构和基本概念
磁盘设备包括多或一个个物理盘片,每个磁盘片分为一个或两个储存面。每个磁盘被组织成 若干个同心环,称为磁道。每个磁道从逻辑上划分为多个扇区(通常为 512B),一个扇区称 为一个盘块(数据块),各个扇区之间保留一定的间隙。
磁盘地址:柱面号-盘面号-扇区号
磁盘访问时间包括三部分:寻道时间,旋转延迟时间,传输时间。
1)寻道时间:把磁头移动到指定磁道上的时间。是移动磁臂时间 s 与磁头移动 n 条磁道所 花费时间之和。T=mn+s
*2)旋转延迟时间:指扇区移动到磁头下面所经历的时间。T=1/2r,r 为磁盘旋转速度
**3)传输时间:把数据从磁盘读入或写入磁盘所经历的时间,T=b/rN,b 为每次所读的字节 数,N 为一个磁道上的字节数。
(2)磁盘的调度
调度算法直接决定寻找时间,从而决定总的存取时间。
常用的磁盘调度算法:
1)先来先服务(FCFS)
2)最短寻找时间优先(SSTF)
3)扫描算法(SCAN)
4)循环扫描算法(C-SCAN)
(3)磁盘的性能改善和容错
提高磁盘 IO 速度的主要技术是采用磁盘高速缓存,利用内存中的存储空间来暂存从磁盘读 出一系列盘块中的信息。
数据交付方式有数据交付和指针交付。
置换算法:。。。不少系统在设计其高速缓存的置换算法时,除了考虑最近最久未使用,还考 虑以下几点:
1)访问频率
2)可预见性
3)数据一致性
提高 IO 速度的其他方法:
1)提前度
2)延迟写
3)优化物理块分布
4)虚拟盘
容错技术:廉价磁盘冗余阵列 RAID(除了 0 级以外),RAID 的优点:
1)可靠性高
2)磁 盘 IO 速度高
3)性价比高
(4)外存分配方法与物理文件组织
文件的物理结构又称文件的存储结构,是指文件在外存上的存储组织形式,不仅与存储介质 的存储性能有关,而且与采用的外存分配方式有关。
外存分配方法:连续分配、连接分配、索引分配
1)连续分配:要求为每个文件分配一组相邻的盘块。一组盘块的地址定义了定义了磁盘上 一段线性地址。这样形成的文件结构是顺序文件结构,此时的物理文件称为顺序文件。
优点:顺序访问容易、顺序访问速度快。
缺点:要求有连续的存储空间、必须事先知道文件 长度。
2)链接分配:通过每个盘快上的链接指针,将同属于一个文件的离散盘块链接成一个链表,这样形成的物理文件称为链接文件。
优点:消除了外部碎片,显著提高了外存利用率;当文件动态增长时,可动态的在为他分配 盘块,故无需实现知道文件大小;此外,对文件的增删改也很方便。
有两种方式:
1)显式链接
2)隐式链接
1)隐式链接:在文件目录的每个目录项中,都需要含有指向链接文件的第一个盘块和最后 一个盘块,每个盘块中含有指向下一个盘块的指针。
主要问题:只适合于顺序访问,对于随机访问及其低效,其次只通过一大批指针把离散的盘 块链接起来,可靠性差,只要任何一个盘块的指针出现问题,都将会导致整条链断裂。 为了提高检索速度和减少指针所占用的存储空间,可以将几个盘块组成一个簇,在盘块分配 时,以簇为单位。这样会成倍的减少超找指定块的时间。
2)显式链接:把用于链接文件各个物理块的指针,显式的存放在内存的一张链接表中。该 表在整个磁盘仅设置一张。由于查找记录是在内存中进行的,不仅显著的提高了检索的速度, 而且大大减少了访问磁盘的次数,该表也成为文件分配表(FAT)。
3)索引分配:链接分配的缺点:
1)不支持高效的直接存取
2)FAT 占用较大的内存空间。
索引分配(文件的物理组织结构是 索引式文件机构)为每个文件分配一个索引块(表), 再把分配给该文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有多个盘块 号的数组。在建立一个文件时,只需在为其建立的目录项中填上指向该索引块的指针。
索引分配优点:支持直接访问,当要读第 i 个盘块时,可以直接从索引块中找到第 i 个盘块 的盘块号。此外,索引分配不会产生外部碎片。文件较大时,索引优于链接。 索引分配的主要问题:可能会花费较多的外存空间。
多级索引
混合索引。
(5)文件存储空间的管理
储存空间的基本分配单位是磁盘块而非字节。管理包括对空闲块的组织,分配和回收。
1)空闲表法:属于连续分配方式,系统为外存上所有的空闲区建立一张空闲表。
存储 空间的分配:同样采取首次适应算法,循环首次适应算法等,回收时,也类似于内存回收的 方法,即要考虑回收区是否与空闲表中插入点的前区和后区相临接,对相临接者予以合并。 文件较小时,采取空闲表法。
2)空闲链表法:将所有空闲盘区拉成一条空闲链,根据构成链所用的基本元素不同,可把链表分为两种形式:空闲盘块链,以盘块为单位拉成一条链,优缺点:用于分配和回收一个 盘块的过程非常简单,但在为一个文件分配盘块时,可能要重复操作多次;
空闲盘区链,将 磁盘上所有的空闲盘区拉成一条链。分配盘区的算法通常采用首次适应算法,回收时也要考 虑合并,为提高对空闲盘区的检索速度,可以采用显示连接法,为内存中的空闲盘区建立一 张链表。
3)位示图法:位示图是利用二进制中的一位来表示磁盘中一个盘块的使用情况,0 时空闲, 1 时分配。
根据位示图进行盘块的分配时,分为三步:
- 1)顺序扫描位示图,找到 0。
- 2)将找到的一个 或一组二进制位转化成与之相对应的盘块号。
- 3)修改位示图,使相应位置 1。
回收分为两步:
- 1)将回收的盘块号转化为位示图中的行号和列号。注意转化公式!!!
- 2) 修改位示图,使相应位置 0。
4)成组链接法:空闲表法和空闲链表法不适合大型文件,会使链表和空闲表太长。将上述 两种方法结合在一起,兼备了优点,而克服了表太长的缺点。
大致思想:把顺序的 n 个空闲扇区的地址保存在第一个空闲扇区内,其后一个空闲扇区则保 存另一个顺序空闲扇区的地址,在直至所有空闲扇区均已连接。系统只需要保存一个指向第 一个空闲扇区的指针。
(6)逻辑文件组织
文件的逻辑结构是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及 其结构,独立于文件的物理特性,又称为文件组织。
文件逻辑结构的类型:有结构文件;无结构文件;
有结构文件三种:
1)顺序文件:由一系列记录按某种顺序排列所形成的文件,记录通常是记录文件。又分为 串结构和顺序结构。串结构,记录之间的顺序与关键字无关。顺序结构,所有记录按关键字 顺序排列。
优点:只有顺序文件能储存在磁带上,当每次要读或写一大批文件时,顺序文件的存储效率 最高。
缺点:顺序文件对于查找、修改、增加、删除等操作比较困难。
2)索引文件:对于定长记录可以方便的实现顺序存取,但对于边长记录难以实现直接存取。 可以为变长文件记录建立一张索引表(本身是一个定长记录的顺序文件)。
3)顺序索引文件:将顺序文件中的所有记录分为若干组,为顺序文件建立一张索引表,在 索引表中为魅族第一条记录建立一个索引项,其中含有该记录的关键字值,和指向该记录 的指针。
4)直接文件:记录值本身就决定了自己的物理地址,键值转换 哈希文件:利用散列函数, 将键值转化为相应的记录的地址,可能会发生冲突。
(7)文件的基本操作
创建文件、删除文件、读文件、写文件、截断文件、设置文件读写位置。
文件的打开和关闭。 熟读课本相关知识
(8)文件目录及其管理
对目录管理的要求如下:
1)实现“按名存取”
2)提高对目录的检索速度
3)文件共享
4)允许文件重名。
文件控制块(FCB):是用来存放控制文件所需要的各种控制信息的数据结构。文件控制块 的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。一个文件目录也可以看 做一个文件,称为目录文件。
文件控制块通常包含三类信息:基本信息:文件名,文件物理位置,文件逻辑结构,文件物 理结构;
存取控制信息:文件存取权限;
使用信息:文件建立时间,修改时间。
索引结点:在检索目录文件的过程中,只用到了文件名,其他一些对该文件的描述信息,在 检索目录时,一概不用,所以没必要调入内存。便采用了把文件名与文件描述信息分开的办 法。文件描述信息单独形成一个称谓索引结点的数据结构。
在文件目录中,每个目录项仅由文件名和指向该文件所对应的 i 结点的指针构成。
目录结构:目录结构关系到文件系统的存取速度,也关系到文件的共享性和安全性。通常有 单击目录,两级目录和多级目录。
单级目录:只建立一张目录表,每个文件占有一个目录项。访问时,先按文件名在该目录中 找到对应的 FCB。单级目录实现了“按名存取”但是,查找速度慢,不允许重名,不便于实现 文件共享。
两级目录:优点:提高了检索目录的速度;在不同用户名的目录中,可以使用相同文件名; 不同用户可以使用不同的文件名来访问系统中的同一个共享文件。
多级目录文件(树形目录文件):优点:可以很方便的对文件进行分类,层次结构清晰,能 有效的进行文件的管理和保护。但是在树形文件中,查找一个文件时,需要按路径名逐级访 问,增加了磁盘访问次数,影响查询速度。
(9)文件共享和保护
文件共享是多个用户共享同一文件,系统只要保留该文件的一个副本。
文件共享方法:
1)基于索引结点的共享方式(硬链接)
2)利用符号链实现文件共享(软 连接)
文件保护:文件保护通过口令保护,加密保护,访问控制等方式实现。口令保护和加密保护 是为了防止用户文件被他人存取或窃取,访问控制是控制用户对文件的访问方式。
检查点:主要目的是对事务记录表中的事务记录清理工作经常化。
7.操作系统接口
(1)操作系统接口类型
1)用户接口
2)程序接口,是程序能取得操作系统服务的唯一途径,大多数程序接口由一 组系统调用组成。
(2)系统调用概念
一方面由于系统提供保护机制,防止程序至直接调用操作系统得过程,从而避免不安全性, 另一方面,应用程序必须取得操作系统提供的服务。为此,操作系统提供系统调用,使应用 程序通过提供系统调用的方法,间接调用操作系统的相关过程。
(3)系统调用的类型和实现方法
类型:进程控制类系统调用、文件操纵类系统调用、进程通信类系统调用。
实现:熟读课本相关知识。