06 linux011塊裝置管理

2021-10-06 19:24:02 字數 1055 閱讀 9363

io 埠指令

|[0]

v+---+ [1] 命令 +------------+

| |--------->|塊裝置控制器|[2] 命令接收與執行

|cpu| | |

| | [3] 中斷 |塊裝置儲存器|

+---+<---------+------------+

|[4]

v中斷處理程式

linux 0.11 沒有直接跟塊裝置的互動流程進行互動,而是將互動抽象到了檔案層面。大體過程如下

(1) 檔案操作

[1] 開啟檔案。

根據根/當前目錄i節點搜尋目標檔案i節點,將該i節點快取在緩衝區中。

[2] 讀寫檔案

檔案讀寫的核心是開啟檔案時所獲取到的i節點資訊。由該i節點可得到檔案所屬裝置型別及裝置編號,從而呼叫相應的讀寫函式讀寫檔案,如此處的塊裝置讀寫函式。

(2) 塊裝置讀寫區域換算

由在檔案層面獲取到的i節點,還可以換算出欲讀寫資料在裝置上的位置(邏輯塊號)。

(3) 申請緩衝區快取資料

根據裝置號和邏輯塊,依據緩衝區管理演算法申請緩衝區。

(4) 申請塊裝置訪問

將塊裝置請求提交給塊裝置管理邏輯(如linux 0.11中為電梯演算法)。

(5) 與塊裝置進行互動

根據塊裝置互動流程,將塊裝置上與檔案層面相對應的資料讀到緩衝區中(對於寫裝置,則在寫緩衝區後再將緩衝區寫回塊裝置)。

所以與塊裝置互動涉及的抽象層次由上到下有

+------------+

|檔案操作管理|

+------------+|v

+----------+

|緩衝區管理|

+----------+|v

+--------------+

|塊裝置操作管理|

+--------------+|v

+--------------+

|塊裝置互動流程|

+--------------+

linux裝置管理

linux 的裝置管理 6.1 裝置管理概述 linux 裝置的分類 linux 使用套介面 socket 以檔案i o 方式提供了對網路資料的訪問。裝置驅動程式 三 裝置的識別 而多個scsi 硬碟及其各個分割槽分別賦予次裝置號1 2 3 root localhost ls dev sda l b...

Linux裝置管理

命令 意義ls l 第乙個字元 b block 塊裝置,c character 字元裝置 p pipe 管道裝置 s socket 套接字裝置 sys blocks 系統所有塊裝置的軟鏈結檔案 dd沿襲了ibm的jcl的風格,複製固定大小的資料塊,使用等號而不是減號來設定選項和引數值 dev sd ...

Linux系統之loop裝置管理

檢視loop裝置 losetup a劃分空間 dd if dev zero of var bs m count 建立乙個loop檔案 losetup dev loop filepath 檢視loop裝置 lsblk 建立物理卷 pvcreate physical volume建立捲組 vgcreat...