当前位置:首页 > 操作系统试题与答案
一、 填空题(20分,每空1分)
1、操作系统设计的两个目标是 易用 和 高效 。
2、P.V操作必须成对 出现,有一个P操作就一定有一个V操作 。 3、临界资源是指 系统中一次只允许一个进程使用的资源 ,而临界区是指 涉及到临界资源的代码段 。
4、在请求式分页系统中,页框的分配有一种方式称为固定分配,固定分配有两种不同的方式,分别是平均分配 和按比率分配 。
5、在请求式分页存储管理系统中,不能在计算机中实现的页面淘汰算法是最佳算法 ,选择淘汰不再使用或最远的将来才使用的页的算法是先进先出算法 ,选择淘汰在主存驻留时间最长的页的算法是最近最少使用 。 6、文件的结构就是文件的组织形式,从用户观点出发所看到的文件组织形式称为文件的 逻辑结构 ;从实现观点出发,文件在外存上的存放组织形式称为文件的 物理结构 。
7、文件的目录组织形式主要有 单级目录 、二级目录 、树型目录和图型目录等。
8、设备的寻址方式主要有直接I/O指令 和存储器映射I/O指令 。
9、协同进程间一般通过 信箱 进行间接通信。
二、 选择题(20分,每题2分)
1、紧耦合系统就是 4 。 (1)分时操作系统 (2)分布式操作系统 (3)网络操作系统 (4)并行操作系统
2、以下不属于操作系统部件的是 2 。 (1)进程管理 (2)数据库管理 (3)保护系统 (4)命令解释器系统
3、如P和V操作的信号量S初值为4,则现在S=-1,表示有 1 个进程在等待。 (1)1 (2)2 (3) 3 (4)5
4、用V操作可以唤醒一个进程,被唤醒的进程状态变为 1 。 (1)就绪 (2)运行 (3)阻塞 (4)完成
5、所有就绪状态的进程按建立的先后顺序形成一个对列,从队列首挑选一个进程,分给时间片q ,投入运行。当时间片到时,而又没有完成的进程,将再次加入到队列尾,排队等待下一轮调度。这种进程调度算法称为 2。 (1)循环轮转调度算法 (2)优先数调度算法
(3)固定周期轮转调度算法 (4)多级队列调度算法
6、页式存储管理的快表一般存放在 4 。 (1) 内存(2)外存(3)硬盘(4)CACHE
7、虚拟存储器的最大容量由 2 决定。 (1) 内存容量
(2) 程序的地址空间 (3) 内外存容量
(4) 计算机的地址机构
8、可以分配给多个进程的设备是 1 。 (1)共享设备 (2)块设备 (3)独占设备 (4)互斥设备
9、光盘上的文件一般可以采用 3 存取方式。
(1)顺序 (2)随机 (3)直接 (4)顺序或随机
10、如果一个计算机的硬盘为64G,每个块的大小为4K,如果用位示图来管理硬盘的空间,则位示图的大小为 3 字节。
(1)16M (2)4M (3)2M (4)1M
三、 简答题(20分,每题5分)
1、什么是与设备无关性?有什么好处? 答:
为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称设备无关性。 基本含义:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备两概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。 优点:
设备分配时的灵活性
易于实现I/O重定向(用于I/O操作的设备可以更换(即重定向),而不必改变应用程序。
2、请给出记录型信号量中对P、V操作的定义。 答: P(S) { value--;
if (value < 0) {
add this process to list block } }
V(S) { value++;
if (value <= 0) {
remove a process P from list wakeup(P); } }
3、从内核角度看,内核级线程和用户级线程有什么不同? 答:
用户级线程仅存在于用户级中,它的创建、撤消和切换都不利用系统调用实现,与内核无关,相应的,内核也不知道有用户级线程存在。
内核级线程依赖于内核,无论用户进程中的线程还是系统进程中的线程,其创建、撤消、切换都由内核实现。在内核中保留了一张线程控制块,内核根据控制块感知线程的存在并对其进行控制。
(1)线程的调度与切换速度 内核支持线程的调度和切换与进程的调度和切换十分相似。对于用户级线程的切换,通常是发生在一个应用程序的多线程之间,这时,不仅无须通过中断进入OS的 内核,而且切换的规则也远比进程调度和切换的规则简单。因此,用户级线程的切换速度特别快。
(2)系统调用 当传统的用户进程调用一个系统调用时,要由用户态转入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。而在用户级线程 调用一个系统调用时,由于内核并不知道有该用户级线程的存在,因而把系统调用看作是整个进程的行为,于是使该进程等待,而调度另一个进程执行,同样是在内 核完成系统调用而返回时,进程才能继续执行。如果系统中设置的是内核支持线程,则调度是以线程为单位。当一个线程调用一个系统调用时,内核把系统调用只看 作是该线程的行为,因而阻塞该线程,于是可以再调度该进程中的其他线程执行。
4、什么是虚拟存储器?为什么要在存储管理中引入虚拟存储器。 答:
虚拟存储器由内存和外存组成,使得程序的部分装入内存就能运行的技术,引入的目的有二: 大作业能运行; 提高内存利用率。
四、在五状态图中,假如计算机只有一个CPU,如果系统中有N个进程:
(1)运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?
(2)有没有这样的状态转换,为什么?
等待—>运行 ; 就绪—>等待
(3)一个进程状态的转换是否会导致另一个进程的状态转换,请列出所有的可能。 解:
(1)如果系统中有N个进程,运行的进程最多1个,最少0个;就绪进程最多N-1个最少0个;等待进程最多N个,最少0个。 (2)没有这样的状态转换。
(3) 新建 到 就绪 导致 运行 到 就绪 就绪 到 运行 导致 无
运行 到 就绪 导致 就绪 到 运行 运行 到 等待 导致 就绪 到 运行 等待 到 就绪 导致 就绪 到 等待 运行 到 结束 导致 就绪 到 运行
五、10一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。
答:
设max(i)表示第i个进程的最大资源需求量, need(i)表示第i个进程还需要的资源量, alloc(i)表示第i个进程已分配的资源量。 由题中所给条件可知:
max(1)+…+max(20)=(need(1)+…need(20))+(alloc(1)+…+alloc(20))<50
如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即(反证法)alloc(1)+…+alloc(20)=30
另一方面所有进程将陷入无限等待状态。
由上述两式可得:need(1)+…+need(20)<20(关键) 上式表示死锁发生后,20个进程还需要的资源量之和小于20,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资 源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
六、一个分页存储系统,页表存放在内存:
l 如果访问一次内存需要200ns,则访问一个内存单元需要多少时间? l 如果系统采用三级页表,则访问一个内存单元需要多少时间?
l 如果系统引入联想寄存器,90%的页表项可以在快表中命中,则访问一个内存单元需要多少时间?(假设访问一次快表需要10ns) 解:
1、400NS 2、800NS 3、220NS
七、 设某文件的物理存储方式采用链接方式,该文件由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512字节,并依次存放在50、121、75、80、63号磁盘块上。(10分)
l 文件的第1569逻辑字节的信息存放在哪一个磁盘块上?
l 要访问第1569逻辑字节的信息,需要访问多少个磁盘块?(假如该文件的FCB在内存) 答:
因为:1569=512×3+33
所以要访问字节的逻辑记录号为3,对应的物理磁盘块号为80。故应访问第80号磁盘块。 由于采用链接方式,所以要访问第3个逻辑记录的信息,必须访问逻辑记录第0、1、2后,才能访问第3个逻辑记录,所以要访问第1569逻辑字节的信息,需要访问4个磁盘块。
共分享92篇相关文档