1.內核提供給用戶層的接口:
1)systemcall
2)procfs命令:virtual filesystem,編譯選項:Filesystems Pseudo filesystems/proc file system support
3)sysctl命令:用戶層查看和修改系統變量,並將結果保存在/proc/sys目錄下,編譯選項:General setupSysctl support
4)sysfs命令:2.6之後的內核支持命令,編譯選項:Filesystems Pseudo filesystemssysfs
filesystem support (NEW)." The option is visible only if you firstenable the following option:
"General setup Configure standard kernel features (for smallsystems)."
2.ioctl系統調用:傳統的ifconfig以及route命令會調用該函數
Netlink socket:IPROUTE2相關命令會使用該接口
3.procfs和sysctl都輸出內核內部信息,前者主要輸出只讀數據,後者則可以寫入
4.多數網絡功能在初始化時都會在/proc中註冊一個或多個文件
5./proc中的目錄可以通過proc_mkdir創建,文件則可以通過定義在linux/include/linux/proc_fs.h中的proc_net_fops_create和proc_net_remove註冊和刪除
6.sysctl:目錄/proc/sys,該目錄下的一個文件對應一個內核變量