计算机操作系统
重点:进程管理 存储器管理 文件管理
第一章、操作系统引论
OS的目标:方便性、有效性、可扩充性、开放性、
OS的作用:
(1)作为用户与计算机硬件系统之间的接口
(2)OS作为计算机系统资源的管理者
(3)OS用作扩充机器
计算机操作系统的发展:
1、人工操作方式
2、脱机输入\输出(I\O)方式
3、单道批处理系统
4、多道批处理系统
5、分时系统:独立性、及时性、交互性
6、实时系统
操作系统分类
(1)单用户OS:一次只能支持一个用户作业的运行。
(2)批处理OS:用户作业以成批的方式提交给计算机。
(3)分时OS:允许多个用户同时与计算机系统交互。
(4)实时OS:能够及时响应随机发生的外部事件,并对外部事件做出快速处理,对来自外部的请求和信号在限定的时间范围内做出响应。实时性和可靠性是其重要特点。
(5)网络OS:面向网络上多用户,提供基本的网络操作所需要的功能,如文件共享,内存管理和进程任务调度等。
(6)分布式OS:是最高级的操作系统,管理整个系统(包括网络)中的所有资源,负责所有资源的分配和调度、任务的划分和具体安排、信息传递和控制。
(7)嵌入式OS:与应用紧密结合、专用性很强、可裁剪。
操作系统是:
一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。
第二章、进程的描述与控制
2.1进程的基本概念和PCB
(1) 关于程序执行顺序
1、引入前驱图
2、程序顺序执行时的特征:顺序性、封闭性、可再现性
3、程序的并发执行分析:要符合前驱关系、并发不是随意的(符合前驱图的关系才是合理并发)
4、并发程序执行时的特征:间断性、失去封闭性、结果不可再现性
程序:程序段+数据段
进程实体:程序段+数据段+控制块PCB
1、进程的定义:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立的单位
2、进程的特征:结构性特征,进程的根本——PCB、动态性、并发性、独立性、异步性
3、进程的基本状态:就绪状态、运行状态、阻塞状态
进程控制块PCB(Process Control Block)
PCB中的信息:
(1)进程标识符信息
(2)处理机状态信息
(3)进程调度信息
(4)进程控制信息
2.2 进程控制
进程控制的基本过程:
(1)进程的创建
(2)进程的终止
(3)进程的阻塞与唤醒
(4)进程的挂起和激活
进程的创建
一个进程创建另一个进程的事件(原因)
1)、申请空白PCB
2)、为新进程分配资源
3)、初始化进程控制块
4)、将新进程插入就绪队列
进程的终止
2.3进程的同步
进程的阻塞与唤醒
1)引起进程阻塞和唤醒的事件
2)阻塞和唤醒过程
进程同步的基本概念
进程同步的主要任务:使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
临界资源:一次仅允许一个进程使用的资源
进入区:对欲访问的临界资源进行检。若此刻未被访问,设正在访问的标志
临界区:访问临界资源的代码。
退出区:将正在访问的标志恢复为未被访问的标志
剩余区:其余部分
同步机制应遵循的规则:
空闲让进:资源使用最基本原则
忙则等待:保证互斥
有限等待:合适时被唤醒防止死等
让权等待:能主动释放CPU防止忙等
信号量:
最初的信号量机制,两个原子操作对一个共享整型量进行操作。
1)、整型信号量
信号量定义为一个整型量;
根据初始情况赋相应的值;
仅能通过两个原子操作来访问
P操作 wait(S):
While S<=0 do no-op;
S:=S-1;
V操作 signal(S):
S:=S+1;
共享一个信号量 只有wait跟signal可以操作
2)、记录型信号量
条件不符合的时候能够主动放弃CPU
P操作 wait(S):
S.value=S.value-1;
if S.value<0 then block(S,L)
V操作 signal(S):
S.value=S.value+1;
if S.value<=0 then weakup(S,L)
3)、信号量的基本应用
实现进程互斥
实现进程间的前趋关系(有序)
信号量值为0的点是限制的关键所在
4)、AND型信号量
一次性分配给进程所有的资源,用完一次释放
5)、信号量集
信号量题目做题一般方法
1.分析问题,找出同步、互斥关系
2.根据资源设置信号量变量
3.写出代码过程,并注意P、V操作的位置
4.检查代码,模拟机器运行,体验信号量的变化和程序运行过程是否正确
2.4经典进程同步问题
1.生产者消费者问题------互斥同步
2.哲学家就餐问题------互斥
3.读者写着问题------有条件的互斥
2.5进程通信
管程机制:将共享变量及对共享变量能够进行的所有操作的集中在一个模块中
管程的组成:
1、一组局部变量
2、对局部变量操作的一组过程
3、对局部变量进行初始化的语句。
管程的特点
1、任何进程只能通过调用管程提供的过程入口才能进入管程访问共享数据;
2、就如同使用临界资源,就要先通过其信号量的申请。
3、任何时刻,仅允许一个进程在管程中执行某个内部过程。
条件变量
(主要作用就是进程同步的阻塞和唤醒控制)
局部于管程的变量有两种:
普通变量
条件变量(用于控制进程阻塞和唤醒)
类似信号量变量,但不取具体值;相当于每个阻塞队列的队列指针。
对条件变量的操作需结合对普通变量的条件判断,从而控制进程状态。
2.6线程
线程:进程内的一条执行路径(共享进程资源、可并发执行)
线程的属性----多线程OS中,一个进程包括多个线程,每个线程都是利用CPU的基本单位。
轻型实体
独立调度和分派的基本单位
可并发执行
共享进程资源
第三章、 处理机调度与死锁
1、 处理机调度相关基本概念
处理机调度:多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。
三级调度方式:高级调度、中级调度、低级调度(三种基本OS中都有)
进程调度方式:非抢占方式、抢占方式
2、 常用调度算法
(1)、先来先服务调度算法FCFS
不利于短作业
(2)、短作业(进程)优先调度算法SJF/SPF
不利于长作业
(3)、高优先权优先调度算法HPF(优先权考虑全面)
(4)、高响应比优先调度算法HRRN(优先权考虑全面)
(5)、基于时间片的轮转调度算法RR
时间片轮转算法(及时响应、简单)
多级反馈队列算法FB(最综合的一种算法)
3、实时调度
实时系统:指系统能够在限定的响应时间内提供所需水平的服务
(1)、实现实时调度的基本条件
1)、提供必要的信息
就绪时间。该任务成为就绪状态的时间。
开始截止时间、完成截止时间。
处理时间。从开始执行到完成所需时间。
资源要求。任务执行时所需的一组资源。
优先级。根据任务性质赋予不同优先级。
2)系统处理能力足够强
3)采用抢占式调度机制
4)具有快速切换机制
(2)、实时调度算法分类
最早截止时间优先EDF(Earliest Deadline First)算法
最低松弛度优先LLF(Least Laxity First)算法
4、产生死锁的原因和必要条件
死锁(Deadlock):指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因可归结为如下两点:
竞争资源。系统中供多个进程共享的资源如打印机、公用队列等的数目不满足需要时,会引起资源竞争而产生死锁。
可把系统中的资源分为两类:
1))可剥夺性资源:分配给进程后可以被高优先级的进程剥夺。如CPU和主存。
不可剥夺性资源:分配给进程后只能在进程用完后释放。如磁带机、打印机等。
2))永久性资源和临时性资源
永久性:打印机。可顺序重复使用
临时性:进程产生被其他进程短暂使用的资源,如数据资源:“生产者/消费者”算法中的信号量。。它可能引起死锁。
进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,同样会导致死锁。
产生死锁的必要条件:
互斥条件:进程对所分配到的资源进行排他性使用
请求和保持条件:进程已经保持了至少一个资源,又提出新的资源请求,而新请求资源被其他进程占有只能造成自身进程阻塞,但对自己已获得的其他资源保持不放,必然影响其他进程。
不剥夺条件:进程已获得的资源未使用完之前不能被剥夺,只能在使用完时由自己释放。
环路等待条件
5、预防死锁的方法
预防死锁
避免死锁
安全性算法
6、死锁的检测与解除
(1)、资源分配图
系统死锁可利用资源分配图来描述。
圆圈表示进程
方框表示一类资源,其中的一个点代表一个该类资源
请求边由进程指向方框中的资源
分配边则由方框中的一个点即资源。
死锁检测时机:
当进程等待时检测死锁
定时检测
系统资源利用率下降时检测死锁
(2)、死锁定理
(3)、死锁的解除
剥夺资源
撤销进程
第四章、内存器管理
1、程序的装入和链接
1)、程序进内存的一般过程:
编译compiler:编译程序:将用户源代码编译成若干个目标模块。
链接link:链接程序:将形成的一组目标模块,及它们需要的库函数链接在一起,形成一个完整的装入模块。
装入load:由装入程序将装入模块装入内存,构造PCB,形成进程,开始运行(使用物理地址)。
2 、连续分配存储管理方式
(1)、单一连续分配(易于管理)
(2)、固定分区分配
(3)、动态分区分配(有外碎片)
1)首次适应算法FF
优点:优先利用内存低址部分,保留了高地址部分的大空闲区;
缺点:但低址部分不断划分,会产生较多小碎片;而且每次查找从低址部分开始,会逐渐增加查找开销。
2)循环首次适应算法
优点:空闲分区分布均匀,减少查找开销
缺点:缺乏大的空闲分区
最佳适应算法
缺点:每次找到最合适大小的分区割下的空闲区也总是最小,会产生许多难以利用的小空闲区(外碎片)
最差适应算法
基本不留下小空闲分区,但会出现缺乏较大的空闲分区的情况。
5)快速适应算法
能快速找到合适分区,但链表信息会很多;实际上是空间换时间
3、分页存储管理方式
分页方式下,内存的使用率高,浪费少。但不是绝对没有碎片(进程的最后一页不总是能占满一个物理块)
1)、页面的概念:内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。
2)、页表的概念:为了找到被离散分配到内存中的作业,记录每个作业各页映射到哪个物理块,形成的页面映射表,简称页表。
页表的作用:页号到物理块号的地址映射
3)、地址的处理
页号+页内地址(即页内偏移)
4)、地址变换机构
5)、快表
6)、多级页表
4、分段存储管理方式
从提高内存利用率角度;
固定分区 动态分区 分页
从满足并方便用户(程序员)和使用上的要求角度:
分段存储管理:作业分成若干段,各段可离散放入内存,段内仍连续存放。
分页和分段的主要区别:
需求:分页是出于系统管理的需要,是一种信息的物理划分单位,分段是出于用户应用的需要,是一种逻辑单位,通常包含一组意义相对完整的信息。
一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
大小:页大小是系统固定的,而段大小则通常不固定。分段没有内碎片,但连续存放段产生外碎片,可以通过内存紧缩来消除。相对而言分页空间利用率高。
逻辑地址:
分页是一维的,各个模块在链接时必须组织成同一个地址空间;
分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。
其他:通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。分段模式下,还可针对不同类型采取不同的保护;按段为单位来进行共享
5 、 虚拟存储器、请求分页/分段、页面置换算法
第五章、虚拟内存器
1、虚拟存储器的基本概念
常规存储器管理不足
1)、所谓“虚拟存储器”,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储管理下
内存逻辑容量由内存容量和外存容量之和所决定
运行速度接近于内存速度
每位的成本却接近于外存。
2)、虚拟的实现建立在离散分配存储管理基础上
方式:请求分页/请求分段系统
细节:分页/段机构、中断机构、地址变换机构、软件支持
3)、虚拟内存的特征
离散分配方式是基础
多次性:一个作业被分成多次调入内存运行
对换性:允许在作业的运行过程中进行换进、换出。(进程整体对换不算虚拟)
最终体现虚拟性:能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。
2、请求分页存储管理方式
1)、基本分页 + “请求调页”和“页面置换”功能。
换入和换出基本单位都是长度固定的页面。
2)、内存分配
作业不一次装入,部分装入的情况下如何为进程分配内存,涉及三个问题:
最小物理块数的确定
少于此数量进程将不能运行
与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式
物理块的分配策略
固定OR可变分配、全局OR局部置换
物理块的分配算法
1))、平均分配算法
将所有可供分配的物理块平均分配给各进程。
缺点:未考虑各进程本身的大小,利用率不均。
2))、按比例分配算法
根据进程的大小按比例分配物理块。
设系统中共有n个进程
3)、调页策略
1))、何时调入页面
2))、从何处调入页面
3))、页面调入过程
页面置换算法
页面置换算法(page replacement algorithms):选择换出哪些页面的算法,其好坏直接影响系统的性能。
应具有较低的缺页率:
页面调入次数(缺页次数)
1) 、总的页面最佳Optimal置换算法
作为参照标准,评价其他算法
2)、先进先出FIFO置换算法
会产生Belady现象
3)、最近最久未使用(LRU)置换算法
4)、CLOCK置换算法使用次数
3、请求分段存储管理方式
在请求分段系统中,程序运行之前,只需先调入若干个分段(不必调入所有的分段),便可启动运行。当所访问的段不在内存中时,可请求OS将所缺的段调入内存。
1)、请求分段中的硬件支持
段表机制
缺段中断机构
地址变换机构
2)、分段的共享和保护
重点
1 基本概念 ★
2 连续分配方式
3 非连续分配方式 ★★★
4 虚拟内存基本概念 ★★★★★
5 请求分页管理方式 ★★★★
6 页面置换算法 ★★★★★
7 页面分配策略 ★★
8 请求分段管理方式 ★★
9 请求段页式管理方式 ★
第六章、设备管理
1、I/O系统的功能、模型和接口
1)、主要功能:
1))、隐藏物理设备细节,方便用户
用户使用抽象的I/O命令即可
2))、实现设备无关性,方便用户
用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。
3))、提高处理机和设备的并行性,提高利用率:缓冲区管理
4))、对I/O设备进行控制:控制方式、设备分配、设备处理
5))、确保对设备正确共享:虚拟设备及设备独立性等
6))、错误处理
2)、I/O系统的层次结构和模型
层次结构:系统中的设备管理模块分为若干个层次
层间操作:下层为上层提供服务,完成输入输出功能中的某些子功能,并屏蔽功能实现的细节。
2)、I/O设备和设备控制器
I/O系统的组成:需要用于输入、输出和存储信息的设备;需要相应的设备控制器;控制器与CPU连接的高速总线;有的大中型计算机系统,配置I/O通道。
1)、I/O设备的类型
按传输速率分类:
低速、中速、高速(键盘、打印机、磁盘)
使用:存储设备、输入输出设备
按信息交换的单位分类:
块设备:有结构、速率高、可寻址、DMA方式控制
字符设备:无结构、速率低、不可寻址、中断方式控制
2、设备控制器
设备并不直接与CPU通信
计算机中的一个实体——“设备控制器”负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。
控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。
常作成接口卡插入计算机
可编址,不同类
基本功能
- 接收和识别CPU命令(控制寄存器:存放命令和参数)
- 标识和报告设备的状态(状态寄存器)
- 数据交换(数据寄存器)
- 地址识别(控制器识别设备地址、寄存器地址。地址译码器)
- 数据缓冲(协调I/O与CPU的速度差距)
- 差错控制
组成 - 设备控制器与处理机的接口
- 设备控制器与设备的接口
- I/O逻辑
3)、I/O通道
3、中断机构和中断处理程序
中断在操作系统中有特殊而重要的地位,没有它就不可能实现多道程序。
中断是I/O系统最低的一层,也是设备管理的基础。
1)、中断和陷入
中断:CPU对I/O设备发来的中断信号的一种响应,中断是由外部设备引起的,又称外中断。
陷入:由CPU内部事件所引起的中断,通常把这类中断称为内中断或陷入(trap)。
中断和陷入的主要区别:是信号的来源
2)、中断向量表:为每种设备配以相应的中断处理程序,并把该程序的入口地址,放在中断向量表的一个表项中,并为每一个设备的中断请求,规定一个中断号,它直接对应于中断向量表的一个表项中
4、设备驱动程序
设备驱动程序是I/O系统的高层与设备控制器之间的通信程序,其主要任务:
接收上层软件发来的抽象I/O要求,如read、write等命令;
再把它转化为具体要求,发送给设备控制器,启动设备去执行。
反方向,它也将由设备控制器发来的信号,传送给上层软件。
1)、驱动程序的功能
(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备相关的低层操作序列;
(2)检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式;
(3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者挂在设备队列上等待;
(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。
2)、设备驱动程序的特点
(1)驱动程序是与设备无关的软件和设备控制器之间通信和转换的程序。
(2)驱动程序,与设备控制器和I/O设备的硬件特性,紧密相关。
(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。
(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。
(5)驱动程序应允许可重入,一个正在运行的驱动程序常会在一次调用完成前被再次调用。
3)、设备处理方式
(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。这种方式比较适合于较大的系统;
(2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中的输入或输出操作;
(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备驱动程序,供用户或系统进程调用。这种方式目前用得较多。
4)、驱动程序处理过程
I/O设备与控制器间的通信转换程序
了解抽象命令,了解控制器内部的寄存器结构
与硬件密切相关,每类设备配备一种驱动程序
功能:接受解释指令(有通道的系统,自动通道程序)、相关判断、发送设备命令、响应中断
特点,控制方式不同程序不同,部分固化进硬件,代码可重入。
5)、I/O控制方式
程序I/O方式
中断驱动I/O方式
直接存储器访问DMA(字节—块)
I/O通道控制方式(组织传送的独立)
宗旨:减少主机对I/O控制的干预,将CPU从繁杂的I/O控制事物中解脱出来
5、与设备无关的I/O软件
设备独立性的基本含义:
指应用程序中所使用的设备,不局限于使用某个具体的物理设备,也称为设备无关性。
为了实现设备独立性,在设备驱动程序之上设置一层软件,称为与设备无关的I/O软件,或设备独立性软件。
设备无关的软件是I/O系统最高层软件,但它和其下的设备驱动程序之间的界限,将随操作系统和设备的不同而有所差异。
6、用户层的I/O软件
小部分I/O系统软件放在了用户应用层上。
库函数(与应用程序链接)
假脱机技术(虚拟设备)
1)、系统调用与库函数
不允许运行在用户态的应用进程,去直接调用运行在核心态(系统态)的OS过程。
应用进程在运行时,又必须取得OS所提供的服务。
于是:OS在用户层中引入了系统调用,应用程序可以通过它,间接调用OS中的I/O过程,对I/O设备进行操作
2)、设备分配中的虚拟技术 —— SPOOLing技术
多道程序技术,专门利用程序模拟脱机I/O的外围机,完成设备I/O操作。
称这种联机情况下实现的同时外围操作为SPOOLing 技术(Simultaneaus Periphernal Operating On—Line,或称为假脱机操作)
一般进程对独占设备的需求被假脱机模拟到磁盘上。所以实现设备虚拟,多道是前提,还需高速、大容量、可随机存取的外存支持。
主要有三大部分(如下页图)
- 输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。
- 输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。
- 输入进程和输出进程。
• 用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上;
• 用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。
SPOOLing系统的特点:
1) 、提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。
2) 、将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。
3) 、最终,实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。
7、缓冲区管理
I/O控制方式减少CPU对I/O的干预提高利用率;
缓冲则通过缓和CPU和I/O设备速度不匹配矛盾,增加CPU和I/O设备的并行性,提高利用率。
现代OS中,几乎所有的I/O设备与处理机交换数据时,都用了缓冲区。
1) 单缓冲与多缓冲
2) 循环缓冲(circular buffer)
3) 缓冲池(Buffer Pool)
8、磁盘存储器的性能和调度
磁盘性能简述:
传输时间占总时间的比例最小,磁盘读写速度的提高要选择合适的调度算法,减少前两项用时,使所有作业的磁盘处理时间均衡。
磁盘调度方法:
• FCFS
• 最短寻道时间优先SSTF
• 扫描算法SCAN(磁盘电梯调度算法)
循环扫描算法CSCAN
N-Step-SCAN算法
FSCAN算法
磁盘高速缓存
提高速度的其他方法
第七、八章、文件与磁盘空间管理
1、文件、文件系统
文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。
1 )基本概念
数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。
记录:一组相关数据项集合,描述对象某方面的属性;
关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。
文件:由创建者定义的、具有文件名的一组相关元素的集合。
2 )文件类型
不同的系统对文件的管理方式不同
多用扩展名标志文件类型,按如下几种方式分类文件
按用途:系统、用户、库文件
按数据形式:源文件、目标文件、可执行文件
按存取控制属性:只执行、只读、读写
按组织和处理方式:普通文件、目录文件、特殊(设备)文件
3)文件系统模型
系统管理文件模型
4)文件操作
创建/删除文件:分空间,形成FCB及目录(名,地址)
读、写:按名检索目录,找到文件地址,开始读、写
设置文件读写位置,实现随机存取(尤其适用于记录文件)
2、文件结构、外存分配
文件系统设计的关键要素:如何构成一个文件,以及如何存储在外存。
1) 文件逻辑结构的类型
有结构文件(记录式)
①定长记录
②变长记录
如何组织记录:
顺序文件。系统需按该类型记录“长度”,通常定长。
索引文件。系统需为文件建立索引表。
索引顺序文件。建索引表,记录每组记录的第一个记录位置。
无结构文件(字符流式)
字节为单位,利用读写指针依次访问。
系统对该类文件不需格式处理。
3、外存分配方式
目标:有效利用外存空间,提高文件访问速度
常用三种方式:
连续分配(产生外碎片、不方便修改)
链接分配(消除外碎片,提高利用率、修改容易)
索引分配(检索时间成本高)
通常一个系统中仅采用一种方式
4、存储空间的管理
典型的管理方法:
1)空闲表和空闲链表法
2)位示图法
3)成组链接法
5、目标管理
对文件实施有效的管理,必须对它们加以妥善组织,主要是两大操作:
基本信息记录(FCB,目录项)
方便检索、管理(目录操作)
目录管理的要求如下:实现“按名存取”(最基本功能);提高对目录的检索速度;文件共享;允许文件重名。
1) FCB内容
基本信息类
a) 包括文件名,文件物理位置,文件逻辑结构,文件的物理结构。
存取控制信息类
b) 包括文件主的存取权限,核准用户的存取权限和一般用户的存取权限。
使用信息类
c) 建立日期和时间、文件上次修改的日期和时间
当前使用信息:打开该文件的进程数、是否被进程锁住、是否已修改等
6、文件共享与保护
1)文件共享
多个用户共享一份文件,只保留文件的一份副本,节约存储空间
2) 磁盘容错
防止磁盘故障造成的文件不安全