操作系统复习简要版(包含重点与习题)


第一章 操作系统概述

1.1.3 操作系统的定义

操作系统是位于硬件层之上、所有其他系统软件层之下的一个系统软件,是管理系统中各种软硬件资源,方便用户使用计算机系统的程序集合。

1.3 操作系统的特性

程序并发性:多个程序在宏观上同时向前推进
资源共享性:操作系统和多个用户程序共用系统中的各种资源
异步性:在操作系统之上,宏观上同时运行的多个程序交替执行
虚拟性:利用某种技术把一个物理实体变为若干个逻辑实体

1.4 操作系统的分类(简单理解)

1.6 操作系统的界面形式(知道有几种)五种:

交互终端命令、图形用户界面、触屏用户界面、作业控制语言、系统调用命令

1.7 操作系统的运行机理(知道中断驱动)

第二章 进程、线程与作业

2.1 多道程序设计

1.单道程序设计缺点:处理机利用率低、设备利用率低、内存利用率低
2.多道程序设计的提出:设计目标:提高系统效率(吞吐量) 在这里插入图片描述

一段时间内多个程序并发交叉执行,问题复杂,引入进程

2.2 进程的引入(进程相关 进程(执行单位)、线程、作业概念理解,区别)

进程定义,进程是具有一定独立功能程序关于一个数据集合的一次运行
(动态:执行中的程序; 并发:可与其他进程同时执行。)
进程:资源分配的基本单位
进程状态及状态转换(动态性体现)

在这里插入图片描述

进程的创建与撤销
进程的创建建立PCB,分配内存,加载程序,入就绪链
进程的撤销去配资源,通知父进程,撤销PCB

进程与程序的联系与差别

进程与程序的联系
进程包括一个程序;进程存在的目的就是执行这个程序

进程与程序的差别
程序静态,进程动态;
程序可长期保存,进程有生存期;
一个程序可对应多个进程,一个进程只能执行一个程序

线程:进程中一个相对独立的执行流。(执行单位,处理器调度的基本单位)
作业:用户要求计算机系统为其完成的计算任务集合
作业与进程:作业进入内存后变为进程;一个作业通常与多个进程相对应
进程与线程:一个进程一般包含多个线程,至少包含一个线程

第三章 中断与处理器调度

处理机调度

作业平均周转时间 作业带权周转时间 平均带权周转时间
优缺点:公平性、是否会饿死、平均周转时间、系统开销

先到先服务算法(FCFS):按进入就绪态的次序来调度。
优点:公平,不会出现饿死
缺点:短进程的等待时间长,从而平均等待时间较长

最短作业优先(SJF):按照CPU阵发时间递增的次序调度,易于证明其平均周转时间最短。
优点:最大限度地降低了平均等待时间,若所有作业同时到达,平均等待时间最短
缺点:不公平;长作业容易产生饥饿,甚至饿死

最短剩余时间优先算法(SRTF):(可剥夺式算法)
当CPU空闲时,选择剩余时间最短的进程或者线程。当一个新进程或线程到达时,比较新进程所需时间与当前运行进程的估计剩余时间。如果新进程所需的运行时间短,则切换运行进程。 画gantt图 优点:平均周转时间小,缺点:系统开销大

最高响应比优先算法(HRN):
对于同时到达的任务处理时间较短的任务将被优先调度,处理时间较长的任务将随着时间的增加而动态提升响应比,因而不会出现饥饿现象。 缺点:系统开销大

最高优先数优先算法(HPF):
当需要进行处理器分配时,系统在可运行的进程中选择优先数最高者使其投入运行。
赋予优先数的方法:
①静态优先数:进程进入系统时被赋予,在生命周期内固定不变。适合批处理进程
优点:确定方法较简单;系统开销较小
缺点:公平性差,响应速度慢,可能会造成低优先数进程长期等待。

循环轮转算法(RR)
系统为每一个进程规定一个时间片,所有进程按照其时间片的长短轮流地进行。适用于分时系统,公平;响应及时,所有进程等速向前推进。但系统开销大
①基本轮转 ②改进轮转(每一个时间片不一样,灵活调度,但系统开销大)
分类排队算法(MLQ)
以多个就绪进程队列为特征的,这些队列将系统中所有可运行的进程按照某种原则加以分类,以实现所期望的调度目标。 队列内部用RR/HPF…
反馈算法(FB)RR(改进轮转) + HPF
响应速度快,短进程优先,资源利用率高,但复杂,系统开销大
调度级别
低级处理器调度(可执行单位) 交换与中级调度 作业与高级调度

习题

在这里插入图片描述

在这里插入图片描述

① 进程到达就绪队列头,从就绪状态变为运行状态。
② 运行的时间片到,被剥夺运行,从运行状态变为就绪状态,进入就绪队列末尾排队,等待调度。
③ 运行过程中,进程申请IO,从运行状态变为等待状态,进入等待队列等待IO完成。
④ 进程所申请的IO完成,进入就绪队列末尾排队,等待调度。

第四章 互斥、同步与通信

进程互斥的实现

互斥访问: 一次只允许一个进程活动在关于同一组公共变量的临界区中;
空闲让进: 临界区空闲时,多个竞争者在有限时间内确定下一个进入者;
有限等待: 一个想要进入临界区的进程在等待有限个进程进入并离开临界区后获得进入临界区的机会。

信号量与PV操作

互斥:Semaphore mutex ; mutex.value = 1;
同步:Semaphore s ; s.value = 0;
Cobegin
Pa();Pb();…
Coend;

四种模型
PV操作原语
信号量定义

TYPE semaphore=RECORD
   value: integer;
   queue: PCB pointer;
END;

P操作:

Procedure P(var s:semaphore)
    s.value:=s.value-1;
    If s.value<0 Then
        asleep(s.queue)
End

V操作:

Procedure V(var s:semaphore)
     s.value:=s.value+1;
     If s.value<=0 Then
          wakeup(s.queue)
End

在这里插入图片描述

三模型:
生产者-消费者问题
在这里插入图片描述

读者/写者问题
在这里插入图片描述
在这里插入图片描述

注:这里第二个是读者
打印机资源管理(同种组合资源)
在这里插入图片描述

习题

在这里插入图片描述

第五章 死锁与饥饿

死锁定义:

一组并发进程中的每一个进程,均无限期地等待此组进程中某个其他进程占有的,因而永远无法得到的资源,这种现象称为进程死锁。

死锁的条件

资源独占:一个资源在同一时间只能分给一个进程(输出设备等)
不可剥夺:资源只能由其占有者在使用完后资源释放(已占不能被抢)
保持申请:进程在占有部分资源后还可以申请新的资源,而且在申请新资源的时候并不释放它已经占有的资源(不满足的已占也不释放)
循环等待:存在一个循环等待链(你等我,我等你)

死锁的处理方法(预防、避免、检测、恢复)

死锁预防:通过破坏死锁产生的必要条件实现,对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生。
预防方法
(静态)预先分配法:运行前申请所需全部资源(破坏保持申请条件);
系统:能够满足,全部分配;否则,一个也不分配。
缺点:资源利用效率低;一次提出申请困难。
(动态)有序分配法:按申请次序(破坏循环等待链)
(动态)死锁避免:在进程运行之前,为其分配所需的全部资源(预先分配策略)

银行家算法
在这里插入图片描述
在这里插入图片描述

死锁检测算法
在这里插入图片描述

习题

在这里插入图片描述

在这里插入图片描述

(1) 因为当时系统的资源分配图中不存在环路.所以不存在死锁。(2) 当进程P3申请资源R3后,资源分配图中形成环路P2→R2→P3→R3→P2,而R2,R3都是单个资源的类,该环路无法消除,所以进程P2,P3永远处于等待状态.从而引起死锁。
在这里插入图片描述

第六章 主存储管理

内存分区
按分区时刻分:静态分区/动 按分区大小分:等长/异长
静态 + 等长:页式、段页式(表示:字位映像图/空闲页面表-链表/空闲页面链)
字位映像图 空闲页面表-链表 空闲页面链
在这里插入图片描述

动态 + 异长:段式、界地址(算法:最先/最佳/最坏适应算法)
最先适应:取第一个可满足区域
优点:尽量使用低地址空间,高区保持大空闲区域 缺点:可能分割大空闲区
最佳适应:取最小可满足区域
优点:尽量使用小空闲区,保持大空闲区 缺点:可能形成碎片
最坏适应:取最大可满足区域
优点:防止形成碎片 缺点:分割大空闲区

习题

在这里插入图片描述

页式存储管理->物理地址换算P210.14.15内存进程空间对应的地址映射

第七章 虚拟存储系统

常用页面替换算法

最佳淘汰算法(OPT):淘汰将来最长时间以后才用到的,效率最高,但是不可实现
先进先出算法(FIFO):淘汰最先调入的
最近最少使用算法(LRU):使用过最久的先淘汰,淘汰最近一次访问距当前时间最长的
最近不用的先淘汰(not used recently):淘汰最近一段时间未用到的
最不经常使用算法(LFU): 淘汰使用次数最少的
最频繁使用算法(MFU):淘汰使用次数最多的
二次机会算法(second chance):淘汰装入最久且最近未被访问的页面
时钟算法(clock):将页面组织成环形,有一个指针指向当前位置。每次需要淘汰页面时,从 指针所指的页面开始检查。如果当前页面的访问位为0,即从上次检测到 目前,该页没有访问过,则将该页替换。如果当前页面的访问位为1,则 将其清0,并顺时针移动指针到下一个位置。重复上述步骤直至找到一个 访问位为0的页面
在这里插入图片描述

习题

P224 例7-1
P238 5,6

第八章文件系统

文件的物理组织

顺序结构:一个文件占有若干连续的磁盘块
优点:速度快,节省空间 缺点:长度变化困难
链接结构: 一文件可存于不连续块中,块间以指针相连。
优点:节省空间,长度变化容易。 缺点:随机访问速度慢。
索引结构:一文件可存于不连续块中,块号记在索引块中
优点:速度快,长度变化容易 缺点:索引块占空间
在这里插入图片描述

各种文件物理结构主要特性

在这里插入图片描述

UNIX文件物理结构

在这里插入图片描述

习题

在这里插入图片描述
在这里插入图片描述

第九章 设备与输入输出管理

磁盘输入输出参数

在这里插入图片描述

磁盘引臂调度算法

在这里插入图片描述

先到先服务移动方向:最早到达序列的方向
在这里插入图片描述

最短剩余时间优先移动方向:寻找最近序列方向
在这里插入图片描述
Scan/look移动方向:从外向内(大数到小数,有时候不一定,看题)
Scan:不到头;look:到头
在这里插入图片描述

c-scan/c-look:回扫时候不扫描序列
N step-SCAN
将磁盘请求队列分成若干长度为N的子队列,按顺序处理子队列,子队列中的请求按照扫描策略提供服务。
FCSCAN
按照扫描策略为在一次特定扫描开始时已经到达的请求提供服务,在扫描期间新到达的请求被组合在一起在回程扫描时按扫描算法处理。

缓冲

习题

在这里插入图片描述

总结

这里对文章进行总结:
以上就是今天的笔记内容,本文将操作系统课程的重点总结出来便于复习,部分习题附带答案,是自己总结的认为重点的笔记,如果有必要会完善。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值