27 KiB
概述习题
基本概念
功能
例题 系统调用是由操作系统提供给用户的,它()。
$A.$直接通过键盘交互方式使用
$B.$只能通过用户程序间接使用
$C.$是命令接口中的命令
$D.$与系统的命令一样
解:$B$。系统调用是操作系统为应用程序使用内核功能所提供的接口。
例题 操作系统与用户通信接口通常不包括()。
A.shell
$B.$命令解释器
$C.$广义指令
$D.$缓存管理指令
解:$D$。广义指令就是系统调用命令,而命令解释器属于命令接口,$shell$是命令解析器,它也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。
特征
例题 单处理机系统中,可并行的是()。
Ⅰ.进程与进程
Ⅱ.处理机与设备
Ⅲ.处理机与通道
Ⅳ.设备与设备
$A.$Ⅰ、Ⅱ、Ⅲ
$B.$Ⅰ、Ⅱ、Ⅳ
$C.$Ⅰ、Ⅲ、Ⅳ
$D.$Ⅱ、Ⅲ、Ⅳ
解:$D$。在单处理机系统(不包含多核的情况)中,同一时刻只能有一个进程占用处理机,因此进程之间不能并行执行。通道是独立于$CPU$的、控制输入/输出的设备,两者可以并行。显然,处理器与设备是可以并行的,难道$CPU$和显示屏不能并行工作?设备与设备是可以并行的,难道显示屏与打印机不能并行工作?
例题 下列选项中,不属于多道程序设计的基本特征是()。
$A.$制约性
$B.$间断性
$C.$顺序性
$D.$共享性
解:$C$。引入多道程序设计后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。顺序性是单道程序设计的基本特征。
操作系统类别
例题 操作系统有多种类型。允许多个用户以交互的方式使用计算机的操作系统,称为();允许多个用户将若干作业提交给计算机系统集中处理的操作系统,称为();在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并及时做出响应;在$IBM-PC$中,操作系统称为()。
$A.$批处理系统
$B.$分时操作系统
$C.$实时操作系统
$D.$微型计算机操作系统
解:$B$、$A$、$C$、$D$。强调交互式方式就是分时操作系统;多个作业集中处理强调了多个,所以就是批处理操作系统;强调及时处理与响应就是实时操作系统。微型计算机操作系统即微机系统,其中$IBM-PC$就是$IBM$发明的$PC$,即个人计算机。
分时操作系统
例题 分时系统追求的目标是()。
$A.$充分利用$I/O$设备
$B.$比较快速响应用户
$C.$提高系统吞吐率
$D.$充分利用内存
解:$B$。正是分时系统的特点同时性、及时性、交互性代表了其目标是快速响应用户,也正是不能完全满足这个目标才出现了实时操作系统。
例题 下列说法中,正确的是()。
Ⅰ.分时系统的时间片固定,因此用户数越多,响应时间越长
Ⅱ.$UNIX$是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统分类,属于分时操作系统
Ⅲ.中断向量地址是中断服务例行程序的入口地址
Ⅳ.中断发生时,由硬件保护并更新程序计数器($PC$),而不是由软件完成,主要是为了提高处理速度
$A.$Ⅰ、Ⅱ
$B.$Ⅰ、Ⅲ
$C.$Ⅲ、Ⅳ
$D.$仅Ⅳ
解:$A$。Ⅰ选项正确,分时系统中,响应时间与时间片和用户数成正比。Ⅱ选项正确。Ⅲ选项错误,中断向量本身是用于存放中断服务例行程序的入口地址,因此中断向量地址就应是该入口地址的地址。Ⅳ选项错误,中断由硬件保护并完成,主要是为了保证系统运行可靠、正确。提高处理速度也是一个好处,但不是主要目的。综上分析,Ⅱ、Ⅳ选项错误。
实时操作系统
例题 ()不是设计实时操作系统的主要追求目标。
$A.$安全可靠
$B.$资源利用率
$C.$及时响应
$D.$快速处理
解:$B$。实时性和可靠性是实时操作系统最重要的两个目标,而安全可靠体现了可靠性,快速处理和及时响应体现了实时性。资源利用率不是实时操作系统的主要目标,即为了保证快速处理高优先级任务,允许“浪费”一些系统资源。
多道程序
例题 设某计算机系统有一个$CPU$、一台输入设备、一台打印机。现有两个进程同时进入就绪态,且进程$A$先得到$CPU$运行,进程$B$后运行。进程$A$的运行轨迹为:计算$50ms$,打印信息$100ms$,再计算$50ms$,打印信息$100ms$,结束。进程$B$的运行轨迹为:计算$50ms$,输入数据$80ms$,再计算$100ms$,结束。画出它们的时序关系图(可用甘特图),并说明:
1)开始运行后,$CPU$有无空闲等待?若有,在哪段时间内等待?计算$CPU$的利用率。
2)进程$A$运行时有无等待现象?若有,在何时发生等待现象?
3 )进程$B$运行时有无等待现象?若有,在何时发生等待现象?
解:$A$先进入,则先占用设备。后来者等待,得到:
1)$CPU$在$100\sim150ms$时间段内空闲,利用率为$250/300=83.3%$。
2)进程$A$为无等待现象。
3)进程$B$为有等待现象,$0\sim50ms$,$180\sim200ms$。
操作系统的运行环境
例题 下列操作系统的各个功能组成部分中,()可不需要硬件的支持。
$A.$进程调度
$B.$时钟管理
$C.$地址映射
$D.$中断系统
解:$A$。中断系统和地址映射显然都需要硬件支持,因为中断指令和地址映射中的重定位都是离不开硬件支持的。而时钟管理中,重置时钟等是由硬件直接完成的。进程调度由调度算法决定$CPU$使用权,由操作系统实现,无须硬件的支持。
处理机状态
例题 计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换则是由()完成的。
$A.$硬件
$B.$核心态程序
$C.$用户程序
$D.$中断处理程序
解:$A$。计算机通过硬件中断机制完成由用户态到核心态的转换。$B$显然不正确,核心态程序只有在操作系统进入核心态后才可以执行。$D$中的中断处理程序一般也在核心态执行,在中断完成后对中断的结果进行一系列处理,因此无法完成“转换成核心态”这一任务。若由用户程序将操作系统由用户态转换到核心态,则用户程序中就可使用核心态指令,这就会威胁到计算机的安全,所以$C$不正确。
计算机通过硬件完成操作系统由用户态到核心态的转换,这是通过中断机制来实现的。发生中断事件时(有可能是用户程序发出的系统调用),触发中断,硬件中断机制将计算机状态置为核心态。
例题 在操作系统中,只能在核心态下执行的指令是()。
$A.$读时钟
$B.$取数
$C.$广义指令
$D.$寄存器清0
解:$C$。广义指令即系统调用命令,它必然工作在核心态,所以答案为$C$。要注意区分“调用”和“执行”,广义指令的调用可能发生在用户态,调用广义指令的那条指令不一定是特权指令,但广义指令存在于核心态中,所以执行一定在核心态。
例题 下列指令中,不能在用户态执行的是()。
$A.trap$指令
$B.$跳转指令
$C.$压栈指令
$D.$关中断指令
解:$D$。$trap$指令、跳转指令和压栈指令均可以在用户态执行,其中$trap$指令负责由用户态转换为内核态,跳转指令是指改变程序执行顺序的指令,压栈指令即进栈指令,与出栈(弹栈)指令相对,用于将数据压入数据栈。关中断指令为特权指令,指关闭中断机制的指令,必须在核心态才能执行,选$D$。关中断在中断机制中在第一步,用于完整保护现场避免指令打扰,也用于原语执行保持完整,关中断后要执行开中断指令。
例题 假定下列指令已装入指令寄存器,则执行时不可能导致$CPU$从用户态变为内核态(系统态)的是()。
A.DIV\,R0,R1;(R0)/(R1)\rightarrow R0
$B.INT,n;$产生软中断
$C.NOT,R0;$寄存器$R0$的内容取非
$D.MOV,R0,addr;$把地址$addr$处的内存数据放入寄存器R0
解:$C$。为什么会产生由用户态转换核心态?因为可能出现异常导致中断。$A$可能除数$R0$为$0$导致异常;$B$由于软中断,所以是一个中断指令,所以会转为核心态;$D$是将内存放入寄存器中,可能产生缺页异常(即放不进去);$C$是取反,只变一位数字,不会产生异常。
中断
例题 内部异常(内中断)可分为故障($fault$)、陷阱($trap$)和终止($abort$)三类。下列有关内部异常的叙述中,错误的是()。
$A.$内部异常的产生与当前执行指令相关
$B.$内部异常的检测由$CPU$内部逻辑实现
$C.$内部异常的响应发生在指令执行过程中
$D.$内部异常处理后返回到发生异常的指令继续执行
解:$D$。内部异常由内部产生,即在执行指令出现问题,所以$A$正确。异常由内部$CPU$检测,不必通过外部信号通知$CPU$,所以$B$正确。异常必须立刻响应处理,所以其相应在指令执行过程中,$C$对。对于非法指令等无法通过处理程序修复的问题,必须中断进行,所以不能回到原端点继续执行,$D$错误。
例题 处理外部中断时,应该由操作系统保存的是()。
$A.$程序计数器($PC$)的内容
$B.$通用寄存器的内容
$c.$块表($TLB$)中的内容
$D.Cache$中的内容
解:$B$。$PC$值由中断隐指令自动保存。通用寄存器内容由操作系统保存。$TLB$称为转译后备缓冲器,与$Cache$一样是$CPU$缓存的一种,都是由各自的缓存器保存。
例题 定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是()。
I.内核中时钟变量的值
Ⅱ.当前进程占用$CPU$的时间
Ⅲ.当前进程在时间片内的剩余执行时间
$A.$仅Ⅰ、Ⅱ
$B.$仅Ⅱ、Ⅲ
$C.$仅Ⅰ、Ⅲ
$D.$Ⅰ、Ⅱ、Ⅱ
解:$D$。时钟中断的主要工作是处理和时间有关的信息及决定是否执行调度程序。和时间有关的所有信息包括系统时间、进程的时间片、延时、使用$CPU$的时间、各种定时器,因此Ⅰ、Ⅱ、Ⅲ均正确。
系统调用
例题 下列关于系统调用的说法中,正确的是()。
Ⅰ.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和陷入($trap$)指令
Ⅱ.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令
Ⅲ.系统调用功能是操作系统向用户程序提供的接口
Ⅳ.用户及其应用程序和应用系统是通过系统调用提供的支持和服务来使用系统资源完成其操作的
$A.$Ⅰ、Ⅲ
$B.$Ⅱ、Ⅳ
$C.$Ⅰ、Ⅲ、Ⅳ
$D.$Ⅱ、Ⅲ、Ⅳ
解:$C$。Ⅰ正确:系统调用需要从用户应用程序调用系统的接口,用户态进入核心态,触发$trap$指令。(如基于$x86$的$Linux$系统,该指令为$int,Ox80$或$sysenter$。Ⅱ是干扰项,屏蔽中断指令由外部的异步操作造成,由操作系统接收到外部操作而产生对现场进行保护,程序设计无法形成屏蔽中断指令。Ⅲ正确:系统调用的概念。Ⅳ正确:操作系统是一层接口,对上层提供服务,对下层进行抽象。它通过系统调用向其上层的用户、应用程序和应用系统提供对系统资源的使用。
例题 下列关于系统调用的叙述中,正确的是()。
Ⅰ.在执行系统调用服务程序的过程中,$CPU$处于内核态
Ⅱ.操作系统通过提供系统调用避免用户程序直接访问外设
Ⅲ.不同的操作系统为应用程序提供了统一的系统调用接口
Ⅳ.系统调用是操作系统内核为应用程序提供服务的接口
$A.$仅Ⅰ、Ⅳ
$B.$仅Ⅱ、Ⅲ
$C.$仅Ⅰ、Ⅱ、Ⅳ
$D.$仅Ⅱ、Ⅲ、Ⅳ
解:$C$。用户可以在用户态调用操作系统的服务,但执行具体的系统调用服务程序是处于内核态的,Ⅰ正确;设备管理属于操作系统的职能之一,包括对输入/输出设备的分配、初始化、维护等,用户程序需要通过系统调用使用操作系统的设备管理服务,Ⅱ正确;操作系统不同,底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同,Ⅲ错误;系统调用是用户在程序中调用操作系统提供的子功能,Ⅳ正确。
操作系统的体系结构
例题 相对于传统操作系统结构,采用微内核结构设计和实现操作系统具有诸多好处,下列()是微内核结构的特点。
Ⅰ.使系统更高效
Ⅱ.添加系统服务时,不必修改内核
Ⅲ.微内核结构没有单一内核稳定
Ⅳ.使系统更可靠
$A.$Ⅰ、Ⅲ、Ⅳ
$B.$Ⅰ、Ⅱ、Ⅳ
$C.$Ⅱ、Ⅳ
$D.$Ⅰ、Ⅳ
解:$C$。微内核结构将操作系统的很多服务移动到内核以外(如文件系统),且服务之间使用进程间通信机制进行信息交换,这种通过进程间通信机制进行的信息交换影响了系统的效率,所以Ⅰ错。由于内核的服务变少,且一般来说内核的服务越少内核越稳定,所以Ⅲ错。而Ⅱ、Ⅳ正是微内核结构的优点。