自考(2017年版)《操作系统》——第三章思考题与练习题参考答案(自做)

1.什么是多道程序设计
答:允许多道程序同时进入内存并运行。P79


2.多道程序设计怎样提高系统效率?多道程序设计一定能提高系统效率吗?
答:多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。具体表现为: 提高了处理器的利用率;充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;发挥了处理器与外围设备以及外围设备之间的并行工作能力。
采用多道程序设计能改变系统资源的使用情况,提高系统效率。但是也存在一些问题:

  • 可能延长程序的执行时间:多道程序设计能提高系统整体的吞吐量和效率,但是具体到某个程序,则可能会延长其执行时间。
  • 系统效率的提高有一定限度:随着并行工作的程序道数的增加,内存大小和外围设备数量都是有限的,而多个程序要求使用同一资源的情况也会经常发生,此外还有程序执行速度的不确定性和用户提交程序的随机性,使得多道程序设计对系统效率的提高有一定限度。P80

3.操作系统中为什么要引入“进程”?进程和程序有什么区别?
答:为了更好的描述程序的并发执行,实现操作系统的并发性和共享性,引入进程的概念来从技术上较为准确的描述正在运行、将要运行或者刚刚退出的各个程序的执行代码、数据以及所需要的资源信息等。
与程序的区别:进程是指一个程序在一个数据集合上的一次执行过程。程序是静止的,进程是动态的(执行),进程包括程序和程序处理的对象,进程能够得到程序处理的结果。P81


4.程序的并发执行有什么特点?并发和并行有什么区别?
答:特点:

  1. 在执行期间并发程序相互制约
  2. 程序与计算不再一一对应
  3. 并发程序的执行结果不再可现

程序的并行执行与并发执行区别:并发执行指的是在宏观上,即某一段时间周期内是同时进行的,这个时间周期要比处理区的指令处理周期长得多。在单处理器系统上,宏观上的并发执行程序在微观上仍然是顺序执行的。而并行执行则是不论爱宏观的时间周期上,还是微观上看,若干程序确实在同时运行。P78


5.可再入程序有什么特性?
答:可再入程序是指一个能够被多个用户同时调用的程序。它的特性有两点:

  1. 程序必须是纯代码,在执行时自身不改变;
  2. 可再入程序的操作对象,即数据与程序是分离的,要求调用者提供专用工作区。

6.进程有哪些基本状态?它们的变化关系是怎样的?
答: 通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态: ·

  • 等待态:等待某个事件的完成;
  • ·就绪态:等待系统分配处理器以便运行; ·
  • 运行态:占有处理器正在运行。

进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态.

  • 运行态→等待态: 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
  • 运行态→就绪态: 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
  • 就绪态→运行态: 系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。

7.系统有n(n>1)个进程,在任一时刻,处于运行、就绪和等待状态的进程最多、最少各有几个?
答:在单处理器系统中,任一时刻,处于运行状态的进程最多只有一个,最少为0个;处于就绪状态的进程最多有n-1个,最少为0个;处于等待状态的进程最多有n个,最少有0个。


8.进程控制块的作用是什么?其主要内容有哪些?
答:进程控制块的作用:

  • 记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。 这些信息包括标志信息、说明信息、现场信息和管理信息等;
  • 标志进程的存在,进程控制块是进程存在的唯一标志。

主要内容:

  • 调度信息:进程名,进程号,地址空间信息,优先级,当前状态,资源清单,“家族”关系,消息队列指针,进程队列指针和当前打开文件等。
  • 现场信息:记录可能会被其他进程改变的寄存器,如程序状态字、时钟、界地址寄存器等。P86

9.进程能否修改访问自己的进程控制块内容
答:进程控制块是系统为程序建立的用于标志进程,记录各进程执行情况的。进程本身不能访问或者修改自己的进程控制块的内容,但父进程可以访问或修改其子孙进程的进程控制块内容,以便对它的子孙进程进行必要的管理和控制。


10.当进程调度选中一个进程后,怎样才能让它占用处理器?
答:当进程调度选中一个进程后,把选中进程的进程控制块中有关的现场信息,如通用寄存器、控制寄存器和程序状态字寄存器的内容送入处理器相应的寄存器中,处理器就按该进程的要求工作,达到了进程占用处理器的目的。P101


11.为什么要引入线程?线程和进程之间的区别和联系是什么?
答:线程引入是为了减少程序并发执行时所付出的时间和空间开销,使操作系统具有更好的并发性。
与进程的区别和联系:
联系:

  • 进程和线程都是操作系统所运行的程序运行的基本单元。线程具有许多传统进程的特征,又称为轻量级进程。

区别:

  • 线程是CPU独立运行和独立调度的基本单位,不拥有自己的系统资源,而是与同一进程的其他线程共享该进程的资源;进程则是资源分配的基本单位,拥有自己的独立地址空间。P96

12.为什么说线程间的状态切换比进程间的状态切换开销更低?同一进程中的两个线程切换的开销是否也比不同进程中两个线程切换的开销少?
答:线程不拥有自己的系统资源,切换状态时只需要保存少量的急促器内容,不涉及存储器管理方面的操作;而进程拥有自己的系统资源,创建和撤销时都需要进行资源分配或回收,切换状态时需要对整个当前进程的处理器环境进行保存,并对新的被调度的进程的处理器环境进行设置,这些操作都需要占用消耗系统资源。
同一进程间的线程具有相同的地址空间,共享相同的系统资源,切换方便,而不同进程之前线程切换时则需要进行进程切换,所以同一进程间的线程切换时开销也要小于不同进程中两个线程切换的开销。P97


13.进程调度的作用是什么?引起进程调度的因素有哪些?
答:在多道程序设计环境中,进程数往往多于处理机数,这将导致多个进程互相争夺处理机。进程调度的作用是记录系统中所有进程的执行状况,根据一定的调度算法,从就绪队列中选出一个进程来,把CPU分配给它。
引起进程调度的因素主要有:正在执行的进程运行完毕、正在执行的进程发送错误而中止、正在执行的进程进入等待(阻塞)状态、正在执行的进程的时间片用完、就绪队列中某个进程优先级高于正在运行进程的优先级。总之,当一个进程让出处理器或在抢占式调度中出现高优先级的就绪进程,就会引发进程调度,使另一个进程占用处理器运行。P101


14.抢占式调度和非抢占式调度有何区别?
答:抢占式调度中,当出现优先级较高的 就绪进程时,会立刻进行调度,转让处理器给优先级高的进程。非抢占式调度中,一旦把处理器分配给某个进程,它就会一直占有处理器,直到该进程进入阻塞状态或者时间片耗尽。P101


15.对于进程调度,较小的优先级值是表示较低的优先级还是较高的优先级?
答:不同的操作系统中设定不同。 在UNIX和许多其他系统中,大的优先级值表示低优先级进程。许多系统,比如WINDOWS,刚好相反,大数值表示高优先级。P107


21.在分级调度算法中,为什么对不同就绪队列中的进程规定使用不同长度的时间片?
答:因为各个就绪队列的优先级不一样,优先级越高的队列时间片长度越小,优先级越低的队列时间片越长.这样做的目的是让那些短而高优先级的作业迅速完成,而又让大的作业又能够处理完成。


你可能感兴趣的:(操作系统)