Ⅰ 6. 临界区是指并发进程中访问共享变量的()段. A,管理信息 B,信息存储 C,数据 D,程序
一、单项选择题(每题1分,共20分) 1.操作系统的发展过程是( C )
C、管理程序,原始操作系统,操作系统
2.用户程序中的输入、输出操作实际上是由(B、操作系统 )完成。
3.进程调度的对象和任务分别是( C )。
C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU 4.支持程序浮动的地址转换机制是( A、动态重定位 )
5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按(C、尺寸从小到大)进行排列。
6.设计批处理多道系统时,首先要考虑的是( 系统效率和吞吐量 )。 7.当进程因时间片用完而让出处理机时,该进程应转变为( b )状态。
A、等待 B、就绪 C、运行 D、完成 8.文件的保密是指防止文件被( c )。
A、篡改 B、破坏 C、窃取 D、删除
9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由( d )
临界区构成。
A、2个 B、3个 C、4个 D、5个
10.按逻辑结构划分,文件主要有两类:(记录式文件 )和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件
11.UNIX中的文件系统采用(、流式文件 )。
A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是(A、实现对文件的按名存取 )。 13.文件系统中用( D、目录
)管理文件。
14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用(B、多级目
录 )。
15.在多进程的并发系统中,肯定不会因竞争(C、CPU )而产生死锁。
16.一种既有利于短小作业又兼顾到长作业的作业调度算法是( C、最高响应比优先
)。17.两个进程合作完成一个任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或
者建立某个条件后再向前执行,这种制约性合作关系被称为进程的( B、同步 )。18.当每类资源只有一个个体时,下列说法中不正确的是( )。
A、有环必死锁 B、死锁必有环
C、有环不一定死锁 D、被锁者一定全在环中
19.数据文件存放在到存储介质上时,采用的逻辑组织形式是与(A、文件逻辑结构 )
有关的。
20.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于(B、进程自身和进程调度策略 )。
二、填空题(每空2分,共20分)
1.若信号量S的初值定义为10,则在S上调用了16次P操作和15次V操作后S的值应
该为( 9 )。
2.进程调度的方式通常有(抢占 )和(非抢占)两种方式。
3.每个索引文件都必须有一张( 索引结点 )表,其中的地址登记项用来指出文件在外存
上的位置信息。
4.在一请求分页系统中,假如一个作业的页面走向为:4、3、2、1、4、3、5、4、3、2、1、
5,当分配给该作业的物理块数为4时(开始时没有装入页面),采用LRU页面淘汰算法将产生( 8 )次缺页中断。
5.信号量被广泛用于三个目的是( 同步 )、( 互斥 )和描述前趋关系。
6.程序并发执行时的特征是( 间断性 )、( 失去了封闭性 )、( 不可再现性 )和独立性。 三、判断题(每题1分,共10分)
( T )1.文件系统中分配存储空间的基本单位不是记录。 ( F )2.具有多道功能的操作系统一定是多用户操作系统。
( T )3.虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小可比内存空间大得多。
( T )4.批处理系统的(主要优点)是系统的吞吐量大、资源利用率高、系统的开销较小。 ( F )5.文件系统中源程序是有结构的记录式文件。
( F )6.即使在多道程序环境下,普通用户也能设计用内存物理地址直接访问内存的程序。 ( F
)7.顺序文件适合建立在顺序存储设备上,而不适合建立在磁盘上。
( T )8.SPOOLing系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备。它由专门负责I/O的常驻内存进程以及输入、输出井组成。
( F )9.系统调用是操作系统与外界程序之间的接口,它属于核心程序。在层次结构设计中,它最靠近硬件。
( F )10.若系统中存在一个循环等待的进程集合,则必定会死锁。 四、程序与算法(共10分)
设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一
个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。 解:
semaphore mutex=1; semaphore empty=20; semaphore full=0; int in,out = 0;
item p [20]; void Procer(){ while(ture){
procer an item in nextp; wait(empty); wait(mutex); p[in] := nextp; in :=
(in+1) mod 20; signal(mutex); signal(full); } }
void Consumer(){ while(ture){ wait(full); wait(mutex); nextc := p[out]; out
:= (out+1) mod 20; signal(mutex); signal(empty); } }
五、问答题(共16分)
某系统有A、B、C、D四类资源可供五个进程P1、P2、P3、P4、P5共享。系统对这四类资源的拥有量为:A类3个、B类14个、C类12个、D类12个。进程对资源的需求和分配
情况如下:
按银行家算法回答下列问题:
(1)现在系统中的各类资源还剩余多少?(4分) (2)现在系统是否处于安全状态?为什么?(6分)
(3)如果现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否去满足它的请求?请说明原因。(6)
(1)A:1;B:5;C:2;D:0 (2)need矩阵为:P1 0 0 0 0 P2 0 7 5 0 P3 1 0 0 2 P4 0 0 2 0
P5 0 6 4 2
存在安全序列,如P1,P3
,P4,P5,P2,所以安全
(3)能,因为试探分配后,可用资源为1,1,0,0。可找到安全序列,所以可分配。六、计算题(第1题6分;第2题10分;第3题8分;共24分)
1、某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
则逻辑地址0A5D(H)所对应的物理地址是什么?(6分)
0A5D(H)=0000 1010 0101 1101
2号页对应4号块,所以物理地址是0001 0010 0101 1101
即125D(H)。
2、设有三道作业,它们的提交时间及执行时间由下表给出:
作业号 提交时间 执行时间
1 8.5 2.0
2 9.2 1.6
3 9.4 0.5
试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间
(时间单位:小时,以十进制进行计算;要求写出计算过程)(10分)
FCFS: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 10.5 12.1 2.9
3 9.4 0.5 12.1 12.6 3.2
平均周转时间=(2.0+2.9+3.2)/3=2.7(小时)
SJF: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 11.0 12.6 3.4
3 9.4 0.5 10.5 11.0 1.6
平均周转时间=(2.0+3.4+1.6)/3=2.3(小时)
3、假定当前磁头位于100号磁道,进程对磁道的请求序列依次为55,58,39,18,90,160,150,38,180。当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?(请给出寻道次序和每步移动磁道数)(8分)
FCFS: 服务序列依次为:55,58,39,18,90,160,150,38,180
移动的磁道数分别是: 45, 3, 19, 21, 72, 70, 10, 112,142
总的移动的磁道数是:494
SSTF: 服务序列依次为:90,58,55,39,38,18,150,160,180
移动的磁道数分别是: 10, 32, 3, 16, 1, 20, 132, 10, 20
总的移动的磁道数是:244
Ⅱ 什么是临界区请举一两个例子.谢谢.
答:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源).每次只准许一个进程进入临界区,进入后不允许其他进程进入 .
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
Ⅲ 什么是临界区进程进入临界区的调度原则是什么
1、什么是临界区?
答:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。
2、进程进入临界区的调度原则是:
①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
Ⅳ 什么叫做“临界资源”什么叫“临界区”对临界区的使用应符合哪些规则
临界资源是指每次仅允许一个进程访问的资源。
临界区是指每个进程中访问临界资源的那段代码。
临界区的使用规则①空闲让进②忙则等待③有限等待④让权等待。
Ⅳ 临界区的定义是什么
临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。
当有线程进入临界区段时,其他线程或是进程必须等待(例如:临界区的定义是什么,bounded waiting 等待法)。
有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用。
例如:semaphore。只能被单一线程访问的设备,例如:打印机。
每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。
每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。
多个进程中涉及到同一个临界资源的临界区称为相关临界区。
Ⅵ 临界区是指并发进程中访问共享变量的什么段
临界区是指并发进程中访问共享变量的程序段
Ⅶ 操作系统临界区是什么
操作系统为了处理无数多的进程,在系统中会由一个称为“临界区”的地方进行处理,下面由我为大家整理了操作系统两个临界区的相关知识,希望对大家有帮助。
1.操作系统临界区是什么
每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。
2.操作系统临界区的调度原则
①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
互斥对象是一种最简单的内核对象,用它可以方便的实现对某一资源的互斥访问。因为它是内核对象,因此可以产生信号,实际上,程序中就是利用这一点实现互斥的。
临界区并不是内核对象,而是系统提供的一种数据结构,程序中可以声明一个该类型变量,之后用它来实现对资源的互斥访问。当欲访问某一临界资源时,先将该临界区加锁(如果临界区不空闲,等待),用完该资源后,将临界区释放。
一般,将他们用于线程间的同步,而且通常可以互换使用。
如果要实现复杂互斥,应使用其它方法,如信号量内核对象等。临界区对象不能跨越进程,是线程间共享数据区的同步对象;互斥对象可以作为进程间共享数据区的同步对象。
3.扩展阅读:什么是操作系统临界资源
临界资源是指每次仅允许一个进程访问的资源。
属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。
Ⅷ 什么是临界区和临界资源对临界区管理的基本原则是什么
1、临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。
当有线程进入临界区段时,其他线程或是进程必须等待,有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用。只能被单一线程访问的设备,例如:打印机。
2、临界资源:多道程序系统中存在许多进程,它们共享各种资源,然而有很多资源一次只能供一个进程使用。一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如输入机、打印机、磁带机等。
3、进程进入临界区的调度原则是:
(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
(2)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
(3)任何时候,处于临界区内的进程不可多于一个。
(4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
(8)临界区是什么程序段扩展阅读
1、临界区存在的问题
临界区的退出,不会检测是否是已经进入的线程,也就是说,可以在A线程中调用进入临界区函数,在B线程调用退出临界区的函数,同样是成功。
临界区内的数据一次只能同时被一个进程使用,当一个进程使用临界区内的数据时,其他需要使用临界区数据的进程进入等待状态。
2、各进程采取互斥的方式,实现共享的资源称作临界资源。
属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。
Ⅸ 临界资源与临界区的区别
区别:临界资源是网络设备,临界区是网络程序代码。
临界资源是一个共享资源(例如打印机),但是这种资源一次只容许一个线程访问,其他线程必须等待。每个进程中访问临界资源的那段代码称为临界区。
例:办公室共享的打印机就可以称为临界资源(因为打印机同一时间只支持一个用户使用,其他用户需要等待),而用户访问打印机的代码就是临界区。
Ⅹ 什么是临界区
临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或者公用数据变量而引起的。所以又被称为访问公用数据的那段程序。没事可以多看看黑马程序员官网的免费视频,这些问题一套基础视频都可以解决。