华为内部面试题库---(6)
1.在SMP體系結(jié)構(gòu)中,中斷親和性是指將一個或者多個中斷綁定到特定CPU core上運(yùn)行,下列說法錯誤的是:
A.每個硬件設(shè)備都會在/proc/irq下有個中斷號命令的目錄來標(biāo)志中斷親和性
B.IRQ#目錄下smp_affinity文件,通過設(shè)置CPU位掩碼,把相應(yīng)中斷綁定到不同CPU處理
C.修改smp_affinity值,實(shí)際上修改IO_APIC IRT表中中斷重定向值
D.中斷親和性,即APIC總線格式化中斷消息,把相關(guān)中斷發(fā)送給一個或者多個LAPIC單元
答案:A
? 試題解析:對于已經(jīng)在irq線上注冊過的中斷硬件設(shè)備,會在/proc/irq目錄下新建該中斷號,可以通過cat /proc/interrupts查看不同中斷線上,不同硬件設(shè)備在不同CPU core上處理中斷的次數(shù)。
? 通過設(shè)置smp_affinity不同位,可以把該中斷線上的硬件中斷處理綁定到不同CPU core處理,其本質(zhì)在于IOAPIC在處理其硬件中斷傳過來的中短信息,在轉(zhuǎn)發(fā)給LAPIC處理時,會根據(jù)其IO管腳上的中斷重定向表中目的字段,轉(zhuǎn)發(fā)給唯一LAPIC還是一組APIC來決定中斷親和性。
?
2.下面有關(guān)中斷線程化,說法錯誤的是:
A.標(biāo)準(zhǔn)Linux中斷優(yōu)先級最高,實(shí)時任務(wù)被打斷而得不到及時處理,引入中斷線程化,賦予其一定的優(yōu)先級,實(shí)時
任務(wù)與中斷按照優(yōu)先級調(diào)度。
B.中斷例程描述符結(jié)構(gòu)體中IRQ_NODELAY位來判斷此中斷是否允許被線程化
C.中斷線程化是由內(nèi)核線程中執(zhí)行
D.所有的中斷都可以線程化
答案:D
? 試題解析:在標(biāo)準(zhǔn)Linux中,外部硬件中斷一旦發(fā)生,如果沒有關(guān)中斷情況下,內(nèi)核馬上處理其中斷對應(yīng)的中斷處理函數(shù)。
? 中斷線程化,主要是在把中斷賦值一定的優(yōu)先級,和普通進(jìn)程按照優(yōu)先級調(diào)度。
? 打過實(shí)時補(bǔ)丁的內(nèi)核,在內(nèi)核初始化init()函數(shù),為每一個IRQ創(chuàng)建內(nèi)核線程,同時修改了中斷描述符結(jié)構(gòu)體irq_desc,
? 設(shè)置IRQ_NODELAY標(biāo)志位,來決定是否由內(nèi)核線程來處理此中斷。對于系統(tǒng)0-31號中斷中某些中斷或者異常時不能中斷線程化,
? 如果按照優(yōu)先級來調(diào)度,就發(fā)生未知后果(比如定時器)。
?
3.下面有關(guān)中斷負(fù)載均衡,說法錯誤的是:
A.CPU負(fù)載不高是,中斷親和性有利于提高性能,可能在訪問ISR代碼時,cache利用率較高
B.如果某個CPU負(fù)載過大,中斷負(fù)載均衡模塊進(jìn)行中斷遷移,中斷遷移到空閑CPU運(yùn)行
C.在中斷遷移是,內(nèi)核自動感知irq中斷,調(diào)用do_irq_balance()函數(shù),進(jìn)行中斷遷移
D.其他
答案:D
? 試題解析:中斷負(fù)載均衡不高的情況下,利用中斷親和性,綁定到特定CPU進(jìn)行處理,CPU LAPIC處理此中斷,直接訪問其cache中ISR代碼,不用下次再不同的CPU LAPIC中處理,如果某個CPU負(fù)載很大的情況下,調(diào)用do_irq_balance,進(jìn)行中斷遷移,把中斷處理遷移到空閑CPU上進(jìn)行處理。
?
4.Linux實(shí)時調(diào)度算法中SCHED_FIFO與SCHED_RR,描述不正確的是:
A.SHCED_RR策略的進(jìn)程的時間片用完,系統(tǒng)將重新分配時間片,并置于就緒隊(duì)列尾。放在隊(duì)列尾保證了所有具有相同優(yōu)先級的RR任務(wù)的調(diào)度公平。
B.SCHED_FIFO一旦占用cpu則一直運(yùn)行。一直運(yùn)行直到有更高優(yōu)先級任務(wù)到達(dá)或自己放棄。
C.SCHED_FIFO與SCHED_RR不僅適用于實(shí)時任務(wù),還使用于分時任務(wù)
D.其他
答案:C
? 試題解析:linux內(nèi)核調(diào)度分為分時調(diào)度、實(shí)時調(diào)度。SCHED_FIFO(先到先服務(wù))與SCHED_RR(時間片輪轉(zhuǎn))只能實(shí)時調(diào)度。
?? SHCED_RR策略的進(jìn)程的時間片用完,系統(tǒng)將重新分配時間片,并置于就緒隊(duì)列尾。放在隊(duì)列尾保證了所有具有相同優(yōu)先級的RR任務(wù)的調(diào)度公平。
?? SCHED_FIFO一旦占用cpu則一直運(yùn)行。一直運(yùn)行直到有更高優(yōu)先級任務(wù)到達(dá)或自己放棄。
??兩者按照可搶占優(yōu)先級調(diào)度算法進(jìn)行,同時遵循就緒態(tài)的實(shí)時任務(wù)立即搶占非實(shí)時任務(wù)。?
?
5.(多選)下面屬于linux標(biāo)準(zhǔn)內(nèi)核軟實(shí)時化改造的關(guān)鍵技術(shù)點(diǎn)是:
A.中斷線程化
B.內(nèi)核完全可搶占
C.高精度定時器
D.優(yōu)化調(diào)度策略
答案:ABCD
? 試題解析:linux內(nèi)核軟實(shí)時化,主要從中斷、調(diào)度、定時器方面來進(jìn)行改造,在還會存在對任務(wù)時延、搶占、優(yōu)先級反轉(zhuǎn)問題。
?? Linux內(nèi)核硬實(shí)時化,主要采用微內(nèi)核,超微內(nèi)核,資源內(nèi)核方法來改造,部分介紹資料如下:
http://www.embedu.org/Column/Column279.htm
http://wenku.baidu.com/view/429bce2d2af90242a895e593.html
轉(zhuǎn)載于:https://www.cnblogs.com/wangfengju/archive/2013/05/20/6173053.html
總結(jié)
以上是生活随笔為你收集整理的华为内部面试题库---(6)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nullnull使用PL/SQL获取创建
- 下一篇: 指向二维数组的指针测试