目錄的層級結構

2021-07-26 12:32:33 字數 1890 閱讀 9835

在linux2.6以後的核心版本當中,乙個核心任務可以被搶占,從而提高系統的實時性。可以極大地增強

系統的使用者互動性。就如使用者覺得滑鼠單擊的時候得到了更快速的相應。但是2.6以後的核心還是存在一些

不可搶占的區間,例如中斷上下文,軟中斷上下文和自旋鎖鎖住的區間。如果給linux打上rt-preempt補丁,

則軟中斷和中斷都被執行緒化了,自旋鎖也被互斥體替換,linux核心變得能支援硬實時,linux2.6以後的核心

仍然存在中斷,軟中斷,自旋鎖等原子上下文程序無法搶占執行的情況。原因是linux本身只提供軟實時能力

的原因。

改進的執行緒模型。

2.6以後的核心版本使用nptl模型,操作速度得以極大的提高。

虛擬記憶體的變化

從虛擬記憶體的角度來看,新核心融合了r-map(反向對映)技術,顯著改善虛擬記憶體在一定大小負載下的效能

建立方向對映,通過頁結構體快速尋找到頁面的對映。

檔案系統

核心增加了對日誌檔案系統的支援。解決了之前版本的不足。增加了對posix標準訪問的控制支援,可以給

指定的檔案在檔案系統中潛入元資料。

音訊高階linux音訊體系結構。

新的音訊體系結構支援usb音訊和midi裝置。並支援全雙工重放等功能。

匯流排,裝置和驅動模型(這個比較關心)

匯流排,裝置,驅動三者之間因為一定的關係性而實現對裝置的控制。匯流排是三者聯絡起來的基礎。通過一種

匯流排型別,將裝置和驅動聯絡起來。匯流排型別中的match()函式用來匹配裝置和驅動,當匹配操作完成之後就會執

行驅動程式中的probe()函式。

電源管理

支援高階配置和電源介面。用於調整cpu在不同負載下工作於不同的時鐘頻率。目前核心電源管理相對比較完

善聯網和ipsee

核心加入了對ipsee的支援。刪除了原來內建的http伺服器khttpd,加入了對新的nfsv4 客戶機/伺服器的支援。

並且改進了對ipv6的支援。

使用者介面層

核心重寫了幀緩衝/控制台層,人機介面曾還加入了對近乎所有介面裝置的支援。

在 arm linux的**在時鐘,dma,pinmux,計時器刻度等諸多方面都進行了優化,刪除了arch/arm/mach-***/include/mach

頭檔案目錄,以至於linux3.7以後的核心可以支援多平台,即同乙份核心映象執行於多家soc公司的多個晶元,實

現乙個linux可使用所有的arm系統。

linux核心的組成

linux核心原始碼包含如下:

在arch目錄下,存放的是各個平台以及各個平台的晶元對linux核心程序排程,記憶體管理,中斷等的支援,以及每個

具體的soc和電路板的板級支援**。

block:塊裝置驅動程式i/o排程

crypto:常用加密雜湊演算法(如aes,sha)還有一些crc校驗演算法

documentation:核心部分的通用解釋和注釋。

driver:裝置的驅動程式,每個不同的驅動占用乙個子目錄

fs:所支援的各種檔案系統

init:核心的初始化**,著名的start_kernel()就位於init/main.c當中。

ipc:程序間通訊的**。

lib:庫檔案**.

mm:記憶體管理**,和平台相關的則放在arch/*/linux

net:網路相關的**,實現各種常見的網路協議。

security:主要是乙個selinux的模組

sound:alsa,oss音訊裝置的驅動核心**和常用裝置驅動。

usr:實現用於打包和壓縮的cpio等

include:核心api級別標頭檔案。

核心一般要做到drives與arch的軟體按構架的分離,驅動當中不包含板級資訊,讓驅動跨平台。同時核心的通用部分

則與具體的硬體剝離。

先到這裡,愛你yz

linux系統目錄結構與層級命令使用

筆者使用的是ubuntu,這裡以ubuntu為例子。一 目錄層級結構說明 1 根目錄 所有的目錄都掛在其下 2 boot 存放ubuntu核心和系統啟動檔案。系統啟動時這些檔案先被裝載。3 etc 系統的配置檔案目錄。密碼檔案 設定網絡卡資訊 環境變數的設定等都在此目錄中,許多網路配置檔案也在其中。...

證書的層級結構

一 點睛 使用者需要使用認證機構的公鑰,對證書上的數字簽名進行驗證。那麼,對於用來驗證數字簽名的認證機構的公鑰,怎樣才能判斷它是合法的呢?對於認證機構的公鑰,可以由其他認證機構施加數字簽名,從而對認證機構的公鑰進行驗證,即生成一張認證機構的公鑰證書。乙個認證機構來驗證另外乙個認證機構的公鑰,這樣的關...

android View的層級結構

我們看到最頂層就是phonewindow decorview,接著decorview下面有乙個linearlayout,linearlayout下面有兩個framelayout 上面那個framelayout是用來顯示標題欄的,這個demo中是乙個textview,當然我們還可以定製我們的標題欄,利...