1、1.2 操作系统以什么方式组织用户使用计算机?答:操作系统以进程的方式组织用户使用计算机.用户所需完成的各种任务必须由相应的程序来表达出来。为了实现用户的任务,必须让相应功能的程序执行。而进程就是指程序的运行,操作系统的进程调度程序决定 CPU 在各进程间的切换。操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“ 进程创建 ”系统调用进行创建。1.4 早期监督程序(Monitor)的功能是什么? 答:早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。监督程序首先
2、把第一道作业调入主存,并启动该作业。运行结束后,再把下一道作业调入主存启动运行。它如同一个系统操作员,负责批作业的 I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。1.7 试述多道程序设计技术的基本思想。为什么采用多道程序设计技术可以提高资源利用率?答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。从微观上看,某一时刻处理机只运行某道程序。可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用 CPU
3、、外设等资源,即使用一段时间的CPU,然后使用一段时间的 I/O 设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现 CPU和 I/O 设备的高度并行,可以大大提高 CPU 与外设的利用率。1.8 什么是分时系统?其主要特征是什么?适用于哪些应用?答:分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享 CPU。主要特征是:并行性:系统能协调多个终端用户同时使用计算机系统,
4、能控制多道程序同时运行。共享性:对资源而言,系统在宏观上使各终端用户共享计算机系统中的各种资源,而在微观上它们则分时使用这些资源。交互性:人与计算机以交互的方式进行工作。独占性:使用户感觉到他在独占使用计算机。现在的系统大部分都是分时系统,主要应用于人机交互的方面。2.1 什么是中断?什么是异常?它们有何区别? 答:中断是指来自 CPU 执行指令以外的事件发生后,处理机暂停正在运行的程序,转去执行处理该事件的程序的过程。异常是指源自 CPU 执行指令内部的事件发生后,处理机暂停正在执行的程序,转去处理该事件的过程。区别:广义的中断包括中断和异常,统一称为中断。狭义的中断和异常的区别在于是否与正
5、在执行的指令有关,中断可以屏蔽,而异常不可屏蔽。 2.2 什么是多级中断?为什么要把中断分级?试述多级中断的处理原则。答:中断分级是根据中断的轻重缓急来排序,把紧迫程度大致相当的中断源归并在同一级,而把紧迫程度差别较大的中断源放在不同的级别。一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。这就是多级中断。这所以引入多级中断是因为:为使系统能及时的响应和处理所发生的紧迫中断,同时又不至于发生中断信号丢失,计算机发展早起在设计中断系统硬件时根据各种中断的轻重在线路上作出安排,从而使中断响应能有一个优先次序。多级中断的处理原则:当多级中断同时发生时,CPU 按照由高到低的顺序响应。高级中断
6、可以打断低级中断处理程序的运行,转而执行高级中断处理程序。当同级中断同时到时,则按位响应。2.6 什么是中断向量?其内容是什么?试述中断的处理过程。答:中断向量:为处理方便,一般为系统中每个中断信号编制一个相应的中断处理程序,并把这些程序的入口地址放在特定的主存单元中。通常将这一片存放中断处理程序入口地址的主存单元称为中断向量。中断向量的内容:对不同的系统,中断向量中的内容也不尽相同。一般每一个中断信号占用连续的两个单元:一个用来存放中断处理程序的入口地址,另一个用来保存在处理中断时CPU 应具有的状态。中断的处理过程:一般包括保存现场,分析中断原因,进入相应的中断处理程序,最后重新选择程序运
7、行,恢复现场等过程。2.7 中断 /异常处理为什么要保存现场和恢复现场?现场应包括哪几方面的内容?答:因为中断处理是一项短暂性的工作,逻辑上处理完后还要回到被中断的程序,从其恢复点继续运行。为了能实现正确的返回,并继续运行下去,在中断处理前后必须保存和恢复被中断的程序现场。现场应包括:PC 寄存器的内容,通用寄存器以及一些与程序运行相关的特殊寄存器中的内容。 2.8 操作系统内核的主要功能模块有哪些?如果采用微内核模型,原来在内核的功能中,哪些功能在微内核中实现?哪些由用户态运行的进程实现?答:操作系统内核的主要功能模块有:1、系统初始化模块 2、进程管理模块 3、存储管理模块 4、 I/O
8、设备管理模块 5、文件管理模块采用微内核模型,原来在内核的功能中,少量的进程调度切换代码和中断处理程序在微内核中实现,原来由内核态实现的大部分操作系统系统调用处理等功能转由用户态运行的进程实现。2.9 从控制轨迹上看,系统调用和程序级的过程调用都相当于在断点处插入一段程序执行,但它们却有质的区别,试述这种差别。答:这种差别主要在于处理机运行状态的变化。发生系统调用时,处理机由用户态进入核心态;而程序调用时,运行状态不发生变化,其状态仍然保持在用户态。2.11 试述终端命令解释程序的处理过程。答:终端命令解释程序的处理过程如下:判断命令的合法性识别命令,如果是简单命令则处理命令,然后继续读取下一
9、条命令如果是不认识的命令关键字,则在约定目录下查找与命令关键字同名的执行文件,创建子进程去执行“执行文件” 程序,等待子进程结束后转继续读取下一条命令。3.1 什么是进程?为什么要引入此概念?试述进程的特点及它与程序的区别。答:进程是支持程序执行的机制,是程序针对某一数据集合的执行过程。引入此概念的原因:随着操作系统的发展而产生。在监督程序时代以作业形式表示程序运行,那时,作业以同步方式串行地运行每个作业步,当操作系统发展到分时系统时,为了开发同一作业中不同作业步之间的并发,作业机制已经不能满足需要,因而引入了进程机制。进程的特点:动态性:可动态创建,结束 ,也可是被调度进程并发性:可以被独立
10、调度,占用处理机运行独立性:尽量把并发事务安排到不同的进程制约性:因访问共享数据或进程间同步而产生制约.与程序的区别:进程是程序的执行过程,程序是静态的,进程是动态的。一个进程至少是一个可执行程序,同一个程序可以由多个进程分别执行。3.2 进程控制块的作用是什么? PCB 中应包括哪些信息?答:进程控制块的作用是:进程控制块用于保存每个进程和资源的相关信息,包括进程标识、空间、运行状态、资源等信息。以便于操作系统管理和控制进程和资源。PCB 中应包括: 1、进程标识信息:本进程的标识、父进程的标识、进程所属用户的标识。2、处理机状态信息。保存进程的运行现场信息,包括用户可用寄存器的信息;控制和
11、状态寄存器的信息;栈指针。3.4 为什么进程状态会发生变化?何时变化?(P54)答:进程在它的生存周期中,由于系统中各进程并发运行及相互制约的结果,使得它的状态不断发生变化。状态变化的时机:空创建:当一个新进程被产生来执行一个程序时。创建就绪:当进程被创建完成,初始化后,一切就绪准备运行时。就绪运行:当处于就绪状态的进程被进程调度程序选中后。运行结束:当进程指示它已经完成或者因错流产时。运行就绪:处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或者在可剥夺的操作系统中,当有更高优先级的进程就绪时。运行阻塞:当进程请求某样东西且必须等待时。阻塞就绪:当进程要等待事件到来时
12、。3.5 进程创建的主要工作是什么?(P54)答:进程创建时的主要工作如下:1、接收进程运行现场初始值,初始优先级,初始执行程序描述,其它资源等参数。2、请求分配进程描述块 PCB 空间,得到一个内部数字进程标识。3、用从父进程传来的参数初始化 PCB 表。4、产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等。5、用进程运行现场初始值设置处理机现场保护区。造一个进程运行栈帧。6、置好父进程等关系域。7、将进程置成就绪状态。8、将 PCB 表挂入就绪队列,等待时机被调度运行。3.7 详细说明几个引起进程调度的原因。 (P62)答:1、进程主动放弃处理机时:正在
13、执行的进程执行完毕。操作系统在处理进程结束系统调用后应请求重新调度。正在执行的进程发出 I/O 请求,当操作系统代其启动外设 I/O 后,在 I/O 请求没有完成前要将进程变成阻塞状态,应该请求重新调度。正在执行的进程要等待其它进程或系统发出的事件时。如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。正在执行的进程得不到所要的系统资源,如要求进入临界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度。2、为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也应该申请进行
14、进程调度:当中断处理程序处理完中断,如 I/O 中断、通讯中断,引起某个阻塞进程变成就绪状态时,应该请求重新调度。当进程释放资源,走出临界区,引起其他等待该资源进程从阻塞状态进入就绪状态时,应该请求重新调度。当进程发系统调用,引起某个事件发生,导致等待事件的进程就绪时。其它任何原因引起有进程从其它状态变成就绪状态,如进程被中调选中时。3、为了支持可剥夺调度,即使没有新就绪进程,为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:当时钟中断发生,时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片到,应请求重新调度。以便让其他进程占用处理机。在按进程优先级进行进程调度的操
15、作系统中,任何原因引起进程的优先级发生变化时,应请求重新调度。如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。 3.8 什么时候进行进程调度最为合适?请说明理由。 (P63)答:进程调度的时机:当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃处理机的条件)可以马上进行调度与切换。当中断处理结束或自陷处理结束返回被中断进程的用户态程序执行前,若请求调度标志置上,即可马上进行进程调度与切换。如果操作系统支持这种情况下运行调度程序,即实现了剥夺方式的调度。3.10 对于三类进程(I/O 为主、CPU 为主和 I/O 与
16、CPU 均衡) ,应如何赋予它们的运行优先级并说明理由。 (P67)答:对于这三类进程,赋予的优先级由高到低分别为:I/O为主、I/O 与 CPU 均衡、CPU 为主。理由:为了充分利用外部设备,以及对终端交互用户及时地予以响应,通常将 I/O 型进程列为最高优先级队列。3.11 假设在单处理机上有五个进程(1、2、3、4、5)争夺运行,其运行时间分别为 10,1,2,1,5 秒,其优先级分别为3,1,3,4,2,这些进程几乎同时到达,但在就绪队列中的次序依次为 1,2,3,4,5,试回答:给出这些进程分别适用轮转法、SPF 和非剥夺优先级调度法调度时的运行进度表,其中,轮转法中的时间片取值为2。在上述各算法的调度下每个进程的周转时间和等待时间为多少?