OS复习概要

操作系统复习总结

用前须知

这个复习总结主要是我用来在二次复习的时候方便找重点来看的,有些细节就不会写进来了;我会把我觉得是重点的内容放进来,但不能保证记下了所有老师说的重点,要是有缺的也希望大家能告诉我进行补充。
本文的内容主要按照老师的PPT顺序发展,参考本文复习的朋友照着PPT一块看效果最佳。
仅用于考试复习,不保证适用于操作系统的学习。

第一讲 引论

操作系统的定义:操作系统是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件。
用户可以通过以下三种方式使用计算机:命令方式,系统调用方式,图形、窗口方式。
主要功能:处理机管理,存储器管理,I/O设备管理,文件管理,用户接口管理(这是在一个题目里看到的,PPT里倒是没有)。这个很重要,肯定要背熟的
基本特性:并发,共享,虚拟,异步。重要+1
什么是多道程序设计?PPT上——主存中同时存放多个用户的作业,使之同时处于运行状态而共享系统资源。建议大家复习完一遍再看一遍这句话
4.1笔记里说是不考的,那就不看了,后面的东西倒是不知道重不重要,先混个眼熟有时间再细看。后面我觉得是重点的直接加粗,就不加后缀了,麻烦。
想起来前两周因为某些原因缺了两节课,可能对重点的把握非常不准确,浅看

第二讲 进程的描述与控制

程序顺序执行的特征:顺序性,封闭性,可再现性
程序并发执行的特征:间断性(相互制约性),失去封闭性,不可再现性
进程是程序的一次执行,一个具有一定共功能的程序再一个数据集上的一次动态执行过程。(定义)
进程的特征:动态性,独立性,并发性,异步性,结构化(进程=PCB+程序+数据)
进程的组成“进程映像”:就是上一行加粗的东西,其中PCB是进程唯一标识
进程控制块PCB内容:进程标识符,进程调度信息,处理机状态,进程控制信息。
程序和进程的区别

  1. 进程是动态的,程序是静态的
  2. 进程是暂时的,程序是永久的
  3. 进程与程序的组成不同
  4. 进程与程序的对应关系
  5. 进程具有并行特征,程序没有
  6. 进程是竞争计算机资源的基本单位

进程三 基本状态:就绪(Ready),运行(Running),等待/阻塞(Blocked)
其他进程状态:创建(New),终止(Exit),挂起(Suspend)
进程 三状态、五状态、单挂起、双挂起转换图
挂起的目的:提高处理机效率,为运行进程提供足够的内存,用于 调试
各种状态之间的转换,不能说背熟,但是得至少为啥吧我觉得
原语:由若干条指令构成的“原子操作”过程,作为一个整体不可分割——要么全都完成,要么全都不做。这个我不知道重不重要,不过老师打了着重号(应该是的吧)
原语具体描述说是不用背的,过过过

第三–五讲 进程同步

这块是大点了,内容又多,我记得老师说肯定有一道跟作业差不多的那种题的

进程互斥:资源共享关系(间接制约关系),进程本身之间不存在直接联系。
进程同步:相互合作关系(直接制约关系),进程本身之间存在着相互制约的关系。
临界资源:在一段时间里只允许一个进程访问的资源。诸进程应采用互斥方式,实现对资源的共享。
临界区的定义与进入:

  1. 临界区:把每个进程访问临界资源的那段代码成为临界区(critical section)
  2. 进入区:在临界区前增加一段用于进行临界资源检查的代码
  3. 退出区:将临界区正被访问的标志恢复为未被访问
  4. 剩余区:其余部分

使用临界区遵循的原则:空闲则入,忙则等待,有限等待,让权等待。
硬件同步机制:关中断,Test-and-set指令,Swap指令
软件同步机制:单标志,双标志、先检查,双标志、后检查
信号量:代表可用资源实体的数量。
整型信号量、记录型信号量、AND型信号量
操作信号量的两个标准的原子操作 wait()/P()和signal()/V() 建议好好看看这两个操作里面的代码
老师给的这几道例题怎么说得搞懂吧,必考题还是要研究明白的
信号量可以实现进程间的同步,但正确性难以分析; 管程是管理进程间同步的机制,保证进程互斥地访问共享变量,并方便地阻塞和唤醒进程。
信号量同步的缺点:同步操作分散,易读性差,不利于修改和维护,正确性难以保证
管程的定义:是关于共享资源的数据结构及一组针对改资源的操作过程所构成的软件模块
管程主要特性:模块化,抽象数据类型,信息封装
条件变量:表示一种等待原因,并不取具体数值——相当于每个原因对应一个队列。
条件变量形式:Var X:condition,条件变量应置于wait和signal之前,表示为X.wai和X.signal。
X.signal操作的作用:重新启动一个被阻塞的进程,但如果没有进程被阻塞,则操作不产生任何后果。

第六讲 进程通信及线程

进程通信时是不考滴,线程老师说1-2分的填空,分值显然不高,浅压个题,看看能不能压中这2分
线程可以分为依赖于OS核心的内核线程和不依赖于OS核心的用户线程
线程是能独立运行的基本单位,因而也是独立调度分派的基本单位,而把进程作为资源拥有的单位。
1-2分,我压两句话不过分吧_
不过讲道理,线程的内容也不是很多,1-2分也是分,还是可以看看的。

第七–九讲 处理机调度与死锁

作业的基本概念
* 用户角度:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所作的全部工作成为一个作业
* 系统角度:作业=程序+数据+作业说明书
处理机调度:高级调度、低级调度、中级调度
进程调度方式:非抢占方式和抢占方式
周转时间:指作业提交给系统到作业完成为止的时间,包括作业后备队列等待、就绪队列等待、执行时间、I/O等待时间
响应时间:指用户提交请求开始到系统首次响应时间,包括请求传送到处理机时间、处理机处理请求时间、响应回显到显示器时间
截止时间:必须开始或完成的最迟时间
选择调度方式和调度算法的若干准则
* 面向用户的准则:周转时间短、响应速度快、截止时间保证、优先权准则
* 面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用
调度算法先来先服务(FCFS),短进程优先(SPF),高优先权优先(FPF),高响应比优先,轮转调度(RR),多级反馈队列
这几道调度算法的例题也值得一看,我觉得是会考的
实时调度和多处理机调度说的是了解,dddd

死锁来了,10分10分
概念:多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程将永远不能再向前推进。
原因:竞争资源,进程间推进顺序非法
竞争资源有可剥夺性资源(CPU和主存)和非可剥夺性资源(打印机和磁带机)。
死锁的4个必要条件:互斥使用,不可抢占,请求和保持,循环等待
处理方法:死锁预防,死锁避免,死锁检测+回复,死锁忽略

  • 死锁预防:一次性申请所有资源;对资源排序,按序申请
  • 死锁避免:银行家算法,这个就不细说了,把PPT上的题看明白就差不多了,重要的是老师说这个得占5-7分
  • 死锁检测与解除:发现问题再处理,定时检测或者发现资源利用率低时检测;剥夺资源或撤销进程来解除死锁
  • 死锁忽略:重启就完了,还用的多,yyds

第十–十三讲 存储器管理

又是一个大头,30分左右,看着办吧
存储管理的功能:主存分配和回收,地址变换,存储共享和保护,主存容量扩充
重定位:程序运行装入主存时,要将程序中的虚拟地址转换为主存中的物理地址,这个转化过程就是重定位。老师上课的时候说99%考
重定位方法:静态重定位,动态重定位

  • 静态重定位:程序运行前由链接装入程序进行一次重定位,即运行之前已经完成
    • 优点:不需要硬件变换机构支持
    • 缺点:运行期间不能移动,通常占用连续的内存空间
  • 动态重定位:运行时当访问指令或数据时,才将要访问的逻辑地址转换为物理地址,PPT上没写它的优缺点

内存分配方式:固定分区,动态分区
固定分区有等分和非等分,分配时可能出现内碎片,系统通过分区说明表对内存进行管理和控制
动态分区是按照程序装入时要求来分配,或在执行过程中通过系统调用改变分区大小,没有内碎片,但有外碎片
分区分配数据结构:空闲分区表,空闲分区链
分区分配算法:首次适应算法FF,循环首次适应算法NF,最佳适应算法BF
分配与回收操作,这个一看就懂,但是有点多,不敲了
内存紧缩:将各个占用分区向内存一段移动。使各个空闲分区聚集在另一端,然后合并成一个大的空闲分区。时机–每个分区释放后,或内存分配找不到满足条件的空闲分区时。
对换:把内存中暂时不能运行的进程或暂时不用的程序和数据调出到外存,调入可运行的或需要的程序和数据
要实现进程对换,系统需要实现三方面的功能:对换空间的管理,进程的换出,进程的换入
文件区和对换区:文件区用于存放文件,采取离散分配;对换区用于存放从内存换出的进程,用连续分配方式。一定要看看PPT,这两个概念还是很重要的
进程换出:系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,将其程序和数据传送到磁盘的对换区上。
进程换入:系统定时查看所有进程状态,将就绪状态且换出时间最长的进程作为换入进程。

离散分配方式:分页存储管理,分段存储管理,段页式存储管理
分页存储管理,是将一个进程的逻辑地址空间分成若干大小相等的页,并为其从0开始编号;相应地内存空间被分成与页大小相等的块/页框,也为其编号
由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为页内碎片
页表的作用:实现从也好到物理块号的地址映射
如何借助页表完成从逻辑地址到物理地址的变换(地址变换机构)
引入快表(TLB,是寄存器)的地址变换
TLB为什么能发挥作用:内存访问的局部性(顺序、循环)
具有
两级页表
的地址变换机构
引入分段存储管理,主要是为了满足用户和程序员的需要
基本原理:将程序的地址空间划分为若干段,程序加载时,为所有段动态分配分区,不必连续
优点:没有内碎片,外碎片可以用内存紧缩消除,便于改变进程占用空间大小
段表实现从逻辑段到物理内存区的映射,借助段表的地址变换机构
分页和分段的比较
段页式存储管理,结合分页和分段,同时具备分段和分页的部分优点
基本原理:先把用户程序分成若干段,再将段分为若干页
段页式的地址变换过程
段页式访问指令或数据需要访存3次,分段式和分页式需要2次

虚拟存储器:指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量受限于计算机的地址结构运行速度接近于内存速度
分页请求系统:在分页系统的基础上,增加了请求调页功能和页面置换功能形成的页式虚拟存储系统。
硬件支持:请求分页的页表机制,缺页中断机构,地址变换机构
分段请求系统,描述和分页请求差不多。。。
虚拟存储器的特征:多次性、对换性、虚拟性还是要理解
麻了,直接到页面置换算法:最佳置换算法OPT,先进先出FIFO,最近最久未使用LRU,轮转clock,最不常用LFU。显然这个是个考点,好好看看例题
抖动:刚被换出的页很快又被重新调用,需要重新换入主存,频繁更换页面
Belady现象:分配的内存块多了,反而增加了缺页次数,提高了缺页率
太多了太多了,自己取舍

十四–十五讲 设备管理

夜深了,就少写点了,前面的确实也有些冗余了

设备分类:按传输速率分,按共享属性分,按信息交换单位分
I/O通道设备:I/O通道是一种特殊的处理机,具有执行I/O指令的能力,并通过通道程序来控制I/O操作。但又不同于一般的处理机,指令类型单一,通道没有自己的内存,执行的通道程序在内存中。
通道类型:字节多路通道,数组选择通道,数组多路通道。
I/O通道控制方式是DMA方式的发展,进一步减少CPU的干预,把对一个数据块为单位的干预减少为对一组数据块为单位的干预。
缓冲:缓和CPU与I/O设备间速度不匹配的矛盾,减少CPU中断频率,提高CPU与I/O之间的并行性(位于内存)
设备独立性:应用程序独立于具体使用的物理设备;应用程序中使用逻辑设备来请求使用某类设备
SPOOLing假脱机技术可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。
这个老师强调过,还是要搞明白的,尤其是PPT里的那张图
磁盘I/O调度策略:先来先服务FSFC,最短寻道时间优先SSTF,扫描SCAN,循环扫描CSCAN,NStepSCAN,FSCAN。调度算法那几道题显然是要看明白的
磁臂粘着:有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。

第十六讲 文件管理

讲第11页PPT老师说要出一个综合的大题,我也还没搞明白呢,好好琢磨吧

文件系统模型
文件系统功能

  • 从用户角度看,文件系统主要实现“按明存取”,具体功能如下
    • 实现从逻辑文件到物理文件的转换
    • 有效的分配文件的存储空间
    • 建立文件目录
    • 提供合理的存取方法适应不同的环境
    • 提供文件的共享、保护和保密
    • 提供一组文件操作

混合索引方式分配文件空间,有例题,看明白就行,这个是一个考点

第十八讲 磁盘存储器的管理

才发现没有第17讲,不过不重要
提高I/O速度的途径:(1) 改进文件的目录结构以及检索目录的方法来减少对目录的查找时间;(2) 选取好的文件存储结构,以提高对文件的访问速度;(3) 提高磁盘的I/O速度,能将文件中的数据快速地从磁盘传送到内存中。
其他方法:提前读、延迟写、优化物理块的分布(廉价磁盘冗余阵列)
容错不考,磁盘驱动与文件抽取感兴趣看,那没了,完结撒花

后面这几章东西可能确实不多,但我也确实写不动了,仅供参考。。。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值