91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux的協議棧是什么

發布時間:2022-07-20 10:02:29 來源:億速云 閱讀:142 作者:iii 欄目:建站服務器

這篇“linux的協議棧是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“linux的協議棧是什么”文章吧。

在linux中,協議棧是計算機網絡協議套件的一個具體的軟件實現,是網絡中各層協議的總和;協議套件中的一個協議通常是只為一個目的而設計的,這樣可以使得設計更容易,協議棧反映了一個網絡中文件傳輸的過程。

本教程操作環境:linux7.3系統、Dell G3電腦。

linux的協議棧是什么東西

協議棧(英語:Protocol stack),又稱協議堆疊,是計算機網絡協議套件的一個具體的軟件實現。協議套件中的一個協議通常是只為一個目的而設計的,這樣可以使得設計更容易。因為每個協議模塊通常都要和上下兩個其他協議模塊通信,它們通常可以想象成是協議棧中的層。最低級的協議總是描述與硬件的物理交互。每個高級的層次增加更多的特性。用戶應用程序只是處理最上層的協議。

解釋:網絡中各層協議的總和,反映了一個網絡中文件傳輸的過程

linux存儲協議棧簡介:

linux的協議棧是什么

數據流程:
應用程序通過系統調用發出一個寫請求,最終的目的是要把數據寫到磁盤上,

  1. 文件系統來負責定位這個寫請求的位置并將其轉換成塊設備需要的塊,然后把這個請求發送到設備上。

  2. 內存在這個過程中扮演了一個磁盤緩存的角色,把上下兩個部分隔離成異步運行的兩個過程,對上半部分來說,讓數據一直留在內存中是最好的方式,因為沒有辦法預料到之后還會不會修改,如果需要對同一個位置頻繁地進行修改,則與磁盤進行不斷的數據同步是沒有必要的。至于下半部分,數據從頁面緩存(Page Cache)同步到磁盤上,發出的請求被包裝成一個request,一個request包含一組bio,每個bio包含需要同步的數據頁。

應用層

應用程序通過系統調用訪問文件。比如open調用

系統調用

用戶應用程序訪問并使用內核所提供的各種服務的途徑即是系統調用。
內核提供了一組系統調用接口,通過這組接口應用程序可以訪問系統硬件及操作系統資源。
應用程序調用系統調用接口->內核->操作硬件->返回內核->應用程序
與存儲系統相關的主要就是read、write、open
“mmap()將文件(由文件句柄fd所指定)從偏移offset的位置開始的長度為length的一個塊映射到內存區域中,從而把文件的某一段映射到進程的地址空間,這樣程序就可以通過訪問內存的方式去訪問文件了。”
“典型的例子就是利用/dev/mem可以將一些MMU能訪問的物理地址映射為應用層虛擬地址,從而可以在應用層直接訪問某些物理地址,實現一些簡單的驅動開發。”

虛擬文件系統

通過使用一組通用API,linux就可以在多種設備支持多種文件系統。
文件系統是一種對存儲設備上的文件,數據,進行存儲與組織的機制。
linux支持是多種文件系統

“虛擬文件系統通過在各種具體的文件系統上建立一個抽象層,屏蔽了不同文件系統間的差異,通過虛擬文件系統分層架構),我們在對文件進行操作時,便不需要去關心相關文件所在的具體文件系統細節。”
“正是虛擬文件系統使得這種跨越不同存儲設備和不同文件系統的操作成為了可能”
VFS所提供的常用API有:

mount(), umount() …
 open(),close() …
 mkdir() …
文件系統

文件系統這一層相信大家都再熟悉不過了,目前大多Linux發行版本默認使用的文件系統一般是ext4,另外,新一代的btrfs也呼之欲出,不管什么樣的文件系統,都是由一系列的mkfs.xxx命令來創建,如:

mkfs.ext4 /dev/sda
mkfs.btrfs /dev/sdb

內核所支持的文件系統類型,可以通過內核目錄樹 fs 目錄中的內容來查看。

通用塊設備層

這一層的作用,不同的硬盤驅動,會提供不同的IO接口,內核認為這種雜亂的接口,不利于管理,需要把這些接口抽象一下,形成一個統一的對外接口,這樣,不管你是什么硬盤,什么驅動,對外而言,它們所提供的IO接口沒什么區別,都一視同仁的被看作塊設備來處理。

所以,如果在一層做的任何修改,將會直接影響到所有文件系統,不管是ext3,ext4還是其它文件系統,只要在這一層次做了某種修改,對它們都會產生影響。

硬盤驅動

常見的硬盤類型有PATA, SATA和AHCI等,在Linux系統中,對不同硬盤所提供的驅動模塊一般都存放在內核目錄樹drivers/ata中,而對于一般通用的硬盤驅動,也許會直接被編譯到內核中,而不會以模塊的方式出現,可以通過查看/boot/config-xxx.xxx文件來確認。

以上就是關于“linux的協議棧是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凌云县| 海丰县| 湘阴县| 新乡市| 铁岭县| 昌江| 高青县| 菏泽市| 东乌珠穆沁旗| 南靖县| 仙游县| 甘南县| 逊克县| 井陉县| 合川市| 宝兴县| 神池县| 镇沅| 枣强县| 滦平县| 乐亭县| 金溪县| 马公市| 三门县| 凤冈县| 溆浦县| 三门峡市| 遂平县| 普宁市| 琼海市| 临汾市| 内乡县| 疏勒县| 白山市| 夏邑县| 沙雅县| 兰考县| 南投市| 平和县| 河南省| 老河口市|