自考操作系统2018版知识点整理
2020-11-10 14:00:00 3 举报
AI智能生成
登录查看完整内容
自考操作系统2018版知识点整理,不管整理和怎么样,反正我过了
作者其他创作
大纲/内容
操作系统
操作系统概论
操作系统的概念
计算机系统
概念
计算机系统是一种可以按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统
分类
机械式系统
电子式系统
模拟式系统
数字式系统
本书主要讨论的计算机系统
资源
硬件资源
CPU
主存
外存
输入输出设备等
软件资源
各种程序
数据
操作系统的定义
定义
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能有效的组织和管理计算机系统中的硬件及软件资源,合理的组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能灵活、方便、有效的使用计算机,并使计算机系统能高效地运行。
有效
指操作系统在管理计算机资源时要考虑到系统运行的效率和资源的利用率
合理
指操作系统要公平的对待不同的用户程序,保证系统不发生死锁与饥饿的现象
方便
指操作系统的人机界面要考虑到用户使用界面和程序编程接口两个方面的易用性、易学性和易维护性
操作系统的特征
并发性
指在计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同时向前推进
共享性
指操作系统程序与用户程序共用系统中的各种资源
互斥共享
一段特定的时间内只能由一个用户程序使用
同时共享
同一段时间内可以被多个用户程序访问
随机性
操作系统不能对所运行的程序的行为以及硬件设备的情况做出事先的假定
研究操作系统的观点
软件的观点
操作系统是一种大型的软件系统,它是多种功能程序的集合
资源管理的观点
进程的观点
把操作系统看作由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成
虚机器的观点
服务提供者的观点
操作系统提供了一系列的功能和便利的工作环境为用户服务,所以可以把操作系统看作是服务提供者
操作系统的功能
进程管理
主要内容
进程控制
进程同步
进程间通信
调度
存储管理
内存的分配与回收
存储保护
内存扩充
文件管理
文件存储空间的管理
目录管理
文件系统的安全性
设备管理
用户接口
操作系统的体系结构
Windows操作系统的体系结构
内核
硬件抽象层(HAL)
实现可移植性的关键
执行体
系统进程和系统线程
UNIX操作系统的体系结构
内核层
系统调用层
应用层
Linux操作系统的体系结构
Shell
文件系统
应用程序
Android操作系统的体系结构
应用框架
C\\C++本地库和Android运行时环境
Linux内核
操作系统的发展
手工操作
监控程序
多道批处理
分时与实时系统
分时
指多个用户通过终端设备与计算机交互作用来运行自己的作业,并且共享一个计算机系统而互不干扰,就好像自己有一台计算机
实时
用于对时间有特殊要求的工作,需要对事件及时响应
UNIX通用操作系统
个人计算机操作系统
Android操作系统
操作系统的分类
批处理操作系统
基本工作方式
用户将作业交给系统操作员,系统操作员在收到一定数量的用户作业后,组成一批作业,再把这批作业输入到计算机
系统执行后由操作员将执行完毕的结果交给用户
特点与分类
特点
成批处理
简单批处理系统
多道批处理系统
设计思想
作业控制说明书
一般指令与特权指令
系统调用的过程
SPOOLing技术
分时系统
多路性
交互性
独占性
及时性
实时操作系统
目标
在严格时间范围内,对外部请求做出反应,系统具有高度可靠性
需要的其他能力
实时时钟管理
过载防护
高可靠性
嵌入式操作系统
网络络操作系统
分布式操作系统
操作系统的设计
主要困难
设计复杂程序高
正确性难以保证
研制周期长
操作系统设计过程
功能设计
算法设计
结构设计
操作系统设计目标
可靠性
高效性
易维护性
可移植性
安全性
简明性
操作系统的结构设计
操作系统结构设计重要性
操作系统结构研究目标
系统模块化
模块标准化
通信规范化
操作系统的结构
整体式结构
分层式结构
微内核(客户/服务器)结构
操作系统运行环境
处理器
处理器的构成与基本工作方式
构成
处理器一般由运算器、控制器、一系列寄存器、以及高速缓存构成
处理器中的寄存器
用户可见寄存器
数据寄存器
地址寄存器
条件码寄存器
控制和状态寄存器
程序计数器
指令寄存器
程序状态字
指令执行的基本过程
执行过程
首先
从存储器中读取指令到指令寄存器,程序计数器自增1
其次
处理器解释并执行该指令
指令分类
访问存储器指令
I/O指令
算术逻辑指令
控制转移指令
处理器控制指令
特权指令和非特权指令
特权指令概念
在指令系统中那些只能由操作系统使用的指令
处理器的工作状态
管态
操作系统管理程序运行时的状态,具有较高的特权级别
目态
用户程序运行时的状态,具有较低的特权级别
处理器工作状态的转换
目态到管态
唯一途径是通过中断
管态到目态
通过设置PSW指令
限制用户程序执行特权指令
PSW
一个专门的用来指示处理器状态的寄存器
PSW包含状态
CPU的工作状态代码
指明处理器处理管态还是目态
条件码
反映指令执行后的结果特征
中断屏蔽码
指出是否允许中断
计算机系统硬件部件
存储系统
存储器的类型
类型
读写型
随机访问存储器(RAM)
只读型
只读存储器(ROM)
存储分块
存储器的层次结构
容量、速度和成本的匹配
存储访问局部性原理
存储器保护
界地址寄存器是被广泛使用的一种存储保护技术
I/O部件
I/O结构
通道
通道是独立于中央处理器的,专门负责数据IO传输工作的处理单元
DMS技术
直接存储器访问(DMA)技术通过系统总线中的一个独立控制单元——DMA控制器,自动地控制成块的数据在内存和IO单元之间的传送
缓冲技术
时钟部件
可完成的工作
在多道程序运行的环境中,时钟可以为系统发现一个陷入死循环的作业,从而防止机时的浪费
在分时系统中,用时钟间隔来实现各个作业按时间片轮转运行
在实时系统中,按要求的时间间隔输出正确的时间信号给书的人实时控制设备
定时唤醒要求按照事先给定的时间执行和各个外部事件
记录用户使用各种设备的时间和记录某外部事件发生的时间间隔
记录用户和系统需要的绝对时间
中断机制
中断与异常的概念
中断与异常
中断概念
指处理器对系统中或系统外发生的异步事件的响应
异常
异常由正在执行的指令引发的
中断与异常的分类
典型中断
时钟中断
IO中断
控制台中断
硬件故障中断
典型异常
程序性中断
访管指令异常
中断系统
中断请求的接收
中断响应
处理器的控制部件中设置有中断信号扫描结构,它在每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来
中断处理
接收和响应中断
保护中断断点现场
分析中断向量
中断处理结束恢复现场
原有程序继续执行
几种典型中断处理
维护软件 时钟
处理器调度
控制系统定时任务
实时处理
需要人工干预
系统服务请求
中断优先级、中断屏蔽与中断嵌套
系统调用
系统调简介
系统调用与函数调用的区别
运行在不同的系统状态
函数调用其调用程序与被调用程序都运行在相同的状态
系统调用则调用程序运行在目态,被调用程序运行在管态
状态的转换
一般函数调用不涉汲到系统状态的转换
返回问题
嵌套调用
系统调用分类
进程控制类系统调用
文件操作类系统调用
进程通信类系统调用
设备管理类系统调用
信息维护类系统调用
系统调用与库函数、API、内核函数的关系
系统调用的处理过程
进程与线程
多道程序设计
程序的顺序执行
我们把一个具有独立功能的程序独占处理器直到得到最终结果的过程称为程序的顺序执行
顺序性
封闭性
程序执行结果的确定性
程序执行结果的可再现性
程序的并发执行
所谓程序的并发执行,是指两个或两个以上的程序在计算机系统中,同时处于已开始执行且未结束的状态
特征
在执行期间并发程序相互制约
程序与计算不再一一对应
并发程序的执行结果不可再现
程序的并行执行与程序的并发执行
多道程序设计技术的引入
多道程序设计环境的特点
独立性
资源共享性
多道程序设计的缺陷
可能延长程序的执行时间
系统效率的提高有一定的限度
进程
进程的定义
进程是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位
进程与程序的联系与区别
联系
进程=程序+数据+进程控制块
区别
程序是静态的,而进程是动态的
可再入程序
进程的特征
动态性
交往性
异步性
结构性
进程和状态与转换
三状态进程模型
运行
就绪
等待
五状态进程模型
创建
结束
七状态进程模型
进程控制块
为了便于系统控制和描述进程的活动过程,在操作系统核心中定义了一个专门的数据结构,称为进程控制块(PCB)
PCB的内容
调度信息
进程名
进程号
地址空间信息
优化级
当前状态
资源清单
家族关系
消息队列指针
进程队列指针
当前打开文件
现场信息
进程的组成
PCB是进程的灵魂
程序和数据是进程的躯体
PCB组织
线性方式
索引方式
链接方式
进程的队列
就绪队列
等待队列
运行队列
进程队列的组成
对进程在整个生命周期中各种状态之间的转换进行有效的控制,称这进程控制
实现方式
进程控制原语
原语
由若干条指令所组成的一个指令序列,用来实现某个特定的操作功能。这个指令序列的执行是连续的,不可分割的,在执行时也不可以间断,直至该指令序列执行结束。
创建原语
撤消原语
阻塞原语
唤醒原语
线程
线程的基本概念
线程概念
线程是进程的一个实体,是处理器调度和分派的基本单位
线程的属性
引入线程的好处
创建一个新线程花费时间少
线程之间的切换花费时间少
线程之间相互通信无须调用内核
线程能独立执行
调整
拥有资源
系统开销
线程实现机制
用户级线程
内核级线程
混合实现方式
进程调度
概述
进程调度的主要功能
进程调度的时机
处理器的调度方式
抢占式
非抢占式
调度算法设计原则
进程行为
I/O密集型
计算密集型
CPU变得越来越愉,更多的进程倾向于I/O密集型,未来对IO密集型进程的调度处理似乎更为重要,使磁盘始终忙碌,并且需要多运行一些类似进程以保持处理器充分利用
系统分类
不同的应用领域有不同的目标,所以不同的环境需要不同的调度算法
批处理
非抢占式算法
交互式
抢占式算法
实时系统
调度算法的设计目标
公平
保持系统的所有部分尽可能的忙碌
大型计算中心系统的工作状态指标
吞吐量
周转时间
处理器利用率
进程调度算法
先来先服务算法
最短进程优先算法
最短剩余时间优先算法
最高响应比优先算法
轮转算法
最高优先级算法
多级反馈队列算法
系统内核
为了提高系统的运行效率、保护系统的关键部分不被破坏,一般把操作系统中提供支持系统运行的各种基本操作和基础功能的一组程序模块集中安排,形成一个操作系统的核心,称为系统核心或系统内核,简称内核。
系统内核提供的功能
中断处理程序
进程同步与互斥
控制与通信
存储管理的基本操作
时钟管理
进程间相互作用
相关进程和无关进程
相关进程
在逻辑上具有某种联系的进程
无关进程
在逻辑上没有任何联系的进程
与时间有关错误
并发的相关进程处理结果时对时错,随执行速度的不同而异,往往与时间相关,把它称为与时间有关的错误
进程的同步与互斥
进程的同步
指进程之间一种直接的协同关系,一些进程相互合作,共同完成一项任务
同步机制
能把其他进程有需要的消息发送出去,也能测试进程自己需要的消息是否到达
进程的互斥
在系统中,许多进程常常需要共享资源,而这些资源往往要求排他性的使用,即一次只能为一个进程服务,进程间只能互斥使用这些资源
临界区
若在系统中的某些资源一次只允许一个进程使用,则这类资源称为临界资源,或共享变量,而在进程中访问临界资源的程序称为临界区
临界区的调度使用原则
有空让进
当临界区为空时,若有一个进程要求进入临界区,应允许它立即进入临界区
无空等待
若有一个进程已在临界区,其他要求进入临界区的进程必须等待
多中择一
当没有进程在临界区,而同时有多个进程要求进入,只能让其中一个进入
有限等待
任一进程进入临界区的要求应在有限时间满足
让权等待
处于等待状态的进程应放弃hk
信号量及P、V操作
信号量概念
是一种特殊的变量,它的表面形式是一个整形变量附加一个队列;它只能被特殊的操作使用(P、V操作)
P、V操作
原语实现
P操作
操作信号量S=S-1,若S<0将该进程状态置为等待状态,然后将该进程的PCB插入相应的S信号量等待队列末尾,直到有其他进程在S上执行V操作
V操作
操作信号量S=S-1,若S>=0释放在S信号量队列中等待的一个进程,将其状态置为就绪状态,并将其插入就绪队列
信号号与P、V操作的物理含义
用P、V操作实现进程之间的互斥
用P、V操作实现进程之间的同步
小结
如需要使用多个资源这会增加程序的复杂性,降低了通信效率,使进程之间需要相等待很长时间,有可能有发生死锁
PV操作必需成对出现
互斥操作时处理于同一 进程
同步操作则不在同一进程
一个同步P操作与一个互斥P操作在一起时,同步P操作应出现在互斥操作前
经典的进程同步问题
简单生产者——消费者问题
多个生产者——消费者问题
读者——写者问题
同步与互斥机制的综合应用
管程
管程和提出
信号量及P、V操作有缺点
程序易读性差
程序不利于维护与修改
管程和概念及组成
一个管程是一个由过程、变量及数据结构等组成的一个集合,它们组成一个特殊和模块或软件包
组成
管程名称
共享数据的说明
对数据操作的一组过程
对共享数据赋值的语句
模块化,一个管程是一个基本程序单位,可以单独编译
抽象数据类型,管程是一特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码
信息隐蔽,管理是半透明的,管程中的外部过程实现了某些功能,至于这些功能是怎么实现的,在其外部是不可见的
管程中的条件变量
wait
signal
用管程解决生产者——消费者问题
进程通信
共享内存
在相互通信的进程之间设有一个公共内存区,一组进程向该公共内存中写,另一组进程从公共内存中读,通过这种方式实现两组进程的信息交换
消息机制
消息缓冲通信
消息缓冲区
互斥信号量
同步信号量
发送消息原语
接收消息原语
信息通信
管道通信
管道
是连接两个进程之间的一个打开的共享文件,专用于进程之间进行数据通信
优缺点
传送数据量大,通信速度慢
死锁
死锁的产生
死锁的定义
死锁是指在多道程序系统中的一种现象,一组进程中的每个进程均无限期地等待被该组进程中的另一个进程所占有且永远不会释放的资源
死锁产生的原因
主要原因有两个
竞争资源,系统资源在分配时出现失误,进程间对资源的相互争夺而造成僵尸
多道程序运行时,进程推进顺序不合理
资源的概念
永久性资源
临时性资源
死锁的例子
死锁产生的必要条件
互斥条件
资源是独占的且排他使用
不可剥夺条件
进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自愿释放
请求和保持条件
进程先申请它所需要的一部分资源,得到后再申请新的资源,在申请新的资源的同时,继续占用已分配到的资源
循环等待条件
环路等待
解决死锁的方法
预防死锁
避免死锁
检测与解除死锁
忽略死锁
死锁的预防
死锁预防的概念
死锁的预防是指在任何系统操作前,事先评估系统的可能情况,严格采取措施使得死锁的四个必要条件不成立
操作系统在系统设计时事先确定资源的分配算法,限制进程对资源的申请,从而保证不发生死锁。
资源的静态分配策略
实施方法
若一个进程已占用了某些资源,又要申请一个新的资源,在变为等待状态前必须释放已占用的资源,即阻塞前释放资源
若一个进程申请某些资源,首先系统应检查这些资源是否可用,如果可用,就分配给该进程
每个进程必须在开始执行前就申请它所需要的全部资源
当进程没有占用资源时才允许它去申请资源
资源的有序分配法
基本思想
将系统所有资源顺序编号。一般原则是,较为紧缺、稀少的资源的编号较大进程在申请资源时,必须严格按照资源的编号的顺序进行,否则系统不予分配
死锁的避免
死锁避免的概念
系统对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,如果分配后系统有可能发生死锁,则不予分配,否则予以分配
安全状态与安全序列
安全状态
如果存在一个由系统中所有进程构成的安全序列{p1...pn},则系统处于安全状态
安全序列
安全状态下才分配资源
银行家算法
算法规定
当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客
顾客可以分期贷款,但贷款的总数不能超过最大需求
当银行家现有的资源不能满足顾客尚需的贷款金额时,对顾客的贷款可以推迟支付,但总能使顾客在有限有时间里得到贷款
当顾客得到所需的全部资金后,一定能在有限的时间里归还所有资金
死锁的检测与解除
死多检测的时机
资源分配后
每次调度后
定时器
某进程长期处理阻塞状态
死锁检测算法
为每个进程和每个资源指定唯一编号
设置一张资源分配状态表,记录每个资源正在被哪个进程所占用
设置一张进程等待分配表,记录每个进程等待的资源
当任一进程P申请一个已被其他进程占用的资源R时,进行死锁检测,通过反复查找资源分配表和进程等待表,来确定进程P对资源R的请求是否导致形成环路,若是,便确定出现死锁。
死锁的解除方法
需要考虑的问题
选择一个牺牲进程,即要确定要剥夺哪个进程的哪些资源
重新运行或回退到某一点开始继续运行
怎样保证不发生饿死现象,即如何保证并不总是剥夺同一进程的资源,而导致该进程处理饥饿状态
最小代价,即最经济合算的算法,使得进程回退带来和开销最小
归纳分类
剥夺资源
使用挂起/激活机制挂起一些进程,剥夺它们占有的资源给死锁进程,以解除死锁,待以后条件满足时,再激活被挂起的进程。
方法
还原算法
即恢复计算结果和状态
建立检查点
用来恢复分配前的状态
撤销进程
撤消死锁进程,将它们占有的资源分配给另一些死锁进程,直到死锁解除为止
可参考的撤消标准(原则)
被撤消进程的优先数
进程类的外部代价
运行代价,即重新启动进程并运行到当前撤消点所需要的代价
资源分配图
死锁定理
如果资源分配图中没有环路,则系统没有死锁
如果资源分配图中出现环路,则系统中可能存在死锁
资源分配图简化方法
找出一个即非等待又非孤立的进程的进程结点P,消除所有申请边与分配边,使成为孤立结点
奖P进程释放的资源分配给申请它们的进程,即申请边改为分配边
重复直到找不到符合条件的进程结点
哲学家就餐问题
存储管理概述
存储体系
各种速度和容量的存储器硬件,在操作系统协调之下形成了一种存储器层次结构称存储体系
存储管理的任务
存储空间分类
系统区
用以存储操作系统常驻主存部分,用户不能占用这部分空间
用户区
用于装入并存储用户程序与数据,随时发生变化
实质
存储管理实质就是管理供用户使用的那部分空间
用户对内存管理的需求
充分利用内存,为多道程序并发执行提供存储基础
尽可能方便用户使用
操作系统自动装入用户程序
用户程序不必考虑硬件细节
系统能够解决程序空间比实际内存空间大的问题
程序的长度在执行时可以动态伸缩
内存存取速度快
存储保护与安全
共享与通信
及时了解资源的使用情况
实现的性能和代价合理
存储管理的主要任务
应该具有的功能
记住每个存储区域的状态
设置相应的分配表格,记录内存空间的使用状态
实施分配
静态分配
分配工作是在地程序运行前一次性完成
动态分配
分配工作可以在程序运行前及运行过程中逐步完成
回收
内存分配表组织方式
位示图表示法
空闲页面表
空闲块表
存储共享
指两个或多个进程共用内存中相同区域
内容
代码共享
节省内存空间,提高内存利用率
数据共享
实现进程通信
目的
为多个程序共享内存提供保障,使在内存中的各道程序,只能访问自己的区域,避免程序间相互干扰
地址越界保护
权限保护
对于允许多个进程共享的区域,每个进程都有自己的访问权限
在逻辑上扩充内存容量,使用户在编制程序时不受内存容量的限制
地址转换
地址空间
物理地址空间
存储器绝对地址对应的内存空间
逻辑地址空间
用户程序使用的逻辑地址对应的空间
地址重定位
逻辑地址转换为绝对地址
方式
静态重定位
内存在装入一个程序时,要把程序中的指令和数据地址全部转换成绝对地址
动态重定位
在程序执行过程中,每当执行一条指令时都由硬件的址转换机构将指令中的逻辑地址转换成绝对地址
分区管理方案
把内存分为若干个连续区域,每个分区装入一个运行程序
固定分区
系统先把内存划分成若干个大小固定的分区,系统运行时不再重新划分
内存分配表与分区的分配、回收
缺点
不能充分利用内存
灵活性差
可接纳的程序受分区大小的严格限制
可变分区
系统不预先划分固定分区,而是在装入程序时划分内存分区,使为程序分配的分区的大小正好等于该程序的需求量,且分区的个数是可变的
紧缩技术
内存碎片的整理,通过移动内存中的程序,把所有空闲的碎片合并成一个连续的大空闲区放在内存一端,而把所有程序占用区放在内存另一端
紧缩技术需要注意的问题
紧缩技术会增加系统的开销
移动是有条件的
结论
在采用紧缩技术时应尽可能的减少需要移动的进程数和信息量
可变分区的实现
硬件
地址转换机构
基地址寄存器
限长寄存器
软件
内存分配表
空闲分区的分配策略
分配算法
最先适应算法
顺序查找分区表,找到第一个满足申请长度的的空闲区,将其分割并分配
最优适应算法
顺序查找分区表,找到第一个满足申请长度的的最小空闲区,将其分割并分配
最坏适应算法
顺序查找分区表,找到第一个满足申请长度的的最大空闲区,将其分割并分配
分区回收
分区保护
界限寄存器
保护键方法
分区分配一个保护键相当于锁
进程分配相应保护键相当于钥匙
分区管理方案的优缺点
优点
内存真正成为共享资源
有效的利用了处理器与I/O设备
提高了系统吞吐量和缩短了周转时间
内存使用仍不充分,并且并在较为严重的碎片问题
不能为用户提供虚存,用户程序的存储要求仍受物理存储器实际存储容量限制
覆盖与交换技术
覆盖技术
是指一个程序的若干程序段,或几个程序的某些部分共享某一个存储空间
实现
把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构使那些不会同时执行的程序段共享同一块内存区域
完全由用户实现
交换技术
进程从内存移到磁盘,并再移回内存称为交换
要考虑的问题
换出进程的选择
交换时机的确定
交换空间的分配
换入进程换回内存时位置的确定
虚拟页式存储管理方案
虚拟存储技术
利用大容量的外在来扩充内存,产生一个比有限有实际内存空间大得多的逻辑的虚拟内存空间,简称虚存,以便能够有效地支持多道程序系统的实现和大型程序运行的需要,从而增强系统的处理能力
需要的硬件支持
系统有容量足够大的外存
系统有一定容量的内存
硬件提供实现虚-实地址映射的机制
虚拟页式存储管理
存储管理部件首先把内存分成大小相等的许多区域,把每个区称为 物理页面,物理页面是进行内存空间分配的的物理单位,同时要求程序中的逻辑地址也进行分页,页的大小与物理页面大小一致
物理内存的分配与回收
虚拟页式存储地址转换过程
页式存储管理的地址转换
页表控制寄存器
页表始址寄存器
页表长度寄存器
高速缓冲存储器
物理地址计算公式
物理地址=物理页面号*块长+页内地址
页表项
物理页面号
页面在内存中时所对应的物理页面号
有效位
又称驻留位,存在位,表示该页是在内存还是在磁盘
访问位
表示该页在内存期间是否被访问过
修改位
表示该页在内存中是否被修改过
保护位
是否能读/写
页表
多级页表
散列页表
反置页表
转换检测缓冲区
利用高速缓冲存储器存储当前访问最频繁的少数活动页面的页号,这个高速缓冲存储器称为转换检测缓冲区(TLB)又称快表
缺页异常处理
在页表中发现要访问的页面不在内存
处理流程
判断该页是否在内存
……
页面调度策略
调入策略
功能
什么时候调入
常用策略
请求调页
实现简单,容易产生较多的缺页,造成对外存IO次数过多,时间开销过大,容易产生颠簸现象
预调页
置页策略
调入页面放在内存何处
置换策略
内存满时,哪个页面从内存中移出
固定分配局部置换
进程可用页面固定,缺页时只能从该进程固定的页面中选择一页置换
可变分配全局置换
操作系统保持一个空闲的物理页面队列,进程缺页时从该队列中分配,若队列中的空闲页用完时,操作系统才从内存中选择一块调出,该块可能是系统中任一进程的页
可变分配局部置换
缺页时只从该进程的页面中选择一页换出,若频繁缺页,系统再为该进程分配若干物理页,直到缺页率降低到适当为止
页面置换算法
理想页面置换算法
先进选出页面置换算法
第二次机会页面置换算法
时钟页面置换算法
最近最少使用页面置换算法
缺页率
影响缺页率因素
分配给程序的物理页数
页面大小
程序编制方法
页面调度算法
虚拟页式存储管理的优缺点
不要求进程的程序段与数据在内存中连续存放,从而有效的解决了碎片问题,提高了内存利用率,有利于组织多道程序执行
存在页面空间浪费的问题
虚拟存储管理的性能问题
文件系统的基本概念
对信息存储的基本要求
能够存储大量的信息
长期保存信息
可以共享信息
文件系统的任务
研究观点
操作系统观点
用户观点
文件的定义
一组带有标识的、在逻辑上有完整意义的信息项序列
文件系统的定义
是操作系统中统一管理信息资源的一种软件。它管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并方便用户使用
文件系统应具有的功能
统一管理文件的存储空间,实施存储空间的分配与回收
实现文件从名字空间到外存地址空间的映射
实现文件信息的共享,并提供文件的保护和保密措施
向用户提供一个方便使用的接口
系统维护及向用户提供有关信息
保持文件系统的执行效率
提供I/O的统一接口
文件的存储介质及存储方式
外存储设备的特点
容量大
断电后仍可保存信息
速度慢
成本低
驱动
使计算机能够实现读写存储介质上的内容
存储介质
又称卷是信息的容器
外存储设备的存储介质
磁带
磁盘
光盘
闪存
文件在存储设备中的存储方式
一种文件的逻辑结构和物理结构之间的映射或变换机制
顺序存取
随机存取
文件的分类
按用途
系统文件
库函数文件
用户文件
按文件的组织形式
普通文件
目录文件
特殊文件
常见文件分类方式
按保护方式
只读文件
读写文件
可执行文件
无保护文件
按信息流向
输入文件
输出 文件
输入输出文件
按存放时间
临时文件
档案文件
按存储介质
磁盘文件
UNIX类操作系统中文件分类
普通
目录
特殊
文件的逻辑结构与物理结构
文件的逻辑结构
文件的逻辑结构是面向用户的文件的组织结构,是用户看到的文件的组织结构
设计文件逻辑结构的原则
易于操作
文件系统提供给用户的对文件的操作手段应当方便,易学易用
查找快捷
应便于在尽可能短时间内完成查找
修改方便
当用户需要对文件信息进行修改时,给定的逻辑结构应使文件系统尽可能少地变动文件中的记录或基本单元
空间紧凑
应使文件的信息占据尽可能小的存储空间
流式文件
记录式文件
定长
不定长
流式文件无结构
文件的物理结构
文件在物理存储器上存储的结构
顺序结构
原理
把逻辑上连续的文件信息依次存放在连续编号的物理块中
一旦知道了文件在文件存储设备上的起始块号和文件长度,就能很快的进行存取
支持顺序存也支持随机存取
文件不能动态增长
链接结构
文件的链接结构的实质就是为每个文件构造所使用磁盘块的链表。将逻辑上连续的文件分散存储在若干不连续的物理块中,在每个物理中都设有一个指针,指向其后续的物理块
解决了存储碎片问题,有利于文件动态扩充,有利于文件插入和删除,提高了磁盘空间利用率
存取速度慢,不适于随机存取文件
效率相对较低
存在文件的可靠性问题
链接需要占用一定的空间
索引结构
索引结构的文件把每个物理块的指针字,集中存储在称为索引表的数据结构中的内存索引表中
保持了链接结构的优点,又解决了链接结构的缺点,适于顺序存取,也适于随机存储
会引起较多的寻道次数与寻道时间
索引表本身增加了存储空间的开销
索引表应该多大
索引表的链接模式
多级索引
UNIX的三级索引结构
文件目录
文件符号名到文件物理地址之间的一种映射机制
说明
在操作系统中,为了管理大量的文件,为每个文件都设置一个描述性数据结构——文件控制块(FCB),把所有文件的文件控制块有机的组织起来,就构成了文件控制块的一个有序集合,称为文件目录
文件控制块
是系统为管理文件而设置的一个数据结构
包含的内容
文件名
文件号
用户名
文件地址
文件长度
文件类型
文件属性
共享计数
文件的建立日期
保存期限
最后修改时间
文件逻辑结构
文件物理结构
文件目录和当前目录
一级目录结构
在系统中设置一张线性表,表中包括了所有文件的文件控制块,每个文件控制块指向一个普通文件
实现简单,文件平均检索时间长
二级目录结构
用户+一级目录
多级目录结构
层次清楚
解决了文件重名问题
查找搜索速度快
查找文件需要按路径名逐层检查
会多次访盘影响速度
结构相对比较复杂
当前目录与目录检索
检索方法
全路径名
从根目录到目标文件有全部有关子目录
相对路径
从当前目录到目标文件有关子目录
目录项和目录文件
目录项
为便于管理,通常将文件控制块做成定义长数据结构的一个记录,存储在目录文件中。而这样的每一个记录称为目录项
多个文件的文件控制块集中在一起组成了文件的目录,通常,文件目录以文件的形式保存起来,这个文件就被称为目录文件
目录项分解法
目录项分为两部分
基本目录项
符号目录项
UNIX的文件目录实现
i结点属性
文件大小
三个时间
所有者
所在组
保护信息
一个计数
计数为0时收回该i结点,并将对应的磁盘块放进空闲表
文件存储空间管理
磁盘空间管理
磁盘空间的分配回收算法
位示图
空闲块链表
空闲块组成链接法
实现文件系统的表目
表目
当用户申请打开一个文件时,系统要在内存中为该用户保存一些必要的信息,这些信息以表格栏目中内容的形式出现,补称为表目
重要的表目
系统打开文件表
用户打开文件表
文件及文件目录的操作
典型的文件操作
建立文件
打开文件
读文件
写文件
关闭文件
删除文件
指针定位
典型的目录操作
创建目录
删除目录
打开目录
关闭目录
返回下一级目录
更名
链接
删除目录项
文件系统的性能
磁盘高速缓存
系统在内存中保存一些磁盘块,这些磁盘块在逻辑上属于磁盘,内存的这一区域被称为高速缓存
记录的成组
把若干个逻辑记录合成一级存储一物理块的工作称为记录成组
记录的分解
从一组逻辑记录中把一个逻辑记录分解出来的操作
RAID技术
RAID0
RAID1
RAID2
RAID3
RAID4
RAID5
文件共享、保护和保密
文件共享
文件可以同时使用
文件不可以同时使用
文件被多个用户使用,由存取权限控制
文件被多个程序使用,但分别用自已的读写指针
文件被多个程序使用,但共享读写指针
实现技术
链接法
可共享所连接的目录及其各个子目录所包含的全部文件
只允许对单个普通文件连接
文件存取控制
文件的保护方法
建立副本
定时转储
规定文件的存取权限
采用树形目录结构
存取控制表
UNIX的文件使用权限 管理方案
存取控制矩阵
二级存取控制
UNIX中的文件存取权限
二级存储权限
一级
文件主 owner
文件主的同组用户 group
其他用户 other
二级
读 r
写 w
执行 x
不能执行任何操作 -
文件的保密措施
规定文件的使用权限
隐蔽文件目录
设置口令
使用密码
病毒防范
I/O设备管理
IO设备管理的基本概念
IO设备含义
广义含义
计算机系统中除CPU与内存储器以外的所有设备和装置
狭义含义
不包括外存储设备
IO设备管理的任务
IO设备的性能经常成为系统性能的瓶颈,IO设备管理需要解决IO设备与CPU性不匹配的反差
IO设备千变万化,需要对它们实现统一的管理,从而方便用户使用
保证用户正确安全的使用设备
IO设备的分类
按设备使用特性分类
输入设备
输出设备
交互式设备
存储设备
必须的特性
可写入性
可读出性
可保存性
按设备的信息组织方式分类
字符设备
以字符为单位组织和处理信息的设备
块设备
以字符块为单位组织和处理信息的设备
混合设备
即可以以字符方式,又可以以块方式处理信息的设备
按设备使用可共享性分类
独占设备
在一个程序的整个运行期间都必须由单个程序独占直到该程序完成的设备
共享设备
能够同时让许多程序使用的设备
虚拟设备
是指在一类设备上模拟另一类设备,被模拟的设备称为虚拟设备
IO设备管理与文件管理的关系
IO设备管理是对计算机系统中所有IO设备硬件的管理,对是对资源的管理,更多的是为用户提供标准的接口来使用这些设备
文件管理针对的是这些设备里面存储的数据和信息,它提供了一整套的对数据信息资源的管理规则,并且以文件及配套的概念来具体实施
IO硬件和IO软件的组成
IO硬件组成
设备控制器中的寄存器
控制寄存器
通过写入控制寄存器,操作系统可以控制设备发送数据,接收数据、开户或关闭
状态寄存器
通过读取状态寄存器,操作系统可以获悉设备的状态,如是否准备好接收新的数据
通常做为操作系统发生或接收数据的缓冲区
IO设备寄存器地址(IO端口地址/IO端口)编址方式
内存映射编址
与内存地址空间统一编址,对IO操作等同于对存储器操作
IO独立编址
与内存地址空间完全独立,需要使用专门的IO指令对IO端口进行操作
IO软件组成
IO软件结构的基本思想
把IO软件组织成为一系列层次,较低的层处理与硬件有关的细节,并将硬件的特征与较高层隔离;而较高层则向用户提供一个友好的、清晰而规整的IO接口
结构分层
用户层软件
设备独立层软件
设备驱动层软件
中断处理层软件
设备独立性
除了直接与设备打交道的底层软件外,其他部分的软件并不依赖于硬件
设备独立层软件的功能
设备命名
设备保护
提供一个与设备无关的逻辑块
缓冲
存储设备的块分配
独占设备的分配与释放
错误处理
IO设备的控制方式
程序控制方式
程序控制方式也称为PIO方式,是指由用户进程直接控制处理器或内存和外围设备之间进行信息传递的方式,也称为“忙-等”方式、轮询方式或循环测试方式,这种方式的控制者是用户进程
处理器和外设的操作能通过状态信息得到同步
硬件结构比较简单
处理器效率较低
对外部出现的异常事件无实时响应能力
中断控制方式
处理器与外设在大部分时间内并行工作,有效地提高了计算机的效率
具有实时响应能力,可适用于实时控制场合
及时处理异常情况,提高计算机的可靠性
处理过程
处理顺通过数据总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程
外设数据准备好,置位中断请求触发器
若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向处理器发中断请求
处理器接受中断请求,且中断为允许中断状态,则中断判优电路工作
中断判优电路对优先级最高的中断请求给予响应,处理器中断正在执行的其他进程,转而执行中断服务程序
DMA控制方式
操作均由硬件电路实现,传送速度快
可以减少大批量数据传输时处理器的开销
处理器与外设并行,效率高,比中断方式还高
传送前预处理
处理器执行IO指令对DMAC进行初始化与启动
数据传送
由DMAC控制总线进行数传
传送后处理
传送结束,DMAC向处理器发中断请求,报告DMA操作的结束
通道控制方式
通道是一个具有特殊功能的处理器,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送
通道类型
选择通道
数组多路通道
字节多路通道
通道功能
接受处理器指令,按指指令要求与指定外设进行通信
从内存读取属于该通道的指令,并执行通道程序,向设备控制器和设备发送各种命令
组织外围设备和内存之间进行数据传送,并跟据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量
从外设得到设备的状态信息,形成并保存通道本身的状态信息,跟据要求将这些状态信息送到内存指定单元,供处理器使用
将外设的中断请求和通道本身的中断请求,按序及时报告处理器
设备分配与回收
分析观点
数据结构
系统设备表SDT
设备控制表DCT
控制器控制表COCT
通道控制表CHCT
分配原则
分配策略
独占设备的分配
设备的绝对号与相对号
设备的指定方式
设备绝对号
设备类,相对号
独占型设备的分配和释放
共享设备的分配
磁盘调度策略
信息传输时间
移臂调度及调度算法
移臂调度
根据访问者指定的柱面位置来决定执行次序的调度
调度算法
先来先服务
按提出访问请求的先后次序执行
最短寻找时候优先
总是从等待访问者中挑选寻找时间最短的那个请求先执行。
电梯调度算法
从移臂当前位置开始沿着臂的移动方向去选择离当前移臂最近的那个柱面访问者,如无访问时改变臂的移动方向再选择
单向扫描调度算法
不考虑访问者等待的先后次序,总是从0号柱面开始向里道扫描,按照各自所要访问的柱面位置的次序去选择访问者
旋转调度优化
同一个柱面的多个访问者的读写请求的调度
各种情况
同一磁道不同扇区
不同磁道不同扇区
不同磁道相同扇区
信息的优化分布
缓冲的引入
为解决IO设备与处理器速度不匹配的问题
减少中断次数和处理器处理进行中断处理所花费的时间
解决DMA或通道方式中可能出现的瓶颈问题
缓冲的种类
单缓冲
双缓冲
多缓冲
缓冲池
缓冲池管理
缓冲区的组成
缓冲首部
用来标识和管理该缓冲区
缓冲体
存储数据
缓冲首部内容
设备号
设备上的数据块
互斥标识位
缓冲队列连接指针
缓冲器号
按使用状况连队
空闲缓冲队列 em
输入缓冲队列 in
输出缓冲队列 out
四种工作缓冲区
收容输入缓冲区 hin
提取输入缓冲区 sin
收容输出缓冲区 hout
提取输出缓冲区 sout
缓冲池管理操作
从3种缓冲区队列中取出 一个缓冲区的过程
缓冲区加入某队列的过程
供进程申请缓冲区的过程
供进程将缓冲区放入相应缓冲队列的过程
虚拟设备技术
虚拟设备的实现原理——SPOOLing系统工作原理
虚拟设备技术概念
是多道程序设计系统中处理独占IO设备的一种技术
输入程序模块
输出程序模块
作业调度程序
运行前预输入到输入井
运行时直接从输入井中取出
输出数据不直接启动外设,先输出到输出井
作业运行完成再输出全部数据
SPOOLing的组成和实现
实现——打印机的值班进程
收藏
0 条评论
回复 删除
下一页