4.1 文件系统基础
-
文件的概念
-
文件:是以计算机硬盘为载体的存储在计算机上的信息集合。用户进行输入、输出中,以文件为基本单位。OS中的文件系统实现对文件的维护管理。
-
文件包含:一块存储空间中的数据,包含分类和索引的信息,关于访问权限的信息。
-
定义:
-
数据项:文件系统中最低级的数据组织形式,分基本数据项和组合数据项
-
记录:一组相关的数据项的集合,描述对象某方面的特性
-
文件:创建者定义的相关信息的集合。逻辑分有结构(记录式)和无结构(流式)
-
-
文件的属性:
-
名称
-
标识符
-
类型
-
位置
-
大小
-
保护
-
时间、日期、用户标识
所有文件信息保存在目录结构中,目录结构保存在外存上。文件信息需要时再调入内存。
-
-
文件的基本操作
-
创建文件。在文件系统中为文件找到空间,为新文件创建条目等信息
-
写文件。执行一个系统调用,指明文件名称和要写入文件的内容。对给定文件名称,系统查找文件位置。系统为文件维护一个写位置指针。
-
读文件。执行一个系统调用,指明文件名称和要读文件的位置。系统为文件维护一个读位置指针。
-
文件重定位。
-
删除文件。文件系统找文件目录项,使之成为空项,回收存储空间。
-
截断文件。文件所有属性不变,删除文件内容。
-
-
文件的打开与关闭
-
首次使用文件时,使用系统调用open将指明文件的属性从外存复制到内存打开表的一个条目中,并将该表目的编号返回给用户。操作系统维护一一个包含所有打开文件信息的表(打开文件表)。所有的文件操作都根绝这个open返回的指针进行IO操作。
-
-
-
文件的逻辑结构
是从用户观点出发看到的文件的组织形式。
-
无结构文件(流式文件)
将数据按顺序组织成记录并积累、保存,是有序相关信息项的集合,以字节为单位。对记录的访问只能通过穷举搜索的方式。
-
有结构文件(记录式文件)
-
顺序文件:文件中的记录一个接一个地顺序排列,记录通常是定长的,可以顺序存储或链式存储。访问时需要顺序搜索文件。
-
索引文件:变长记录文件只能顺序查找,系统开销较大。建立索引表加快检索速度。索引表本身是定长记录的顺序文件。
-
索引顺序文件:将顺序文件中的所有记录分若干组,为顺序文件建立索引表,在索引表中为每组第一条记录建立一个索引项,含该记录的关键字值和指向该记录的指针。
-
直接文件或散列文件:给定记录的键值或通过散列函数转换的键值直接决定记录的物理地址。
-
-
-
目录结构
-
文件目录:包含与文件相关的信息。这些信息由操作系统管理。从用户角度,目录在用户所需的文件名和文件之间提供一种映射。目录管理实现“按名存取”。目录管理通过树形结构解决。
-
文件控制块(FCB):用来存放控制文件需要的各种信息的数据结构。FCB的有序集合称为文件目录。一个FCB就是一个文件目录项。创建一个文件,系统将分配一个FCB并存放在文件目录中,称为目录项。
FCB包含:
-
基本信息
-
存取控制信息
-
使用信息
-
-
索引结点:检索目录时,文件的其他描述信息不会用到,也不需要调入内存。有的系统采用文件名和文件描述信息分开的方法,文件描述信息单独形成一个称为索引结点的数据结构,
-
目录结构
-
单击目录结构:只建立一张目录表,每个文件占一个目录项。
-
两级目录结构:分主文件目录和用户文件目录两级。
-
多级目录结构:用文件的路径名标识文件,文件路径名是个字符串,从由根目录出发到所找文件通路上所有目录名与数据文件名用分隔符‘/’链接而成。
-
-
-
文件共享
文件共享使多个用户共享同一个文件,系统中只保留该文件的一个副本。
-
基于索引结点的共享方式(硬链接)
-
利用符号链实现文件共享(软链接)
-
-
文件保护
文件保护通过口令保护、加密保护和访问控制等方式实现。口令和加密保护为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。
4.3 磁盘组织与管理
-
磁盘的结构
-
磁盘:表面涂有磁性物质的金属或塑料构成的圆形盘片,通过磁头读取数据,
-
磁道:磁盘盘面上的数据存储在一组同心圆中
-
扇区:一个盘面有上千磁道,磁道又划分几百个扇区。每个扇区固定大小512B,一个扇区称一个盘块。扇区是磁盘可寻址的最小存储单位
-
柱面:所有盘片上相对位置相同的磁道组成柱面
-
-
磁盘调度算法
-
先来先服务(First come first Served,FCFS算法):请求访问磁盘的先后顺序进行调度
-
最短寻找时间优先(Shortest Seek Time First,SSTF):与当前磁头所在磁道距离最近的磁道
-
扫描(SCAN):要回到头,掉头服务路上的
-
循环扫描(Circular SCAN):直接回来,不到头
-