操作系统---基础题目汇总十一

来源:互联网 发布:mac keynote 模板 编辑:程序博客网 时间:2024/06/05 21:07

1、在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。
正确答案: A

A、错
B、对

银行家算法中的安全序列不唯一,进程获得资源的顺序可以不同

2、处理机的所有指令可以在()中执行。
正确答案: D

A、目态
B、浏览器中
C、任意时间
D、系统态

cpu工作状态分为系统态(或称管理态,管态)和用户态(或称目态)。 引入这两个工作状态的原因是:为了避免用户程序错误地使用特权指令,保护操作系统不被用户程序破坏。具体规定为:当cpu处于用户态时,不允许执行特权指令,当cpu处于系统态时,可执行包括特权指令在内的一切机器指令。

3、静态重定位的时机是().
正确答案: C 你的答案: C (正确)

A、程序编译时
B、程序链接时
C、程序装入时
D、程序运行时

对程序进行重定位的技术按重定位的时机可分为两种:静态重定位和动态重定位。
静态重定位:是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的地址。对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位
优点:是无需增加硬件地址转换机构,便于实现程序的静态连接。在早期计算机系统中大多采用这种方案。
缺点:(1)程序的存储空间只能是连续的一片区域,而且在重定位之后就不能再移动。这不利于内存空间的有效使用。(2)各个用户进程很难共享内存中的同一程序的副本。
动态重定位:是在程序执行期间每次访问内存之前进行重定位。这种变换是靠硬件地址变换机构实现的。通常采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。
优点:(1)程序占用的内存空间动态可变,不必连续存放在一处。(2)比较容易实现几个进程对同一程序副本的共享使用。
缺点:是需要附加的硬件支持,增加了机器成本,而且实现存储管理的软件算法比较复杂。
现在一般计算机系统中都采用动态重定位方法。

4、下面有关文件block的说法错误的是?
正确答案: B

A、文件系统中存储的最小单位是块(Block)
B、block越大,inode越少,适合存储文件多而小的文件系统
C、block块可以用mkfs.ext3 -b来制定块的大小
D、每个block最多存放一个文件,而当一个block存放不下的情况下,会占用下一个block

文件系统中的最小存储单元是逻辑块,也就是这里所说的Blockblock越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。要格式化档案系统为Ext3,亦可以使用命令mkfs.ext3,block块可以用mkfs.ext3 -b来制定快的大小,每个block块最多可存放一个文件;block存放文件的数据,每个block最多存放一个文件,而当一个block存放不下的情况下,会占用下一个block

5、设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。
正确答案: A

A、一个进程进入了临界区,另一个进程等待
B、没有一个进程进入临界区
C、两个进程都进入临界区
D、两个进程都在等待

互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进程进入临界区;另一个进程准备进入临界区时,mutex - 1 = -1,mutex < 0时将该进程挂起到mutex的列表中,等待被唤醒。因此一个进程已经进入临界区,另一个进程在等待。

6、如果一个程序为多个程序所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是()。
正确答案: B 你的答案: B (正确)

A、可执行码
B、可重入码
C、可改变码
D、可再现码

重入代码(Reentry code)也叫纯代码(Pure code)是一种允许多个进程同时访问的代码。为了使各进程所执行的代码完全相同,故不允许任何进程对其进行修改。程序在运行过程中可以被打断,并由开始处再次执行,并且在合理的范围内(多次重入,而不造成堆栈溢出等其他问题),程序可以在被打断处继续执行,且执行结果不受影响。
可重入码:当被多个线程调用的时候,不会引用任何共享数据,他们是线程安全的。(注意与线程安全做区别,可重入是线程安全的真子集)。

7、进程P1和P2,资源A和B,进程对资源的操作定义如下:读取资源A:rA读取资源B:rB写入资源A:wA写入资源B:wB同时规定,进程读取某一资源前,必须加上共享锁,写入某一资源前必须加上排他锁;资源在被进程加共享锁时,可以被其他进程继续加共享锁,但不能加排他锁;资源在被进程加排他锁时,其他进程无法加锁。进程完成全部操作后释放锁。进程P1和进程P2并发执行,如下哪种运行序列可能会出现死锁___
正确答案: D

A、P1(rA->rB), P2(rA->wB)
B、P1(rA->rB), P2(wA->rB)
C、P1(wB->rA), P2(rA->rB)
D、P1(wB->rA), P2(wA->rB)
E、P1(wA->wB), P2(wA->wB)
F、P1(wA->rB), P2(wA->wB)

一个写,另一个读,此时会等待,因为写会加锁。
而造成相互等待(即循环等待),即发生死锁。
P1得到B想要A,p2得到A想要B
产生死锁的四个必要条件:
1)保持与请求,2)循环等待,3)非剥夺式,4)互斥事件不能同时访问(资源独占)

8、关于虚拟设备的论述正确的是()。
正确答案: C

A、虚拟设备是指允许用户使用系统中具有的物理设备更多的物理设备。
B、虚拟设备是指允许用户以标准方式来使用物理设备。
C、虚拟设备是指把一个物理设备变换成多个对应的逻辑设备。
D、虚拟设备是指允许用户程序不必全部装入内存就可以使用系统中的设备。

通过 虚拟技术 将一台独占设备虚拟成多台逻辑设备,供多个用户进程同时使用, 通常把这种经过虚拟的设备称为虚拟设备。 虚拟存储 的发展借鉴了计算机领域里很多成功的设计思想,从 虚存 、磁盘技术、RAID到IBM的大型机等的设计思想中都汲取了许多成功的经验。

9、下列选项中,有关死锁说法正确的是()
正确答案: A D

A、采用”按序分配”策略可以破坏产生死锁的环路等待条件
B、银行家算法是最有代表性的死锁解除算法
C、在资源的动态分配过程中,防止系统进入安全状态,可避免发生死锁
D、产生死锁的现象是每个进程等待着某一个不能得到且不可释放的资源

银行家算法是避免死锁;
在资源的动态分配过程中,防止系统进入不安全状态,可避免发生死锁。

0 0