系统在接到用户关于文件的()操作命令后,就在文件目录中寻找空目录项进行登记。
(A)建立 (B) 打开 (C)、读 (D) 写
解释如下
A 关键词是后一句的寻找空目录项进行登记,说明是新建了之后在进行的
对磁盘进行移臂调度时,既考虑了减少寻找时间,又不频繁改变移动臂的移动方向的调度算法是()
A)先来先服务 B)最短寻找时间优先
C)电梯调度 D)优先级高者优先
解释如下
C 首先我们要知道磁盘调度算法是第六章的内容,其中常考的是先来先服务、最短寻道时间优先、扫描算法(电梯调度)。电梯调度算法是自里向外访问又从外向里访问,滴鼻最短寻找时间优先有所改进。因此本题选择电梯调度
3、位示图可用于( )。
A)文件目录的查找 B)磁盘空间的管理
C)主存空间的共享 D)实现文件的保护和保密
解释如下
B 课本第八章的内容,用于表示磁盘空间的管理
4、某虚拟存储器系统采用页式内存管理,使用LRU页面替换算法,考虑下面的页面访问地址流(每次访问在一个时间单位中完成):
1 8 1 7 8 2 7 2 1 8 3 8 2 1 3 1 7 1 3 7
假定内存容量为4个页面,开始时是空的,则缺页次数是( )。
A.4 B.5 C.6 D.7
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rAu3HSPD-1625018212646)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled.png)]
6、分布式操作系统与网络操作系统本质上的不同在于( D )。
A)实现各台计算机之间的通信 B)共享网络中的资源
C)满足较大规模的应用 D)系统中若干合计算机相互协作完成同一任务
把逻辑地址转变为内存的物理地址的过程称作( 重定位 )。
A)编译 B)连接
C)运行 D)重定位
临界区是指并发进程中访问共享变量的(代码 )段。
A)管理信息 B)信息存储
C)数据 D)代码
对记录式文件,操作系统为用户存取文件信息的最小单位是( C )。
A)字符 B)数据项
C)记录 D)文件
在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( D )进行排列。
A)地址从大到小 B)地址从小到大
C)尺寸从大到小 D)尺寸从小到大
只能在核心态下执行的指令是( B)。
A)读时钟日期 B)屏蔽所有中断
C)改变文件内容 D)调用库函数
解析: 读时钟周期、改变文件内容、调用库函数均可在用户态完成
进程控制块中的现场信息是在( D)保存的。
A)创建进程时 B)处理器执行指令时
C)中断源申请中断时 D)中断处理程序处理中断前
当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高( B)进程的优先级。
A)连续占用处理器时间长的 B)在就绪队列中等待时间长的
C)以计算为主的 D)用户
一级页式存储管理中,每次从主存中取指令或取操作数,要( )次访问主存。
A) 1次 B) 2次
C) 3次 D) 4次
解释如下
B 在段或者页式系统中,需要2次访问内存。第一次是获取段表、页表里面的块号、页号算出物理地址。第二次访问物理地址得到数据
若当前进程因时间片用完而让出处理机时,该进程应转变为( A )状态。
A)就绪 B)等待
C)运行 D)完成
文件系统与(C)密切相关,它们共同为用户使用文件提供方便。
A) 处理器管理 B)存储管理
C) 设备管理 D)作业管理
当CPU处于管态时,它可以执行的指令是( )。
A 管态具有较高的特权,能执行一切指令,访问所有寄存器和存储区
一个进程释放一种资源将有可能导致一个或几个进程( )。
A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪
D,就绪状态就是进程等待CPU,当某个进程需要的资源(非CPU)被其它进程占用时,会进入阻塞状态,而其它进程释放了资源后,则等待该资源的进程会由阻塞状态转为就绪状态,等待CPU执行
在下面的I/O控制方式中,需要CPU干预最少的方式是( )。
A.程序I/O方式 B.中断驱动I/O控制方式 C.直接存储器访问DMA控制方式 D.I/O通道控制方式
D
下面最有可能使得高地址空间成为大的空闲区的分配算法是( )。
A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应法
A 关键词:高地址空间成为大的空闲区,首次适应法的特点是地址从小到大递增
在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是( )。
A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区
C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区
D 上有空闲区,下有空闲区合并后变成只有一个空闲区导致空闲区数目减少
系统抖动是指( )。
A.使用机器时,屏幕闪烁的现象
B.由于主存分配不当,偶然造成主存不够的现象
C.系统盘有问题,致使系统不稳定的现象
D.被调出的页面又立刻被调入所形成的频繁调入调出现象
D,考察抖动的定义
避免死锁的一个著名的算法是( )。
A.先入先出算法 B.优先级算法
C.银行家算法 D.资源按序分配法
关键词:避免死锁,只有银行家算法符合
设计批处理多道系统时,首先要考虑的是( )
A.灵活性和可适应性
B.系统效率和吞吐量
C.交互性和响应时间
D.实时性和可靠性
B
支持程序浮动的地址转换机制是( )
A.页式地址转换
B.段式地址转换
C.静态重定位
D.动态重定位
关键词浮动,选项中的动态与之对应 选 D
逻辑文件存放在到存储介质上时,采用的组织形式是与( )有关的。
A.逻辑文件结构
B.存储介质特性
C.主存储器管理方式
D.分配外设方式
B
文件的保密是指防止文件被( )
A.篡改 B.破坏 C.窃取 D.删除
文件的保密是防止文件被窃取
在执行V操作时,当信号量的值( ),应释放一个等待信号量的进程.
A.小于0 B.小于等于0 C.大于0 D.大于等于0
B
磁盘驱动调度算法中( 先来先服务 )算法可能会随时改变移动臂的运动方向.
A.电梯算法 B.先来先服务算法 C.N步扫描 D.循环扫描
3.可重定位内存分区分配目的为(A )。
A. 解决碎片问题 B.便于多作业共享内存
C.回收空白区方便 D.摆脱用户干预
4.索引式(随机)文件组织的一个主要优点是( B)。
A. 不需要链接指针 B.能实现物理块的动态分配
C. 回收实现比较简单 D.用户存取方便
下列方法中,解决碎片问题最好的存储管理方法是 。( )
(1)基本页式存储管理 (2)基本分段存储管理
(3)固定大小分区管理 (4)不同大小分区管理
1,页式管理
在以下的存储管理方案中,能扩充主存容量的是 。 ( )
(1)固定式分区分配 (2)可变式分区分配
(3)分页虚拟存储管理 (4)基本页式存储管理
能扩充主存容量是关键词,我们知道虚拟存储器能够在逻辑上对主存容量进行扩充
与设备分配策略有关的因素有:设备固有属性、设备分配算法、 和设备的独立性。 ( )
(1)设备的使用频度 (2)设备分配中的安全性
(3)设备的配套性 (4)设备使用的周期性
B
为实现设备分配,应为每一类设备配置一张 。 ( )
(1)设备分配表 (2)逻辑设备表 (3)设备控制表 (4)设备开关表
设备控制表(DCT),控制器控制表(COCT),通道控制表(CHCT)和系统设备表(SDT)所以选择C
位示图法可用于 。 ( )
(1)文件目录的查找 (2)分页式存储管理中主存空闲块的分配和回收
(3)磁盘空闲盘块的分配和回收 (4)页式虚拟存储管理中的页面置换
位示图法的关键词:磁盘 答案选 3
通道又被称为I/O处理器,它用于实现()之间的信息传输。
A、主存与外设 B、CPU与外设 C、外设与外设 D、CPU与辅存
A,用于主存与外设之间的信息传输
磁盘是可共享的设备,每一时刻( )进程与它交换信息。
A、允许有两个 B、可以有任意多个 C、最多有1个 D、至少有1个
C,只允许最多有一个进程与它交换信息
在存储管理的各方案中,可扩充主存容量的方案是( )存储管理。
A、固定分区 B、可变分区 C、连续 D、页式虚拟
D
存储器的段页式管理中,每次从主存中取出一条指令或一个操作数,需要( )次访问主存。
访问段表,访问页表,取实际数据/指令 总共3次
一个虚拟存储器系统中,设主存的容量为16MB,辅存的容量为1GB,而地址寄存器的位数32位,在这样的系统中,虚存的最大容量是( )。
虚存的最大容量由CPU的地址长度决定。虚存的实际容量由CPU的地址长和外存的容量决定,当CPU的地址长度能表示的大小远远大于外存容量时,虚存的实际容量为内存和外存容量之和
因此该题是求最大容量答案为$2^{32}=4GB$
磁带机属于( )设备。
A)顺序存取 B)直接存取 C)连接存取 D)随机存取
A,磁带机只能一圈一圈地存
用户程序中的输入,输出操作实际上是由( )完成。
A)程序设计语言 B)编译系统
C)操作系统 D)标准库程序
输入、输出操作由请求系统调用来完成,即依靠操作系统来完成。答案选 C
计算机系统中判别是否有中断发生应是在( )。
A)进程切换时 B)执行完一条指令后 C)执行 P 操作后 D)由用户态转入核心态时
OS在执行完一条指令后在进行判断是否有中断发生 故答案选B
在多进程的并发系统中,肯定不会因竞争( )而产生死锁。
A)打印机 B)磁带机 C)磁盘 D)CPU
CPU属于可剥夺的资源,因此不会因为竞争CPU产生死锁
外存上存放的数据( )。
A)CPU 可直接访问 B)必须在访问前先装入内存
C)是最高缓冲器中的信息 D)CPU 不可访问
CPU可以访问外存,但是不可以直接访问,要先调入内存才可以被访问 答案选B
下述( )不属于多道程序运行的特征。
A)多道 B)运行速度快
C)宏观上并行 D)实际上多道程序是穿插运行
多道程序技术运行的特征:多道、宏观上并行、微观上串行,速度快不是其特征
1、进程:一个具有独立功能程序在某个特定数据集上在处理机上的执行过程和分配资源的基本单位。
2、权能表:把系统的保护矩阵按照行向量进行分解并进行存储的表。描述了主体能够操作客体的相关权限。
3、虚拟存储器:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却接近于外存。
4、进程同步:把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按照一定的速度执行的过程,称为进程同步。
5、文件系统:操作系统中与管理文件有关的程序和数据称作文件系统
6、文件:由创建者所定义的、具有文件名的一组相关元素的集合。
7、原语:它是由若干条机器指令所构成,用以完成特定功能的一段程序,为保证其操作的 正确性,它应当是原子操作,即原语是一个不可分割的操作
进程主要由__程序__、数据和PCB_______三部分内容组成,其中____PCB____是进程存在的惟一标识,而_____数据_____部分也可以为其它进程共享。
当处理器空闲时,调度程序从 就绪___ 进程队列中选择一个进程给其分配CPU,处于___阻塞_______状态的进程是不会获得CPU的。
在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短_____ 的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长 的作业得到优先调度
响应比的计算公式为:$1+\frac{等待时间}{运行时间}$
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWbMhYVM-1625018212650)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%201.png)]
虚拟设备是通过__ SPOOLING技术把独占设备变成能为若干用户_____共享 _的设备。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NGeG0wqV-1625018212653)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%202.png)]
访问磁盘时间由三部分组成,即寻道时间、旋转延迟时间和_ 传输时间 ___
多道动态分区法中,可通过_____紧凑技术__ ___来减少外部碎片。
把虚地址地址转换为______物理地址______ _地址的工作称为地址映射。
从资源分配的角度看打印机是 独占 设备;而磁盘是共享设备。
对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。一次进程切换的系统开销时间为S。若采用时间片长度为Q的时间片轮转法,在Q=S 时,CPU的利用率是 50% 。
操作系统中进程的定义是 程序的一次执行过程 。
目前常用的避免死锁算法是E.W.Dijkstra于1968年提出的__ 银行家__ ____ _算法。
实现SPOOL系统时必须在磁盘上辟出称为输入井 和输出井 的专门区域,以存放作业信息和作业执行结果
分时系统的4个特征是:多路性、 独立性 、 及时性 和交互性。
程序并发执行与顺序执行时相比产生了一些新特征,分别是: 间断性 、 失去封闭性 和 不可在现性 。
进程的五大特征是 动态性 、 并发性 、 独立性 、 异步性 和结构特征。
产生死锁的原因 竞争资源 和 进程推进顺序非法 。
在最先适应算法中,要求空闲分区按 地址递增 顺序链接成空闲分区链;在最佳造应算法中,要求空闲分区按 容量递增 顺序链接成空闲分区链;在最差适应算法中,要求空闲分区按 容量递减 顺序链接成空闲分区链。
分页式虚拟存储空间中,当发现某页不在 主存 的时候,将由 缺页中断机构 产生缺页中断,当没有空闲主存块时,需要用调度算法进行页面 置换 ,如果这时没有选择好一种好的调度算法,就会产生 抖动 现象。
对于具有I/O通道的系统,在进程提出I/O请求后,系统的设备分配程序可以按下述步骤进行设备分配: 分配设备 、 分配控制器 和 分配通道
对于磁盘的访问时间,包括以下三个部分,分别是 寻道时间Ts(或移臂时间) 、 旋转延迟时间Tr 和 传输时间Tt(或读写时间)
每个索引文件都必须有一张_索引_表,其中每个登记项用来指出一个逻辑记录的_物理块首地址。
在死锁的避免方法中,仅当系统处于安全状态时,才实施分配。 ( √ )
进程是程序执行的动态过程,而程序是进程运行的静态文本。 ( √ )
时间片越小,系统的响应就越小,系统的效率就越高。 (× ) (解释,响应越小,系统的效率越低)
多任务操作系统不等于多用户操作系统,但多用户系统一定是多任务系统。
管程能够实现信号量以及P、V操作。
所谓临界资源,指的是可以为多个进程同时使用的资源。 ( ×)(共享区指的是可以访问的那一段代码)
操作系统“生成”,是可以按用户的任意要求装配成各种应用核心。(× )
死锁是指两个或多个进程都处于互等状态而无法继续工作。(√)
1、简述系统调用与过程(函数)调用的区别(7分)
答:⑴调用形式不同。过程使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中,但系统调用中不包含处理程序入口,而仅提供功能号,按功能号调用。
⑵被调用代码的位置不同。过程调用是一种静态调用,调用程序和被调用代码在同一程序内,经过连接编辑后作为目标代码的一部分。当过程升级或修改时,必须重新编译连接。而系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),这样一来,系统调用处理代码升级或修改时,与调用程序无关,而且调用程序也大大缩短,减少了调用程序占用的存储空间。
⑶提供方式不同。过程往往由编译系统提供,不同编译系统提供的过程可以不同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量固定不变了。
⑷调用的实现不同。程序使用一般机器指令(调转指令)来调用过程,是在用户态运行的;程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态执行。因此程序执行系统调用安全性好。
2、什么是死锁,产生死锁的原因有哪些?(8分)
答:死锁是由于竞争资源而产生,也可能是由于程序设计的错误所造成的,定义如下:如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,则称一组进程或系统此时发生了死锁。
课本定义:一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件。
死锁产生的条件:
⑴互斥条件。进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放资源。
⑵占有和等待条件。一个进程请求资源得不到满足而等待时,不释放已占有资源。
⑶不剥夺条件。任一进程不能从另一进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。
⑷循环等待条件。存在一个循环等待链,其中,每一个进程分别等待它前一个进程所持有的资源,造成永远等待。
3、请叙述段式存储管理的基本原理,结合动态段式管理说明地址变换过程。
答:段式存储管理的基本思想是:把程序按照内容或过程(函数)关系分成段,每个段由自己的名字。一个用户作业或进程所包含的段对应一个二维线性虚拟空间,即一个二维虚拟存储器。段式存储管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟存储器地址转换成实际的内存物理地址。段式存储管理把那些机场访问的段驻留内存,而把那些不经常访问的段存放到外存,需要的时候再调到内存。
段式管理技术通过段表实现内存分配和回收工作。下面以进程某条指令访问数据为例说明地址变换过程。
当进程的某条指令发出数据访问指令,系统根据指令中给定的虚拟地址,虚拟地址中包括段号和段内偏移,首先通过段表地址寄存器查找该段号的内存物理起始地址,如果该段不在内存则将该段调入内存,然后将得到的段的内存起始地址加上指令中的页内偏移,至此得到该指令访问数据的物理地址。参见下图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-90GmByKe-1625018212656)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%203.png)]
4、请叙述SPOOLING系统的概念和组成。
答:为了缓和CPU的高速与I/O设备的低速之间的矛盾,引入了脱机输入、脱机输出,使外围设备操作与CPU数据处理同时进行,实现了联机情况下的同时外围设备操作的技术称为SPOOLING.其组成主要有四部分:1)输入输出井:在磁盘上开辟的用于缓存进程数据的输入、输出存储空间;2)输入、输出缓冲区:在内存开辟的用于缓和CPU与磁盘速度不匹配的矛盾;3)输入、输出处理进程:用于处理输入、输出过程。4)井管理程序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iYMweYEs-1625018212658)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%204.png)]
1)进程是具有独立功能程序在某个数据集合上的一次执行过程。(2分)
(2)线程是进程内的一个执行实体或执行单元。(2分)
(3)进程和线程的区别:(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。(b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。(2分)
OS的四大特性:虚拟性、异步性、并发性、共享性
存储器管理、处理机管理、设备管理、文件管理以及用户接口管理
什么是与设备无关性?有什么好处?
答:为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称设备无关性。
基本含义:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备两概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
优点:1、设备分配时的灵活性。2、易于实现I/O重定向(用于I/O操作的设备可以更换(即重定向),而不必改变应用程序。
静态资源分配策略是指系统要求所有进程要一次性地申请在整个运行过程中所需的全部资源。若系统有足够的资源分配给进程,便一次性地把其需要的所有资源分配给该进程。这样,该进程在整个运行期间,便不会再提出资源请求,从而摒弃了请求条件。但在分配时,只要有一种资源要求不能满足,则即使是已有的其它各资源,也全部不分配给该进程,而让该进程等待。这样,由于等待期间的进程未占有任何资源,因而也摒弃了保持条件,从而可以避免发生死锁
文件目录的作用是将文件名转换为文件在外存的物理位置,使操作系统能有效地对文件实施统一管理。
文件目录项一般包括文件名、扩展名、文件属性、文件建立的日期和时间、起始簇号、文件长度等信息
① 分配给作业的主存块数多则缺页率低,反之缺页中断率就高。② 页面大,缺页中断率低;页面小缺页中断率高。③程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。④ 页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。
1.检查是否有中断事件发生;(检查)
2.若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复执行;(保护现场)
3.启动操作系统的中断处理程序。(进入中断处理程序)
答案: 答:优点:(1)虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。
(2)内存利用率高,不常用的页面尽量不留在内存。
(3)不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。UNIX操作系统较早采用。
缺点:(1)要处理页面中断、缺页中断处理等,系统开销较大
硬件条件是:配置大容量的磁盘,要有中断装置和通道
(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。(b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低
(1)进程是程序及其数据在计算机上的一次运行活动,是一个动态的概念。进程的运行实体是程序,离开程序的进程没有存在的意义。从静态角度看,进程是由程序,数据和进程控制块(PCB)三部分组成的。而程序是一组有序的指令集合,是一个静态的概念。
(2)进程是程序的一次执行过程,它是动态地创建和消亡的,具有一定的生命周期,是暂时存在的;而程序则是一组代码的集合,他是永久存在的,可长期保存。
(3)一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。进程可以创建进程,而程序不可能形成新的程序。
(4)进程与程序的组成不同。进程的组成包括程序,数据和PCB.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QI4sJDp1-1625018212660)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%205.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-boIL262m-1625018212661)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%206.png)]
第一小问
1、判断是否为安全状态的关键是工作量+已分配的资源量是否大于等于最大资源量且最后的结果是题干说的A:17,B:5,C:20
比如这里达到了17,5,20这个要求,因此安全序列为P4,P3,P5,P2,P1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4jmqmVCY-1625018212662)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%207.png)]
第二小问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPA17zfO-1625018212663)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%208.png)]
第三问
看能否构成安全序列,若不能则不可能进行资源分配
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EYQXEMrl-1625018212664)(%E9%9C%8D%E4%B8%83%E5%85%AC%E7%9A%84%E9%94%99%E9%A2%98%E6%95%B4%E7%90%86%20857f0de4ba714d74a48ca66838e780e4/Untitled%209.png)]
semaphore rmutex=1,wmutex=1;
readcount=0;
void read{
wait(rmutex);
if(readcount==0)wait(wmutex)//无读者在读时才进行
readcount++;
signal(rmutex);
进行读操作
wait(rmutex);
readcount- -;
if(readcount==0)signal(wmutex)//方便写操作
signal(rmutex);
}
读的过程中需要两次wait(rmutex)和signal(rmutex)
void write(){
wait(wmutex);
写操作;
signal(wmutex);
}