操作系统习题集 配套 答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.研究操作系统的主要观点有那些?

答:(1)资源的观点:研究如何对计算机系统中的各种软、硬件资源进行管理;怎样使计算机系统协调一致地、有效地为用户服务;如何既发挥计算机系统资源的使用效率、提高计算机系统的服务质量,又确保计算机系统的安全可靠。

(2)用户观点:操作系统是一个黑盒子,配置了操作系统的计算机与原来真实的物理计算机迥然不同,因为它提供了用户使用计算机的更方便手段,构造了一台虚拟机,采用的操作命令决定了虚拟机的功能。

(3)进程观点:从进程角度分析操作系统,则所有进程的活动就构成了操作系统的当前行为,在每一个瞬间都有一棵进程家族树,它展示着操作系统行为主体的一个快照。

(4)模块分层观点:用模块分层观点讨论模块之间的关系或者说讨论如何形成操作系统的架构,如何安排连结这些程序模块才能构造一个结构简单清晰、逻辑正确、便于分析和实现的操作系统。

2.什么是操作系统?简述现代操作系统的特征。

答:操作系统是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。

现代操作系统具有如下特征:

○1并发(共行)性:指能处理多个同时性活动的能力。I/O操作和计算重叠,内存中同时存放几道用户程序,这些都是并发的例子。

○2共享:指多个计算任务对资源的共同享用。并发活动可能要求共享资源和信息;多个用户共享一个程序的同一个副本,而不是分别向每个用户提供一个副本可以避免重复开发,节省人力资源。

○3不确定性:指操作系统必须能处理任何一种事件序列,以使各个用户的算题任务正确地完成。

3.操作系统和用户程序之间的关系是什么?

答:操作系统通过虚拟及其界面给用户程序提供各种服务,用户程序在运行过程中不断使用操作系统提供的服务来完成自己的任务。如用户程序在运行过程中需要读写磁盘,这时就要调用操作系统的服务来完成磁盘读写操作。

另一方面,用户程序不可能先于操作系统启动之前启动,因此每次启动一个用户程序,都相当于操作系统将控制转移给用户程序;而在用户程序执行完毕后,又将控制还回给操作系统。从这个角度看,操作系统是主程序,用户程序是子程序,操作系统在其生命周期内不断地调用各种应用程序。

因此操作系统和各种应用程序可以看作是互相调用,从而形成一个非常复杂的动态关系。

2.为什么要引入信号量集机制。信号量机制可以被用于何种场合?

答:1965年,Dijkstra在讨论并发进程时指出信号量机制是一种卓有成效的进程同步机制。由于操作系统可以被看成一个并发进程集,如果提供一种能支持他们之间合作的可靠机制,用户就能很容易地使用它们。因此它现已被广泛地应用于各种类型的操作系统中。

信号量的主要含义和用途如下:

○1信号量的含义。信号量是一个用来实现同步的整型或记录型变量,除了初始化外,对它只能执行wait和signal这两种原子操作。

○2信号量的物理意义。一个信号量S通常对应于一类临界资源。

○3用信号量实现互斥。为了实现进程对临界资源的互斥访问,需为每类临界资源设置一初值为1的互斥信号量mutex。

○4用信号量实现前趋关系。为实现前趋关系P i→P j,可为它们设置一个初值为0的信号量S。

3.原语与广义指令的主要区别。

答:所谓原语,是由若干条指令所组成都是一个指令序列,用来实现某个特定的操作功能。这个指令序列的执行是连续的,具有不可分割性,在执行时也不可间断,直到该指令序列执行结束。原语是操作系统核心的一个组成部分。原语必须在管态下执行,并且常驻内存。广义指令是作为机器指令的扩充而提供的,以便增加机器的功能。它是通过执行相应的程序模块来实现的,使计算机成为功能强大的虚拟计算机。现代计算机CPU的指令系统中都有一条称为“访管”的指令,用户特别是编程人员可以利用这条指令来访问操作性并向它提出要求。

6.进程的三种基本状态是什么?它们之间相互转换的主要原因是什么?

答:进程的三种基本状态是:

○1就绪状态(Ready),存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行,这些进程所处的状态为就绪状态(有多个进程处于此状态)。

○2运行状态(Running),当进程由调度/分派程序分派后,得到CPU控制权,它的程序正在运行,该进程所处的状态为运行状态(在系统中,总只有一个进程处于此状态)。

○3阻塞状态(blocked),若一个进程正在等待某个事件的发生(如等待I/O的完成),而暂停执行,这时,即使给它CPU时间,它也无法执行,则称该进程处于阻塞状态。

进程状态转换的主要原因有:

运行→阻塞:等待某事件的发生(如请求磁盘或键盘等执行I/O操作、等待同步信号、等待消息等)。

阻塞→就绪:等待的事件已经发生(如I/O完成,消息已到达)

运行→就绪:在可剥夺调度方式中,更高优先级的进程到达;在时间片轮转调度方式中,进程运行的时间片到。

7.何谓临界资源?使用临界资源的原则是什么?使用临界资源的诸进程间如何实现进程同步。

答:一次仅允许一个进程使用的资源称为临界资源。内存变量、指针、数组等等也是临界资源。

入临界区的准则:

(1)每次至多有一个进程处于临界区;

(2)当有若干个进程欲进入临界区时,应在有限的时间内使其进入;

(3)进程在临界区内仅逗留有限的时间。

可以采取如下策略实现临界资源的访问同步:

(1)锁机制

(2)信号量机制

(3)管程

(4)消息机制

10.进程产生的主要原因有哪些?Windows XP在启动时会有哪些进程产生?

答:进程产生的主要原因有:系统初始化;正在执行进程创立程序(子进程);用户请求创建新进程。在一个系统初始化时,将有许多系统正常运行时必不可少的进程产生。如Windows 初始化时自动产生对话管理(SMSS)、登录管理(WINLOGON)、安全管理(LSASS),Windows 子系统(CSRSS)、Windows壳(explore)等系统进程。

11.进程消亡的主要原因有哪些?

答:进程消亡的主要原因有:进程运行完成而退出(寿终);进程因错误而自行退出(自杀);进程被其他进程强行“杀死”(他杀);进程因异常而强行终结(处决)。

12.进程创建的主要步骤是什么?

答:进程创建的主要步骤是:分配进程控制块;初始化机器寄存器;初始化页表;将程序代码从磁盘读入内存;将处理器状态设置为“用户态”;跳转到程序的起始地址(即设置程序计数器)。

注:最后2步由硬件作为一个步骤一起完成。

1.进程调度的时机有哪些?

答:进程调度的时机主要有以下几种:○1正在执行的进程执行完毕或因发生某事件而不能再继续执行;○2执行中的进程因提出I/O请求而暂停执行;○3在进程通信或同步过程中执行了某种原语操作如P操作、阻塞、挂起原语等;○4在可剥夺式调度中,有比当前进程优先权更高的进程进入就绪队列;○5在时间片轮转法中,时间片完。

通常系统是按先来先服务或优先权形式来组织调度队列。

2.何为死锁?产生死锁的原因和必要条件是什么?

答:死锁是指多个进程的永久性阻塞现象,产生的原因主要有2个:进程间竞争资源;进程推进顺序非法。

产生死锁的四个必要条件:

(1)互斥条件:一个资源每次只能被一个进程使用。

(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。

(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。

3.死锁排除的方法有哪些?

答:○1撤消陷于死锁的全部进程;

○2逐个撤消陷于死锁的进程,直到死锁不存在;

○3从陷于死锁的进程中逐个强迫放弃所占用的资源,直至死锁消失;

○4从另外一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态。

相关文档
最新文档