操作系统第1阶段测试题
江南大学现代远程教育 第一阶段测试卷B
考试科目:《操作系统》第1章至第4章(总分100分) 时间:90分钟 ______________学习中心(教学点) 批次: 层次: 业余 专业: 学号: 身份证号: 姓名: 得分:
一、 名词解释(15分)
1、
2、
3、
4、
5、 程序状态字 线程 系统生成 系统调用 进程控制块
二、 什么是操作系统?从资源管理的角度去分析操作系统,它的主要功能是什么?(6分)
三、 处理应用程序分哪几个作业步?(5分)
四、 什么是管态?什么是用户态?两者有何区别?(6分)
五、 什么是中断响应?其实质是什么?(6分)
六、 软件的中断处理过程主要分为哪几个阶段?试用图画出软件的中断处理过程。(6分)
七、 进程有哪几种基本状态?在一个系统中为什么必须区分出这几种状态?(6分)
八、 n 个并发进程共用一个公共变量Q ,写出用信号灯实现n 个进程互斥时的程序描述,给
出信号灯值的取值范围,并说明每个取值的物理意义。(7分)
九、 用于进程控制的原语主要有哪几个?(5分)
十、 对操作系统的服务请求与一般的子程序调用有什么区别?(6分)
十一、 设一计算机系统有输入机一台、打印机两台,现有A 、B 两道程序同时投入运行,且程
序A 先运行,程序B 后运行。程序A 的运行轨迹为:计算50ms ,打印信息100ms ,再计算50ms ,打印信息100ms ,结束。程序B 运行轨迹为:计算50ms ,输入数据80ms ,再计算100ms ,结束。要求:(14分)
(1) 用图画出这两道程序并发执行时的工作情况。
(2) 在两道程序运行时,CPU 有无空闲等待?若有,在哪段时间内等待?为什么会空闲等
待?
(3) 程序A 、B 运行时有无等待现象?在什么时候会发生等待现象?为什么会发生? 十二、 如图(a )、(b )分别给出了两个进程流程图。试用信号灯的P 、V 操作分别实现如图所
示的两组进程之间的同步,并写出程序描述。(8分)
十三、选择、填空(10分)
1、若当前进程因时间片用完而让出处理机时,该进程应转变为( )状态。
A 、就绪 B、等待 C、运行 D、完成
2、原语是一种特殊的系统调用命令,它的特点是( )
A 、功能强 B、自己调用自己
C 、可被外层调用 D、执行时不可中断
3、下述( )不属于多道程序运行的特征
A 、多道 B、运行速度快
C 、宏观上并行 D、实际上多道程序是穿插运行的
4、操作系统的主要功能是 、 、 、 。
参考答案
一、名词解释
1、 程序状态字:任何程序运行时都有反映其运行状态的一组信息。有的机器将这一组信息集中在一起称为程序状态字,存放这些信息的寄存器称为程序状态字寄存器。
程序状态字是反映程序执行时机器所处的现行状态的代码。
2、 线程:线程是比进程更小的活动单位,它是进程中的一个执行路经。一个进程可以有多条执行路径,即线程。
3、 系统生成 :系统生成就是操作系统的生成过程。是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。
4、
系统调用:系统调用是用户在程序一级请求操作系统服务的一种手段,它不是一条简单的
硬件指令,而是带有一定功能号的访管指令。它的功能并非由硬件直接提供,而是由操作系统中的一段程序完成的,即由软件方法实现的。
5、 进程控制块:为了描述一个进程和其它进程以及系统资源的关系,为了刻画一个进程在各个不同时期所处的状态,人们采用了一个与进程相联系的数据块,称为进程控制块或称为进程描述器。系统根据进程控制块而感知进程的存在,故进程控制块是标识进程存在的实体。
二、什么是操作系统?从资源管理的角度去分析操作系统,它的主要功能是什么?
操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配和管理;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
操作系统具有如下资源管理功能:处理机分配;存储管理;设备管理;软件资源管理。
三、处理应用程序分哪几个作业步?
分为四个作业步:
编辑(修改);编译;连接;运行。
四、什么是管态?什么是用户态?两者有何区别?
管态又称为系统态,是操作系统的管理程序执行时机器所处的状态。
用户态又称目态,是用户程序执行时机器所处的状态。
在管态下允许中央处理机使用全部系统资源和全部指令,其中包括一组特权指令,允许访问整个存储区。在用户态下禁止使用特权指令,不能直接取用系统资源与改变机器状态,并且只允许用户程序访问自己的存储区域。
五、什么是中断响应?其实质是什么?
中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。其实质是交换指令执行地址和处理机状态。
六、软件的中断处理过程主要分为哪几个阶段?试用图画出软件的中断处理过程。
1、保护现场和传递参数;
2、执行相应的中断服务例程;
3、恢复和退出中断。
见书42页,图2.12
七、进程有哪几种基本状态?在一个系统中为什么必须区分出这几种状态?
三种基本状态:就绪状态,运行状态,等待状态。
如果系统能为每一个进程提供一台处理机,则系统所有进程都可以同时执行,但实际上处理机的数目总是少于进程数,因此往往只有少数几个进程(在单处理机系统中,则只有一个进程)可真正获得处理机控制权。通常把那些获得处理机控制权的进程所处的状态称为运行状态;把那些希望获得处理机控制权,但因为处理机数目太少而暂时分配不到处理机的进程所处的状态称为就绪状态。虽然所有进程并发执行,但它们之间并不完全独立,而是相互制约的,有的进程因某种原因暂时不能运行而处于等待状态。因此在任何系统中,必须有这三种基本状态。
八、n 个并发进程共用一个公共变量Q ,写出用信号灯实现n 个进程互斥时的程序描述,给出信
号灯值的取值范围,并说明每个取值的物理意义。
设置互斥信号灯mutex ,初值是1,表示公共变量Q 未被使用。
程序task
Main( )
{
}
Int mutex=1; Cobegin P1( ) { } P2( ) { : P1( ); P2( ); : : Pn( ); Coend : P(mutex); 访问Q ; V(mutex); :
} { } P(mutex); 访问Q ; V(mutex); : : : Pn( ) : P(mutex); 访问Q ; V(mutex); :
若mutex =1,表示没有进程进入临界区;
若mutex =0,表示有一个进程进入临界区访问Q ;
若mutex =-i ,{i取值1~(n-1)},表示有一个进程进入临界区,有i 个进程在等待进入临界区访问Q 。
九、用于进程控制的原语主要有哪几个?
创建原语,撤销原语,阻塞原语,唤醒原语,延迟原语
十、对操作系统的服务请求与一般的子程序调用有什么区别?
对操作系统的服务请求不能像一般用户子程序那样可以随便调用,因为操作系统中实现各种功能的例行子程序是操作系统的一部分,它运行时,机器处于管态,而用户程序运行时,机器处于用户态。用户用带有不同功能号的访管指令来请求操作系统各种不同的功能。操作系统服务例程与一般子程序的区别在于,服务例程所实现的都是与计算机系统本身有关的,它的调用是通过一条访管指令来实现的。
十一、
(1)
程序A 打印程序A 程序B 程序A 程序B 中央处理机输入机(2)两道程序运行时,CPU
打印机1
进行打印;程序B 计算50 ms后进行输入,此时CPU 因为没有其他作业计算出现空闲等待。
(3)程序A 没有空闲等待,程序B 有空闲等待。由于程序B 计算之后进行输入,当输入结束需要继续计算时,CPU 被作业A 使用,所以作业B 等待20ms 。
十二、(a )设置信号灯S 2、S 3、S 4,分别表示进程P 1、P 2、P 3能否开始运行,其初值0。 Main( )
{
}
程序A 打印结束程序A 打印打印机2 Int S2=0; Int S3=0; Int S4=0; Cobegin P1( ); P2( ); P3( ); P4( ); /*表示进程P2能否开始执行*/ /*表示进程P3能否开始执行*/ /*表示进程P4能否开始执行*/ Coend P1( ) { : : V (S 2); V (S 3) V (S 4)
{ } P3( ) { } P4( ) { } P(S4) ; : : P(S3) ; : : P(S2) ; : :
(b )设置信号灯S 表示进程P 3能否开始运行,其初值0。 Main( )
{
}
Int S=0; Cobegin P1( ); P2( ); P3( ); /*表示进程P3能否开始执行*/ Coend P1( ) { :
} P2( ) { } P3( ) { } P(S); P(S); : : : : V (S );
十三、选择填空
1、A
2、D
3、B
4、处理及分配;存储管理;设备管理;软件资源管理