华为内部面试题库---(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)执行完后,进行出栈操作,返回被打断程序继续执行。