操作系统解答题

article/2025/5/16 5:06:27

操作系统

    • **1.平均等待时间问题**
    • **2.同步互斥问题**
    • **3.分页系统地址转换**
    • **4.LRU(最近最久未使用)置换算法**
    • 5.银行家算法

1.平均等待时间问题

有5个进程P1,P2,P3,P4,P5,它们同时依次进入就绪队列,它们的优先数和需要的处理机时间如下表进程情况表所示。
在这里插入图片描述
忽略进程调度等所花费的时间,规定优先数数值越大,优先级越高,请回答下列问题:
①写出分别采用“先来先服务”和“非抢占式的优先数”调度算法时选中进程执行的次序。
②分别计算出在两种算法下各进程在就绪队列中的等待时间以及平均等待时间。
解答:
①先来先服务执行次序:P1-P2-P3-P4-P5(顾名思义,按进程的到达时间依次执行)
非抢占式的优先级:P4-P1-P3-P5-P2(优先级一致的情况下,按先来先服务处理)
②先来先服务:P1——P2——P3——P4——P50        10       11         13       14平均等待时间(0+10+11+13+14)/5=9.6非抢占式的优先级:P4——P1——P3——P5——P20           1         11        13       18平均等待时间:(0+1+11+13+18)/5=8.6

2.同步互斥问题

在公共汽车上,司机和售票员的工作流程如下图所示。为保证乘客的安全,司机和售票员应密切配合协调工作。请用PV操作来实现司机与售票员之间的同步。
在这里插入图片描述
解答:
通过对题分析存在两种同步关系:售票员关门与司机启动汽车;司机到站停车与售票员开车门,针对这两种同步关系我们分别使用s1和s2信号量表示,s1表示是否允许司机启动汽车,s2表示是否允许售票员开车门。
主函数:
Semaphore S1,S2;
S1=0;
S2=0;
Cobegin
{
Driver();
Busman();
}
司机:
void Driver()
{ while(1)
{
P(S1);
启动车辆;
正常行车;
到站停车;
V(S2);
}
}
售票员:
void busman()
{ while(1)
{
关车门;
V(S1)
售票;
P(S2);
开车门;
}
}
只有一种互斥关系:
某车站售票厅有30个窗口,任何时刻最多可容纳30名购票者进入,当售票厅中少于30名购票者时,则厅外的购票者可立即进入,否则需在厅外等待。若把一个购票者看作一个进程,请用P、V操作管理这些并发进程,要求如下:
⑴.在主函数中给出信号量的定义和初值。
⑵.给出一个购票者进程的算法。
⑶.给出当购票者最多不超过n (设n>30)个时,信号量可能的变化范围。
解答:
通过对题分析存在一种互斥关系,购票者互斥使用30个购票窗口,我们可以使用一个互斥信号量mutex来表示,依据题意可知mutex初值为30。
⑴.主函数算法:
void main()
{
int mutex=30;
cobegin
P1(); …Pi();…Pn();
coend
}
⑵.购票者i的算法:
Pi()
{
P(mutex);
购票;
V(mutex);
}
⑶信号量mutex的取值范围:
-(n-30) ≤ mutex ≤ 30

当mutex=30时,表示售票厅内没有购票者进入,30个窗口都是空闲的,表示可用资源个数;
当mutex=0时,表示售票厅内已经进入了30个购票者,每个窗口都被分配,没有等待的购票者,可用资源为0;
当mutex=-(n-30)时,表示一共有n个购票者,其中30个购票者已经进入厅内,分别占有一个窗口,还有n-30个购票者在厅外等待,绝对值表示等待进程个数。

3.分页系统地址转换

在一个分页式存储管理系统中,某作业的页表如下表所示。已知页面大小为1024B,试将逻辑地址1041,2548,3328,4750,5012转化为相应的物理地址。
在这里插入图片描述
1041:页号=1041/1024=1
偏移量=1041%1024=17
查页表知第 0页在第 2块,所以物理地址为:3×1024+17=3089
2548:1×1024+100=1124
3328:6×1024+256=6400
4750、5012超出页号,无
在这里插入图片描述
解答:
(1)0AC5H转化成二进制为:0000 1010 1100 0101(四位四位写便于计算)
因为每页大小为1KB=2^10B
所以0000 10|10 1100 0101(从右往左查十位)前六位即为页号0010转换成十进制为2 ,所对应的物理块号为4 转化成二进制为:0100
所以0AC5H所对应的物理地址的二进制为:0001 0010 1100 0101 转化成16进制为:12C5H
同理
1AC5H对应的物理地址是0AC5H

(2)0AC5H:对应的页号为2,不在快表中,访问页表(即访问一次内存)找到页号对应的物理块号,接着更新快表,然后再访问内存找到
因此访问时间:0+15+0+15=30us
1AC5H对应的页号为6,在快表中,则只用访问一次内存
因此访问时间:0+15=15us

4.LRU(最近最久未使用)置换算法

设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页数据存储空间,页的大小为1KB。操作系统采用固定分配局部置换策略为此进程分配4个物理块。
在这里插入图片描述
当该进程执行到时刻240时,要访问逻辑地址为16CAH的数据,请问答下列问题:
(1)该逻辑地址对应的页号是多少?
(2)若采用最近最久未使用(LRU)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向7号物理块,示意图如下。)
在这里插入图片描述

解答:
(1)16CAH转化成二进制为:0001 0110 1100 1010(四位四位写便于计算)
因为每页大小为1KB=2^10B
所以0001 01|10 1100 1010(从右往左查十位)前六位即为页号0101转换成十进制为5 ,即页号为5

(2)若采用最近最久未使用(LRU)置换算法,则置换页号0
所对应的物理块号为7 转化成二进制为:0111
所以0AC5H所对应的物理地址的二进制为:0001 1110 1100 0101 转化成16进制为:1ECAH

(3)根据clock算法,增加一个访问位,在选择要换出的页面时,先看访问位是不是为1,如果为1,不换出这个页面,但是要把它的访问位改成0,然后检查下一个页面,直到检查到一个访问位为0的页面,才将它换出。
这里题目中给出的所有页面访问位都是1,所以,第一轮检查,每个页面都不会被换出,但是大家的访问位都会变成0。检查指针顺时针旋转一圈后,又指向0号页框,此时它的访问位已经是0了,所以将0号页框换出。
因为在第二问置换的也是0号页,因此地址转换过程同(2)。

5.银行家算法

现在系统中A、B、C、D 4类资源分别还剩1、5、2、0个,请按银行家算法回答:

  1. 现在系统是否处于安全状态?
  2. 如果现在进程P1提出需要(0、4、2、0)个资源的请求,系统能否满足它的请求?
    在这里插入图片描述
    解答:
    1)
    MAX:最大需求数
    Allocation:已占资源数
    Need:还需要资源数
    Available:系统剩余资源数
    在这里插入图片描述

可找到安全序列:P0-P2-P3-P1-P4
(安全序列不唯一,随便找到一个就行)
解析:Available与Need比较后,先执行P0,P0结束后剩余资源数为 1 5 3 2 (进程执行完毕后所占资源即可释放,即剩余资源=Available(原本的剩余资源)+Allocation(已占资源数));接着执行P2,P2结束后剩余资源数为 2 8 8 6 ;接着执行P3,P3结束后剩余资源数为 2 14 11 8;接着执行P1,P1结束后剩余资源数为 3 14 11 8;最后执行P4,P4执行结束后剩余资源数为 3 14 12 12。进程可以全部执行,即找到一条安全序列。
2)提出请求为Request = 0 4 2 0
①Request(0 4 2 0)<=Need(0 7 5 0)
②Request(0 4 2 0)<=Available(1 5 2 0)
③进行预分配,即满足P1的请求。因此需要修改表格,即P1的Allocation(已分配资源)+(0 4 2 0),Need(需要的资源)-(0 4 2 0),Available(系统剩余资源)-(0 4 2 0)。修改后的表格如下:
在这里插入图片描述
④找到一条安全序列:P0-P2-P3-P1-P4.则可以满足它的请求。

也不清楚考研的具体题目,这是学习的那本操作系统的重点大题。

谨以此文送给正奋战在考研路上的某人,也送给未来即将考研的我,一起加油!


http://chatgpt.dhexx.cn/article/F7Ys0LnT.shtml

相关文章

操作系统习题(有答案)

最近在学习os在网上找到的很好的资料&#xff0c;希望对大家有用~ 第1章 一、填空 1&#xff0e;计算机由 硬件 系统和 软件 系统两个部分组成&#xff0c;它们构成了一个完整的计算机系统。 2&#xff0e;按功能划分&#xff0c;软件可分为 系统 软件和 应用 软件两种。 3&am…

【《操作系统慕课版》合集】期末复习 + 核心算法整理 + 课后答案

所有章节归类好了概念、算法&#xff0c;同时课后的简答题也一并给出了答案。祝各位复习愉快~ 整理不易希望能点个赞~ 目录 第一章 操作系统概述 第二章 进程的描述与控制 第三章 处理机调度与死锁 第四章 进程同步 第五章 存储器管理 第六章 虚拟存储器 第七章 输入输…

计算机操作系统习题

作业一 操作系统的主要功能有&#xff08; &#xff09;。 &#xff08;3.0分&#xff09; A、进程管理、存储器管理、设备管理、处理机管理 B、虚拟存储管理、处理机管理、进程管理、文件管理 C、处理机管理、存储器管理、设备管理、文件管理 D、进程管理、中断管理、设备管理…

【第一章 | 操作系统概述】《操作系统 慕课版》课后答案 + 复习

目录 | 本章概念 | 本章算法 单道批与多道批的图像绘制 利用率的计算与分析 | 课后简答题 | 本章概念 1.OS的作用 作为用户与计算机硬件系统之间的接口 | 计算机系统资源的管理者 | 对计算机资源的抽象。OS的目标是&#xff1a;方便性 有效性 可扩充性 开放性 2.虚拟机…

操作系统原理及应用复习(第2版)大部分课后习题

操作系统原理及应用复习 第一章操作系统概论 1.1 什么是操作系统,有哪些基本功能和特点&#xff1f; 操作系统是覆盖在裸机上的第一层软件,他直接控制,管理各种资源。基本功能&#xff1a; 提供人机接口 命令级接口程序级接口图形界面 管理计算机资源 处理机管理存储管理设备…

TCP头部和封装

TCP在IP数据报中的封装 IP头部 TCP头部 可看到&#xff0c;IP数据报即 P头部协议 TCP报文段&#xff0c;这也称为TCP在IP数据报中的封装。有趣的是&#xff0c;TCP报文段中的数据部分并不是必须的&#xff0c;当一个连接被建立和终止时&#xff0c;交换的报文段只包含了TCP头…

3.2.3 使用tcpdump观察TCP头部信息(补充TCP协议的常用知识)

使用tcpdump观察TCP头部信息和三次握手四次挥手 前言实验开始1. 延迟确认2. 序号&#xff08;seq&#xff09;和确认号&#xff08;ack&#xff09;之间的关系3.TS val和ecr的关系4. TCP状态转移&#xff08;书上p41-p42原话&#xff09;5. FIN_WAIT_2状态(半关闭状态)6. TIME_…

从wireshark抓包看TCP头部时间戳

本文于2020年8月23日首发于个人公众号“码农的修炼之道”&#xff0c;欢迎关注。 不知道大家有没有注意到&#xff0c;wireshark抓取tcp报文的时候&#xff0c;大部分时候的报文是如下图所示的&#xff0c;其中带了Seq&#xff0c;Win和Len字段&#xff0c;分别对应了报文序列号…

TCP、UDP、IP头部结构

数据传输在TCP/IP网络模型中&#xff0c;经过一层便会添加一层头部&#xff0c;其中TCP(网络传输协议)&#xff0c;UDP处于传输层&#xff0c;IP(网间协议)处于网络层。 数据进入协议栈的封装过程 TCP/IP协议族 TCP 传输控制协议 应用程序之间通信 建立的全双工通信UDP 用户数…

TCP头部结构

TCP头部信息出现再每个TCP报文段中&#xff0c;用于指定通信的 源端端口&#xff0c;目的端口&#xff0c;管理TCP连接等。 1、TCP固定头部结构 16位端口号&#xff1a;告知主机该报文段是来自哪里&#xff08;源端口&#xff09;以及传给哪个上层协议或应用程序&#xff08;目…

TCP头部解析

一一解析 SourcePort(源端口)和DestinationPort(目的端口):各占2个字节,端口是运输层与应用层的服务接口,运输层的复用和分用功能都要通过端口才能实现。 注:TCP的包是没有IP地址的,那是IP层上的事。但是有源端口和目标端口。 SequenceNumber(序号):占4个字节,TCP连…

以太网,IP, TCP, UDP头部格式

1.以太网帧的格式 以太网封装格式 2.IP报头格式 IP是TCP/IP协议簇中最为重要的协议。所有的TCP&#xff0c;UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。 普通的IP首部长为20个字节&#xff0c;除非含有选项字段。 4位版本&#xff1a;目前协…

网络知识入门,什么是以太网包,TCP/IP包,MAC头部,IP头部以及TCP头部(六)

目录 一、以太网包 二、协议栈中IP模块的工作方式 1.TCP委托IP模块 2.IP模块的工作方式 三、mac头部 四、何为以太网 1.以太网的定义 2.如何收发以太网包 3.以太网接收网络包详细 4.收到网络包后&#xff0c;协议如何工作 一、以太网包 TCP 模块在执行连接、收发、断开…

IP、TCP、UDP、HTTP头部信息

IP头部信息 ip报文段格式 版本&#xff1a; 占4位&#xff0c;表明IP协议实现的版本号&#xff0c;当前一般为IPv4&#xff0c;即0100。报头长度 &#xff1a; 占4位&#xff0c;因为头部长度不固定&#xff08;Option可选部分不固定&#xff09;&#xff0c;所以需要标识…

为什么TCP头部没有数据长度信息而UDP有

先让我们看看IP&#xff0c;TCP&#xff0c;UDP的头部结构 1. IPv4 头部 2. TCP和UDP头部 可以看到IP的头部包换数据的长度&#xff0c;TCP的头部不包含数据长度&#xff0c;UDP的头部则包含。 从信息冗余的角度来看&#xff0c;UDP的长度信息是不需要的。 因为IPv4的头部…

TCP头部格式和封装

文章目录 12.3 TCP头部和封装12.3.1 端口号12.3.2 序列号12.3.3 头部长度12.3.4 相关控制位12.3.5 窗口大小12.3.6 校验和12.3.7 选项字段 12.3 TCP头部和封装 ​ 下图显示了TCP在IP数据报中的封装&#xff1a; ​ TCP头部紧跟着IP头部或者IPv6扩展头部&#xff0c;经常是20字…

封装与解封装(TCP头部格式)

封装和解封装&#xff1a; 应用层---HTTP --超文本传输协议--- TCP 80 HTTPS --- TCP 443 FTP ---文件传输协议---TCP 20/21 ITFTP ---简单文件传输协议--- UDP 69 TELNET---远程控制协议---TCP23 SSH ---TCP 22 DNS---域名解析协议---UDP和TCP 53 HDCP---动态主机配置…

TCP头部信息与UDP头部信息

TCP头部信息 源端口号以及目的端口号&#xff1a; 各占2个字节&#xff0c;端口是传输层和应用层的服务接口&#xff0c;用于寻找发送端和接收端的进程&#xff0c;通过这两个端口号和IP头部的ip发送和接收号&#xff0c;可以唯一的确定一个连接。    一般来讲&#xff0c;通…

TCP协议--TCP头部

《Linux高性能服务器编程》阅读笔记&#xff1a; 1. TCP协议的概念 TCP和UDP是传输层的两个主要协议。TCP相对于UDP来说&#xff0c;是面向连接、字节流和可靠传输。 (1) 面向连接   使用TCP通信的双方必须先建立起连接&#xff0c;然后才能开始数据的读写。建立连接后双方…

#TCP/IP# TCP头部选项功能详解

简单回顾下TCP报文格式 1&#xff09;TCP报文&#xff1a;由 TCP首部 和 TCP数据 组成。2&#xff09;TCP首部&#xff1a;由 20字节的固定长度 和 可变长字段&#xff08;选项和填充&#xff09;组成。3&#xff09;TCP首部总长度&#xff1a;由TCP头中的“数据偏移”字段决定…