操作系统-第四章
第一节
文件基本概念
文件本身即为计算机中的数据集合,操作系统对数据的管理诞生文件系统
系统运行时,以进程为基本单位分配和调度;I/O,以文件为基本单位分配资源与调用
文件类型
知晓基本概念对应类别即可;普通文件为数据集、目录文件为目录集
I/O,相关设备为特殊文件
文件控制块
用于形容、描述一片有序数据集的标签;内包含信息需要背诵,含文件属性与基本信息
基本结构:文件控制块->数据块
目录与索引
文件控制块即为目录项,连续存放的目录项组合成目录文件;目录文件与数据分区存放
基本查询结构:目录->目录项->数据块
为加速目录查询过程缩减目录项内容,增设索引块,目录项指向索引块,索引块存信息
基本查询结构:目录->目录项->索引节点->数据块
磁盘索引、内存索引:其内容同样需要背诵
磁盘索引内容即为文件基本描述信息与内容,相当于文件控制块描述信息
内存索引存放于内存中的系统打开文件表的表项内,被进程所共享,增设使用信息
文件基本操作
文件基本操作:创、删、读、写、打开、关闭,见补充知识体系,书上不够完整
系统打开文件表、进程打开文件表:
系统首次打开某文件,将其索引节点/文件控制块调入内存系统打开文件表
系统非首次打开某文件,进程仅在自身打开文件表内增设表项
因而,进程增设,系统不一定增设,系统增设,进程一定会增设表项
多进程情况下,调用OPEN,不一定新增系统表项,不一定I/O,什么都不会是一定的
系统打开文件表的表项为全进程共享内容,进程打开文件表为私有、独立进程内容
首次打开文件需要使用文件名,后续操作均不再使用文件名,而用文件描述符
进程自身不再使用文件,释放打开文件表对应表项即可
系统而言,当彻底没有进程需要该文件时,将系统打开文件表该表项移除
注:硬链接系统表不增设,进程表增设;软链接系统表增设,进程表同样增设
打开文件表项:
系统打开文件表公用部分:文件指针、文件打开计数、文件磁盘位置
进程私有部分:访问权限(代指进程对该文件的访问权限,而非文件持有的权限矩阵)
文件保护
基本方式:口令保护、加密方式;存取访问权限控制(权限矩阵)
注:前二者并未对用户权限进行控制,唯有后者对权限进行真正的访问控制
注:该访问矩阵必须是用户数·控制权限量的矩阵,因为是文件持有,针对系统全体
文件逻辑结构
操作系统提供文件逻辑服务的目的即为满足用户需求,于内核而言只需物理结构即可
逻辑结构在某些情况下也基于存储介质,例如磁带必须由顺序文件支持
无结构文件:毫无规律性的数据集,流式文件
有结构文件:顺序文件、索引文件、索引顺序文件,数据结构
顺序文件:有序、无序;记录定长或不定长;增删改查效率较低;连续读取效率高;
索引文件:变长记录依靠索引表改造为定长顺序文件;定长顺序逻辑上随机存取
索引顺序:组内随意、组间关键词有序、每组一个索引;多级索引,查询速度较快
哈希:存取极快、会产生冲突
注:索引文件的索引号同样可以隐藏,通用思想
注:统考中所提及的顺序文件含义为物理上连续存储的文件(暂未确认)
文件物理结构
注:目录内容既可以指代索引结点内容,也可以指代进程控制块内容
连续分配、隐式链接、显式链接、索引分配
统考实际上并未对相关数据结构进行如此细致的考察,但可以方便理解和掌握
连续分配:数据结构上为数组
隐式链接:数据结构上为单链表
注:尾插处有误,建议以思维导图内容为参考
显式链接:数据结构上为静态链表
整个系统只有一个FAT
索引分配:数据结构上类似页表,提供逻辑块号到物理块号的映射
一个文件一个索引块,甚至可以有多个索引块;分为单级索引、多级索引、混合索引
注:一级索引含义即为一个索引表,多个数据块,略微需要注意混淆可能性
随记
重点:系统调用不同文件名打开的文件,依旧可是同一文件;软链接下即为此
读取文件步骤:寻找目录项->读取文件控制块/索引块->得到数据块
但凡读取过一次且文件依旧处于打开状态,后续就可以省略寻找目录项的步骤
关闭文件本身只写回文件控制块更新信息,文件内容的更新只可在读写系统调用中产生
读写文件操作一般性步骤:找到目录项->查询权限->地址转换->硬件执行
异步I/O,异步的目的基本是为了平衡两者之间的速度差异,使得两者并行运行
存储介质某些情况下会决定物理结构与逻辑结构,磁带,必须是顺序文件才能支持
对于READ、WRITE、CLOSE,这一类系统调用,隐性提示已经打开文件,不会用文件名
因为只有在文件打开情况下才可能使用此类系统调用,统考重点考点
索引节点位数,说明最多可存在多少个索引节点,以此作为磁盘文件数量上限
位于文件控制块中的访问权限控制必然为矩阵,位于进程打开文件表为权限向量
内存映射文件,即为系统打开文件中的共享文件,各进程可写可读,实现通信
注:文件均为请求调入式,常驻内存的不会是文件数据块
读盘、写盘次数,I/O次数、磁盘开销、数据结构联合考察法统考考察较多
相关细节即为注意目录项、索引块等是否调入内存,这步对总体答案选择影响较大
若系统已经打开文件,文件的索引项、文件控制块是存入内存的,不需再访盘
真题汇总
6:只读类型的文件,最适合用顺序存储,访问速度快内存占用率高
7:起始块号顶多影响可存储文件总数,不影响文件最长长度,但最好占满全空间
8:统考中以综合题形式考察读盘/写盘次数,参考如上,视作一般链表操作
注:谈及文件长度时,不考虑索引块所占位数,只考虑数据块所占长度
注:需要修改磁盘对应块号内容,必须先读盘调入内存,内存中修改,再写回磁盘内
注:对于磁盘修改内容的写回采用回写法,而不可能采用全写法
9:考察知识点较为综合
(1)目录文件内容,仅有其下级目录、文件的文件名和对应的描述信息,该有簇号
(2)此处考察的文件分配表大小,从表内簇位数推测,簇号位数表明最多可支持多少簇
自然可以据此得出簇、文件分配表的最大数量和长度,以及文件的长度
(3)FTA,结构即为盘块号、下一块盘块号,对同文件自然以静态链接,100->106->108
(4)即使目录项内不存放首簇,对簇的读取也是直接式的,不可能产生多次访盘
因为静态链表存在于内存,只需要知道对应块号起始,即可多次访存得到所需块号
11:此类模式再度考察,需要作为重点看待
(1)同上,目录文件中仅保持子目录、子文件的目录项,不保持自身映射
(2)可知索引节点与另一文件相同,意味着硬链接,指向同一文件
(3)上级目录保存子文件、子目录的目录项,从目录项可知该文件的文件索引节点号
区分打开文件与将文件读入内存,打开文件只需要把索引块读入内存即可
而将文件读入内存则需要把索引块、文件数据块全部读入内存,同时注意审题
题设:后续的块号指的是存储位置块号,而不是存储的数量,明确这一点,读取两次
(4)运算直接、间接相应表示长度即可得出需要几次间接
综合题
2:属于较难的计算题,关键在于很难意识到对磁盘块的访问是不均匀的,因为未满
这一点在数据结构的计算题中也可能会涉及,需要留意
3:FAT、索引分配块、页表、中断向量表、段表、多级页表、网络包序号都隐含序号
因而,存储容量的计算上只需要计算一半即可,不需要计算隐含序号
4:读取“第”,只需要按索引访存即可,如果是读取“前”几块,那就顺序访问
5:十三个地址项的大小并非十三位,地址项是有一定大小的,4B·13
第二节
目录基本概念
目录项连续存放的有序集合即为目录,目录为查询服务,目录项有精简与非精简两类
目录基本结构
统考低频考点,大致理解各自特征即可
单级目录:全系统一张目录表、每文件一个目录项、查询慢、不允许重名、单用户
两级目录:主文件目录表、用户文件目录表、同用户目录不可重名、无法分类、不灵活
树形目录:每个文件的路径名唯一、用户默认目录、可变当前目录,开销高
无环图目录:文件共享,存在共享计数器、无人引用方才释放(内存中的打开文件表项)
注:不论何种目录,其首先均是寻找到目录项,然后才能读取文件数据块
目录实现
同样低频考点,大致理解即可
线性列表:顺序表、链表实现;顺序访问、查询慢、链表增删略优于顺序表(数组)
哈希表:提供文件名与线性列表指针的哈希函数,查询极快,但需处理冲突
文件共享
历年统考落点考频较高,需要重点掌握
基本内容:硬链接、软链接
随记
硬链接基于索引结点,软链接文内并未提及
树形存储查询路径若一个分量未找到就应该停止寻找、不必每次都从根目录找
任何目录的检索结果均是得到页表项,间接得到索引号、进程控制块
一级目录即为直接目录,当前目录结果直接指向数据块或者索引块,无间接
文件描述符就是文件索引号,得到文件索引号后还需访索引节点,然后再访问数据块
硬链接、软链接的绘图,只需要根据书上给出的模型套模板即可,考点
读写指针是各个进程私有的内容,不可能被共享
综合题
2:不一定能被删除,若是硬链接无法被删除,若是软链接即可被删除,目录同理
题设给定链接,没有说明链接情况,就是没法判断是否能够删除
3:文件保护由文件控制块持有的权限矩阵实现,若要修改权限,必须修改权限矩阵
5:连续文件的访盘可以直接计算得出对应盘号,因而只需一次访盘
第三节
文件系统的目的一方面是外存映射、一方面是实现按名查询
文件系统分层结构
背诵类内容,单纯从背诵角度看即,配合习题背诵
磁盘初始化过程
磁盘低级格式化到存在磁道、扇区
磁盘分区,产生主引导记录、分区引导记录;只有结构没内容
磁盘逻辑格式化,装载文件系统、装载操作系统
操作系统引导过程
BIOS先进行自检(硬件自检),寻找默认引导设备(可能是磁盘、U盘、光盘、硬盘)
加载引导设备的零号块区,称为主引导记录(MBR),加载分区表和加载程序入内存
BIOS中的程序转交权利由MBR中的加载程序寻找活动分区
找到后加载活动分区零号块区(PBR),并转交权利给PBR的加载程序寻找启动管理器
启动管理器从该分区内引导操作系统初始化程序入内存
名称解释
MBR中的内容:分区表、小型加载程序、引导签名(验证有效性)
PBR中的内容:小型加载程序、文件系统、引导签名;
MBR,在引导设备的零号扇区;PBR,在活动分区的零号扇区;
一般指代的活动分区即为,E盘、C盘、D盘,这一类磁盘内主动分盘;
文件系统布局
文件系统不一定处于活动分区,任意分区都可以拥有自己的文件系统
文件系统关键信息包含在超级块中,该分区同一般分区一样,有自己的引导块
超级块一般会被读入内存,并且时常保持与磁盘文件系统的一致性
外存空间管理
包含文件分区的分区被称为卷,分区的大小是随意的,分区内目录和文件单独存放
空闲表法、空闲盘块链、空闲盘区链、位示图、成组链接法
注:复习要点为把握相应数据结构和对应优缺点,以位数图为核心,其余为辅
成组链接法的分配、回收主要在于某盘块栈分配完、回收满的处理
注:成组链接法的基础数据结构在新书上有绘制,但具体操作步骤并没有具体背诵过
虚拟文件系统
虚拟文件系统只存在于内存中,其相当于一个统一者、协调的文件系统
隐蔽了一切冲突问题,让用户能够无视文件系统差异自由操作,调用函数即可
它会具体安排好到底应该执行什么、到哪执行
具体考察名称:超级块对象、索引节点对象、目录项对象、文件对象
文件系统挂载
理解为文件系统需要首先挂载到某个目录下才可使用
随记
统考中唯一命题点即为位示图,常考察位数图位置与磁盘、文件位置关系
需要注意的即为零开还是一开、题设询问的单位
FAT,同时兼文件数据管理、空闲块管理、坏块管理三大功能于一身
文件管理是对已用存储区的管理,文件存储空间管理是对未用存储空间的管理
重点:磁盘块号的顺序分配法则,柱面从上到下,从内到外
存储保护和存取保护:
存储保护主要针对内存,目的是防止进程之间的非法内存访问,保障系统稳定性和进程隔离,通常由硬件和操作系统共同实现
存取保护主要针对文件系统或其他资源,目的是控制用户或进程对这些资源的访问权限,确保资源的安全和正确使用,通常由操作系统和文件系统实现
UNIX:采取文件名+索引的目录结构,采用树状目录,磁盘交换区也有独立方式