【精品】c操作系统专题信号量基本概念题
- 格式:pdf
- 大小:942.28 KB
- 文档页数:8
操作系统试题及答案一、选择题1、操作系统的主要功能是管理计算机系统中的()。
A.程序库 B.数据 C.文件 D.资源2、在操作系统中,()是竞争和分配计算机系统资源的基本单位。
A.程序 B.进程 C.作业 D.用户3、在操作系统中,并发性是指若干个事件()发生。
A,在同一时刻 B。
一定在不同时刻C.某一时间间隔内 D。
依次在不同时间间隔内4、产生死锁的基本原因是()和进程推进顺序非法。
A.资源分配不当B.系统资源不足C.作业调度不当D.进程调度不当5、文件系统采用多级目录结构的目的是()A.系统开销B.节省存储空间C.解决命名冲突D.缩短传送时间6、位示图方法可用于()A.盘空间的管理 B.盘的驱动调度C.文件目录的查找 D.页式虚拟存储管理中的页面调度7、下列算法中用于磁盘移臂调度的是( )A.时间片轮转法B. LRU算法C.最短寻找时间优先算法D.优先级高者优先算法8、存放在磁盘上的文件,()。
A.即可随机访问,又可顺序访问 B。
只能随机访问C.只能顺序访问 D。
只能读/写不能访问9、一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()A.2 B.1 C.3 D.0.510、进程和程序的本质区别是()。
A.内存和外存 B。
动态和静态特征C。
共享和独占使用计算机资源D。
顺序和非顺序执行机器指令11、对于硬盘上存放的信息,物理上读写的最小单位是一个()。
A.二进位 B。
字节 C。
物理块 D。
逻辑记录12、多道程序设计是指()A.在实时系统中并发运行多个程序B.在分布系统中同一时刻运行多个程序C.在一台处理机上同一时刻运行多个程序D.在一台处理机上并发运行多个程序13、进程从运行状态进入就绪状态的原因可能是()A.被选中占有处理机 B.等待某一事件C.等待的事件已发生 D.时间片用完14、由于系统无法预先知道一个作业未来访问页面的情况,所以()在实际上是无法实现的。
操作系统(三)——信号量、死锁1、信号量信号量机制:概念:其实就是⼀个变量,可以⽤⼀个信号量来表⽰系统中某种资源的数量、⽤户进程通过使⽤操作系统提供的⼀对原语来对信号量进⾏操作,从⽽⽅便的实现了进程互斥。
这⾥的⼀对原语是指wait(S)和signal(S),也简写为P(S)和V(S),即申请和释放资源。
P、V操作必须成对出现。
整数型信号量:⽤⼀个整数作为信号量,数值表⽰某种资源数。
对信号量的操作只有三种:初始化、P操作、V操作。
不满⾜让权等待原则。
记录型信号量:S.value表⽰某种资源数,S.L指向等待该资源的队列。
P操作中,先S.value++,之后可能执⾏block阻塞原语。
V操作中,先S.value--,之后可能执⾏wakeup唤醒原语。
可以⽤记录型信号量实现系统资源的申请和释放,申请S.value--,然后如果S.value<0说明资源分配完了,就阻塞;释放S.value++,然后如果S.value<=0说明还有进程在等待队列中等待,就唤醒。
记录型信号量可以实现进程互斥、进程同步。
实现进程互斥:划定临界区。
设置互斥信号量mytex,初值为1。
在临界区之前执⾏P(mutex),在临界区之后执⾏V(mutex)。
实现进程同步:分析那些地⽅是必须保证⼀前⼀后执⾏的两个操作。
设置同步信号量S,初始值为0。
在“前操作”之后执⾏V(S)。
在“后操作”之前执⾏P(S)。
实现前驱关系:每⼀对前驱关系都是⼀个进程同步问题。
为每⼀对前驱关系设置⼀个同步变量,初始值为0。
在“前操作”之后执⾏V操作。
在“后操作”之前执⾏P操作。
⽣产者消费者问题:⽣产者每次⽣产⼀个产品放⼊缓冲区,消费者每次从缓冲区取出⼀个产品使⽤。
缓冲区满⽣产者必须等待(同步关系1),缓冲区空消费者必须等待(同步关系2)。
缓冲区是临界资源,必须被互斥访问(互斥关系)。
问题中的P、V操作:⽣产者每次P⼀个缓冲区,V⼀个产品。
消费者每次V⼀个缓冲区,P⼀个产品。
操作系统信号量例题信号量是操作系统中用于同步和互斥的一种机制。
它可以用于进程间的通信和资源的管理。
下面我将从多个角度来回答关于操作系统信号量的例题。
1. 什么是信号量?信号量是一个整数变量,用于控制对共享资源的访问。
它可以是二进制信号量(取值为0或1)或计数信号量(取值大于等于0)。
二进制信号量用于互斥访问共享资源,计数信号量用于控制资源的数量。
2. 信号量的基本操作有哪些?常见的信号量操作有P操作(等待操作)和V操作(发送操作)。
P操作用于申请资源,如果资源不可用,则进程将被阻塞。
V操作用于释放资源,使得其他等待资源的进程可以继续执行。
3. 请举个例子说明信号量的使用场景。
假设有一个共享资源,比如打印机,多个进程需要使用它。
为了避免冲突,可以使用信号量来进行控制。
当一个进程要使用打印机时,它需要执行P操作来申请打印机资源,如果打印机正在被其他进程使用,则该进程将被阻塞。
当打印机空闲时,进程执行V操作释放打印机资源,其他等待资源的进程可以继续执行。
4. 信号量如何实现互斥?互斥是指只允许一个进程访问共享资源。
可以使用二进制信号量来实现互斥。
当一个进程要访问共享资源时,它执行P操作申请资源,如果资源已经被其他进程占用(信号量的值为0),则该进程被阻塞。
当资源被释放时,执行V操作使得等待资源的进程可以继续执行。
5. 信号量如何实现同步?同步是指多个进程按照一定的顺序执行。
可以使用计数信号量来实现同步。
例如,有两个进程A和B,进程A需要等待进程B完成某个操作后才能继续执行。
可以使用一个计数信号量来控制,初始值为0。
进程A执行P操作等待信号量,进程B完成操作后执行V 操作释放信号量,进程A才能继续执行。
6. 信号量的优缺点是什么?信号量的优点是可以实现进程间的同步和互斥,避免竞态条件和资源冲突。
它是一种简单而有效的机制。
然而,信号量也存在一些缺点。
例如,信号量的使用需要谨慎,如果使用不当可能导致死锁或活锁的发生。
第一部分:信号量基本概念1 What is the meaning of the term busy waiting? What other kinds of waiting are there in an operating system? Can busy waiting be avoided altogether? Explain your answer.答:忙等是整形信号量固有的问题。
当一个进程无法进入临界区时,仍然在就绪队列中,也可能占有CPU,浪费了CPU时间。
整形信号量也称自旋锁,有时在多处理器系统中也有用。
操作系统中其它种类的等待还有进程在等待队列中等待I/O完成、记录型信号量的阻塞式等待。
但这些等待不是“忙等”,因为他们在等待队列中,不可能占CPU。
采用了记录型信号量后,消除了“忙等”2 Show that, if the wait and signal operations are not executed atomically, then mutual exclusion may be violated答:假如信号量为S,P/V操作是两个并发的进程(或线程)。
这时可以看到:S既是信号量,也是P/V操作的共享变量!如果P/V操作不是原子的,那么P修改S 期间V操作可能插入,反之亦然。
这可能会使S的值出现错误。
3. 何谓与时间有关的错误 ? 举例说明之。
答:多个并发进程竟争使用同一个共享变量,可能会造成共享变量的值出错,这种错误与进程推进的时间有关。
这种错误不是必然会发生的,有很大偶然性。
一旦发生很难检侧出来,是并发程序设计的一个重大问题。
教材P48-48演示了这种错误,但没有明确指出这是“与时间有关的错误”4.试分析临界区的大小与系统并发性之间的关系。
答:关于同一组变量的临界区域是不能并发执行的代码(只能串行执行),临界区越大,并发性越差,因而编写并发程序应尽量减小临界区域的大小和执行时间。
1【单选题】用P、V操作管理临界区时,互斥信号量的初值应定义为( A)。
•A,1•B,0•C,-1•D,任意值2【单选题】在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。
•A,S>0•B,S = 0•C,S<0•D,S<>0我的答案:C3【单选题】信号量S的初值为8,在S上执行了10次wait 操作,6次signal操作后,S的值为(D )。
•A,10•B,8•C,6•D,4P操作每执行一次,信号量减1;V操作每执行一次,信号量加1.所以答案为8-10+6 = 44【单选题】用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( B)状态。
•A,执行•B,就绪•C,阻塞•D,挂起被唤醒的进程由等待状态变为就绪状态。
5【单选题】利用Wait和signal操作可以( )。
•A,实现进程互斥和同步•B,检测死锁•C,解除死锁•D,防止死锁我的答案:A6【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=0;则(B )•A,表示没有进程进入临界区•B,表示有一个进程进入临界区•C,表示有一个进程进入临界区,另一个进程等待进入•D,表示两个进程进入临界区临界区不允许两个进程同时进入,D选项明显错误。
mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。
7【单选题】V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。
•A,对•B,错我的答案:B8【单选题】有3个进程,两台打印机,用wait和sigual操作来实现互斥访问打印机,则信号量S的取值范围是( )•A,2,1,0,-1•B,3,2,1,0•C,2,1,0,-1,-2•D,1,0,-1,-2我的答案:如果n个进程共享两个打印机,信号量取值范围:-(n-2)~2;9【单选题】设与某资源相关的资源信号量K,初值为3,当前值为1,则可用资源个数为( ),等待资源的进程数为( )。
【关键字】精品第一章1. 操作系统的主要作用是()A 管理设备B 提供操作命令C 管理文件D 为用户提供使用计算机的接口,管理计算机的资源2. 对外部输入的信息能在规定时限内处理完毕并作出迅速反应的操作系统称为()A 分时操作系统B 批处理操作系统C 实时操作系统D 多处理机操作系统3. 操作系统的基本特征是、、、。
4. 什么是操作系统?第二章1 . 苹果桔子问题桌上有一只盘子,每次只能存放一个水果。
一家四口人各行其职,爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),儿子专等吃盘子中的桔子,女儿专等吃盘子里的苹果。
请用PV操作来实现四人之间的同步算法。
2. 和尚取水问题寺庙里有老小和尚若干和一水缸,小和尚打水,老和尚饮水。
水缸容积为10桶水,水取自同一水井,每次只容一个桶打水,桶的总数为3个,每次往水缸倒水和从水缸取水仅为一桶。
3.有一座东西方向的独木桥,用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以连续过桥,相反方向的人必须等待。
(3)当某一方向无人过桥时,另一方向的行人可以过桥。
4.上图描述的生产者-消费者问题中,如果其缓冲区部分为n个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。
试重新描述生产过程和消费过程。
5. 若信号量的初值为2,当前值为-3,则表示有()等待进程。
A 1个B 2个C 3个D 5个6. 在操作系统中,()是竞争和分配计算机系统资源的基本单位。
A 程序B 进程C 作业D 用户7. 下面哪一个不会引起进程创建()A 用户登录B 作业调度C 设备分配D 应用请求8. 进程和程序的本质区别是()A 内存和外存B 动态和静态特征C共享和独占使用计算机资源D顺序和非顺序执行机器指令9. 在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是()A 一个缓冲区B 一个数据区C 一种同步机构D 一段程序10. 在一辆公共汽车上,司机和售票员各行其职,司机负责开车和到站停车,售票员负责售票和开、关门,当售票员关好车门后,驾驶员才能继续开车行驶。
(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。
要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)(1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)当图书馆中没有座位时,后到的读者不等待,立即回家。
解(1 )设信号量:S=100; MUTEX=1P(S)P(MUTEX)登记V(MUTEX)阅读P(MUTEX)注销V(MUTEX)V(S)解(2)设整型变量COUNT=100; 信号量:MUTEX=1;P(MUTEX);IF (COUNT==0){ V(MUTEX);RETURN;}COUNT=COUNT-1;登记V(MUTEX);阅读P(MUTEX);COUNT=COUNT+1;V(MUTEX);RETURN;(二)有一座东西方向的独木桥;用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。
(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。
(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。
(1)解设信号量MUTEX=1P (MUTEX)过桥V (MUTEX)(2)解设信号量:MUTEX=1 (东西方互斥)MD=1 (东向西使用计数变量互斥)设整型变量:CD=0 (东向西的已上桥人数) CX=0 (西向东的已上桥人数)从东向西:P (MD)IF (CD=0){P (MUTEX) }CD=CD+1V (MD)过桥P (MD)CD=CD-1IF (CD=0){V (MUTEX) }V (MD)从西向东:P (MX){P (MUTEX) }CX=CX+1V (MX)过桥P (MX)CX=CX-1IF (CX=0){V (MUTEX) }V (MX)(3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。
一、判断题(×)1、分时系统中,时间片设置得越小,则平均响应时间越短。
(√)2、多个进程可以对应于同一个程序,且一个进程也可能会执行多个进程。
(×)3、一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
(×)4、在引入线程的OS中,线程是资源分配和调度的基本单位。
(√)5、信号量的初值不能为负数。
(×)6、最佳适应算法比首次适应算法具有更好的内存利用率。
(×)7、为提高对换空间的利用率,一般对其使用离散的分配方式。
(×)8、设备独立性是指系统具有使用不同设备的能力。
(√)9、隐士链接结构可以提高文件存储空间的利用率,但不适合文件的随机存取。
(×)10、访问控制矩阵比访问控制表更节约空间。
(×)11、分时系统在响应时间、可靠性及交互作用能力等方面一般都比分时系统要求高。
(√)12、Window XP是一个多用户、多任务的操作系统。
(×)13、一个进程正在临界区中间执行时不能被中断。
(×)14、系统处于不安全状态必然导致系统死锁。
(√)15、请求分段存储管理中,分段的尺寸要受存储空间的限制。
(√)16、属于同一个进程的多个线程可共享进程的程序段、数据段。
(×)17、设备的独立性是指每类设备有自己的设备驱动程序。
(×)18、虚拟设备是指允许用户使用比系统中具有的物理设备更多的设备。
(√)19、对物理文件来说,顺序文件必须采用连续分配方式,而链接文件和索引文件可采用离散分配方式。
(×)20、在UNIX文件系统中,文件的路径和磁盘索引节点之间是一一对应的。
(×)21、在分时系统中,为使多个用户能够同时与系统交互,最关键的问题是系统能及时连接多个用户的输入。
(×)22、在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。
(√)23、在只提供用户级线程的多处理机系统中,一个进程最多仍只能获得一个CPU。
《操作系统》考试练习题及参考答案一、单选题1. 在下列存储管理方案中,不适用于多道程序设计的是()。
A 、单一连续分配B 、固定式分区分配C 、可变式分区分配D 、段页式存储管理答案:A2. 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。
A 、5B 、2C 、3D 、4答案:D3. 主要由于()原因,使UNIX易于移植。
A 、UNIX是由机器指令书写的B 、UNIX大部分由汇编少部分用C语言编写C 、UNIX是用汇编语言编写的D 、UNIX小部分由汇编大部分用C语言编写答案:D4. 一个计算机系统有7台可互换的磁带机供N个进程竞争使用。
每个进程在一段时间内需要占用2台磁带机。
N最多为()不会发生死锁。
A 、5B 、12C 、6D 、2答案:C5. 虚拟设备是指()。
A 、允许用户使用比系统中具有的物理设备更多的设备B 、允许用户以标准化方式来使用物理设备C 、把一个物理设备变换成多个对应的逻辑设备D 、允许用户程序不必全部装入主存便可使用系统中的设备答案:C6. 位示图方法可用于( )A 、盘空间的管理B 、盘的驱动调度C 、文件目录的查找D 、页式虚拟存储管理中的页面调度答案:A7. 任何两个并发进程之间( )A 、一定存在互斥关系B 、一定存在同步关系C 、一定彼此独立无关D 、可能存在同步或互斥关系答案:D8. 在UNIX系统中,请求调用是采用()算法。
A 、LFUB 、FIFOC 、LRUD 、LIFO答案:C9. ()存储器管理方法可能使系统产生抖动。
A 、简单页式B 、请求页式C 、段式D 、可变连续分区答案:B10. 某系统采用固定分区分配存储管理,内存空间为640K,其中地址0到40K被系统占用,其他空间按分区大小相等的方法划为4个分区,则当有大小分别为7KB 、90KB 、30KB 、20KB的作业进入内存时,浪费的内存为()。
《操作系统》试题库3.(__)是操作系统提供的一种接口,为用户提供了一整套操作和使用文件的方法,其中最重要的功能是实现按文件名存取。
A.文件系统B.光盘系统C.磁盘系统D.存储系统二、判断题1.CPU和通道的关系是主从关系,CPU是主设备,通道是从设备。
2.Linux操作系统属于多用户多任务操作系统。
3.LRU页面淘汰算法会出现Belady异常现象。
4.LRU页面调度算法总是选择在主存中驻留时间最长的页面淘汰。
5.P、V操作是可以被中断的原语操作。
6.SPOOLing系统由专门负责I/O的的进程以及输入、输出井组成。
7.UNIX的最大特点是分时、多用户、多任务和倒树型文件结构。
8.按优先数调度算法,处于运行状态的进程的优先级是所有进程中最高的。
9.按最先适应算法分配的分区与作业要求的存储容量最接近。
10.并发性是指若干个事件在不同时刻发生。
11.并发性是指若干个事件在一定的时间段内交替发生。
12.不同的进程必然对应于不同的程序13.采用分页存储技术可以将逻辑上独立的代码装入一段连续的物理内存。
14.采用静态资源分配方法可以预防死锁的发生。
15.操作系统“生成”是指能产生最适合用户自己工作环境的操作系统内核。
16.操作系统对系统的资源的利用率越高,用户越满意。
17.操作系统是一种工具软件。
18.操作系统中的缓冲池主要是通过硬件来实现的。
19.操作系统中用于创建子进程的原语是在用户态下完成的。
20.程序的并发执行必然导致资源共享和资源竞争。
21.磁盘上的文件必须以记录单位进行读写。
22.磁盘上的文件都是以记录单位进行读写的。
23.磁盘上的文件以记录单位读写。
24.磁盘是共享设备,多个进程可在同一时刻对其访问。
25.磁盘是共享设备,每一个时刻可以有多个进程与磁盘交换信息。
26.磁盘移臂调度的目标是使磁盘的旋转周数尽可能小。
27.当进程数大于资源数时,进程竞争资源必然产生死锁。
28.当调度紧急或重要进程时,应采用FCFS调度算法。
信号量相关习题答案信号量是操作系统中用于实现进程间同步和互斥的一种机制。
它可以用于解决多进程共享资源的竞争问题,保证进程之间的有序执行。
在学习信号量的过程中,我们常常会遇到一些相关的习题,下面我将为大家提供一些信号量相关习题的答案。
1. 什么是信号量?答:信号量是一个整型变量,用于控制对共享资源的访问。
它可以用来实现进程间的同步和互斥。
2. 信号量的值有什么含义?答:信号量的值表示可用资源的数量。
当信号量的值大于等于0时,表示可用资源的数量;当信号量的值小于0时,表示等待资源的进程数量。
3. 什么是PV操作?答:PV操作是对信号量进行操作的基本方法。
P操作(也称为申请操作)会使信号量的值减1,如果信号量的值小于0,则阻塞当前进程。
V操作(也称为释放操作)会使信号量的值加1,如果信号量的值小于等于0,则唤醒一个等待的进程。
4. 请说明信号量的原子性操作。
答:信号量的P操作和V操作是原子性的,即不会被其他进程的操作中断。
这是为了保证在多进程环境下对共享资源的访问是有序的。
5. 什么是互斥信号量?答:互斥信号量用于实现对共享资源的互斥访问。
当互斥信号量的值为1时,表示资源未被占用;当互斥信号量的值为0时,表示资源已被占用。
6. 请举例说明如何使用信号量实现进程间的同步。
答:假设有两个进程A和B,它们需要按照特定的顺序执行。
可以使用两个信号量A和B来实现进程间的同步。
进程A执行完某个任务后,会对信号量A进行V操作,然后阻塞等待信号量B。
进程B执行完某个任务后,会对信号量B 进行V操作,然后阻塞等待信号量A。
这样,进程A和进程B就可以按照特定的顺序交替执行。
7. 请举例说明如何使用信号量实现进程间的互斥。
答:假设有两个进程A和B,它们需要对共享资源进行访问。
可以使用一个互斥信号量mutex来实现进程间的互斥。
在进程A访问共享资源之前,先对mutex进行P操作,如果mutex的值为0,则进程A会被阻塞。
在进程A访问完共享资源后,对mutex进行V操作,唤醒等待的进程。
1操作系统概述自测题1 选择题1.以下_____操作系统中的技术是用“时间”来换取“空间”的。
A.虚拟存储器B.缓冲技术C.SPOOLing技术D.快表2.设计实时操作系统必须首先考虑系统的______。
A.效率B.可移植性C.可靠性D.使用的方便性3.一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的______特点。
A.并发性B.共享性C.虚拟性D.不确定性4.下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统?A.实时B.批处理C.分时D.分布式5.操作系统中,以下______采用了以“空间”换“时间”的技术。
A.终端技术B.缓冲技术C.通道技术D.虚拟存储技术6.按照所起的作用和需要的运行环境,操作系统属于_______。
A.支撑软件B.用户软件C.应用软件D.系统软件7.操作系统的主要功能是存储器管理、设备管理、文件管理、用户接口和______。
A.进程管理B.用户管理C.信息管理D.操作系统管理8.操作系统的最基本的两个特征是资源共享和_______。
A.多道程序设计B.程序的并发执行C.中断D.程序顺序执行9.采用多道程序设计技术可以提高CPU和外部设备的______。
A.稳定性B.可靠性C.利用率D.兼容性10.在计算机系统中,操作系统是_______。
A.处于裸机之上的第一层软件B.处于硬件之下的底层软件C.处于应用软件之上的系统软件D.处于系统软件之上的用户软件11.操作系统是对_____进行管理的软件。
A.软件B.硬件C.计算机资源D.程序12.从用户的观点,操作系统是______。
A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.是扩充裸机功能的软件,是比裸机功能更强、使用方便的虚拟机13.操作系统的基本类型是_____。
A.批处理系统、分时系统和多任务系统B.实时系统、分时系统和批处理系统C.单用户系统、多用户系统和批处理系统D.实时系统、分时系统和多用户系统14.为了使系统中的所有用户都得到及时的响应,操作系统应该是___.A.实时系统B.批处理系统C.分时系统D.网络系统15.如果分时系统的时间片一定,那么____会使响应时间越长。
某车站售票厅任何时刻最多可容纳20名购票者进入,当售票厅少于20名购票者时,则厅外的购票者可以立即进入,否则需要在外面等待。
若把一个购票者看作一个进程,请回答下列问题:(1)用P,V操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。
(2)根据所定义的信号量,把应该执行的P,V操作填入下述程序中,以保证进程能够正确地并发执行。
(3)若欲购票者最多为N个大,写出信号量可能的变化范围(最大值和最小值)1)定义信号量S,初值为20。
S>0,S的值表示可继续进入售票厅的人数;S=0,表示售票厅已有20名购票者;S<0,|S|的值为等待进入售票厅的人数。
2、COBEGIN PROCESS PI(I=1,2,…)Begin进入售票厅;购票;退出;EndCOEND例题:某工厂有一个可以存放设备的仓库,总共可以存放8台设备。
生产部门生产的每一台设备都必须入库。
销售部门可以从仓库提出设备供应客户。
设备的入库和出库都必须借助运输工具。
现只有一套运输工具,每次只能运输一台设备。
请设计一个能协调工作的调度管理系统。
(1)定义信号量,说明各信号量的含义并赋初值:mutex,full,empty:semaphore;mutex:=1;运输工具是否空闲,初值为1empty:=8;仓库中尚可存放多少设备,初值为8full:=0;仓库中的设备数,初值为0(2)PV操作实现如下beginmutex,full,empty:semaphore;mutex:=1;empty:=8;full:=0;cobegin.processor producerprocessor consumerbeginbegin生产设备;P(full);P(empty); P(mutex);P(mutex);将设备从仓库取出;将设备送入仓库;V(mutex);V(mutex); V(empty);V(full);把设备销售给用户;end;end;coend;end.例题:设在公共汽车上,司机和售票员的活动分别是:司机:启动车辆,正常行车,到站停车。
C++中的互斥锁和信号量是多线程编程中常用的同步机制,它们可以用来解决多线程访问共享资源时可能出现的竞态条件问题。
下面是关于C++中互斥锁和信号量的一些选择题,供大家学习和参考。
1. 互斥锁和信号量的作用是什么?A. 保护共享资源,防止多个线程同时访问B. 控制线程的执行顺序C. 增加线程的并发性D. 以上都是答案:A。
互斥锁和信号量都是用来保护共享资源,防止多个线程同时访问而发生竞态条件的情况。
2. 互斥锁和信号量的区别是什么?A. 互斥锁只能由一个线程持有,而信号量可以由多个线程同时持有B. 互斥锁只能保护一个共享资源,而信号量可以保护多个共享资源C. 互斥锁是二元的,只能表示锁定和解锁两种状态,而信号量可以有多个取值D. 以上都是答案:C。
互斥锁是二元的,只能表示锁定和解锁两种状态;而信号量可以有多个取值,可以用来控制同时访问的线程数量。
3. 在C++中,互斥锁和信号量的实现方式分别是什么?A. 互斥锁使用std::mutex实现,信号量使用std::semaphore实现B. 互斥锁使用std::lock实现,信号量使用std::semaphore实现C. 互斥锁使用std::mutex实现,信号量使用std::condition_variable 实现D. 以上都不是答案:C。
在C++中,互斥锁使用std::mutex进行实现,而信号量目前并没有标准的实现,可以使用第三方库或者自行实现。
4. 以下关于互斥锁和信号量的说法中,正确的是?A. 互斥锁和信号量都可以防止死锁的发生B. 互斥锁是一种更轻量级的同步机制C. 信号量可以用于线程之间的通信D. 互斥锁和信号量在功能上是等价的答案:C。
信号量可以用于线程之间的通信,通过控制资源的数量来实现线程间的同步和互斥。
而互斥锁和信号量在功能上是有区别的,不能说它们是等价的。
5. 下面关于互斥锁和信号量的哪种说法是错误的?A. 互斥锁可以用于避免多个线程同时访问共享资源B. 信号量是一种更高级的同步机制,可以实现互斥锁的功能C. 互斥锁在尝试获取锁失败时会阻塞线程D. 信号量的值可以在不同线程之间进行传递和共享答案:B。
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A。
机器指令B。
系统调用命令C. 作业控制命令D。
低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A。
0个B。
l个C. 2个D。
3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A。
sender,message B。
sender,mailboxC. receiver,message D。
receiver,mailbox(4)下述那个选项不是管程的组成部分_A__.A。
管程外过程调用管程内数据结构的说明B。
管程内对数据结构进行操作的一组过程C。
局部于管程的共享数据说明D。
对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B。
低级通信C。
管道通信D。
高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. —1B. 0C。
1 D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D。
一个互斥资源(8)信箱通信是一种_D__通信方式。
A。
直接通信 B. 信号量C。
低级通信D。
间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B。
表示没有进程进入临界区C。
表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B。
共享C。
永久 D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
A。
信箱B。
操作系统综合题知识点笔记可能会算特别大的数字,请带上计算器。
1. 信号量(semaphore)对一个信号量有2种操作:down&up(或者用P&V来表示)。
down操作检查信号量S是否大于0,是则将S减1并继续,否则使进程睡眠。
up操作检查有无进程在S上睡眠,是则唤醒其中一个进程,否则将S加1。
注意,旧版down操作无论S是否大于0都将S减1;旧版up操作无论有无进程在睡眠都将S加1。
即down操作检查信号量S是否大于0,是则将S减1然后继续,否则将S减1然后使进程睡眠。
up操作检查有无进程在S上睡眠,是则将S加1然后唤醒其中一个进程,否则将S加1。
题目默认隐含的假设:所有进程都在开始时就启动了。
不能在中途启动进程。
光看这个没什么用,做做课后题或往年试题。
2.调度(scheduling)周转时间(turnaround time):一个批处理作业从提交到完成的统计平均时间。
忽略进程切换(process switch,又称上下文切换context switch)的时间,一个进程从提交到完成的时间等于等待时间与运行时间之和。
原因:一个进程从提交到完成要么在等待,要么在运行。
(答题时最好抄一下原因,证明一下再用)答题时请列出进程运行的时间轴(推荐用甘特图(Gantt chart)代替,比较繁琐但是思路清晰)。
A.先来先服务(First-Come First-Served, FCFS):顾名思义。
有护航效果(Convoy Effect)。
B.最短作业优先(Shortest Job First, SJF):顾名思义。
C.最短剩余时间优先(Shortest Remaining Time Next):顾名思义。
与最短作业优先的区别:假如一个长作业(进程)正在运行时,有一个短作业(进程)到达,SJF不会将正在运行的长作业中断然后让短作业先运行,而最短剩余时间优先会。
D.转轮调度(Round Robin):先设定时间片(quantum)的值,让进程按照先来后到排队,将队首的进程运行一个时间片后,把它放到队尾,然后运行下一个在队首的进程。