Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >操作系统:考试专题

操作系统:考试专题

作者头像
Here_SDUT
发布于 2022-08-08 11:35:52
发布于 2022-08-08 11:35:52
2.2K0
举报

一、进程控制(信号量机制)

原理传送门

1. 题目信息提取

  • E优先级高于Y:E进程先进入CPU执行
  • 非抢占式:阻塞状态的进程获得资源后不立刻执行,按原顺序执行。
  • 抢占式:优先级高的进程处于阻塞状态,获得资源后,打断其他进程的执行,优先执行该进程。

2. 流程

  • E优先级高,所以先进入CPU执行,经过E1,E2,E3后,由于P(X)操作,X的信号量减一后变为-1,E进程进入阻塞
  • 转入执行Y进程,按照Y1,Y2,Y3,Y3后,由于V(X),X的信号量加一后变为0,E进程进入就绪状态,但是按照非抢占式原则,所以继续执行Y4,Y5。由于Y5的P(D),Y进程进入阻塞
  • 由于E处于就绪状态,可以进入CPU,执行E4,E5,E6,E进程结束。
  • 在E5时的V(D)操作使得Y进入就绪,可以继续执行Y6,结束进程。

3. Cats使用

  • Order填CPU中语句执行的顺序
  • Initialization对应的,填S,K,L的初始值
  • Instruction填写具体的执行语句(不填写PV操作)
  • 剩下的空填写经过每个执行语句后S,K,L的值

4. 答案

抢占式例题:

Tips:注意优先级、抢占式还是非抢占式,语句中是P操作还是V操作,变化灵活,不要背题。

二、 进程调度(RR算法)

原理传送门

1.题目信息提取

采用非抢占式,RR调度算法,时间片为1,说明每个进程在CPU中每次只能执行,并采取先来先服务。

2. 流程

  • 初始队列为空,q = "NULL"
  • P1到达时间为0,先进入,运行1s,结束时间为1,服务时间为6,P1未运行完成,放入队列,此时q = p1,已执行进程p1
  • 队头的进程p1执行出队,运行1s,结束时间为2,P2到来,放入队列,P1未运行完成,放入队列,此时q = p2p1,已执行进程p1p1
  • 队头的进程p2执行出队,运行1s,结束时间为3,P2未运行完成,放入队列,此时q = p1p2,已执行进程p1p1p2
  • 队头的进程p1执行出队,运行1s,结束时间为4,P3到来,放入队列,P1未运行完成,放入队列,此时q = p2p3p1,已执行进程p1p1p2p1
  • 队头的进程p2执行出队,运行1s,结束时间为5,P2未运行完成,放入队列,此时q = p3p1p2,已执行进程p1p1p2p1p2
  • 队头的进程p3执行出队,运行1s,结束时间为6,P3未运行完成,放入队列,此时q = p1p2p3,已执行进程p1p1p2p1p2p3
  • 队头的进程p1执行出队,运行1s,结束时间为7,P4到来,放入队列,P1未运行完成,放入队列,此时q = p2p3p4p1,已执行进程p1p1p2p1p2p3p1
  • 队头的进程p2执行出队,运行1s,结束时间为8,P2未运行完成,放入队列,此时q = p3p4p1p2,已执行进程p1p1p2p1p2p3p1p2
  • 队头的进程p3执行出队,运行1s,结束时间为9,P3运行完成,不放入队列,此时q = p4p1p2,已执行进程p1p1p2p1p2p3p1p2p3
  • 队头的进程p4执行出队,运行1s,结束时间为10,P5到来,放入队列,P4未运行完成,放入队列,此时q = p1p2p5p4,已执行进程p1p1p2p1p2p3p1p2p3p4
  • 按这样规则执行,执行时间够了的不放入队列,到达时间到了的先放入队列,直到全部完成。

3. Cats使用

  • 第一行给出进程执行顺序,第二行写每个进程执行的时刻(直接填0,1,2,3…就行了)
  • 表中第一列按照进程结束的次序填写进程编号。
  • 第二列填写进程结束时间。
  • 第三列填写进程到来时间(题目里给出了)。
  • 第四列填写周转时间,即结束时间-到来时间。
  • 第五列填写服务时间(题目给出)。
  • 第六列写带权周转时间,即周转时间/服务时间。
  • 下面第一格填写平均周转时间,即每个进程的周转时间取平均。
  • 第二格填写平均带权周转时间,即每个进程的带权周转时间取平均。

4. 答案

三、死锁(银行家算法)

原理传送门

1.题目信息提取

  • 一共有ABC三种资源,总资源量为(27,35,22)
  • 已知每个进程需要的资源总数Max,现在已有的资源数Allocation
  • 按照循环扫描的顺序

2. 流程

  • 先求出每个进程还需要的资源数Need,用Max-Allocation即可
  • 求出每种资源当前可用的资源量Available,即系统拥有的资源总量-全部进程已经占有该资源的总量。以A资源为例:Available = 27 - 1 - 3 - 6 - 9 - 6
  • 从P0开始往下找到第一个可执行的进程,放入Process的第一格。可执行的定义: 某个进程所需的资源数小于当前可用的资源数(要求三种资源都满足才行),本题第一个满足的是p4。
  • Work一栏填写的该行进程未执行时可用的资源数,Need和Allocation题目给出,抄上即可。Work+Allocation就是简单相加。Finish表示如果进程可以执行,填True,否则填False(肯定填True)。
  • P4模拟执行完毕,按循环顺序查找到下一个可执行的是P1,按照银行家算法,P4执行完毕后会释放所有P4的资源,包括原先就占有的和向CPU申请的,所以P1这一行的Work填写的是P4行的Work+Allocation,Finish照样填True。
  • 依次执行填写即可,最后的state表示P0的状态是否安全,填safe即可,sequence表示安全序列,填写刚才填表模拟的进程号即可,具体格式看答案。

3. Cats使用

流程中都做了解释,不再重复。

4. 答案

Tips:由于银行家算法的原理,最后一行的Work+Allocation肯定等于题目一开始给你的系统资源量总和,如果不相等说明你算错了,这是一个简便自查的方法。

四、页面置换算法

原理传送门

1. 题目信息提取

4个物理块,页面7,0,3已经装入,访问位为1,0,0,采用Clock算法,地物理地址优先,NF最开始指向最低地址。

2. 流程

一开始内存中有7(1)0(0)3(0),括号中的数表示访问位。NF一开始指向最低位置,即7的位置,依次访问页面访问串中的每个物理块:

  • 访问7号物理块,由于7号已经在内存中了,直接访问并将访问位变为1。
  • 访问0号物理块,由于0号已经在内存中了,直接访问并将访问位变为1。
  • 访问6号物理块,当前内存中的状态为:7(1)0(1)3(0),且6号不在内存中,需要页面置换,当前NF指针在7号,根据Clock算法,置换出去的页面为第一个访问位为0的块,由于7号为1,所以指针向下移动并将7号物理块的访问位变为0,然后到0号,由于0号访问位也为1,变为0后向下移动,指向3号,由于3号访问位为0,故将3号置换出去,内存中的状态变为7(1)0(1)6(1).
  • 访问0号物理块,由于0号已经在内存中了,直接访问并将访问位变为1。
  • 访问1号物理块,由于1号不在内存中,指针当前在6号,先将6号的访问位变为0,然后指针下移到空地址,直接将1号物理块放入即可。
  • 后面依次按照上面执行。

对于LRU和LFU算法的页面置换,只要搞懂算法,流程都类似,不再重复,算法内容点击上方链接,有详细介绍。

3. Cats使用

第一行填被替换出去的物理块,第二行写页面访问串,RAM中填的是当前内存中的页号。只有发生页面插入或置换时才填写RAM和PR的信息。

4. 答案

五、磁盘调度

原理传送门

1. 题目信息提取

采用SCAN算法,N = 9。

2. 流程

N = 9,表示将9个磁道号编为一组,队列中一共有20个磁道号,分为三组,将三组的数据分别从小到大排序可得:

  • 第一组:75, 97, 117, 155, 182, 199, 291, 295, 297
  • 第二组:62, 72, 77, 177, 187, 200, 255, 266, 299
  • 第三组:92, 156

对于SCAN算法,题目给定初始方向(磁道号增大方向),给定起点(229号),朝初始方向走,依次访问未完成的请求,直到该方向的最后一个磁道,然后调转方向,再依次访问未完成的请求,来回访问直到完成所有请求。

对于此题,一开始在229,并且向磁道号增大方向移动,观察第一组磁道号,229的下一个是291,于是依次访问291,295,297,发现走到最顶端了,然后调转方向,向磁道号减小的方向移动,由于291,295,297都已经访问过了,所以接下来依次访问199,182,155,117,97,75,第一组完成。接着,从75往磁道号减小的方向访问第二组磁道号,先访问72,62,然后调转方向,依次访问77,177…299,然后调转方向处理第三组。

平均寻道长度就是磁道走过的总长度 ÷ 总磁道数。

对于C-SCAN算法,和SCAN不同的是,C-SCAN不会调转方向,只有一个初始方向,比如初始方向为向右走,那么走到最右端后,返回到最左端再向右走,依次访问,直到完成所有,比较相近,不重复详细过程。

3. 答案

六、文件管理

1. 题目信息提取

6个直接地址索引,3个一级间接地址索引,1个二级间接地址索引,每个地址项大小为4Byte,磁盘ID占4位,磁盘索引块和磁盘数据块大小均为512Byte。

2. 流程

第一题: 要计算全部地址索引可表示的最大长度,先计算每级地址索引可容纳的数据大小,公式为:地址项个数 * 数据块大小

  • 直接地址索引可容纳的大小很好算,就是地址项个数 * 数据块大小。
  • 对于一个一级地址索引,它里面存的是直接地址索引的信息,由题目可知,一个地址索引大小为4Byte,而一个磁盘索引块的大小为512Byte,那么一个一级地址索引中包含512/4个直接地址索引,而一个直接地址索引可以表示一个磁盘数据块(512Byte),所以3个一级间接地址索引所能表示的数据量为:3 * 512 / 4 * 512
  • 二级间接地址索引中存的是一级间接地址索引的信息,同理计算即可。

第二题: 文件系统支持的最大分区长度就是求单个地址项最多可以表示多大的文件,已知一个地址项大小为4Byte,共32位,其中磁盘ID占4位,故还有28位,28位可以表示 2^{28} 个磁盘数据块,故大小为 512 * 2^{28}

3.Cats使用

第一行填直接地址索引的计算公式和答案,第二行为一级间接索引,第二行为二级间接索引,MaxL计算总大小。 MaxP计算最大分区数,按照图示格式写即可,pow表示幂运算。

4. 答案

Tips:计算时不用算出具体的数,可以按照2的幂进行加法运算,比如 6 * 512 可以看成 3 * 2 * 2^9 = 3 * 2^{10},其中 2^{10}为1KB,2^{20}为1MB,2^{30}为1GB。

七、填空题

填空练习传送门

答案PDF版链接:百度云链接 提取码:jytb

八、选择题

传送门

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-4-11 2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【操作系统不挂科】操作系统期末考试题库(单选题&简答题&计算与分析题&应用题)
A. 用户编写的一个子程序 B. 高级语言中的库程序 C. 操作系统中的一条命令 D. 操作系统向用户程序ᨀ供的接口
YY的秘密代码小屋
2025/01/05
6740
【操作系统不挂科】操作系统期末考试题库(单选题&简答题&计算与分析题&应用题)
常考计算机操作系统面试习题(三下)
假设一个作业的页面走向为 1、2、3、4、1、2、5、1、2、3、4、5,当分配给该作业的物理块数分别为 3 和 4 时,计算采用下述页面置换算法的缺页率:
猫咪-9527
2025/03/24
1330
操作系统期末总复习(题库)[通俗易懂]
R1分配2个资源给P1,分配一个资源给P2,R1还剩0个资源 R2分配1个资源给P2,R2还剩1个资源 P1请求1个R2资源,可以请求成功 P2请求1个R1资源,不能请求成功 所以先执行P1操作,P1执行完后,释放资源,此时R1有2个资源,R2有1个资源 再执行P2操作,P2请求一个R1资源,R1还剩一个,执行后释放资源
全栈程序员站长
2022/09/05
4.5K0
计算机操作系统期末练习整理,考试神器,期末包过,做完不过直接来打我——计算机操作系统习题
A. 应该相同 B. 应该不同 C. 可以相同,也可以不同 D. 受系统约束
猫咪-9527
2025/01/24
2460
【操作系统不挂科】操作系统期末考试卷<3>(单选题&简答题&计算与分析题&应用题)
A. 在实时系统中并发运行多个程序 B. 在分布系统中同一时刻运行多个程序 C. 在一台处理机上同一时刻运行多个程序 D. 在一台处理机上并发运行多个程序
YY的秘密代码小屋
2025/01/07
2390
【操作系统不挂科】操作系统期末考试卷<3>(单选题&简答题&计算与分析题&应用题)
软件设计师——操作系统
程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
秋邱
2024/10/09
3050
软件设计师——操作系统
操作系统习题
整理了一下几个比较常考的操作系统应用题,仅供参考。 制作 by Mercury_Lc 1、(时间片轮转算法)设有5个进程P1、P2、P3、P4和P5,它们到达时间和要求服务时间如下表(单位为ms),请按时间片轮转调度算法完成,时间片大小为3。   Process:        P1    P2     P3   P4    P5 到达相对时刻:   0      3     5     9    13 执行或服务时间: 7      6     10    8    2 (1)写出进程的实际
Lokinli
2023/03/09
3680
操作系统习题
计算机操作系统(第3版)课后习题答案(完整版)
答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽
全栈程序员站长
2022/09/02
1.9K0
常考计算机操作系统面试习题(三上)
引入设备无关性是为了简化操作系统的设计,使其能够支持多种硬件设备,增强操作系统的可扩展性与适应性。设备无关性使得应用程序不依赖于具体的硬件设备,从而提高了软件的通用性和移植性。在现代操作系统中,设备驱动程序通常与具体硬件紧密相关,而设备无关的软件层位于设备驱动程序之上。通过这一层,应用程序可以与硬件解耦,实现设备的独立性。
猫咪-9527
2025/03/24
1710
软考系统架构设计师(三):操作系统
操作系统是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。
陈大剩博客
2023/03/22
8380
软考系统架构设计师(三):操作系统
操作系统学习笔记-9:调度
调度研究的问题是:面对有限的资源,如何处理任务执行的先后顺序。对于处理机调度来说,这个资源就是有限的处理机,而任务就是多个进程。故处理机调度研究的问题是:面对有限的处理机,如何从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,从而实现进程的并发执行。处理机调度共有三个层次,这三个层次也是一个作业从提交开始到完成所经历的三个阶段。
Chor
2020/04/20
1.2K0
操作系统学习笔记-9:调度
操作系统复习提纲
操作系统复习 第一章 概述 1、操作系统的概念、基本类型、基本特征、基本功能、管态/目态;
风骨散人Chiam
2021/09/06
4340
操作系统复习
多道:用户看上去多个程序在同时运行,有多个程序同时处于开始到结束之间的状态,若干个程序存储在in诶存中,在管理程序的控制下,穿插,依次,交错着运行,这些程序在计算机系统中同时处于开始~结束的状态. 就是程序A可以先执行一会儿,然后交给程序B接着执行,接着程序A再回来接着运行
用户7267083
2022/12/08
5820
【操作系统】文件管理
当建立 F2 时,F1 和 F2 的引用计数值都为 1 ,再建立 F3 时,F1 和 F3 的引用计数值就都变成了 2 。后来删除 F1 时, F3 的引用计数值为 2-1=1,F2 的引用计数值不变。
wsuo
2021/01/21
3.8K0
「 黑龙江大学 」操作系统实验报告
进程阻塞:一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时仃止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
圆号本昊
2021/09/24
9440
「 黑龙江大学 」操作系统实验报告
操作系统笔记【处理机调度知识】
CPU 在计算机系统中是非常重要的,但是早期的时候非常简单,是因为它像其他资源一样被一个作业所独占,不存在什么处理及分配或者调度的问题,但是随着各种多道程序的设计以及不同类型的操作系统的出现,不同的CPU的管理方法将会为用户提供不同性能的操作系统
BWH_Steven
2020/06/03
1.4K0
大学课程 | 计算机操作系统
(3) 模块接口法的优缺点: 优点: ①提高OS设计的正确性,可理解性,可维护性 ②增强OS的可适应性 ③加速OS的开发过程 缺点: ①接口很难满足实际需求 ②无序模块法,无法寻找一个可靠的决定顺序
Justlovesmile
2021/12/14
9720
大学课程 | 计算机操作系统
操作系统(第四版)期末复习总结(中)
很多小伙伴私信要word下载,我就整理出来了一份pdf,是和线上的完全一样,建议大家看线上的,因为pdf下载需要收费,但是下载有好处就是可以打印出来复习,各位伙伴自行选择吧。现在这里给出pdf完整下载: 操作系统(第四版)期末复习总结.pdf_操作系统复习-OS文档类资源-CSDN下载
全栈程序员站长
2022/11/03
1.1K0
计算机操作系统学习笔记「建议收藏」
命令接口根据作业控制方式的不同,分为联机命令接口(交互式命令接口)和脱机命令接口(批处理命令接口)。
全栈程序员站长
2022/06/26
1K0
计算机操作系统学习笔记「建议收藏」
超硬核!操作系统学霸笔记,考试复习面试全靠它
3)引入挂起操作后,进程的状态转换: (1)阻塞态可以通过释放变为就绪态。活动阻塞释放变为活动就绪,静止阻塞释放变为静止就绪。 (2)活动态和静止态可以进行相互转换,活动到静止称为挂起,静止到活动可以称为激活。活动态和静止态最本质的区别为活动态在内存中,静止态暂时调出内存,进入外存 (3由执行态可以直接变为静止就绪态,即时间片用完,直接调离内存 (4)静止态(外存)必须通过激活变为非静止态(调入内存)才能够参与进程的三台转换。 4)进程挂起之后不是原封不动的将进程移出内存,而是会先将一些必要的信息写入外存。再释放PCB
全栈程序员站长
2022/06/29
6380
超硬核!操作系统学霸笔记,考试复习面试全靠它
推荐阅读
相关推荐
【操作系统不挂科】操作系统期末考试题库(单选题&简答题&计算与分析题&应用题)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档