4-文件管理

文件管理

1.概述

同一目录下不允许有重名文件
标识符:一个系统内的各文件标识符唯一
类型:指明文件类型
位置:文件存放路径、在外存中的地址(用户不可见)
文件大小、创建时间、上次修改时间、文件所有者信息
保护信息:对文件进行保护的访问控制信息
无结构文件(流式文件):有一系列二进制或字符流组成
有结构文件(记录式文件):由记录(数个数据项)构成

1.1文件的逻辑结构

1.无结构文件
2.有结构文件:
1.顺序文件:记录顺序排列,可以是定长(可随机存取)也可以是可变长(不可随机存取)。各个记录可以顺序存储或链式存储
串结构:记录之间的顺序与关键字无关,由存入时间决定
顺序结构:记录之间的顺序按关键字排序
2.索引文件
3.索引顺序文件

1.2文件目录

文件控制块(FCB):包含文件的基本信息,存储控制信息,使用信息等。最重要的是文件名、文件存放的物理地址
一个文件是一个FCB,一个FCB是一个目录项,多个FCB构成文件目录
操作:搜索、创建、删除、显示目录、修改目录
目录结构:
-单级目录结构:实现“按名存取”,不允许文件重名,不适用与多用户操作系统
-两级目录结构:分为主文件目录(MFD),用户文件目录(UFD),用户不能对文件进行分类
-多级目录结构(树形目录结构):从根目录出发的路径称为绝对路径,从当前文件路径出发是相对路径,不方便文件共享
-无环图目录结构:使整个目录成为有向无环图,不同文件名指向同一结点,为每个共享结点设置一个共享计数器,共享计数器为0时才可以删除数据
-索引结点:除了文件名之外的信息都放入索引结点中

1.3文件的物理结构(文件分配方式)

1.连续分配:每个文件在磁盘上占有一组连续的块。只需注意逻辑块号向物理块号的转变
物理块号=起始块号+逻辑块号,当然还需验证逻辑块号是否合法
优点:支持顺序访问和随机访问,在顺序访问时访问速度最快
缺点:物理上采用连续分配的文件扩展不方便;存储空间利用率低,会产生难以利用的磁盘碎片
2.链接分配:可以为文件分配离散的磁盘块,分为隐式链接和显式链接
(1)隐式链接:FCB记录起始块号和结束块号,每个目录项记录指向下个块的位置
【只支持顺序访问,不支持随机访问,查找效率低】;拓展方便,外存利用率高
(2)显示链接:把链接文件的指针存放在一张表中,即文件分配表(FAT)
FCB中记录起始块号,一个磁盘仅设置一张FAT,在开机时被读入内存,并常驻内存
可以随机访问或顺序访问,地址转换时不需要访问磁盘,因此访问效率更高【FAT需要一定存储空间】
题目中未明确指出是隐式还是显示,默认为隐式链接
3.索引分配:系统为每个文件建立一张索引表,索引表记录了文件各个逻辑块对应的物理块。索引表存放的磁盘称为索引块。文件数据存放的磁盘块称为数据块
支持随机访问、顺序访问,文件扩展容易。
索引表存不下:(审题时注意:顶级索引块是否已调入内存
(1)链接方案:各索引表链接起来。【文件太大,找到I号索引块,磁盘I/O操作很多】
(2)多层索引:原理类似多级页表,采用K层索引结构,且顶级索引表未调入内存,需访问k+1次磁盘I/O操作【小文件,访问数据依然需要k+1次读磁盘】
(3)混合索引:既包含8个直接地址索引(直接指向数据块)又包含一级间接索引(指向单层索引表)还包含两级间接索引(指向两层索引表)【对于小文件,访问数据块所需磁盘I/O更少】

1.4 存储空间管理

1.空闲表法:记录空闲区间起始位置及其长度,适用于“连续分配方式”,采用首次适应、最佳、最坏方法分配磁盘
2.空闲链表法:
-空闲盘块链:以盘块为单位组成一条空闲链。操作系统保存链头、链尾指针,分配从链头分配,回收添加到链尾
-空闲盘区链:以盘区为单位组成一条空闲链。操作系统保存链头、链尾指针,采用首次适应、最佳、最坏方法分配磁区,若没有找到,也可以把不同盘区同时分配给一个文件
3.位示图法:用二进制位对应是否已分配,推算出盘块号与(字号(行号),位号(列号))=(i,j)=>盘块号b=ni+j(n表示字长)b号盘块对应的字号i=b/n,位号j=b%n
分配:顺序扫描位示图,找到k个相邻或不相邻的0根据字号、位号算出对应的盘块号
回收,根据盘块号计算出字号、位号
4.成组连接法:在目录区有一个超级块,开机时被读入内存,超级块记录下一组空闲块数和空闲块号,若已没有分组,则可以下一组盘数设为-1
分配:检查第一个分组的块数是否满足,若满足,分配第一个空闲盘,并修改相应数据
回收:分组没满,则插入分组中;若分组满了,则创建新的分组,并作为超级块,指向第一个分组

1.5文件的基本操作

1.创建文件(create系统调用)
进行create系统调用时,需要提供几个参数:a.所需外存空间大小b.文件存放路径c.文件名(默认)
2.删除文件(delete系统调用)
进行delete系统调用时,需要提供几个参数:a.文件存放路径b.文件名
3.打开文件(open系统调用)
进行open系统调用时,需要提供几个参数:a.文件存放路径b.文件名c.对文件操作类型(r:读;w:写)
系统打开文件表(特有打开计数器)&进程打开文件表(特有读写指针,访问权限)
4.关闭文件(close系统调用)
对系统的打开文件表进行-1操作,将进程的打开文件表项删除
5.读文件(read系统调用)
先打开文件,添加进程打开文件表,指明读入多少数据
6.写文件(write系统调用)

1.6文件共享

1.基于索引结点的共享方式(硬链接)
多个文件链接一个索引结点,count==0时才可以删除文件,否则导致指针悬空
2.基于符号链的共享方式(软链接)
link类型文件,记录原文件的位置信息

1.6文件保护

1.口令保护:口令一般存放在FCB或索引节点中【开销小,验证时间开销小】
2.加密保护:使用某个密码对文件加密,【优点:保密性强,不用在系统中存储密码;缺点:编码/译码需要一定时间】eg:异或加密
3.访问控制:在每个文件FCB中增加一个访问控制表(ACL),精简访问控制表,以组为单位。

1.7文件系统层次结构

^用户结构:向上层的用户提供一些简单易用的接口
||文件目录系统:通过文件路径访问文件,根据文件路径找到FCB或索引节点。
||存取控制模块:验证用户是否有访问权限
||逻辑文件与文件信息缓冲区:用户指明要访问文件记录号,将记录号转换为对应的逻辑地址
||物理文件系统:把上层提供的文件逻辑地址转换为实际的物理地址
||辅助分配模块:分配和回收存储空间
||设备管理模块:直接与硬件交互,负责和硬件直接相关的一些管理工具

2.磁盘

磁盘:表面由一些磁性物质组成,可以用这些磁性物质记录二进制数
磁道:磁盘的盘面划分为一个个磁道
扇区:一个磁道又被划分为一个个扇区。各个扇区存放的数据量相同
如何读/写:把磁头移到想要读/写的磁道
盘面:磁盘有多个盘片摞起来,每个盘片有两个盘面
柱面:所有盘面中位置相同的磁道组成柱面
(柱面号,盘面号,扇区号)来定位一个磁盘块。为何不用(盘面号,柱面号,扇区号)?【在读取地址连续的磁盘块时,前者不需要移动磁头】
磁盘的分类:活动头磁盘(磁头可移动)、固定头磁盘(每个磁道都有一个与之对应的磁头)、可换盘磁盘(盘片可更换)、固定盘磁盘(盘片不可更换)

2.1磁盘调度算法

一次磁盘读/写的时间:延迟时间与传输时间都与转速有关
- 寻找时间;在读/写前,将磁头移动到指定磁道的时间(T=s+m×n)跨越一个磁道耗时m,共需跨越n条
- 延迟时间:磁头定位到目标扇区(平均T=0.5×(1/r)=1/2r)r为磁盘转速
- 传输时间:磁盘读出或向磁盘写入数据所经历的时间(T=(1/r)*(b/N)此次读写的字节数b,每个磁道上的字节数为N)
1.先来先服务算法(FCFS)
按照磁盘访问的先后顺序进行调度
优点:公平
缺点:寻道时间长
2.最短寻找优先时间算法(SSTF)
优先处理距离自己最近的磁道的访问请求。
优点;性能较好,平均时间短
缺点:可能产生饥饿现象
3.扫描算法(SCAN)、电梯算法
只有磁头移动到最外面时才能往内移动,移动到最内侧磁道的时候才能往外移动
优点:性能较好,平均时间短、不产生饥饿现象
缺点:对于各个位置磁道的响应频率不平均
4.Look调度算法
在扫描算法的基础上,若在磁头移动方向上没有别的请求,就立刻改变磁头方向
5.循环扫描算法(C-SCAN)
只有在磁头朝某个特定方向移动时才处理访问请求,返回时直接移动到起始端而不处理任何请求
优点:对于各个位置响应时间平均
缺点:必须到达最边上的才能返回,返回时只能返回到最开始的位置
6.C-Look算法:Look和C-SCAN的结合算法
题目中无特别说明SCAN算法指的的Look算法,C-SCAN算法指的是C-Look算法

2.2减少磁盘延迟时间的方法

1.交替编号:逻辑上相邻的扇区物理上有一定间隔
2.错位命名法:错开相邻盘面的不同扇区

2.3磁盘管理

1.磁盘初始化:
(1)低级格式化(物理格式化):将各个磁道划分为扇区,扇区可分为头、数据区域、尾。管理扇区的数据结构放在头、尾中
(2)磁盘分区
(3)进行逻辑格式化,创建文件系统
2.引导块:磁盘上固定位置装入了完整的自举程序,ROM只存入很小的自举装入程序
3.坏块的管理:在进行逻辑格式化化中,标明那些扇区是坏块,在FAT中标明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值