Appearance
操作系统复习笔记
单选
20*1分辨析
5*4分简答
5*4分解答
2*10分
引论
配置操作系统的目的 CES
让用户使用计算机更方便更有效
OS 在计算机系统中的地位和作用
- OS作为系统资源的管理者,负责管理计算机系统的软、硬资源,满足用户对资源的要求,提高资源的利用率。
- OS作为硬件的首次扩充,通过OS包装了计算机的硬件,掩盖了硬件的细节,将一个物理的部件转换为一个或者多个逻辑的部件,使原来的“裸机”转化为功能更强.使用更方便的逻辑计算机,即虚拟机。
- OS是每台计算机系统必备的软件,用户通过OS使用计算机的硬件功能,计算机系统的所有其他软件都是在OS的支持下运行的。
- 在现代的计算机系统中,只有被OS管理和控制的资源才能被用户使用,同时 OS也决定了硬件功能能否充分发挥出来。
OS 与用户的接口及系统的状态
0S与用户的接口分为控制接口和程序接口。
- 控制接口在传统操作系统中称为作业控制接口,用户使用这个接口控制、管理和操作计算机系统,控制程序的执行。控制接口又分为:脱机接口,命令接口,图形接口,多媒体接口等。
程序接口又叫系统调用,提供给用户在编程时使用操作系统所提供的功能。各种操作系统通常在汇编语言级别中提供这个接口,不同的操作系统在特定的高级语言上也提供这个接口( 系统调用)。这个接口是最基本的接口,其他接口都是建立在程序接口之上。
系统状态:系统态、用户态、状态的转换、特权指令
操作系统的形成和发展:无 OS、单道批处理、多道批处理、多用户分时系统、实时系统(特点、解决了什么问题)
操作系统的基本功能
处理机管理,存储器管理,设备管理,文件管理,用户界面管理。
现代操作系统的基本特征
多道:并发性,共享性,制约性,异步性,失去了封闭性,失去了再现性
单道:顺序执行,独占性,封闭性,再现性
操作系统生态
操作系统生态,指的是各个细分领域的厂商和开发者围绕操作系统,推出不同功能的可兼容软硬件,从而让操作系统的可用性得到无限拓展
进程的描述和控制
进程的概念、状态和构成,状态转换的原因
概念:进程是并发程序(段)的执行,是多道程序系统中程序(段)的执行过程
构成:
- 程序
- 数据、
- 进程控制块(PCB):进程存在的唯一标志,存放程序的控制信息和描述信息(状态/地址)
状态及状态转换:


线程的概念,进程与线程的关系
概念:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。(轻量级进程)
关系:
- 调度:线程是资源调度和分配的基本单位,进程是资源拥有的基本单位
- 并发性:不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务。
- 拥有资源:一个进程的所有资源可供它的所有线程共享。
- 系统开销:进程切换开销
大于线程切换开销
同步、互斥概念
同步:直接制约关系。相互合作的进程需要在某点上协调,先到达某点的进程需要等待后到达的进程,进程间的这种协调关系叫同步。
多线程完成共同任务,之间有内在必然联系,相互影响。
互斥:间接制约关系。当多个进程需要使用相同的资源,而此资源在任一时刻却只能提供一个进程使用。获得资源的进程可以继续执行,没有获得资源的进程必须等待。进程间的这种相互排斥关系叫互斥。
进程间没有内在必然联系,它们都使用了相同的资源。
用信号量解决同步和互斥问题的方法


处理机调度与死锁
调度的层次
作业调度(高级调度、宏观调度)
交换调度(中极调度)
进程调度(低级调度、微观调度)

调度算法
先来先服务(FCFS)

最短作业优先(SJF)

最高响应比优先(HRRN)

时间片轮转(RR)

优先级调度

多级反馈队列

死锁概念、原因、必要条件
概念:死锁是多个进程间的一种僵持状态。在某一时刻开始执行一组进程,每一个进程都占用一些资源,同时又去请求其他进程占用的资源,请求得不到满足,这组进程的所有进程都进入等待(阻塞)状态。这种状态在没有外界干预条件下将永远持续下去,叫做死锁。
原因:系统资源不足;进程推进顺序不当。
产生死锁的必要条件:
- 互斥条件。资源只能同时被一个进程使用。
- 请求保持条件。对资源的请求不撤销。
- 不可剥夺条件。不可抢占对方占用的资源。
- 循环等待。发生死锁时,必存在一个进程—资源的环形链。
死锁解除、检测、预防
预防死锁:
- 破坏“互斥”条件:将独享资源(互斥资源)改造成共享资源(虚拟打印机)
- 破坏“不可抢占”条件:当请求得不到时,释放占用的资源
- 破坏“请求与保持”条件:采用资源静态分析法。执行前,一次性将所需资源全部分配给进程。
- 破坏“循环等待”条件:资源按顺序分配,将所有资源从小到大编号,进程请求资源时,只能从小到大请求,小号请求不到不能请求大号。
解除死锁:(解除死锁的目标是系统付出代价最小)
- 挂起进程:挂起没有发生死锁的进程,释放它的资源分配给发生死锁的进程
- 逐步撤销进程:撤销发生死锁的进程,直到解除死锁为止
- 重新启动系统
检测死锁:
- 资源分配图检测

- 判定规则:
- 无循环存在——没有死锁发生
- 有循环存在——可能有死锁发生
- 有循环存在且不能完全简化——有死锁发生
(多数系统没有死锁检测功能)
存储器管理
程序装入方式、链接方式、地址空间、内存保护

地址空间
- 逻辑地址空间:即相对地址,链接程序依次按照各个模块的相对地址构成统一的从0号单元开始编址的逻辑地址空间
- 物理地址空间:内存中物理单元的集合,是地址转换的最终地址,进程在运行时执行指令和访问数据,最后都要通过物理地址从主存中存取。
- 地址重定位:逻辑地址转换成物理地址的过程
内存保护
操作系统需要提供内存保护功能。保证各进程在各自存储空间内运行,互不干扰

- CPU中设置上、下限寄存器,存放用户作业在主存中的下限和上限地址,每当CPU要访问一个地址时,分别和两个寄存器的数据比较,判断是否越界
- 重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器):重定位寄存器中包含最小物理地址值,界地址寄存器包含逻辑地址的最大值
- 地址转换过程:逻辑地址->界地址寄存器->重定位寄存器->物理地址
分区、分页、分段、段页的原理、方法、解决的问题
分区
基本原理、方法: 给每一个内存中的进程划分一块适当大小的存储区,以连续存储个进程的程序和数据,是各进程得以并发执行。按分区的时机,分区管理可以分为固定分区和动态分区两种方法。
优点:
- 实现了多个作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资源利用率。
- 该方法要求的硬件支持少,管理算法简单,因而实现容易。
缺点:
- 内存利用率不高。和单一连续分配算法一样,内存可能含有从未用过的信息。而且,还存在着严重的碎小空闲区(碎片)不能利用的问题,这更进一步影响了内存的利用率。
- 作业或进程的大小受分区大小控制,除非配合采用覆盖和交换技术。
- 无法实现各分区间的信息共享。
解决问题: 实现了多个作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资源利用率。
基本原理相同,均需要得到操作系统的支持。
分页
基本原理、方法:一个程序的逻辑地址空间被划分成若干个大小相等的区域,每个区域称为页或页面 ,并且程序地址空间中所有的页从 0 开始顺序编号。相应地,内存物理地址空间也按同样方式划分成与页大小相同的区域,每个区域称为 物理块或页框,与页一样内存空间中的所有物理块也从 0 开始顺序编号。在为程序分配内存时,允许以页为单位将程序的各个页,分别装入内存中相邻或不相邻的物理块中。
优点: 没有外碎片,每个内碎片不超过页的大小
缺点: 程序全部装入内存,要求有相应的硬件支持,如:地址变换机构缺页中断的产生和选择淘汰页面等,增加了机器成本和系统开销
解决问题: 解决了外部碎片问题。
分段
基本原理、方法: 将程序按内容或过程函数关系分成段。每段有自己的名字。一个作业或进程所包含的段对应一个二维线性虚拟空间。段式管理以段为单位分配内存,通过地址映射机制,将段式虚拟地址转换成实际内存物理地址。
优点: 将程序按内容或过程函数关系分成段。每段有自己的名字。一个作业或进程所包含的段对应一个二维线性虚拟空间。段式管理以段为单位分配内存,通过地址映射机制,将段式虚拟地址转换成实际内存物理地址。
缺点: 会产生碎片。
解决问题: 解决了进程地址空间不隔离,程序运行的地址不确定的问题。
段页
基本原理、方法: 内存以段为单位划分,每个段又划分成若干个页。需要有一张段表管理内存分配与释放、缺段处理。同时每个段还需要一张页表把段中的虚页转换成内存中的实际页面。页表也需要有实现缺页中断处理和页面保护等功能的表项。
优点: 段页式管理是段式管理和页式管理相结合而成,具有两者的优点。
缺点: 复杂性和开销增加,需要的硬件以及占用的内存也有所增加,使得执行速度下降。
解决问题: 防止碎片
分页、地址变换过程、存取时间、页面置换算法


页面置换算法
最佳置换算法(OPT)
选择永不使用或者最长时间内不再访问的页面进行淘汰,但是现实中是无法预知的
优点:缺页率最小,性能最好
先进先出页面置换算法(FIFO )
优先淘汰最早进入的页面
优点:实现简单
缺点:与进程的实际运行规律不匹配
最近最久未使用(LRU )置换算法
选择最近最长时间没有被访问的页面进行淘汰,每个页面设置一个访问字段,用来标识上次被访问到现在经历的时间
优点:性能好
缺点:实现复杂需要寄存器和栈的硬件支持LRU是堆栈类算法
时钟(CLOCK)置换算法
简单的CLOCK 算法实现方法:为每个页面设置一个访问位,再将内存中的页面都通过链接指针链接成一个循环队列。当某页被访问时,其访问位置为1。当需要淘汰一个页面时,只需检查页的访问位。如果是0,就选择该页换出;如果是1,则将它置为0,暂不换出,继续检查下一个页面,若第一轮扫 描中所有页面都是1,则将这些页面的访问位依次置为0后,再进行第二轮扫描(第二轮扫描中一定会 有访问位为0的页面,因此简单的CLOCK 算法选择一个淘汰页面最多会经过两轮扫描)
优点:性能接近于最佳置换算法
缺点:实现复杂开销大
改进型CLOCK算法
使用位(访问位)的基础上增加修改位
扫描过程
扫描缓冲区,选择第一个使用位和修改位都为0的页面换出
第一步失败后,查找使用位为0,修改位为1的进行替换,对于每个跳过的帧,将使用位置为0
第二步失败后,指针回到初始地点且使用位(访问位)均为0,重复第一步
优点:相对于未改进型,节省了时间
设备管理
设备管理的任务与目标
设备管理任务:
- 控制设备
- 分配设备
- 提高设备利用率
设备管理目标:
- 提供一个统一的接口,使不同设备的操作方式相同
- 提供一个独立于设备的设备接口,使用户程序无论使用何种设备都可以执行。(编程时使用逻辑设备,执行时由操作系统为逻辑设备分配物理设备)
- 提高设备使用有效性。
设备控制方式特点
程序询问I/O方式:处理机采用不间断查看方式检查设备的状态。
中断驱动方式:通过中断方式向处理机报告设备状态,将处理机从询问设备状态的过程解放,提高了CPU的利用率
DMA方式
- 存储器与外设之间直接以块为单位进行数据的传输。
- CPU在数据传输期间无需干预,只在开始和结束时进行干预。
- 兼有中断方式
- CPU和I/O设备并行操作
通道控制方式
- 通道是硬件机构
- 能控制多个外设
- DMA机制
- 由处理机产生一个通道程序,通道通过执行程序来控制外设,即控制逻辑由处理机产生,控制动作由通道完成。
缓冲技术作用
缓和CPU与I/O设备之间速度不匹配的矛盾、减少对CPU的中断频率(放宽对中断响应时间的限制)、提高CPU与I/O设备的并行性。
单缓、双缓、缓冲池操作过程,单缓、双缓操作时间计算
单缓冲:T=max(T磁盘数据送到缓冲区+T对数据进行计算)+T将数据送到用户区
双缓冲:T=max(T磁盘数据送到缓冲区+T对数据进行计算)
**缓冲池和缓冲区的区别:缓冲区仅仅是一组内存块的链表,而缓冲池则是包含了一个管理的数据结构以及一组操作函数的管理机制,用于管理多个缓冲区。 **
文件管理
文件组织方式

文件与文件系统的作用
- 文件系统实现了外存信息的按名存取,使用户在存取信息时,摆脱了对物理介质的依赖。
- 文件中的信息既可共享又可保密。
文件的逻辑组织与物理组织作用、形式、存取方法
文件的逻辑结构
从用户观点出发所观察到的文件组织形式,即文件是有一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
形式:
- 记录式文件(有结构式文件)
- 字符流式文件(无结构式文件)
文件的物理结构
又称为文件的存储结构。这是指系统将文件存储在外存上所形成的一种存储组织形式,是用户不能看见的。文件的物理结构不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。

目录的作用、多级目录、SFD 和 BFD 思想
目录实质上是一个映射表,其作用是完成文件逻辑结构和物理结构间的相互映射。
文件目录又叫文件控制块,存放文件的控制信息(建立时间,修改时间,文件长度,存取控制)和描述信息(文件符号名,文件号,物理地址,物理结构,逻辑结构)。
多级目录:即树型目录——进一步提高了对目录的检索速度,并使用户可以更加方便地组织和使用自己的文件。
SFD存放文件名和文件内部标识符
BFD存放文件说明信息和文件内部标识符
文件的可靠性、安全性与存取控制
可靠性
- 概念:
- 正确性:规定环境下,正确完成任务程度
- 健壮性
- 安全性:不被非法存取的程度
- 考核标准:平均无故障工作时间。
- 可靠性方法:
- 结构:操作系统的微内核结构
- 冗余:
- 硬件:多CPU、多硬盘、镜像
- 空间
- 时间
- 容错
- UPS(不间断电源)
- 事务跟踪
- 安全性:
- 身份认证
- 存取控制
- 加密
- 软件保护
文件存取控制方式有哪几种?优缺点?
文件存取控制方式一般有存取控制矩阵、存取控制表、口令和密码术4种方式。
存取控制矩阵方式 以一个二维矩阵来进行存取控制。而且矩阵的一维是所有的用户。另一维是所有的文件。对应的矩阵元素则是用户对文件的存取控制权。存取控制矩阵的方法在概念上比较简单,但是当用户和文件较多时,存取控制矩阵将变得非常庞大,从而时间和空间的开销都很大
存取控制表以文件为单位,把用户按某种关系划分为若干组,同时规定每组的存取限制。这样所有用户组对文件权限的集合就形成了该文件的存取控制表。存取控制表方法占用空间较小,搜索效率也较高,但要对用户分组,引入了额外的开销。
口令方式有两种,一种是当用户进入系统时,为建立终端进程时获得系统使用权的口令,另一种方式是,每个用户在创建文件时,为每个创建的文件设置一个口令,且将其置于文件说明中
当任一用户想使用该文件时,都必须首先提供口令。口令方式比较简单,占用的内存单元以及验证口令所费时间都非常少,不过,相对来说,口令方式保密性能比较差
密码术方式在用户创建源文件并写入存储设备时对文件进行编码加密,在读出文件时对文件进行译码解密,加密方式具有保密性强的优点
但是,由于加密解密工作要耗费大量的处理时间,因此,加密技术是以牺牲系统开销为代价的