操作系统题目

上传人:m**** 文档编号:497875240 上传时间:2023-09-06 格式:DOCX 页数:9 大小:115KB
返回 下载 相关 举报
操作系统题目_第1页
第1页 / 共9页
操作系统题目_第2页
第2页 / 共9页
操作系统题目_第3页
第3页 / 共9页
操作系统题目_第4页
第4页 / 共9页
操作系统题目_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《操作系统题目》由会员分享,可在线阅读,更多相关《操作系统题目(9页珍藏版)》请在金锄头文库上搜索。

1、问答题1. 试比较作业和进程的区别。答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。一个作 业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。而进程 是已提交完毕的程序所执行过程的描述,足资源分配的基本单位。其主要区别 关系如下:(1) 作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后, 系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的 执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总 有相应的部分存在于内存中。(2) 一个作业可由多个进程组成。

2、且必须至少由一个进程组成,但反过来不成立。(3) 作业的概念主要用在批处理系统中。像Unix这样的分时系统中,则没有作业 概念。而进程的概念则用在几乎所有的多道程序系统中2. 试比较进程和程序的区别。答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合, 无执行含义,进程则强调执行的过程。(2) 进程具有并行特征(独立性,异步性),程序则没有。(3) 不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。3. 什么是线程?试述线程与进程的区别。答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存 储线程上下文的用户栈以及核心栈组成。线程可分为用户

3、级线程、核心级线程 以及用户/核心混合型线程等类型。其中用户级线程在用户态下执行,CPU调度 算法和各线程优先级都由用户设置,与操作系统内核无关。核心级线程的调度 算法及线程优先级的控制权在操作系统内核。混合型线程的控制权则在用户和 操作系统内核二者。线程与进程的主要区别有:(1) 进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存 空间、外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共 享进程资源,但自己没有任何资源。(2) 以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护 等问题,将导致处理机切换时间变长,资源利用率降低。以线程为单位进行处

4、理机切换和调度时,由于不发生资源变化,特别是地址空间的变化,处理机切 换的时间较短,从而处理机效率也较高。(3) 对用户来说,多线程可减少用户的等待时间。提高系统的响应速度。例如, 当一个进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的 操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待 中容易发生进程调度。对于多线程系统而言,则可以在同一进程中使用不同的 线程同时进行远程过程调用,从而缩短进程的等待时间。(4) 线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程 没有单独的数据和程序空间,因此,线程不能像进程的数据与程序那样,交换 到外存存储空

5、间。从而线程没有挂起状态。(5) 进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由 操作系统内核进行,也可以由用户控制进行。4 .进程调度的功能有哪些?答:进程调度的功能有:(1) 记录和保存系统中所有进程的执行情况;(2) 选择占有处理机的进程;(3 )进行进程上下文切换。5. 试比较P, V原语法和加锁法实现进程间互斥的区别。答:互斥的加锁实现是这样的:当某个进程进入临界区之后,它将锁上临界区, 直到它退出临界区时为止。并发进程在申请进入临界区时,首先测试该临界区 是否是上锁的,如果该临界区已被锁住,则该进程要等到该临界区开锁之后才 有可能获得临界区。但是加锁法存在如下弊

6、端:(1)循环测试锁定位将损耗较多 的CPU计算时间;(2)产生不公平现象。为此,P,V原语法采用信号量管理相 应临界区的公有资源,信号量的数值仅能由P,V原语操作改变,而P,V原语 执行期间不允许中断发生。其过程是这样的:当某个进程正在临界区内执行时, 其他进程如果执行了 P原语,则该进程并不像lock时那样因进不了临界区而返 回到lock的起点,等以后重新执行测试,而是在等待队列中等待由其他进程做 V原语操作释放资源后,进入临界区,这时P原语才算真正结束。若有多个进程 做P原语操作而进入等待状态之后,一旦有V原语释放资源,则等待进程中的 一个进入临界区,其余的继续等待。总之,加锁法是采用反

7、复测试lock而实现互斥的,存在CPU浪费和不公平现像, P,V原语使用了信号量,克服了加锁法的弊端。6. 什么是进程间的互斥?什么是进程间同步?答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公 有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的 共享该资源的并发进程同时进入临界区。进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进 行互相合作、互相等待,各进程按一定的速度执行的过程。7 .实现地址重定位的方法有哪几类?答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。(1) 静态地址重定位是在虚空间程序执行之前由装配程序完

8、成地址映射工作。 静态重定位的优点是不需要硬件支持,但是用静态地址重定位方法进行地址变 换无法实现虚拟存储器。静态重定位的另一个缺点是必须占用连续的内存空间 和难以做到程序和数据的共享。(2) 动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变 换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优 点有: 可以对内存进行非连续分配。 动态重定位提供了实现虚拟存储器的基础。 动态重定位有利于程序段的共享。形式化描述:略。8 .什么是虚拟存储器?其特点是什么?答:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。 虚拟存储器不考虑物理存储器的大小和信

9、息存放的实际位置,只规定每个进程 中相互关联信息的相对位置。每个进程都拥有自己的虚拟存储器,且虚拟存储 器的容量是由计算机的地址结构和寻址方式来确定。实现虚拟存储器要求有相 应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于 内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调指令 入内存。9. 请求页式管理中有哪几种常用的页面置换算法?试比较它们的优缺 点。答:比较常用的页面置换算法有:(1) 随机淘汰算法(randomglongram)。即随机地选择某个用户页面并将其换出。(2) 轮转法RR(roundrobin)。轮转法循回换出内存可用区内一个可以被换出的

10、页,无论该页是刚被换进或已经换进内存很长时间。(3) 先进先出法FIFO(firstinfirstout)。FIFO算法选择在内存驻留时间最长的 一页将其淘汰。(4) 最近最久未使用页面置换算法I. RU(1east recently unused) o该算法的基 本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有 使用过的页面先淘汰。(5) 理想型淘汰算法OPT(optimalreplacementalgorithm)。该算法淘汰在访问串 中将来再也不出现的或是在离当前最远的位置上出现的页面。10. 什么是文件目录?文件目录中包含哪些信息?答:一个文件的文件名和对该文件实施

11、控制管理的说明信息称为该文件的说明 信息,又称为该文件的目录。文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件 存储设备上第一个物理块的地址等信息。另外还可能包含关于文件逻辑结构、 物理结构、存取控制和管理等信息。11. 用于设备分配的数据结构有哪些?它们之间的关系是什么?答:用于设备分配的数据结构有:设备控制表DCT、系统设备表SDT、控制器表 COCT和通道控制表CHCT。SDF整个系统一张,每个设备有一张DCT,每个控制 器有一张COCT,每个通道有一张CHCT。SDF中有一个DCT指针,DCT中有一个 COCT指针,COCT中有一个CHCT指针。综合题1、请画出P原

12、语与V原语操作的功能流程图。答:P原语操作功能V原语操作功能2、子。但是桌子上共有5支筷子,在没人两边分开各放一支。哲学家们在 肚子饥饿的时候才试图分两次从两边拾起筷子就餐。条件:(1)只有拿到两支筷子时,哲学家才能吃饭。(2)如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才 能拿到筷子。(3)任一哲学家在自己未拿到两支筷子吃饭之前,绝不放下自己手中 的筷子。请回答:(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法。(2)描述一个既没有两邻座同时吃饭,又没人饿死(永远拿不到筷子) 的算法。解答:(1 )、设信号量c0c4,初始值均为1,分别表示i号筷子被拿(i=0,1,2,3,

13、4), send(i):第i个哲学家要吃饭 begin P(ci);P(ci+1 mod 5);eat;V(ci+1 mod 5);V(ci);End;该过程能保证两邻座不同时吃饭,但会出现5个哲学家一人拿一只筷子,谁也吃 不上饭的死锁情况.(2)、解决的思路如下:让奇数号的哲学家先取右手边的筷子,让偶数号的哲学 家先取左手边的筷子.这样,任何一个哲学家拿到一只筷子之后,就已经阻止了 他邻座的一个哲学家吃饭的企图,除非某个哲学家一直吃下去,否则不会有人会 饿死.send(i):第i个哲学家要吃饭BeginIf i mod 2=0 then(P(ci),P(ci+1 mod 5)eat;V(ci

14、,ci+1 mod 5)Else(P(ci+1 mod 5)P(ci)EatV(ci+1 mod 5)V(ci)End3、下图是一个生产者-消费者问题模型,其中缓冲区的长度为 n (n0) ,P1,P2,.Pm为一群生产者进程,C1,C2,Cm为一群消费者 进程。请给出生产者进程使用的过程deposit(data)和消费者进程使 用的过程remove(data)的实现算法。P1P2P3 Pm12nC2C3Cm各生产者进程使答:设生产者进程和消费者进程是互相等效的,其中, 用的过程deposit(data)和各消费者使用的过程remove(data)可描述如 下:首先,可以看到,上述生产者一消费

15、者问题是一个同步问题。即生 产者和消费者之间满足如下条件。(1) 消费者想接收数据时,有界缓冲区中至少有一个单元是满的;(2) 生产者想发送数据时,有界缓冲区中至少有一个单元是空的。另外。由于有界缓冲区是临界资源,因此,各生产者进程和各消费 者进程必须互斥执行。由以上分析,设公用信号量mutex保证生产者进程和消费者进程之 间的互斥,设信号量avail为生产者进程的私用信号量,信号量full 为消费者进程的私用信号量。信号量avail表示有界缓冲区中的空单元 数,初值为;信号量full表示有界缓冲区中非空单元数,初值为0。 信号量mutex表示可用有界缓冲区的个数,初值为1。从而有:deposit(data):beginP(avail)P(mutex)送数据入缓冲区某单元V(full)V(mutex)endremove(data):beginP(full)P(mutex)取缓冲区中某单元数据V(avail)V(mutex)End4、设进程P共有8页,且已在内存中分配有3个页面,程序访问内存 的顺序为:70120304230321

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号