1.什么是多道程序设计
答:允许多道程序同时进入内存并运行。P79
2.多道程序设计怎样提高系统效率?多道程序设计一定能提高系统效率吗?
答:多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。具体表现为: 提高了处理器的利用率;充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;发挥了处理器与外围设备以及外围设备之间的并行工作能力。
采用多道程序设计能改变系统资源的使用情况,提高系统效率。但是也存在一些问题:
3.操作系统中为什么要引入“进程”?进程和程序有什么区别?
答:为了更好的描述程序的并发执行,实现操作系统的并发性和共享性,引入进程的概念来从技术上较为准确的描述正在运行、将要运行或者刚刚退出的各个程序的执行代码、数据以及所需要的资源信息等。
与程序的区别:进程是指一个程序在一个数据集合上的一次执行过程。程序是静止的,进程是动态的(执行),进程包括程序和程序处理的对象,进程能够得到程序处理的结果。P81
4.程序的并发执行有什么特点?并发和并行有什么区别?
答:特点:
程序的并行执行与并发执行区别:并发执行指的是在宏观上,即某一段时间周期内是同时进行的,这个时间周期要比处理区的指令处理周期长得多。在单处理器系统上,宏观上的并发执行程序在微观上仍然是顺序执行的。而并行执行则是不论爱宏观的时间周期上,还是微观上看,若干程序确实在同时运行。P78
5.可再入程序有什么特性?
答:可再入程序是指一个能够被多个用户同时调用的程序。它的特性有两点:
6.进程有哪些基本状态?它们的变化关系是怎样的?
答: 通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态: ·
进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态.
7.系统有n(n>1)个进程,在任一时刻,处于运行、就绪和等待状态的进程最多、最少各有几个?
答:在单处理器系统中,任一时刻,处于运行状态的进程最多只有一个,最少为0个;处于就绪状态的进程最多有n-1个,最少为0个;处于等待状态的进程最多有n个,最少有0个。
8.进程控制块的作用是什么?其主要内容有哪些?
答:进程控制块的作用:
主要内容:
9.进程能否修改访问自己的进程控制块内容
答:进程控制块是系统为程序建立的用于标志进程,记录各进程执行情况的。进程本身不能访问或者修改自己的进程控制块的内容,但父进程可以访问或修改其子孙进程的进程控制块内容,以便对它的子孙进程进行必要的管理和控制。
10.当进程调度选中一个进程后,怎样才能让它占用处理器?
答:当进程调度选中一个进程后,把选中进程的进程控制块中有关的现场信息,如通用寄存器、控制寄存器和程序状态字寄存器的内容送入处理器相应的寄存器中,处理器就按该进程的要求工作,达到了进程占用处理器的目的。P101
11.为什么要引入线程?线程和进程之间的区别和联系是什么?
答:线程引入是为了减少程序并发执行时所付出的时间和空间开销,使操作系统具有更好的并发性。
与进程的区别和联系:
联系:
区别:
12.为什么说线程间的状态切换比进程间的状态切换开销更低?同一进程中的两个线程切换的开销是否也比不同进程中两个线程切换的开销少?
答:线程不拥有自己的系统资源,切换状态时只需要保存少量的急促器内容,不涉及存储器管理方面的操作;而进程拥有自己的系统资源,创建和撤销时都需要进行资源分配或回收,切换状态时需要对整个当前进程的处理器环境进行保存,并对新的被调度的进程的处理器环境进行设置,这些操作都需要占用消耗系统资源。
同一进程间的线程具有相同的地址空间,共享相同的系统资源,切换方便,而不同进程之前线程切换时则需要进行进程切换,所以同一进程间的线程切换时开销也要小于不同进程中两个线程切换的开销。P97
13.进程调度的作用是什么?引起进程调度的因素有哪些?
答:在多道程序设计环境中,进程数往往多于处理机数,这将导致多个进程互相争夺处理机。进程调度的作用是记录系统中所有进程的执行状况,根据一定的调度算法,从就绪队列中选出一个进程来,把CPU分配给它。
引起进程调度的因素主要有:正在执行的进程运行完毕、正在执行的进程发送错误而中止、正在执行的进程进入等待(阻塞)状态、正在执行的进程的时间片用完、就绪队列中某个进程优先级高于正在运行进程的优先级。总之,当一个进程让出处理器或在抢占式调度中出现高优先级的就绪进程,就会引发进程调度,使另一个进程占用处理器运行。P101
14.抢占式调度和非抢占式调度有何区别?
答:抢占式调度中,当出现优先级较高的 就绪进程时,会立刻进行调度,转让处理器给优先级高的进程。非抢占式调度中,一旦把处理器分配给某个进程,它就会一直占有处理器,直到该进程进入阻塞状态或者时间片耗尽。P101
15.对于进程调度,较小的优先级值是表示较低的优先级还是较高的优先级?
答:不同的操作系统中设定不同。 在UNIX和许多其他系统中,大的优先级值表示低优先级进程。许多系统,比如WINDOWS,刚好相反,大数值表示高优先级。P107
21.在分级调度算法中,为什么对不同就绪队列中的进程规定使用不同长度的时间片?
答:因为各个就绪队列的优先级不一样,优先级越高的队列时间片长度越小,优先级越低的队列时间片越长.这样做的目的是让那些短而高优先级的作业迅速完成,而又让大的作业又能够处理完成。