Linux核心修改(重學習)

2021-05-22 06:18:44 字數 1058 閱讀 3385

1.linux的基本體系結構

2.linux/kernel檔案目錄

asm.s:處理系統硬體異常造成的終端。

exit.c:處理程序終止的系統呼叫。

fork.c:建立程序。

mktime.c:計算程式開機時間,僅在系統初始化時被呼叫一次。

sys.c:系統呼叫函式。

system_call.s:實現linux呼叫相應c函式

3. tcp/ip協議棧的資料格式說明

sock_stream:可靠雙向位元組流(tcp)

sock_dgam:不可靠的資料報(udp)

sock_raw:不可靠的網路層資料報(icmp, igmp, ip raw)

------包含在protosw結構中

4.ip層處理流程

5.協議棧源**組織

插口層            bsd socket             /net/socket.c

/net/protocol.c

inet socket            /ipv4/protocl.c

/ipv4/af_inet.c

/net/ipv4/core/sock.c

協議層            tcp/udp                 /net/ipv4/udp.c datagram.c tcp_input.c tcp_output.c tcp.c...

ip                            /net/ipv4/ip_forward.c ip_input.c ip_output.c

介面層            ethernet

6.重要原始檔:

af_inet.c:主要是資料報處理和協議的初始化

7.重要結構體說明:

sk_buff:網路包儲存在這個結構中,協議棧的各個層的頭部資訊、使用者資料資訊(有效載荷)和其他輔助資訊都儲存在這個結構中。

socket:使用者介面中的socket介面

sock:socket介面的具體實現

8.滑動視窗演算法解析

->加性增,剩性減

->慢啟動

Linux核心引數修改

由於linux的核心引數資訊都存在記憶體中,因此可以通過命令直接修改,並且修改後直接生效。但是,當系統重新啟動後,原來設定的引數值就會丟失,而系統每次啟動時都會自動去 etc sysctl.conf檔案中讀取核心引數,因此將核心的引數配置寫入這個檔案中,是乙個比較好的選擇。首先開啟 etc sysc...

linux修改核心頻率

1.kernel kconfig.hz 在config hz 100 之前新增 config hz 10 bool 10 hz help 10 hz is added by song.在 default 100 if hz 100 之前新增 default 100 if hz 10 2.kernel...

Linux修改核心引數

linux proc sys kernel 和 proc sys vm下的檔案控制核心的執行,可以通過修改引數的方式來改變核心功能 立即生效 修改引數方法 方法一 echo value proc sys path root lulijuan hostname helloworld root luli...