Linux內核面試題彙總

来源:https://www.cnblogs.com/phoebus-ma/archive/2023/03/03/17174801.html
-Advertisement-
Play Games

[暫無答案] 1.硬體中斷號和Linux內核的IRQ號它們是如何映射的?2.當發生硬體中斷之後,ARM64處理器架構做哪些工作?3.為什麼說中斷上下文不能執行睡眠操作?4.一個硬體中斷後,Linux內核如何響應並處理中斷?5.同一類型的軟中斷是否允許多個CPU並行執行?6.軟中斷上下文包括哪幾種情況 ...


[暫無答案]

1.硬體中斷號和Linux內核的IRQ號它們是如何映射的?
2.當發生硬體中斷之後,ARM64處理器架構做哪些工作?
3.為什麼說中斷上下文不能執行睡眠操作?
4.一個硬體中斷後,Linux內核如何響應並處理中斷?
5.同一類型的軟中斷是否允許多個CPU並行執行?
6.軟中斷上下文包括哪幾種情況?
7.軟中斷上下文還是進程上下文的優先順序高?為什麼?
8.是否允許同一個tasklet在多個CPU上並行執行?
9.中斷現場保存在什麼地方?
10.什麼是中斷現場?中斷現場中需要保存哪些內容?
11.工作隊列是運行在中斷上下文,還是進程上下文?它的回調函數是否允許睡眠?
12.Linux軟中斷和工作隊列作用是什麼?
13.Linux通過什麼樣方式實現系統調用?
14.如果多個work掛入一個工作線程當中執行,當某個work的回調函數執行了阻塞操作時,那麼剩下的work怎麼辦?
15.CMWQ機制如何動態管理工作線程池的線程?
16.Linux操作系統的ARM系統把bootloader燒錄進去後,通電後串口沒有任何輸出反應,此時你應該去檢查軟體和硬體?
17.請你說出3種嵌入式體繫結構,說明什麼是ARM體繫結構?
18.ARM中斷在ARM9,Cortex-A8是怎麼處理?Linux中為什麼要把中斷分為上半部分和下半部分?MMU和Cache基礎原理?
19.嵌入式常用的文件系統有哪些?主要特點和應用場景?
20.Linux操作系統通電開始到系統起來的主要過程是什麼?
21.Linux驅動當中字元設備和塊設備區別?
22.請從USB HOST、LCD驅動器、NAND FLASH、WIFI、網卡、音頻晶元中選擇一個。
23.為什麼spinlock的臨界區不能睡眠?
24.與spinlock相比,信號量有哪些特點?
25.描述信號量是如何實現的?
26.什麼時候使用讀者信號量?什麼時候使用寫者信號量?由什麼條件來判斷?
27.請描述MCS鎖機制的實現原理?
28.RCU相比讀寫鎖有哪些優勢?
29.在KSM當中掃描栽個VMA尋找有效匿名頁面?
30.Linux內核已經實現信號量機制,為什麼還要單獨設置一個互斥鎖機制?
31.請解釋靜態狀態和寬限期?
32.請描述PG_locked常見使用方法?
33.使用GCC的"O0"優化選項來編譯內核有如何優勢?
34.U-boot啟動時重定位是如何實現?
35.如何分析一個oops錯誤日誌?
36.在x86_64架構里函數參數是如何傳送的?
37.什麼是直接定址、間接定址和基址定址?
38.描述Kdump的工作原理?
39.在x86_64架構當中,MOV指令和LEA指令有何區別?
40.Hardlock機制實現原理/Hung_task機制實現原理/Softlockup機制實現原理?
41.什麼是死鎖?什麼是重定位?死鎖有哪幾種?
42.什麼是運行地址、鏈接地址、載入地址?
43.為什麼要刻意設置載入地址/運行地址/鏈接地址?
44.如何在內核代碼中添加一個跟蹤點?
45.如何使用內核的動態輸出技術?
46.什麼是printk輸出等級?具體有哪些輸出等級?
47.發生硬體中斷後,ARM64處理器架構做什麼事情?
48.硬體中斷號與Linux內核的IRQ號如何映射的?
49.一個硬體中斷發生之後,Linux內核如何響應並處理此中斷?
50.同一類型軟中斷是否允許多個CPU並行執行?
51.讀寫信號量使用的自旋等待機制是如何實現的?
52.在編寫內核代碼的時候,該如何選擇信號量和互斥鎖?
53.請描述一個寬限期的生命周期及其狀態機的變化?
54.Linux內核中經典自旋鎖的實現有什麼樣的缺點?
55.信號量是如何實現?樂觀自旋等待的判斷條件是什麼?
56.請說明內核使用記憶體屏障的場景?
57.ARM64處理器架構當中,如何實現獨占訪問記憶體?
58.為什麼自旋鎖的臨界區不允許發生搶占?
59.atomic_cmpxchg()和atomic_xchg()分別表示是什麼含義?
60.為什麼自旋鎖的臨界區不能睡眠?
61.排隊自旋鎖如何實現MCS鎖?
62.排隊自旋鎖把32位的變數劃分成幾個域,每個域的含義和作用是什麼?
63.為什麼在互斥鎖爭用中進入樂觀自旋等待比睡眠等待模式要好?
64.在ARM64當中,CAS指令包含載入————獲取和存儲————釋放命令,它們的作用是什麼?
65.atomic_try_cmpxchg()函數和atomic_cmpchg()函數有什麼區別?
66.請描述內核使用記憶體屏障的場景?
67.Linux中的內核模式和用戶模式是什麼意義?
68.請描述原子操作、自旋鎖、信號量、互斥鎖以及RCU的特點和使用規則?
69.怎樣申請大塊內核記憶體?
70.用戶進程通信主要幾種方式?
71.通過伙伴系統申請記憶體的函數有哪些?
Alloc_page(...)、__get_free_pages(...)、vmalloc(...)、kmalloc(...)、ioremap()...
72.通過slab分配器申請內核記憶體的函數如何實現?
73.什麼是載入地址、運行地址及鏈接地址?
74.什麼是位置無關的彙編指令?什麼是位置有關的彙編指令?
75.在內核啟動時內核映像重定位是如何實現的?
76.軟中斷的回調函數執行過程中是否允許響應本地中斷?

[暫無答案]


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個應用要運行起來,往往需要讀取很多的預設好的配置信息,根據約定好的信息或方式執行一定的行為。 配置的本質就是軟體運行的參數,在一個軟體實現中需要的參數非常多,如果我們以 Hard Code(硬編碼)的方式寫在應用代碼中,這樣配置就會很亂,而且後續也不容易修改。亂而多,而且不容易修改,這就需要一個統 ...
  • winform使用PDFDocument 、PDFPageView查看pdf其他pdf文件沒有問題,但有一個pdf文件圖片無法顯示,但當在該pdf文件上編譯後編譯的內容可以看見(如下圖)。 後一點點排查發現在.csproj文件中 <PlatformTarget>x86</PlatformTarget ...
  • 最近在忙於 Fireasy 的重構,`3.x` 拋棄了 `.Net Framework` 時代的一些思想和模式,緊密擁抱 `.Net Core`,但它的思想仍然是**開放性**和**靈活性**。今天我主要來說說依賴註入與服務發現。 ...
  • 企業面試題 京東 問題1:使用Linux命令查詢file1中空行所在的行號。 [root@server ~]# cat file1 問題1:使用Linux命令查詢file1中空行所在的行號。 [root@server ~]# awk '/^$/{print NR}' file1 2 問題2:有文件c ...
  • 【安裝準備】 1、準備一個U盤,可儲存空間不低於20G,U盤內資料移出去,待會兒要格式化做U盤啟動盤 2、windows操作系統上下載“Rufus”,官網:http://rufus.ie/zh/,製作U盤啟動盤所用的軟體 3、通過https://openanolis.cn/download下載Ano ...
  • 前言 在上一篇文章中,儘管使用了變數和模式,但還是有不夠好的地方,在Makefile中要指明每一個源文件,我們接下來利用函數對其進行優化,並介紹其他常用的一些函數。 依舊是以fun.c ,main.c 和Makefile三個文件為例,文件內容就不再貼出來了,前兩篇文章中都有。 1.wildcard函 ...
  • 鹹魚今天給大家分享一個無論是學習還是工作中都很實用的 Linux 系統初始化腳本,其實就是各種命令的集合 完整代碼在文章最後哦 定義相關變數 配置 yum 鏡像源 獲取阿裡雲 yum 鏡像源 判斷函數是否執行成功 寫入一行配置 修改配置 配置系統時區 配置 dns 伺服器 修改最大文件描述符限制 關 ...
  • #!/bin/bash # Author: [王思揚] # Description: [Used to replace multiple files in the program.] start_time=$(date +%s) # Directory for storing new files, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...