讀書筆記unix作業系統設計 資料緩衝區高速緩衝

2021-09-23 20:41:48 字數 668 閱讀 5286

為了加快系統讀取磁碟(及外設)的速度,在記憶體中開闢一塊區域快取磁碟上的資料,這塊區域為disk cache(即磁碟快取記憶體)

本章主要**disk cache的資料結構、讀寫磁碟塊內容的演算法等等。

**緩衝區包括兩大部分:**緩衝頭部和資料區。緩衝頭部用於索引、查詢、記錄緩衝區狀態等,資料區是存放快取的磁碟的資料。

緩衝頭部的資料結構如下:

資料區用來存放資料,沒有什麼資料結構可言。

緩衝頭部中,引入了兩個資料結構:空閒表和雜湊佇列(兩者都是雙向鍊錶):這兩個資料結構都是利用緩衝頭部中存放的指標實現的。其中,空閒表用來記錄空閒緩衝區及延遲寫緩衝區(。。。。。)。雜湊佇列有多個,是用來記錄哪些磁碟塊已經在緩衝區了。

當程序需要讀取磁碟塊中的資料時,首先檢查在緩衝區中是否已經存在。若存在則進行相應操作;若不存在則需將磁碟塊中的資料載入到緩衝區中,再進行相應操作。

os檢查磁碟塊資料是否已經在緩衝區中時,分為以下五種結果:

對於以上五種情況,分別採取不同的措施:

當核心結束使用緩衝區時,按照brelse演算法釋放緩衝區

brelse演算法:

作業系統讀書筆記

前言管程 訊號量體系有內容如下 整型訊號量 記錄型訊號量 and型訊號量 訊號量集。最容易搞混的就是整型訊號量和記錄型訊號量,理解之後很容易區分,記住一點 整型訊號量不遵循 讓權等待 的原則,只要待操作的訊號量s 0,就會處於一種 忙等待 的狀態,更嚴重的是,一旦事件發生,會導致一種稱之為 驚群現象...

作業系統讀書筆記1

最近在看 現代作業系統 這本書,希望在break期間把重要的幾章看完,同時做些筆記。第一章基本上是對作業系統總體的介紹,各方面都涉及到。花了我乙個下午和乙個晚上才讀完。有幾點印象比較深 1 作業系統兩個作用 一是提供抽象,便於在上層設計各種程式 而是合理的有效的管理資源。2 cache是個重要的理念...

讀書筆記 現代作業系統

ch1.1.作業系統中,抽象非常重要,乙個複雜的任務可以抽象成多個簡單的子任務,將複雜的硬體抽象成簡單的介面,書中針對向上層應用提供的介面做詳細的講解,但是對於使用者 終端使用者 介面不會做研究.2.作業系統中的資源有時間資源和空間資源,以及硬碟的空間資源,時間資源是時間復用的 如cpu的輪轉 空間...