华为内部面试题库---(5)

1、分时操作系统与实时操作系统最本质的区别是:
 A   处理逻辑的正确性
 B  
得出结果的时间的确定性 
 C  
关注系统吞吐率,平均响应时间

 D  
其他

答案:B

试题解析:出处:http://www.360doc.com/content/11/0321/16/507289_103227092.shtml

分时操作系统:同时允许多个用户通过终端,以交互方式使用计算机,共享主机资源,时间片轮询为多个用户访问服务,关注系统的总体吞吐率和平均响应时间。
实时操作系统:外部事件产生时,能够快速响应,控制实时任务协调一致运行的操作系统,根据时间约束的严格性,分为软实时操作系统和硬实时操作系统。

 

2.软实时操作系统与硬实时操作系统的区别是:
 A  用户交互性
 B  
操作独立性
 C   执行任务的期限,不允许时延
 D   其他

答案:C
试题解析:出处: http://www.ibm.com/developerworks/cn/linux/l-lrt/part1/

   软实时操作系统:系统负荷较重时,允许发生时延的情况,但同时不会对系统造成较大的危害,系统不会整体崩溃。
    应用场景:视频点播系统,电话会议系统
硬实时操作系统:必须在指定的期限内完成实时任务,不允许时延,如果发生时延会造成灾难性的后果。
    应用场景:卫星控制系统,机床控制系统

 

3.影响实时操作系统的硬件因素是:
 A   cache line  miss
 B   TLB  miss
 C  
缺页异常
 D  
关中断延时与关抢占延时

答案:ABC
试题解析:出处:
http://www.ibm.com/developerworks/cn/linux/l-lrt/part1/

cache miss
   CPU 内置cache访问miss,导致实时程序执行时间较大

   Page cache(内存缓存从硬盘读取的数据)访问miss,导致实时程序访问时间较长

   Buffer cache (内存缓存即将写入硬盘的数据)访问miss,避免重复写入硬盘数据,导致实时程序频繁访I/O

TLB  miss
   CPU访问数据,TLB直接从快表得到物理地址,TLB miss导致CPU访问两次内存导致时延(页表)

缺页异常

   CPU通过页表寻找物理地址,如果页表不在物理内存中,导致缺页中断,影响实时程序访问时间

关中断延时与关抢占延时是系统软件kernel方面在中断和调度方面对实时性的影响

 

4.CPU接收同步中断,下面不是的:
 A  故障
 B  
陷阱
 C   终止
 D   I/0中断

答案:D
试题解析:出处: linux内核设计与实现  第六章

   处理器对中断的处理,主要分为同步和异步。
    同步主要是指处理器执行相关指令的同时产生,称为异常,其分为故障、陷阱、中止
    1)故障:程序正常工作下,出现软件执行过程中的异常,进入异常处理程序后在不失连贯性的情况下重新开始,纠正后返回到引起故障的原来地址,CS、EIP保存了引起故障的入口地址和偏移量。
实例:缺页异常处理函数
    2)陷阱:同步异常,是执行一条指令的结果。是在用户程序和内核之间提供系统调用接口,陷阱返回当前指令的下一条指令。
实例:单步调试程序
    3)中止:由不可恢复的未知错误造成的结果,CS、EIP不能正常保留异常指令发生的地址。
实例:处理程序返回到内核中的abort例程
异步主要是来自外部硬件产生的中断和软件产生的中断。

 

5.标准Linux内核对中断处理流程不正确的是:
 A  处理器只接受外部中断信号,首先CPU执行完当前指令 
 B   保留CPU其状态信息,进行压栈操作

 C   内核转向中断处理,执行相关中断处理程序

 D   中断处理执行完后,进行出栈操作,返回被打断程序继续执行

答案:A
试题解析:出处:  linux内核设计与实现  第六章

   标准Linux内核不光只是相应外部硬件中断,同时可以响应内部异常。在中断不允许抢占状态下,内核响应外部硬件中断的流程主要如下;  
    1) 外部硬件设备通过向中断控制器(IOAPIC/PIC)的中断输入引脚请求中断,中断控制器接收到中断后,向处理器芯片上(INTR、NMI)两个中断引脚输入中断请求;

    2)  INTR引脚接收外部硬件I/O中断请求,从系统总线上读取中断控制器提供的中断向量号,INTR引脚接收外部硬件的可屏蔽中断;
    3)处理器响应其中断处理之前,先保留其CPU状态信息,进行相关压栈操作;
    4)CPU通过其IDTR找到中断向量表在内存中地址,找到中断向量对应的中断处理函数的入口地址;
    5)找到中断处理函数(即相应硬件设备的中断处理函数),开始执行;
    6)执行完后,进行出栈操作,返回被打断程序继续执行。

posted on 2013-05-20 10:57  胡永光  阅读(173)  评论(0编辑  收藏  举报

导航