The following scenario applies to questions 30, 31, and 32. Operating systems have evolved and changed over the years. The earli

admin2013-12-19  35

问题 The following scenario applies to questions 30, 31, and 32.
Operating systems have evolved and changed over the years. The earlier operating systems were monolithic and did not segregate critical processes from noncritical processes. As time went on operating system vendors started to reduce the amount of programming code that ran in kernel mode. Only the absolutely necessary code ran in kernel mode, and the remaining operating system code ran in user mode. This architecture introduced performance issues, which required the operating system vendors to reduce the critical operating system functionality to microkernels and allow the remaining operating system functionality to run in client/server models within kernel mode.
Which of the following best describes why there was a performance issue in the context of the scenario?

选项 A、Bloated programming code
B、I/O and memory location procedures
C、Mode transitions
D、Data and address bus architecture

答案C

解析 C正确。模式转换指的是CPU需要从处理用户模式下的代码转到处理内核模式中的代码。这是一种保护机制,但它带来了性能大幅提升,因为新进程中的所有信息都需要加载到寄存器中供CPU使用。当模式转换是从高优先级向低优先级(内核模式到用户模式)进行时,那么它听凭执行线程的处理:但是从低优先级到高优先级的模式转换只能通过安全的、硬件控制的“门”进行,这种转换可以通过执行特殊的指令,或当接收到外部中断时才会发生。
A不正确。因为尽管冗余(额外)编程代码在大多数情况下都会引发性能问题,但这不是本问题的重点。在比较操作系统的体系结构和相关性能问题时,焦点便归结到特定功能是如何执行的以及这些过程的效率如何,而不是该功能需要执行的代码量。
B不正确。因为I/O和内存位置与操作系统内核体系结构之间并没有直接关联。许多操作系统供应商修改它们产品的体系结构的特殊原因就是,CPU需要连续执行的模式转换的性能问题。
D不正确。因为数据和地址总线体系结构并不是供应商转到微内核体系结构的特殊原因。这个问题关注的是内核模式与用户模式下代码运行的数量以及模式转换发生的方式,这与总线体系结构没有任何关系。
转载请注明原文地址:https://kaotiyun.com/show/hyhZ777K
0

最新回复(0)