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

1.请简述处理器的组成和工作原理。你认为哪些部分和操作系统密切相关,为什么?
答:处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。其中,运算器实现指令中的算术和逻辑运算,是计算机的核心。控制器负责控制长征运行的流程。寄存器是一种暂时存储器件,用于CPU执行指令的过程中暂存数据、地址以及指令信息,为CPU本身提供了一定的存储能力,但容量很小。处理器中的运算器、控制器、寄存器都与操作系统密切相关。操作系统就是通过对处理器中的这些部件来实现对程序的运算和程序流程的控制的。(P54)
2.为了支持操作系统,现代处理器一般都提供哪两种工作状态,以隔离操作系统和普通程序,两种状态各有什么特点?
答:现代处理器一般都提供管态和目态等两种工作状态。用户程序在目态下运行,只能使用非特权指令,具有较低的特权级别;操作系统在管态下运行,可以使用特权指令和非特权指令,具有较高的特权级别。 (P56)
3.计算机系统中既有操作系统程序,又有用户程序,在什么情况下操作系统才能占用中央处理器?
答:当用户程序占用CPU时,CPU在目态下运行,只能使用非特权指令;当需要使用特权指令时,将引起一次处理器状态的切换,此时处理器通过中断机制将目态转换为管态,然后将处理权移交给操作系统中的一段代码,操作系统才能占用CPU。从目态变为管态其转换的惟一途径是通过中断。(P56)
4.为什么要把“启动I/O”等指令定义为特权指令?
答:一个程序可以在其它程序等待外围设备传送信息时占用处理器执行,在执行中如果它也使用启动指令去启动一台正在工作的外围设备,那么就会造成冲突。为保护输入输出的完整性,把“启动I/O”等的一类可能影响系统安全的指令定义为特权指令。特权指令只允许操作系统使用,用户程序不能使用特权指令。用户程序若要启动I/O,必须请求操作系统代为启动,这种方式不但可以保证安全地使用外围设备,正确地传送信息,而且可减少用户为启动设备而必须了解外围设备特性以及启动等工作,大大方便了用户。(P55)
5.怎样限制用户程序中使用特权指令?
答:当用户程序占用CPU时,CPU在目态下运行,只能使用非特权指令。若此刻CPU取到了一条特权指令,CPU将拒绝执行并形成“非法操作”事件。中断机制识别到该事件,运行状态就从目态变为管态,将控制权转给操作系统,通过操作系统通知用户“程序中有非法指令”。 (P57)
6.什么是分级的存储体系结构?它主要解决了什么问题?
答:计算机存储系统的设计主要考虑容量、速度和成本三个问题。容量是存储系统的基础,都希望配置尽可能大的存储系统.同时要求存储系统的读写速度能与处理器的速度相匹配。此外成本也应该在一个合适的范围之内。但这三个目标不可能同时达到最优。一般情况下,存储设备读写速度越快,平均单位容量的价格越高,存储容量越小;反之,存储设备读写速度越慢,平均单位容量的价格越低,存储容量越大。为了在这三者之间取得平衡,就采用分级的存储体系结构,由寄存器、高速缓存、主内存、硬盘存储器、磁带机和光盘存储器等构成。操作系统经常访问较小、较贵而快速的存储设备,以较大、较便宜而读写速度较慢的存储设备作后盾。在整体上通过对访问频率的控制来提高存储系统的效能。 (P59)
7.请简述程序局部性原理
答:程序局部性原理,是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。(P59)
8.什么是存储保护,有哪些方法实现存储保护?
答:为使系统能正常工作,应防止由于一个用户程序出错而破坏其它用户程序和系统软件的数据,还要防止一个用户程序不合法的访问不是分给它的主存区域。为此,系统提供存储保护。主要通过地址越界检查和访问权限控制的方式实现。(P60)
9.操作系统与硬件如何配合来实现存储保护的?
答:操作系统通过与硬件中的界地址寄存器配合实现存储保护。其方法是在CPU中设置一对界限寄存器来存放某个作业在内存中的下限和上限地址,或者一个寄存器作为基址寄存器,另一个作为限长寄存器。每当CPU访问内存时,硬件自动将被访问的内存地址与界限寄存器的内容进行比较以判断是否越界。如果未越界,则按此地址访问内存,否则将产生越界中断。(P60)
10.常用的I/O控制技术有哪些,各有什么特点?
答:I/O控制方式的发展经历了四个阶段:程序查询方式、I/O中断方式、DMA方式和I/O通道方式。程序查询方式。在早期计算机或现代一些简单的微型计算机系统中,采用程序查询I/O方式。

  • 程序查询是一种用程序直接控制I/O操作的方式。CPU与外设的活动本质上是异步的,为了实现CPU与外设间的信息传送,CPU必须重复测试外设的状态,仅当外设是处在准备好的状态时,CPU才能与外设交换信息。所以,在程序查询I/O方式的接口电路中必须设置一状态端口,以使CPU通过执行输入指令了解外设的状态。当采用程序查询传送方式时,每当程序要使用某一外设进行I/O操作时,CPU要执行一段循环测试程序,以实现在外设准备好时执行一条输入/输出指令,进行一字节或字的数据传送操作。在这种方式下,CPU的大量时间消耗在等待输入/输出的循环检测上,使CPU与外设串行工作,严重影响了CPU和外设的使用效率,致使整个系统效率很低。
  • I/O中断方式。引入中断技术后,每当设备完成I/O操作时,便向CPU发出中断请求信号,通知CPU外设已准备好,可以进行数据传送操作。这样,CPU一旦启动I/O设备后便可执行其他程序,仅在收到I/O中断请求时才执行其中断服务程序,进行I/O处理和I/O操作。程序中断传送方式改善了CPU的利用率,并使CPU与外设并行操作。但I/O数据的处理和I/O操作的控制都是由CPU承担的,仍然消耗了CPU不少时间。
  • 直接存储器访问(DMA)方式。虽然I/O中断方式比程序查询方式更有效,但须注意,它仍是以字节或字为单位进行输入/输出的,每当完成一字节或字时,控制器便要向CPU请求一次中断。换言之,采用I/O中断方式时的CU,是以字节或字为单位进行干预的。如果将这种方式用于块设备的I/O,显然是低效的。例如,为了从磁盘中读出1KB的数据块,需要中断CPU 1000次。为了进一步减少CPU对I/O的干预而引入了直接存储器访问(DMA)方式。
  • I/O通道方式。I/O通道方式是DMA方式的发展,它会进一步较少对CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)有关的控制和管理为单位的干预。I/O通道有自己的指令系统,即通道程序,可以与CPU并行操作,独立管理外设和实现主存和外设之间的信息传输,使CPU摆脱了繁忙的I/O操作。在配置通道的计算机系统中,不仅能实现CPU与通道的并行操作,而且通道与通道、各通道的外设之间均能实现并行操作,因而有效地提高了整个系统的使用效率。

11.缓冲技术在计算机系统中起着什么样的作用,它是如何工作的?
答:作用是解决了处理器处理数据速度与设备传输数据速度不相匹配的问题。
工作原理是外部设备输入数据时先把数据暂存在缓冲区,缓冲区存满或数据输入结束后再把数据读入到工作区由处理器进行处理。(P62)
12.时钟对操作系统有什么重要作用?
答:时钟可防止系统陷入死循环、实现作业按时间片轮转运行、给出正确的时间信号、定时唤醒事先按确定时间执行的事件、记录事项、记录用户和系统所需要的绝对时间等。(P62-P63)
13.硬件时钟怎样实现,其作用是什么?
答:硬件时钟 工作原理是,在电路中的晶体振荡器每隔一定时间间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作。作用是提供绝对时钟作为整个计算机系统中的时间参考基准。也可以用来实现相对时钟。(P63)
14.软件时钟怎样实现,其作用是什么?
答:软件时钟主要是利用内存单元模拟时钟寄存器,并采用一段程序来计算相应的脉冲数,对内存时钟寄存器进行加1或者减1的操作,模拟时钟的功能。作用是弥补硬件时钟相对较少的缺陷,满足操作系统和应用程序对时钟的需求,可以用来实现相对时钟。(P63)
15.什么是中断,为什么说中断对现代计算机很重要?
答:中断是指CPU对系统中或系统外所发生的异步事件的响应。异步事件是指无一定时序关系的随机发生的事件。中断是所有要打断CPU的正常工作次序、并要求其去处理某一事件的一种常用手段。
中断技术解决了主机和外设并行工作的问题,消除了因外设的慢速而使得主机等待的现象,为多机操作和实时处理提供了硬件基础。 (P63)
16.中断的作用是什么?
答:中断的作用有两个方面:首先是使CPU能充分发挥使用效率,让I/O设备用中断的方式同CPU通信,报告其完成CPU所要求的数据传输的情况和问题,以免除CPU
不断地查询和等待,从而大大提高CPU的效率。其次是提高系统的实时能力:当系统要求实时处理某些事件时,可以通过中断请求及时处理,从而使CPU立即作出响应。(P64)
17.中断向量是什么,其作用是什么?
答:引起中断的事件称为中断事件或中断源计算机系统提供的中断源的有序集合称为中断字。处理某一种中断事件的程序称为中断处理程序。为了使中断装置便于找到所需的中断处理程序,专门设计了中断处理程序入口地址映射表,称为中断向量表。表中的每一项称为中断向量,主要由程序状态字PSW和程序计数器PC的值组成。中断向量的作用是通过它可以找到中断处理程序在内存中的存储位置。(P64)
18.中断响应主要做哪些工作?
答:中断响应主要包括5个工作:

  1. 处理器接收中断信号;
  2. 保护现场,将中断断点的PSW和程序计数器PC的值存入系统堆栈;
  3. 分析中断向量,取得中断处理程序的入口地址;
  4. 将处理器的PC值置为中断处理程序的入口地址;
  5. 调用中断处理程序。(P66)

19.中断处理的主要步骤是什么?
答:中断处理指中断信号已经被中断系统的硬件中断装置接收和响应之后,相应的中断处理程序进行中断处理的步骤。包括:

  • 检查I/O相关的状态信息、操纵I/O设备或者在设备和内存之间传送数据。
  • 根据中断请求的类别和要求不同,进行相应的中断处理。
  • 在中断处理程序结束工作之后,处理器检测到一条中断返回指令。
  • 处理器执行中断返回指令,把恢复中断时所保护的中断断点现场。
  • 处理器也恢复成被中断时的状态,整个中断处理结束。
    (P66)

20.为什么要对中断进行屏蔽?
答:如果没有中断屏蔽,当中断装置响应了某个中断后中断处理程序在进行处理时,中断装置也可能去响应另一个中断事件,就会出现优先级低的中断事件的处理打断优先级高的中断事件的处理,使得中断事件的处理顺序与响应顺序不一致,而且会形成多重嵌套处理,使多现场保护、程序返回等工作变得复杂。因此设置中断屏蔽。
21.多个中断同时发生时,系统是怎样处理的?
答:同时有多个中断请求时,系统接收中断优先级最高的中断而忽略其中中断优先级较低的中断。如果同一中端级中的多个设备接口都有中断请求,则按照固定的优先数或作者轮转法确定响应的顺序。
22.简述硬件的中断装置的作用
答:硬件的中断装置负责捕获中断源发出的中断请求,并以一定的方式响应中断源(将中断现场的程序状态字PSW,指令计数器PC的值和其他重要现场信息压入系统堆栈),然后将处理器的控制权交给与中断源相应的中断处理程序。(P65,P70)
23.哪些中断事件一定会引起进程状态的变化,哪些中断事件可能引起进程状态的变化,有不引起进程状态变化的中断事件吗?
答:一定会引起进程状态变化的中断事件:硬件故障中断、输入输出中断、自愿中断;可能会引起变化的中断事件:外部性中断事件、程序性中断事件。进程在执行中状态会不断地改变,每个进程在任何时刻总是处于三种基本状态之一:等待态、就绪态、运行态。中断事件是否引起进程状态的变化,还要看该中断事件的中断优先级和进程PSW的中断屏蔽位。晓津认为:硬件故障中断和自愿中断是一定会引起进程状态变化的,而其他中断则可能引起进程状态变化。
24.操作系统为什么要提供“系统调用”?
答:系统调用是操作系统为用户程序提供的一种服务界面,也可以说是操作系统保证程序设计语言能正常工作的一种支持。在源程序一级,用户用程序设计语言描述算题任务的逻辑要求,例如读文件、写文件、请求主存资源等。这些要求的实现只有通过操作系统的系统调用才能完成,其中有些要求还必须执行硬件的特权指令才能达到目的。
25.在操作系统中实现系统调用机制应该解决哪些问题?
答:进程控制、文件操作、进程通信、设备管理、信息维护等等。(P71)
26.当应用程序执行到系统调用时,系统是如何处理的?
答:当用户使用操作系统调用是,产生一条相应的指令(异常指令),处理器在执行到该指令时发生相应的中断,并发出有关信号给该处理机构(异常处理机构);该处理机构在收到了处理器发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章