核心中重要的資料結構

2021-10-07 21:05:37 字數 561 閱讀 7152

任務鍊錶(task list):流程排程程式為每個活動的流程維護乙個資料塊。這些資料塊儲存在稱為任務列表的鏈結列表中。程序排程程式始終維護乙個指示當前活動程序的當前指標。

記憶體對映(memry map):記憶體管理器基於每個程序儲存虛擬位址到實體地址的對映,還儲存有關如何獲取和替換特定頁面的其他資訊。此資訊儲存在記憶體對映資料結構中,該結構儲存在流程排程程式的任務列表中。

索引節點(i-node):虛擬檔案系統使用索引節點(索引節點)表示邏輯檔案系統上的檔案。索引節點資料結構儲存檔案塊號到物理裝置位址的對映。如果兩個程序開啟了相同的檔案,則可以在多個程序之間共享i節點資料結構。共享是通過兩個任務資料塊指向相同的i節點來完成的。

資料連線(data connection)所有資料結構都植根於流程排程程式的任務列表。系統上的每個程序都有乙個資料結構,該資料結構包含乙個指向其記憶體對映資訊的指標,以及指向代表所有開啟檔案的i節點的指標。最後,任務資料結構還包含指向資料結構的指標,該資料結構表示與每個任務關聯的所有開啟的網路連線。

半原創 核心中的資料結構 SplayTree

核心中的資料結構 splay tree splay tree 伸展樹 是binary search tree 二叉搜尋樹 daniel sleator和robert e.tarjan發明。但此操作可能會花費o n 時間,但m次操作的最壞情況為o m log2 n splay tree是在節點訪問後,...

Linux核心中的資料結構與演算法(一)

一,序言 其實想寫這個系列很久了,因為本人工作的關係,平時接觸linux核心很多,從業後很多時候在網上查詢的東西是片面或者不系統的,打算給自己的知識庫進行個整理吧,打算開筆寫這個系列,再加上自己想考研了,算是重新學習,也算鞏固自己的知識吧。如果有什麼錯誤和疏漏,也請看客們給出批評意見,比心比心比心 ...

Linux核心中的資料結構的一點認識

大家都知道linux核心是世界上優秀的軟體之一,作為一款優秀的軟體,其中的許多的設計都精妙之處,十分值得學習和借鑑。今天我們就帶大家看一下核心中的資料結構中一點設計。開啟核心原始碼中的 include linux list.h標頭檔案,就可以看到核心中宣告的一些與鍊錶操作相關的結構體定義和函式介面。...