zoukankan      html  css  js  c++  java
  • 华为内部面试题库---(6)

    摘自:https://www.cnblogs.com/hehehaha/archive/2013/05/20/6332764.html

    1.在SMP体系结构中,中断亲和性是指将一个或者多个中断绑定到特定CPU core上运行,下列说法错误的是:
    A.每个硬件设备都会在/proc/irq下有个中断号命令的目录来标志中断亲和性
    B.IRQ#目录下smp_affinity文件,通过设置CPU位掩码,把相应中断绑定到不同CPU处理
    C.修改smp_affinity值,实际上修改IO_APIC IRT表中中断重定向值
    D.中断亲和性,即APIC总线格式化中断消息,把相关中断发送给一个或者多个LAPIC单元

    答案:A

      试题解析:对于已经在irq线上注册过的中断硬件设备,会在/proc/irq目录下新建该中断号,可以通过cat /proc/interrupts查看不同中断线上,不同硬件设备在不同CPU core上处理中断的次数。

      通过设置smp_affinity不同位,可以把该中断线上的硬件中断处理绑定到不同CPU core处理,其本质在于IOAPIC在处理其硬件中断传过来的中短信息,在转发给LAPIC处理时,会根据其IO管脚上的中断重定向表中目的字段,转发给唯一LAPIC还是一组APIC来决定中断亲和性。

    2.下面有关中断线程化,说法错误的是:
    A.标准Linux中断优先级最高,实时任务被打断而得不到及时处理,引入中断线程化,赋予其一定的优先级,实时
    任务与中断按照优先级调度。
    B.中断例程描述符结构体中IRQ_NODELAY位来判断此中断是否允许被线程化
    C.中断线程化是由内核线程中执行
    D.所有的中断都可以线程化

    答案:D

      试题解析:在标准Linux中,外部硬件中断一旦发生,如果没有关中断情况下,内核马上处理其中断对应的中断处理函数。
      中断线程化,主要是在把中断赋值一定的优先级,和普通进程按照优先级调度。
      打过实时补丁的内核,在内核初始化init()函数,为每一个IRQ创建内核线程,同时修改了中断描述符结构体irq_desc,
      设置IRQ_NODELAY标志位,来决定是否由内核线程来处理此中断。对于系统0-31号中断中某些中断或者异常时不能中断线程化,
      如果按照优先级来调度,就发生未知后果(比如定时器)。

    3.下面有关中断负载均衡,说法错误的是:
    A.CPU负载不高是,中断亲和性有利于提高性能,可能在访问ISR代码时,cache利用率较高
    B.如果某个CPU负载过大,中断负载均衡模块进行中断迁移,中断迁移到空闲CPU运行
    C.在中断迁移是,内核自动感知irq中断,调用do_irq_balance()函数,进行中断迁移
    D.其他

    答案:D

      试题解析:中断负载均衡不高的情况下,利用中断亲和性,绑定到特定CPU进行处理,CPU LAPIC处理此中断,直接访问其cache中ISR代码,不用下次再不同的CPU LAPIC中处理,如果某个CPU负载很大的情况下,调用do_irq_balance,进行中断迁移,把中断处理迁移到空闲CPU上进行处理。

    4.Linux实时调度算法中SCHED_FIFO与SCHED_RR,描述不正确的是:
    A.SHCED_RR策略的进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的RR任务的调度公平。
    B.SCHED_FIFO一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃。
    C.SCHED_FIFO与SCHED_RR不仅适用于实时任务,还使用于分时任务
    D.其他

    答案:C

      试题解析:linux内核调度分为分时调度、实时调度。SCHED_FIFO(先到先服务)与SCHED_RR(时间片轮转)只能实时调度。
       SHCED_RR策略的进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的RR任务的调度公平。
       SCHED_FIFO一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃。
      两者按照可抢占优先级调度算法进行,同时遵循就绪态的实时任务立即抢占非实时任务。 

    5.(多选)下面属于linux标准内核软实时化改造的关键技术点是:
    A.中断线程化
    B.内核完全可抢占
    C.高精度定时器
    D.优化调度策略

  • 相关阅读:
    LeetCode——打家劫舍问题
    LeetCode——无重叠区间
    LeetCode——岛屿数量
    LeetCode——石子游戏
    LeetCode——最长回文子序列
    LeetCode——高层扔鸡蛋*
    LeetCode——零钱兑换
    LeetCode刷题之BFS和DFS
    没有学历,四步加入谷歌
    坚持编程
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/14296267.html
Copyright © 2011-2022 走看看