操作系统期末复习提纲

02 进程的描述与控制

进程和程序的区别和联系

区别:
	1、进程是动态的,而程序是静态的;
	2、进程有一定的生命期,而程序是指令的集合。
	3、一个程序可以对应多个进程,但一个进程只能对应一个程序。
	4、进程和程序的组成不同。从静态角度看,进程由程序、数据和进程控制块(PCB)三部分组成,而程序是一组有序的指令集合。
联系:
	进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

程序顺序进行特征

顺序性:
	按照程序结构所指定的次序(可能有分支或循环)
封闭性:
	独占系统资源
可再现性
	初始条件相同则结果相同。

程序并发执行特点

间断(异步)性
	“走走停停",一个程序可能走到中途停下来,失去原有的时序关系:
失去封闭性
	共享资源,受其他程序的控制逻辑的影响
失去可再现性
	失去封闭性- >失去可再现性;外界环墒在程序的两次执行期间发生变化,失去原有的可重复特征

进程的基本状态及转换三种基本状态、转换和原因

三种进程状态

运行态
	进程占有CPU,并在CPU上运行
就绪态
	一个进程已经具备运行条件,但没有分配CPU,暂时不能运行,当调度给该进程CPU时,立即可以运行
等待态(阻塞态、封锁态、睡眠态)
	进程因等待某事件的发生而暂时不能运行的状态,即使CPU空闲,该进程也不可运行

转换和原因 做题*

就绪-->运行
	调度程序选择进程运行
运行-->就绪
	运行进程用完了时间片
运行-->等待
	操作系统尚未完成服务
	对资源的访问尚不能进行
	初始化I/0且须等待结果
	等待某一进程提供输入
等待-->就绪
	等待的事件发生

引入挂起操作的原因

(1)终端用户的请求即:若进程处于执行状态,则暂停执行;若进程处于就绪状态,则暂不接收调度,以便研究其执行情况或对程序进行修改。这种状态称为挂起状态。
(2)父进程请求
(3)操作系统的需要
(4)对换的需要
(5)负荷调节的需要

在这里插入图片描述

进程控制块 PCB 作用

作为独立运行基本单位的标志。
能实现间断性运行方式,
提供进程管理所需要的信息
提供进程调度所需要的信息。
实现与其它进程的同步与通信。
由此可知:系统根据PCB感知进程的存在,PCB是进程存在的唯一标志 。

处理机的执行状态:

系统态一又称为核心态。它具有较高的特权,能执行一切指令,访问所有的寄存器和存储区;
用户态一这是具有较低特权的执行状态,它只能执行规定的指令,访问指定的寄存器和存储区。通常,用户程序运行在用户态,OS内核运行在系统态下,而进程控制是由OS内核实现的。.

进程控制原语

什么是原语

进程控制和管理功能是由原语来实现
原语是在管态下执行、完成系统特定功能的程序
原语执行过程中不允许被中断

什么是进程的控制

1、含义:系统使用一些具有特定功能的程序段(原语)来创建、撤消进程以及完成进程状态间的转换,从而达到进程高效率并发执行和协调实现资源共享的目的。
2、包含:进程的创建、撤消、阻塞、唤醒、挂起、激活等。

进程的创建 进程创建事件、原语

进程创建的事件

用户登录
作业调度
提供服务
应用请求

创建过程(创建原语)

申请一个空白PCB
为新进程分配其运行所需的资源
初始化进程控制块PCB
如果进程队列能够接纳新进程,便将新进程插入就绪队列

进程的终止 事件、原语

引起进程终止的事件

正常结束
异常结束
	越界错
	保护错
	非法指令
	特权指令错
	运行超时
	算术运算错
	I/O故障
外界干预
终止原语
	从PCB集合中找到终止进程的PCB
	若进程正在运行,立即剥夺CPU,将CPU分配给其他进程
	终止其所有子进程
	将该进程拥有的所有资源归还给父进程或操作系统
	删除PCB

进程的阻塞与唤醒 事件、原语

1.引起进程阻塞和唤醒的事件

(1)向系统请求共享资源失败。 (阻塞)
(2)等待某种操作的完成。( I/0请求)
(3)新数据尚未到达。( 合作进程)
(4)等待新任务的到达。(特定的网络服务)

进程与被唤醒进程是合作的并发进程。

进程阻塞

阻塞原语:Block 是一种主动行为
	a、立即停止执行,把进程控制块中的现行状态由“执行”改为“阻塞”,并将PCB插入阻塞队列。
	b、如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待)队列。
	c、转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU的环境。

进程唤醒

唤醒原语:Wakeup  被动行为
	a、把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由“阻塞”改为“就绪”
	b、将该PCB插入到就绪队列中。

进程同步

制约、临界资源、临界区

制约:间接、直接

在多道程序环境下,对于同处于一个系统中的多个进程,由于它们共享系统中的资源,或为完成某一任务而相互合作,它们之间可能存在着以下两种形式的制约关系:间接相互制约关系和直接相互制约关系

临界资源

一次仅允许一个进程使用的资源称为临界资源。

临界区

在每个进程中,访问临界资源的那段程序。

信号量机制 记录型、AND型,变量 P53-55

经典进程的同步问题 书上例题、用信号量机制算法及变型

生产者-消费者问题 #同步是什么

进程同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。

利用记录型信号量解决生产者消费者问题 P60

利用AND信号量解决生产者消费者问题 P61

利用管程解决生产者-消费者问题 P62

哲学家进餐问题 #and

利用记录型信号量解决哲学家进餐问题

利用AND信号量机制解决哲学家进餐问题 P64

读者-写者问题 #记录型

利用记录型信号量解决读者-写者问题 P65

利用信号量集机制解决读者-写者问题

线程与进程的比较

●线程具有进程的许多特征,故又称轻型进程,传统
进程称重型进程。
●在引入线程的OS中,每一进程都拥有多个线程,至
少一个。

03 处理机调度与死锁

处理机调度的层次和调度算法的目标 调度层次

处理机调度的层次 #各调度含义

高级调度

高级调度又称长程调度或作业调度,它的调度对象是作业。其主要功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。高级调度主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度

低级调度

低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级线程)。其主要功能是,根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分派程序将处理机分配给被选中的进程。进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。

中级调度

中级调度又称为内存调度。引入中级调度的主要目的是,提高内存利用率和系统吞吐量
为此,应把那些暂时不能运行的进程,调至外存等待,此时进程的状态称为就绪驻外存状态(或挂起状态)。当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定,把外存上的那些已具备运行条件的就绪进程再重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待。中级调度实际上就是存储器管理中的对换功能

处理机调度算法的目标

资源利用率,公平性,平衡性,策略强制执行

选择调度算法的准则,周转时间,带权周转时间,响应时间

https://blog.csdn.net/mez_Blog/article/details/106869461

常见调度算法,抢占,响应比

先来先服务调度算法

FCFS是最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。

短作业优先的调度算法

a. 短作业优先算法

SJF算法是以作业的长短来计算优先级,作业越短,其优先级越高。作业的长短是以作业所要求的运行时间来衡量的。SJF算法可以分别用于作业调度和进程调度。在把短作业优先调度算法用于作业调度时,它将从外存的作业后备队列中选择若干个估计运行时间最短的作业,优先将它们调入内存运行。

b. 短作业优先算法的缺点

(1) 必须预知作业的运行时间

(2) 对长作业非常不利,长作业的周转时间会明显地增长。可能使作业等待时间过长,出现饥饿现象。

(3) 在采用FCFS算法时,人—机无法实现交互。

(4) 该调度算法完全未考虑作业的紧迫程度,故不能保证紧迫性作业能得到及时处理。

优先级调度算法

不能反映作业的紧迫程度。

高相应比优先调度算法

a. 高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。

b. 优先级变化规律

Rp=优先权=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间

进程调度方式

(1) 非抢占方式(Nonpreemptive Mode)

在采用这种调度方式时,一旦把处理机分配给某进程后,就一直让它运行下去,决不会因为时钟中断或任何其它原因去抢占当前正在运行进程的处理机,直至该进程完成,或发生某事件而被阻塞时,才把处理机分配给其它进程

(2) 抢占方式(Preemptive Mode)

这种调度方式允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。在现代OS中广泛采用抢占方式

多级反馈调度算法原理

https://blog.csdn.net/wang123456___/article/details/115918901
https://www.icourse163.org/learn/kaopei-1467209161?tid=1468336449#/learn/content?type=detail&id=1252528013&cid=1282106024

实时调度算法的分类 **

可以按不同方式对实时调度算法加以分类:
根据实时任务性质,可将实时调度的算法分为硬实时调度算法和软实时调度算法;
按调度方式,则可分为非抢占调度算法和抢占调度算法。
1. 非抢占式调度算法
(1) 非抢占式轮转调度算法。
(2) 非抢占式优先调度算法。
2. 抢占式调度算法
(1) 基于时钟中断的抢占式优先级调度算法。
(2) 立即抢占(Immediate Preemption)的优先级调度算法。

常见的两种实时调度算法

最早截止时间优先EDF(Earliest Deadline First)算法 P99

1. 非抢占式调度方式用于非周期实时任务
2. 抢占式调度方式用于周期实时任务

最低松弛度优先LLF(Least Laxity First)算法 P101

死锁

死锁产生的原因

死锁的起因,通常是源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺或引起死锁,而且对可消耗资源进行争夺也会引起死锁。
1、系统资源不足;
2、进程运行推进的顺序不当;
3、资源分配不当;

死锁的定义

在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁进程所占有的资源。

死锁产生的必要条件

(1) 互斥条件。
(2) 请求和保持条件。
(3) 不可抢占条件。
(4) 循环等待条件。

避免死锁

银行家算法
安全性算法

死锁定理

死锁定理: S为死锁状态的充分条件是当且仅当S资源分配图是不可完全简化的。

(1) 在资源分配图中,找出一个既不阻塞又非独立的进程结点Pi。在顺利的情况下,Pi可获得所需资源而继续运行,直至运行完毕,再释放其所占有的全部资源,这相当于消去Pi的请求边和分配边,使之成为孤立的结点。
(2)  P1释放资源后,便可使P2获得资源而继续运行,直至P2完成后又释放出它所占有的全部资源
(3) 在进行一系列的简化后,若能消去图中所有的边,使所有的进程结点都成为孤立结点,则称该图是可完全简化的;若不能通过任何过程使该图完全简化,则称该图是不可完全简化的。

死锁的解除 P117

1. 终止进程的方法
1) 终止所有死锁进程(撤消进程法/终止进程法)
2) 逐个终止进程(资源剥夺法)
3) 进程回退法
2. 付出代价最小的死锁解除算法
进程优先级
已执行多长时间
还要多就能完成
进程已经使用了多少资源
进程是交互式还是批处理式

04 (虚拟)存储器

n重定位的基本概念:为什么要引入

n如何提高内存利用率:离散分配、对换机制、动态链接、虚拟存储器、存储器共享

n动态分区分配方式:分配、回收算法

n基本分页存储管理方式:为什么引入;地址变换机构和过程(含具有快表的情况)

n基本分段存储管理方式:为什么引入;地址变换机构和过程(含具有快表的情况);信息的共享和保护

n虚拟存储器的基本概念:为什么要引入;特征;实现虚拟存储的关键技术

n请求分页系统的基本原理:页表机制;地址变换过程;页面置换算法

n存储器管理的基本任务

n动态重定位的概念、实现方式,什么情况下需要重定位

n比较连续分配与离散分配

n基于空闲分区链的内存分配与回收算法的应用实例:首次适应法,循环首次适应法,最佳适应法

n在某分页系统中,给定内存容量和物理块大小,计算物理块的数量;对给定的进程页表,将给定的逻辑地址,计算出其对应的物理地址并画出地址变换流程图。

n在某分段系统中对给定的进程段表,将给定的逻辑地址,计算出其对应的物理地址并画出地址变换流程图。

n请求分页系统过程的各种问题,并用流程图的方式表示地址变换过程

n对给定的问题,按各种页面置换算法,写页面调入过程,计算和分析缺页率,并对多种算法的性能作比较分析

存储器结构图 P120

存储器管理的内容

主存储器、高速缓存、辅存

内存的功能

主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进程运行时的程序和数据,也称可执行存储器。通常,处理机都是从主存储器中取得指令和数据的,并将其所取得的指令放入指令寄存器中,而将其所读取的数据装入到数据寄存器中.

高速缓存和磁盘缓存 P121

装入方式

绝对装入、可重定位、动态可重定位 P123

什么是动态可重定位装入方式,硬件支持:重定位寄存器

链接:装入时的动态链接,运行时的动态链接

分配方式:连续分配,离散分配

连续分配存储管理方式:分区分配(固定分区、动态分区*)、动态重定向分区* P123

固定分区产生内碎片
动态分区分配,不预先划分内存,产生外碎片
动态可重定位:解决产生外碎片
	相对地址转化为物理地址
	紧凑
	动态重定位,硬件地址变换机构:重定位寄存器

 基于顺序搜索的动态分区分配算法
 循环首次适应算法
 最佳适应算法
 最坏适应算法

为什么引入对换

在多道程序环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞,而无可运行之进程,迫使CPU停止下来等待的情况;另一方面,却又有着许多作业,因内存空间不足,一直驻留在外存上,而不能进入内存运行。显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。

分页存储管理方式 分页存储管理的基本方法,地址结构

分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页从0开始加以编号
相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号

https://www.icourse163.org/learn/kaopei-1467209161?tid=1468336449#/learn/content?type=detail&id=1252531014&cid=1282096039

分段存储管理方式 为什么引入分段,分段地址结构含义

https://www.icourse163.org/learn/kaopei-1467209161?tid=1468336449#/learn/content?type=detail&id=1252531014&cid=1282110076

逻辑地址转化为物理地址,取整为页号,取余为页内地址

页表:有页号和块号,地址变换机构
段表:段号,段内地址

4.分页和分段的主要区别

(1)页是信息的物理单位。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。
(2)页的大小固定且由系统决定。段的长度却不固定,决定于用户所编写的程序,由编译程序在对源程序进行编译时,根据信息的性质来划分。
(3)分页的用户程序地址空间是一维的。分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

虚拟存储器概述 #局部性原理,虚拟存储器的定义

局部性原理

程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域。体现在两个方面:时间局部性和空间局部性

虚拟存储器

是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
容量由内存和外存容量之和决定

虚拟存储器的实现方法 都增加了请求与置换的功能

分页请求系统

1) 硬件支持
主要的硬件支持有:
(1) 请求分页的页表机制。
(2) 缺页中断机构。
(3) 地址变换机构。
2) 实现请求分页的软件

请求分段系统

1) 硬件支持
主要的硬件支持有:
(1) 请求分段的段表机制。
(2) 缺页中断机构。
(3) 地址变换机构。
2) 软件支持

请求分页存储管理方式

页表的项和含义

页号    物理块   状态位P  访问字段A   修改位M   外存地址
	P:指示该页是否已调入内存,供程序访问时参考
	A:记录该页在段时间内被访问的次数,或记录未被访问的时间,供换出页面时参考
	M:指示该贝在调入内存时是否被修改,供置换页面时参考
	外存地址:指示该页在外存的地址(物理块号),供调入该页时参考

地址变换机构如何实现地址变换

结合分页页表将逻辑转化为物理  状态位

缺页率

页面置换算法
最佳置换算法
先进先出算法   belady现象产生的原因:在于它根本没有考虑程序执行的动态特征。
最近最久未使用算法
最少使用算法 基本思想
时钟算法 基本思想

缺页率别忘了前三页
页面置换不算前三页

什么是抖动,产生抖动的原因

在请求分页存储管理中,从主存中刚刚移走某一页面后,根据请求马上又调进该页,这种反复调进调出的现象叫做系统抖动
产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的

请求分段的管理方式

段名  段长  段基址  存取方式   访问字段A  修改位M  存在位P  增补位  外存始址
逻->物

分段的共享原理

06.I/O系统

io系统基本功能

1. 隐藏物理设备的细节
2. 与设备的无关性
3. 提高处理机和I/O设备的利用率
4. 对I/O设备进行控制
5. 确保对设备的正确共享
6. 错误处理

io系统层次结构图

在这里插入图片描述

中断处理程序。它处于1o系统的底层,直接与硬件进行交互。
设备驱动程序。它处于I/O系统的次底层,是进程和设备控制器之间的通信程序,其主要功能是,将上层发来的抽象I/O请求转换为对I/O设备的具体命令和参数,并把它装入到设备控制器中的命令和参数寄存器中,或者相反。
(3)设备独立性软件。现代OS中的IO系统基本.上都实现了与设备无关性,也称为与设备无关的软件。其基本含义是: I/O 软件独立于具体使用的物理设备。

设备控制器是计算机控制设备的主要部件

io设备类型4个角度

1)按使用特性分类:存储设备、I/O设备(输入、输出、交互式)
2)按传输速率分类:高速、中速、低速
3)按信息交换的单位分类:块设备、字符设备
4)按设备的共享属性分类:独占、共享、虚拟设备

设备控制器的基本功能

(1) 接收和识别命令
(2) 数据交换
(3) 标识和报告设备的状态
(4) 地址识别
(5) 数据缓冲区
(6) 差错控制

什么是io通道,为什么引入io通道

I/0通道是一种特殊的处理机。
其主要目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理尽量独立,以保证CPU有更多的时间去进行数据处理

中断机构和中断处理程序 #中断处理的过程、步骤

1.检测是否有未响应的中断信号
2.保护被中断进程的CPU环境
3.转入相应的设备处理程序
4.中断处理
5.恢复CPU的现场并退出中断

设备驱动程序的功能

(1) 接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列
(2) 检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式
(3) 发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者的请求块挂在设备队列上等待
(4) 及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理

IO设备的控制方式 基本原理

采用轮询的可编程I/O方式
采用中断的可编程I/O方式
直接存储器访问方式 DMA
I/O通道方式

与设备无关性基本含义,如何实现

基本含义是:应用程序中所用的设备,不局限于使用某个具体的物理设备。为每个设备所配置的设备驱动程序是与.硬件紧密相关的软件。为了实现设备独立性,再在设备驱动.程序之上设置一层软件,称为与设备无关的I/O软件,或设备独立性软件。

逻辑设备表LUT
1. 以物理设备名使用设备
2. 引入了逻辑设备名
3. 逻辑设备名称到物理设备名称的转换

逻辑设备表分配和回收有哪些数据结构 一个设备控制器有一张还是整个系统有一张

设备控制表DCT
控制器控制表COCT
通道控制表CHCT
系统设备表SDT

设备分配程序的步骤

1根据进程请求的物理设备名查找SDT(注:物理设备名是进程请求分配设备时提供的参数)
2根据SDT找到DCT,若设备忙碌则将进程PCB挂到设备等待队列中,不忙碌则将设备分配给进程。
3根据DCT找到COCT,若控制器忙碌则将进程PCB挂到控制器等待队列中,不忙碌则将控制器分配给进程。
4根据COCT找到CHCT,若通道忙碌则将进程PCB挂到通道等待队列中,不忙碌则将通道分配给进程。
全分配了才认为是分配成功

系统调用、库函数

假脱机组成、原理 P205

SPOOLing系统主要由以下四部分构成:
(1)输入井和输出井。磁盘上开辟出来的两个存储区域。.
(2)输入缓冲区和输出缓冲区。内存中开辟的两个缓冲区。
(3)输入进程和输出进程。模拟脱机时的外围控制机。
(4)井管理程序。用于控制作业与磁盘井之间信息的交换。

缓冲的引入

(1) 缓和CPU与I/O设备间速度不匹配的矛盾
(2) 减少对CPU的中断频率,放宽对CPU中断响应时间的限制
(3) 解决数据粒度不匹配的问题
(4) 提高CPU和I/O设备之间的并行性

缓冲区类型

单缓冲区,双缓冲区,循环缓冲,缓冲池
单缓冲区(Single Buffer)
   max(t+m)
双缓冲区(Double Buffer)
   max(c,t)

环形缓冲区
作为输入的多缓冲区可分为三种类型:
	用于装输入数据的空缓冲区R、
	已装满数据的缓冲区G
	以及计算进程正在使用的现行工作缓冲区C

缓冲池

在这里插入图片描述

磁盘访问时间

寻道时间+旋转延迟时间+传输时间
Ta=Ts+ l/2r+b/rN,r表示转数,b表示每次读写的字节数,N表示一条磁道 上的字节数。

平均寻道长度

扫描(SCAN)算法
循环扫描(CSCAN)算法
NStepSCAN和FSCAN调度算法 
FSCAN算法

在这里插入图片描述

07 文件系统

重点:文件目录,文件的逻辑结构

什么是文件

文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。
有结构文件:由若干个相关记录组成; ( 例如:数据库文件)
无结构文件: 一个字符流。(例如: 记事本文件)

1)按用途分类
根据文件的性质和用途的不同,可将文件分为三类:
(1)系统文件,这是指由系统软件构成的文件。大多数的系统文件只允许用户调用,但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。
(2)用户文件,指由用户的源代码、目标文件、可执行文件或数据等所构成的文件。用户将这些文件委托给系统保管。
(3)库文件,这是由标准子例程及常用的例程等所构成的文件。这类文件允许用户调用,但不允许修改。

2)按文件中数据的形式分类
按这种方式分类,也可把文件分为三类:
(1)源文件,这是指由源程序和数据构成的文件。通常,由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由ASCII码或汉字所组成的。
(2)目标文件,这是指把源程序经过编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。目标文件所使用的后缀名是“.obj"。
(3)可执行文件,这是指把编译后所产生的目标代码经过链接程序链接后所形成的文件。其后缀名是.exe。

3)按存取控制属性分类
根据系统管理员或用户所规定的存取控制属性,可将文件分为三类:
(1)只执行文件,该类文件只允许被核准的用户调用执行,不允许读和写。
(2)只读文件,该类文件只允许文件主及被核准的用户去读,不允许写。
(3)读写文件,这是指允许文件主和被核准的用户去读或写的文件。

4)按组织形式和处理方式分类
根据文件的组织形式和系统对其处理方式的不同,可将文件分为三类:
(1)普通文件。用户建立的源程序、数据文件、应用程序等。
(2)目录文件。由文件目录组成的文件。
(3)特殊文件。特指系统中的各类I/0设备。对文件的操作由设备驱动程序来完成。

文件系统层次结构,估计只考标题

1.对象及其属性
文件管理系统管理的对象如下:
(1)文件。
(2)目录。为了方便用户对文件进行存取检索等,在文件系统中配置目录,目录项中有文件名、文件属性、物理地址等。对目录管理,是方便用户和提高对文件存取速度的关键。
(3)磁盘(磁带)存储空间。

2.对对象操纵和管理的软件集合
该层是文件管理系统的核心部分。文件系统的功能大多是在这-层实现的,其中包括有:
①对文件存储空间的管理;
②对文件目录的管理;
③用于将文件的逻辑地址转换为物理地址的机制;
④对文件读和写的管理;
⑤对文件的共享与保护等功能。
在实现这些功能时,OS通常都采取了层次组织结构,即在每一层中都包含了一定的功能,处于某个层次的软件,只能调用同层或更低层次中的功能模块。

文件系统的接口

文件的结构

逻辑结构
	(1)文件的逻辑结构(File Logical Structure): 从用户观点出发所观察到的文件组织形式,即文件是由一系列的逻辑记录组成,是用户可以直接处理的数据及其结构,它独立于文件的物理结构。又称文件组织。文件的逻辑记录时能够被存取的基本单位。
物理结构
	(2)文件的物理结构,又称为文件的存储结构。指系统将文件存储在外存上所形成的一种存储组织形式,是用户看不到的。

1.按文件是否有结构分类
1)有结构文件
每个记录都用于描述实体集中的一个实体。
(1)定长记录。
所有记录的长度是相同的。文件的长度用记录数目表示。目前常用的记录格式,被应用于数据处理中。
(2)变长记录。
 无结构文件
	 流式文件,基本单位为字符

2.按文件的组织方式分类

根据文件的组织方式,可把有结构文件分为三类:
(1)顺序文件。
系列记录按某种顺序排列所形成的文件。其中的记录通常是定长记录。
注意:文件中的记录-一个接-一个地顺序排列(逻辑上了,记录可以是定长的或是可变长的。各个记录在物理上可以顺序存储或链式存储。
(2)索引文件。
当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一个 表项。
(3)索引顺序文件。
上述两种文件构成方式的结合。它为文件建立一-张索引表,为每一组记录中的第一个记录设置一 个表项。

文件目录

(1)实现“按名存取
(2)提高对目录的检索速度。
(3)文件共享。
(4)允许文件重名。
文件目录也是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用。

文件控制块和索引结点

1.文件控制块FCB(File Control BIock)
目录文件中的一条记录为了能对一个文件进行正确存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块”。
在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。

常见的文件目录结构

单级文件目录:只能实现按名存取
两级文件目录:主文件目录,用户文件目录
树型目录结构:绝对路径,相对路径的概念

文件共享

概念
系统只需保留该共享文件的一份副本,允许多个用户(进程)共享同一份文件。

利用索引结点(硬链接)
诸如文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件自录中只设置文件名及指向相应索引结点的指针

利用符号链接实现文件共享(软链接)
利用符号链接(Symbolic Link ing)的基本思想
利用符号链接实现文件共享的基本思想,是允许一个文件或子目录有多个父目录,但其中仅有一个作为主(属主)父目录,其它的几个父目录都是通过符号链接方式与之相链接的(简称链接父目录)。

影响文件安全性的主要因素有:

(1)人为因素。
(2)系统因素。
(3)自然因素。

访问矩阵(Access Matrix)。

做什么的:访问矩阵中的行代表域,列代表对象,矩阵中的每一项是由一组访问权组成的。

实现:
访问控制表
	是指对访问矩阵按列划分,为每列建立一张访问控制表ACL,由有序对(域,权集)组成,用来保证系统安全性的一种手段。
访问权限表
	访问权限表是指对访问矩阵按行划分,由每行构成一张访问权限表。

08 磁盘存储器的管理

磁盘存储器管理的主要任务和要求:

1、有效利用存储空间。采用合理的文件分配方式,为文件分配必要的存储空间。
2、提高磁盘的I/O速度。采用磁盘告诉缓存等措施。
3、提高磁盘系统的可靠性。采用必要的冗余措施和后备.系统。

组织方式

(1)连续组织方式。
(2)链接组织方式。
(3)索引组织方式。

逻辑块号能否直接转换为物理块号

结论:采用链式分配(显式链接)方式的文件,支持顺序访问,也支持随机访问(想访问i号逻辑块时,并不需要依次访问之前的0~i-1号逻辑块),由于块号转换的过程不需要访问磁盘,因此相比于隐式链接来说,访问速度快很多。

Unix采用的组织方式:混合索引

外存的组织方式

空闲表法
空闲链表法
	空闲盘块链
	空闲盘区链
位示图
	位示图是利用二进制的一-位来表示磁盘中一个盘块的使用情况。
	2.盘块的分配
		根据位示图进行盘块分配时,可分三步进行:
		(1)顺序扫描位示图,从中找出一个或一-组其值为“0”的二进制位(“0”表示空闲时)。
		(2)将所找到的一个或- -组二进制位转换成与之相应的盘块号。假定找到的其值为“0"的二进制位位于位示图的第i行、第j列,则其相应的盘块号应按下式计算:b=n(i- 1)+j式中,n代表每行的位数。
		(3)修改位示图,令map[i,j]= 1。
	3. 盘块的回收
		盘块的回收分两步:
		(1)将回收盘块的盘块号转换成位示图中的行号和列号。转换公式为:.
		i=(b- l)DIV n+ 1
		j=(b- 1)MOD n+ 1
		(2)修改位示图。令map[i,j]=0。

成组链接法:UNIX系统 原理 P262

8.3.1 磁盘高速缓存

策略
	数据交付方式
	置换算法
	周期性的写回磁盘

8.3.2 提高磁盘vo速度的其它方法

提前读
延迟写
优化物理块分布
虚拟盘

8.3.3 廉价磁盘冗余阵列

1.并行交叉存取
2. RAID的分级
3. RAID的优点

8.4.1第一级容错技术 SFT- I

双份目录和双份文件分配表
热修复重定向和写后读校验

8.4.2第二 级容错技术SFT- II

磁盘镜像(Disk Mirroring)
磁盘双工

8.4.3 基于集群技术的容错功能

双机热备份模式
双击互为备份模式
共用磁盘模式

8.4.4后备系统

磁带机
硬盘
光盘驱动器
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值