互斥:一次只能供一个进程使用的资源。
同步:多个进程并发进行,可能需要等待。
PV操作是实现进程同步与互斥的常用方法,在执行期间不可分割。P代表申请一个资源,V代表释放一个资源。
P操作定义 :S1:=S1-1,若S>=0,则P操作继续进行;若S<0,则置该进程为阻塞状态(因为无资源可用),并将其插入阻塞队列。
V操作定义:S2:=S2+1,若S>0,则V操作继续进行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
信号量S:信号量的值表示相应资源的使用情况。所谓信号灯,实际上就是用来控制进程状态的一个代表某一资源的存储单元。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资源,才能继续运行。而执行一个V操作意味着释放一个资源,因此S的值加1;若S<=0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
临界资源:多道程序系统环境中,各进程可以共享各类资源,但有些资源只能供一个进程使用,称为临界资源,如打印机、共享变量等。
临界区:进程中对临界资源实施操作的那段程序。
例如:设公交车司机的活动是启动车辆,正常行车,到站停车;售票员的活动是关车门,售票,开车门,用信号量PV操作来实现他们的同步。
解析:
设置S1=0,S2=0。
司机进程:P(S1);启动车辆;正常行驶;到站停车;V(S2);
售票员进程:关车门;V(S1);售票;P(S2);开车门;
首先,售票员执行关车门(V操作S1+1);然后,司机执行启动车辆(P操作S1-1);第三步,司机停车(V操作S1+1),第四步,售票员开车门(P操作S2-1)。
若用PV操作控制进程P1,P2,P3,P4和P5并发执行的过程,需要设置5个信号量S1,S2,S3,S4和S5,且信号量S1~S5的初始值都等于零。如下的执行图中a和b处应分别填写(1),c和d出应分别填写(2),e和f处应分别填写(3)。
(1)P(S1)和V(S2)、V(S3)
(2)P(S2)和V(S4)
(3)P(S3)P(S4)和V(S5)
计算机系统中的互斥资源,如两个进程同时使用打印机,或同时进入临界区必然会出现的问题。所谓死锁是指两个以上的进程互相都要求对方已经占有的资源导致无法继续进行下去的现象。
如:系统有3个进程A、B、C,这3个进程都需要5个系统资源,那么系统至少有多少个资源才不会发生死锁。
解析:所有进程分配满足需要的资源数减1,然后增加一个资源分配任意一个进程即可满足条件,即3*4+1=13。
1、对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后系统进入不安全状态,则不予分配。
2、若分配资源后系统仍处于安全状态,则实施分配。
3、与死锁预防相比,提高了资源利用率,但检测分配后系统是否安全增加了系统开销。
假设系统中有三类互斥资源R1、R2、R3,可用资源数分别是9、8、5。在T0时刻系统中有P1、P2、P3、P4、P5进程,这些进程对资源的最大需求量和已分配资源数如下图,如果进程按()序列执行,那么系统状态是安全的。
解析:
已分配资源数R1:7,R2:7,R3:5。
剩余资源数:R1:2,R2:1,R3:0。
P1进程还需资源数:R1:5,R2:3,R3:1。
P2进程还需资源数:R1:0,R2:1,R3:0。
P3进程还需资源数:R1:6,R2:0,R3:1。
P4进程还需资源数:R1:0,R2:0,R3:1。
P5进程还需资源数:R1:2,R2:3,R3:1。
释放的资源数量为:现有资源数+已经分配资源数
为防止死锁进程执行顺序为:P2àP4àP5àP1àP3
(1)固定分区
(2)可变分区
假设计算机系统的内存大小为128K,采用可变分区分配方式进行内存分配,当前系统内存分块情况如下图所示,现有作业4申请9K内存,不同分配方式产生的结果?
循环首次适应法
(3)可重定位分区
最好的提高了主存利用率。
(1)时间局部性
(2)空间局部性
进程P有6个页面,页号分别为0~5,页面大小为4K,页面变换表如下所示。表中状态位等于1和0分别表示页面在内存和不在内存。假设系统给进程P分配了4个存储块,进程P要访问的逻辑地址为十六进制1165H,那么该地址经过变换后,其物理地址应为十六进制();如果进程P要访问的页面4不存在内存,那么应该淘汰页号为()的页面。
解析:4K=1012,即12位。逻辑地址1165H,其页号为1,查页表后知页帧号为3,该地址经过变换后,其物理地址应为页帧号3拼上页内地址165H,即十六进制3165H。
系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理,最近被访问的相邻页面下次被访问的概率更大,所以应该淘汰5。
虚拟存储是具有请求调入功能和置换功能,仅能把作业的一部分装入主存便可运行作业的存储系统。
(1)请求分页系统。
(2)请求分段系统。
(3)请求段页式系统。
在一台按字节编址的8位计算机系统中,采用虚拟页式存储管理方案,页面的大小为1KB,且系统中没有使用块表(或联想存储器)。图示的是划分成6个页面的用户程序。图中swap指令放在内存的1023单元中,操作数A存放在内存的3071单元中,操作数B存放在内存的5119单元中。执行swap指令将产生()次缺页中断。
解析:指令只产生一次中断,A产生2次,B产生2次,共计5次。
(1)最佳置换算法
(2)先进先出(FIFO)置换算法
(3)最近最少未使用(LRU)置换算法
(4)最近未用(NRU)置换算法
(1)通道技术
(2)DMA技术
(3)缓冲技术
(4)Spooling技术
(1)连续结构
(2)链接结构
(3)索引结构
(4)多个物理块的索引结构
在下图所示的树型文件系统中,方框表示目录,圆圈表示文件,"/"表示路径中的分隔符,"/"在路径之首时表示根目录。
假设当前目录是D2,进程A以如下两种方式打开文件f2。
方式j fd1=open("____/f2",O_RDONLY);
方式k fd1=open("/D2/W2/f2",O_RDONLY);
其中,方式j的工作效率比方式k的工作效率高,因为采用方式j,文件系统是从____。
解析:
(1)相对路径W2。
(2)当前路径开始查找文件f2,系统查找时间少,读取f2文件次数不变。
(1)空闲区表
(2)位示图
位示图是利用二进制的一位来表示磁盘中的一个盘块的使用情况。当其值为"0"时,表示对应的盘块空闲;为"1"时,表示已经分配。有的系统把"0"作为盘块已分配的标记,把"1"作为空闲标志。(它们的本质上是相同的,都是用一位的两种状态标志空闲和已分配两种情况。)磁盘上的所有盘块都有一个二进制与之对应,这样,由所有盘块所对应的位构成一个集合,称为位示图。
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若磁盘上的物理块依次编号为0,1,2,…,系统中字长32位,每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,如下图所示。
假设将4195号物理块分配给某文件,那么该物理块的使用情况在位示图中的第()个字中描述,系统应该将该字的第()位置1。
解析:
(a)(4195-0+1)/32=131.125=第132字
(b)131*32=4192,即0~4191块,第0位4192,第1位4193,第2位4194,第三位4195。
某字长为32位的计算机的文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为1MB,那么位示图的大小为()个字。
解析:300G/32MB=9600
(3)空闲块链
(4)成组链接法
如对本文有疑问, 点击进行留言回复!!
Spring Cloud Alibaba系列,nacos作为服务配置中心
Spring Cloud Alibaba系列(一)nacos作为服务注册中心
网友评论