2.5 自测练习答案
一、填空题
1.特权指令、非特权指令
2.管态(核心态或系统态)、目态(普通态或用户态)
3.Cache、主存、辅存(外存)、主存、辅存(外存)
4.DMA方式、通道控制方式
5.程序状态字(PSW)
6.中断源
7.软件时钟、绝对时钟、相对时钟
8.CPU、输入/输出的处理机、外设或外存
9.高速缓冲、速度
10.指令周期、机器周期
11.中断屏蔽
12.管态(系统态、核心态)
13.DMA控制器
14.CPU、外设
15.硬件、操作系统、操作系统
二、单项选择题
1.D 2.B 3.A 4.B 5.D
6.A 7.D 8.C 9.B 10.B
11.D 12.A 13.D 14.B 15.B
三、不定项选择题
1.BDE 2.AB 3.AC 4.CE 5.BDE 6.BDEFG
四、是非题
1.正确
2.正确
3.正确
4.错误:相对时钟(称为间隔时钟)根据已知的时间间隔产生中断。绝对时钟一般不会产生中断。
5.错误:采用中断。
6.错误:采用堆栈。
7.正确
8.错误:请求形式是I/O指令。
9.正确
10.错误:特权指令是指仅供内核程序使用的指令。
11.正确
五、综合题
1.答:一个程序可以在其他程序等待外围设备传送数据时占用处理器执行。在执行中,如果它也使用启动指令去启动一台正在工作的外围设备,那么就会造成冲突。为保护输入输出的完整性,将“启动I/O”等可能影响系统安全的指令定义为特权指令。特权指令只允许操作系统使用,用户程序不能使用特权指令。用户程序若要启动I/O,必须请求操作系统代为启动,这种方式不但可以保证安全地使用外围设备,正确地传送信息,而且可以减少用户为启动设备而必须了解外围设备特性以及启动等工作,大大方便了用户。
2.答:为了保证正确的操作,应该限制用户程序使用特权指令,为此,CPU有两种工作方式:管态和目态。在管态下,CPU可执行包含特权指令在内的一切指令;在目态下,CPU不能执行特权指令。操作系统在管态下工作,用户程序在目态下工作。如果用户程序执行特权指令,则会导致非法执行而产生保护中断,然后转向操作系统的“用户非法执行特权指令”的异常处理程序进行处理。
3.答:I/O控制包括4种方式:程序直接控制方式、中断控制方式、直接存储访问(DMA)方式、通道控制方式。
(1)程序查询(程序直接控制)方式
由用户程序直接控制CPU和内存与外设之间的数据传送。当用户进程需要数据时,通过CPU测试设备工作状态、发送读写命令、传输数据等。优点:控制简单,不需要多少硬件支持,适用于外设较少、CPU执行速度较慢的系统。缺点:CPU需花大量时间等待外围设备准备好接收或发送数据,并在等待期间,需要反复测试其状态,不能实现设备之间的并行工作。
(2)中断控制方式
在操作完成后(如数据可读或已经写入),由外设向CPU发出中断。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几字节),只适于数据传输率较低的设备。
(3)直接存储访问方式
在外设与内存之间开辟直接的数据交换通道。直接利用DMA控制器实现内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。
(4)通道控制方式
通道又称为I/O处理器,具有比DMA更强的I/O处理能力。它能完成主存与外设之间的数据传输,并与CPU进行协作。通道控制器有自己的专用存储器,可以执行由通道指令组成的通道程序(通常由操作系统所构造,在内存中)。优点:执行一个通道程序可以完成几批I/O操作。
4.答:中断屏蔽是指在中断请求发生后,系统采用软件方法有选择地暂时禁止对某些中断响应,而允许某些中断仍能得到响应。当CPU执行完一条指令时,如果外设向CPU发出中断请求,CPU在满足响应的条件下将发出中断响应信号,同时将“中断屏蔽”触发器置“1”,即关中断,表示CPU不再受理其他新的中断源发来的中断请求。这时,CPU找出中断源,保存现场,然后转至中断处理程序,当中断处理程序运行完毕后,恢复现场,将“中断屏蔽”触发器置“0”,即开中断,表示允许CPU受理中断请求,并返回到原来被中断的主程序的下一条指令。
5.答:计算机系统中,CPU执行两类性质不同的程序。一类是用户程序或系统外层的应用程序,另一类是操作系统程序。这两类程序的作用不同,后者是前者的管理者和控制者。显然,如果对两类程序给予同等“待遇”,则对系统的安全极为不利(普通指令和特权指令),所以操作系统享有用户程序所不能享有的权利。因此,将CPU的执行状态分为管态和目态,操作系统在管态下运行(允许执行所有指令),而外层用户程序在目态下运行,特权指令一般不允许在目态下执行。
6.答:主要区别为:中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时中断CPU。
中断控制方式的数据传送是在中断处理时由CPU控制完成,而DMA控制方式则是在DMA控制器的控制下完成。不过,在DMA控制方式中,数据传送的方向、存放数据的内存始址及传送数据的长度等仍然由CPU控制。
7.答:属于特权指令的有:
2)设置日历钟,改变时钟会中断已经被调用的事件。用户程序通常无此权限。
4)改变CPU的优先级,会引起中断丢失。
5)改变存储器管理寄存器,将会允许进程越权访问其他存储器单元。
8.答:当接通计算机电源或重新启动系统时,计算机系统立即自动执行“引导程序”。“引导程序”的主要工作是进行系统初始化,然后将操作系统的核心程序装入主存。刚接通电源时,由于操作系统未被装载,在用户态没有ROM引导程序可以使用的管理程序调用。ROM中的引导程序必须从引导设备中读代码并装入内存中。这一输入操作必须在核心态下执行。因此,计算机必须从核心态引导。
9.答:需要硬件的支持。在计算机的状态寄存器中设置一个系统状态位,或称为模式位,这个寄存器是由各种状态标志拼凑的寄存器,通常也称为程序状态字寄存器。当系统启动时,硬件置CPU的初始状态为管态,然后装入操作系统程序。系统启动后,如果操作系统选择了用户程序占用CPU,则将管态转换为目态。如果中断装置发现了一个事件,比如是由用户程序越权执行,企图执行一个特权指令而导致的中断,硬件又将CPU的状态由目态转为管态,由操作系统得到控制权来处理该事件。这样,总能保证操作系统在管态工作,操作系统退出执行时,让用户程序在目态执行。
10.答:系统调用在本质上是一种过程调用,但它是一种特殊的过程调用,与一般过程调用的主要区别如下:
1)运行状态不同。一般的过程调用,其调用和被调用过程都是用户程序,它们都运行在统一系统状态下;而系统调用的调用过程是用户程序,它运行在用户态,其被调用过程是系统过程,运行在核心态。
2)进入方式不同。一般过程调用可以直接通过过程调用语句,将控制转移到被调用过程,而执行系统调用时,由于调用和被调用过程处于不同的系统状态,必须通过访管中断进入。
3)代码层次不同。一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。
11.答:存储器的种类很多,按其用途可分为主存储器和辅助存储器。主存储器简称为主存,又称内存、物理存储器,是一种处理机能直接访问的存储器,用于存放系统和用户的程序和数据。特点是内存储器速度快、价格贵、容量小,断电后内存中数据会丢失。
辅助存储器简称外存,是一种处理机不能直接访问的存储器,用于存放用户的各种信息。外存通常是磁性介质或光盘,如硬盘、软盘、光盘、U盘、磁带、CD等,由机械部件带动,速度与CPU相比慢得多,但它具有价格低、容量大、断电后数据不会丢失等特点,用于长期保存信息。
U盘属于外存的一种,特点是体积小、重量轻,一般20g左右;容量大、品种多;无需额外电源(从USB总线取电);带写保护开关,防止文件被意外删除;一般不需要安装驱动程序。