自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面了解Linux網(wǎng)卡的工作原理

運維 系統(tǒng)運維
Linux的很多優(yōu)點,使它成為很多人選擇的對象,很多企業(yè)也成為其用戶,本文為你詳細(xì)介紹Linux網(wǎng)卡的工作原理,為你在學(xué)習(xí)Linux網(wǎng)卡時起一定的作用。

Linux的很多優(yōu)點,使它成為很多人選擇的對象,很多企業(yè)也成為其用戶,本文為你詳細(xì)介紹Linux網(wǎng)卡的工作原理,為你在學(xué)習(xí)Linux網(wǎng)卡時起一定的作用。Linux支持的網(wǎng)卡主要是以太網(wǎng)卡。如3COM、ACCTON、AT&T、IBM、CRYSTAL、D-LINK等眾多品牌的以太網(wǎng)卡只要安裝配置正確,都可以得到你所期望的效果。

為了將這個問題說明的更清楚一些,不妨先簡要地剖析一下Linux是如何讓網(wǎng)卡工作的。一般來說,Linux核心已經(jīng)實現(xiàn)了OSI參考模型的網(wǎng)絡(luò)層及更上層部分。網(wǎng)絡(luò)層的實現(xiàn)依賴于數(shù)據(jù)鏈路層的有效工作。網(wǎng)卡的驅(qū)動程序就是數(shù)據(jù)鏈路層與物理層的接口。通過調(diào)用驅(qū)動程序的發(fā)送例程向物理端口發(fā)送數(shù)據(jù),調(diào)用驅(qū)動程序的接收例程從物理端口接收數(shù)據(jù)。

1.網(wǎng)卡驅(qū)動程序

簡單地說,要將你手中的網(wǎng)卡利用起來,你***要做的是得到這塊網(wǎng)卡的驅(qū)動程序。驅(qū)動程序提供了面向操作系統(tǒng)核心的接口和面向物理層的接口。

驅(qū)動程序的操作系統(tǒng)接口是一些用于發(fā)現(xiàn)網(wǎng)卡、檢測網(wǎng)卡參數(shù)以及發(fā)送接收數(shù)據(jù)的例程。當(dāng)驅(qū)動程序開始運作時,操作系統(tǒng)首先調(diào)用檢測例程以發(fā)現(xiàn)系統(tǒng)中安裝的網(wǎng)卡。如果該網(wǎng)卡支持即插即用,那么檢測例程應(yīng)該可以自動發(fā)現(xiàn)網(wǎng)卡的各種參數(shù);否則你就要在驅(qū)動程序運作前,設(shè)置好網(wǎng)卡的參數(shù)供驅(qū)動程序使用。當(dāng)核心要發(fā)送數(shù)據(jù)時,它調(diào)用驅(qū)動程序的發(fā)送例程。發(fā)送例程將數(shù)據(jù)寫入正確的空間,然后激活物理發(fā)送過程。

驅(qū)動程序面向物理層的接口是中斷處理例程。當(dāng)網(wǎng)卡接收到數(shù)據(jù)、發(fā)送過程結(jié)束,或者發(fā)現(xiàn)錯誤時,網(wǎng)卡產(chǎn)生一個中斷,然后核心調(diào)用該中斷的處理例程。中斷處理例程判斷中斷發(fā)生的原因,并進行響應(yīng)的處理。比如當(dāng)網(wǎng)卡接收到數(shù)據(jù)而發(fā)生中斷時,中斷處理例程調(diào)用接收例程進行接收。

2.驅(qū)動程序工作參數(shù)

驅(qū)動程序的工作參數(shù)因網(wǎng)卡性質(zhì)的不同而不同,大致包括I/O端口號、中斷號、DMA通道、共享存儲區(qū)等。輸入輸出端口號又被稱為輸入輸出基地址,當(dāng)網(wǎng)卡工作于端口輸入輸出模式時被使用。端口輸入輸出模式需要CPU的全程干預(yù),但所需硬件及存儲空間要求較低。CPU通過端口號指定的空間與網(wǎng)卡交換數(shù)據(jù)。中斷號是網(wǎng)卡的中斷序號,只要不與其它設(shè)備沖突即可。當(dāng)網(wǎng)卡使用DMA方式時,它要使用DMA通道批量傳輸數(shù)據(jù)而不需要CPU的干預(yù)。

對于一塊具體的網(wǎng)卡,如果網(wǎng)卡支持完全自動檢測,那么一個參數(shù)也不用指定,驅(qū)動程序的檢測例程會自動設(shè)定所需參數(shù)。一般情況,你需要人工設(shè)定這些參數(shù)的一部分。如果你的網(wǎng)卡使用端口輸入輸出模式,你要設(shè)定端口號和中斷號。如果你的網(wǎng)卡使用DMA模式,你要設(shè)定DMA通道和中斷號。如果你的網(wǎng)卡使用共享存儲區(qū)的模式,那你就得設(shè)定共享存儲區(qū)的地址范圍。

3.驅(qū)動程序的使用方式

有了網(wǎng)卡的驅(qū)動程序后,你可以選擇是把驅(qū)動程序加入到Linux核心之中還是把驅(qū)動程序加工成獨立模塊。Linux系統(tǒng)一個引人入勝的長處就是可以定制系統(tǒng)的核心。把需要頻繁調(diào)用的功能加入系統(tǒng)核心,可以大大提高系統(tǒng)的效率。在這種情況下系統(tǒng)啟動時,系統(tǒng)核心自動加載網(wǎng)卡的驅(qū)動程序。驅(qū)動程序的參數(shù)可以通過LILO命令參數(shù)加以指定。系統(tǒng)啟動后驅(qū)動程序***駐留核心,不能用常規(guī)的方法將其卸載。至于定制的系統(tǒng)核心,是通過重新編譯得到的;如何編譯核心將在后文敘及。

如果把驅(qū)動程序編譯成可裝載模塊,就可以用系統(tǒng)提供的命令在系統(tǒng)啟動后隨時加載。隨時加載的好處是減少內(nèi)存開銷,易于管理,但同時也犧牲了一點網(wǎng)絡(luò)傳輸?shù)男?。?qū)動程序的參數(shù)是在命令行中直接輸入或通過配置文件指定。

通過本文的介紹你就全面了解了Linux網(wǎng)卡的工作原理。

【編輯推薦】

  1. 全面介紹在Linux和路由器建立日志服務(wù)器
  2. linux實用命令-pv: 管道查看器
  3. 在64位Linux下編譯dtAgeiaPhysX
  4. 決戰(zhàn)紫禁之巔:Linux桌面Mint 8與Windows 7
  5. 簡單理論Linux ReiserFS系統(tǒng)分析特點與效果
責(zé)任編輯:小霞 來源: 博客園
相關(guān)推薦

2009-12-25 11:22:13

Linux進程技術(shù)

2009-12-23 17:14:28

2011-12-14 10:31:43

2009-12-03 19:02:05

Linux

2010-01-05 14:46:03

Linux軟件安裝

2009-08-18 10:56:40

Linux網(wǎng)卡配置Linux網(wǎng)卡配置

2009-12-23 11:05:28

Linux內(nèi)核

2010-10-27 14:57:24

Oracle查詢

2010-08-29 21:09:57

DHCP協(xié)議

2022-09-21 18:06:10

Python內(nèi)存管理

2018-08-29 10:04:43

2009-06-15 10:43:45

Java程序員Java程序GC

2011-05-04 16:55:22

復(fù)印機

2012-05-31 11:23:13

Linux路由

2020-12-08 20:20:15

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)機器學(xué)習(xí)

2011-02-21 13:14:29

Qmail

2009-03-10 19:19:16

Linux日志文件系統(tǒng)安裝使用

2009-12-16 14:40:40

Linux調(diào)整虛擬機硬

2009-12-30 16:48:45

2020-05-13 08:10:32

HTTPS安全網(wǎng)站
點贊
收藏

51CTO技術(shù)棧公眾號