在下列操作系统的各个功能组成部分中,一定需要专门硬件配合支持的是( )。 Ⅰ.地址映射 Ⅱ.进程调度 Ⅲ.中断系统 Ⅳ.系统调用

admin2017-04-28  25

问题 在下列操作系统的各个功能组成部分中,一定需要专门硬件配合支持的是(    )。
Ⅰ.地址映射
Ⅱ.进程调度
Ⅲ.中断系统
Ⅳ.系统调用

选项 A、Ⅰ
B、Ⅰ、Ⅲ
C、Ⅰ、Ⅲ、Ⅳ
D、Ⅱ、Ⅲ

答案B

解析 有人可能会这样理解,任何功能都是在硬件的基础上实现的,所以都是需要硬件支持的。但这里肯定不是这个意思,这里需要专门硬件支持的意思是,除了处理机和内存以外,为了实现该功能,需要另外添加的专门用于实现该功能的硬件。
Ⅰ是,地址映射是需要硬件机构来实现的。
例如,在分页储存系统中,需要一个页表寄存器,在其中存放页表在内存的始址和页表的长度。
除此之外,当进程要访问某个逻辑地址中的数据时,分页地址变换机构(它是硬件)会自动将有效地址(相对地址)分为页号和页内地址两部分,再以页号为索引去检索页表。查找操作是由硬件执行的。
Ⅱ不是,进程调度是通过使用一些调度算法来编程实现,所以不需要专门硬件支持。
Ⅲ是,CPU硬件有一条中断请求线(IRL)。CPU在执行完每条指令后,都将判断IRL。当CPU检测到已经有中断控制器(即中断源)通过中断请求线发送了信号时,CPU将保留少量状态如当前指令位置,并且跳转到内存特定位置的中断处理程序。这里的中断控制器是硬件。中断系统离开中断控制器是不可能工作的。
Ⅳ不是,对于系统调用是否一定需要专门的硬件这个问题,需要清楚系统调用的过程。
在C程序中调用系统调用好像是一般的函数调用,实际上调用系统调用会引起用户态到核心态的状态变化,这是怎么做到的呢?
原来C编译程序采用一个预定义的函数库(C的程序库),其中的函数具有系统调用的名字,从而解决了在用户程序中请求系统调用的问题。这些库函数一般都执行一条指令,该指令将进程的运行方式变为核心态,然后使内核开始为系统调用执行代码。称这个指令为操作系统陷入(Operating System Trap)。
系统调用的接口是一个中断处理程序的特例。在处理操作系统陷入时:
(1)内核根据系统调用号查系统调用入口表,找到相应的内核子程序的地址。
(2)内核还要确定该系统调用所要求的参数个数。
(3)从用户地址空间复制参数到U区(UNIX V)。
(4)保存当前上下文,执行系统调用代码。
(5)恢复处理机现场并返回。
上述(1)~(3)过程和(5)过程都不需要专门的硬件(除了CPU和内存),只有第(4)过程可能需要专门硬件,如显示器输出字符。但也可以不需要专门硬件,如打开一个已经在缓存中的文件。
综上所述,本题选B。
转载请注明原文地址:https://kaotiyun.com/show/FWRi777K
0

最新回复(0)