久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux的協議棧是什么

147次閱讀
沒有評論

共計 1994 個字符,預計需要花費 5 分鐘才能閱讀完成。

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

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

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

linux 的協議棧是什么東西

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

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

linux 存儲協議棧簡介:

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

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

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

應用層

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

系統調用

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

虛擬文件系統

通過使用一組通用 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 的協議棧是什么”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-29發表,共計1994字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 抚松县| 宜阳县| 专栏| 台东县| 黎川县| 多伦县| 汉川市| 遂昌县| 富平县| 松潘县| 仙桃市| 威宁| 阿鲁科尔沁旗| 忻城县| 都匀市| 房产| 海城市| 洛阳市| 海兴县| 尼勒克县| 辽源市| 开平市| 商丘市| 乐都县| 武宣县| 德江县| 若羌县| 阿拉善左旗| 兴安县| 巴里| 金华市| 和平县| 河西区| 宿迁市| 晋中市| 莱西市| 焉耆| 普兰店市| 开原市| 响水县| 修武县|