在 Linux 程式設計中,使用者程式可以通過多種方式將一組資料傳遞給核心

發布 科技 2024-05-02
7個回答
  1. 匿名使用者2024-01-28

    還行。 新增思路:CPU核心初始化、記憶體管理子系統(MMU)、硬體時鐘系統、早期除錯列印機制、異常中斷子系統、時間子系統(定時器)、串列埠驅動。

    方法:1 個 CPU 核心初始化。

    CPU核心初始化主要是指CPU的工作模式,一般暫存器初始化、快取初始化、異常條目初始化、MMU初始化等。 即CPU核心內各單元模組的初始化。

    2 記憶體管理子系統。

    核心執行在動態記憶體(DRAM DDR)中,首先要保證動態記憶體的穩定執行,動態記憶體的初始化一般放在引導載入程式中,或者在我們的除錯工具指令碼中配置DDR引數,實現DDR的穩定讀寫。

    3 硬體時鐘系統。

    最小的 SoC 應由乙個 CPU、時鐘、復位電路和一塊記憶體組成。

    4 列印機構的早期除錯。

    DRAM和暫存器讀寫正確後,接下來的首要任務是實現核心的早期除錯列印,這是除錯核心所必需的。

    5 異常 中斷子系統。

    定時器和 UART 必須正常工作,異常(定時器位於 PPC 核心中,作為單獨的異常處理)中斷必須正常工作。

    6 時間子系統。

    核心下的時間子系統實現定時和定時功能,主要基於外部定時器或內部定時器(PPC提供內部定時器)。

    7 串列埠驅動。

    最後,串列埠驅動實現完成了移植核心的最後一步。 這裡不會詳細介紹序列埠驅動程式的實現。

  2. 匿名使用者2024-01-27

    是的,可以檢視“Linux 核心編譯和安裝”,有很多相關的帖子,非常詳細。 最後,更新 grub 檔案,重新啟動它,你可以看到你的新核心。

  3. 匿名使用者2024-01-26

    可以同時存在。 如果沒有官方更新,可以手工編譯,不同發行版的編譯方式不同。

  4. 匿名使用者2024-01-25

    lib 模組是核心標頭檔案的存放位置。。不是核心。

    核心處於引導 vmlinuz-version 下,這是核心。 你不能單獨啟動核心,你需要有乙個 initrd-version。

    可以有多個核心,如果要啟動哪個核心,只需更改啟動引數即可。

  5. 匿名使用者2024-01-24

    如果您要參加考試,您可以直接除錯它並檢視流程頁表。 但我不知道我在**裡做什麼,我沒見過。 當 vmalloc 分配位址空間時,頁表僅更新為主核心頁表。

    因此,核心訪問這個 vmalloc 有效位址可能會導致頁面缺失異常,然後通過這種懶惰模式更新頁表的核心部分。

  6. 匿名使用者2024-01-23

    花了幾次時間閱讀你的標題來理解你要做什麼。

    您是說您想檢視 lseek 和 close 等系統呼叫的實現細節,對吧?

    大多數系統呼叫被封裝為系統呼叫,因為它們涉及太多的低階操作(與硬體相關或需要修改核心資料),並且被大量使用。 這些系統呼叫的實現細節都在glibc中,glibc是乙個使用者空間執行庫,它會先檢查引數的有效性,然後使用sysenter或int $80(這兩個是組合語言命令)這樣的系統調優,並給出具體的系統呼叫號和引數,讓執行者進入核心狀態來執行系統呼叫號指定的函式, 然後可以修改核心資料或觸控實際硬體。因此,即使你閱讀了 glibc 原始碼,你也可能無法看到你最想看到的實現部分。

    比如乙個讀呼叫,先根據include,在glibc中找到對應的函式,然後可能做一些檢查引數等前期工作,然後使用sysenter之類的指令讓程序跳轉到核心狀態,然後開始根據系統呼叫號將引數傳遞給sys read並執行, 它會呼叫 VFS(虛擬檔案系統)的函式,然後呼叫特定於檔案系統的 open 函式。然後是與裝置相關的驅動程式。最後,逐層返回。 (我上面的描述不是精確的描述,但基本上是乙個逐層呼叫和返回的過程)。

    再比如printf函式,它是乙個短答函式,需要呼叫系統準備資料,然後呼叫interrupt,此時中斷服務程式將資料傳送到裝置,裝置最後在顯示屏上顯示printf的內容。

    所以,如果你想看細節,當然沒問題,但往往不夠直接,需要多看作業系統的底層實現,會比較繁瑣,有興趣可以參考《了解Linux核心》,其中有專門的一章來解釋系統呼叫, 以及檔案系統部分,還有一章專門介紹使用者空間中乙個開啟(記不太清楚,也可能是讀寫)呼叫,具體過程到底是什麼,最後返回。

  7. 匿名使用者2024-01-22

    -fls

    path/to/somefile

    找到的所有檔案的長格式資訊將儲存到指定的檔案中。

相關回答
5個回答2024-05-02

雙擊安裝,或直接執行。

7個回答2024-05-02

最後以乙個經典的小遊戲---貪吃蛇,在這個遊戲中,我們用到了很多基本的C語言知識,但也用到了一些常見的資料結構,包括陣列、結構體、列舉等。 >>>More

15個回答2024-05-02

一般來說,有兩種主要途徑。

1.滑鼠:a。通常,軟體安裝程式會在“開始”>程式選單中有乙個快捷方式,單擊以啟動。 >>>More

12個回答2024-05-02

1. 在下圖中,我們需要將 ssheet2** 中的資料複製到 sheet5 到 sheet8。 >>>More

4個回答2024-05-02

在《商鷹的南門立木》中,商鷹是乙個言出必行的人。 >>>More