深入理解Linux网络技术内幕——用户空间与内核空间交互

概述:

    内核空间与用户空间经常需要进行交互。举个例子:当用户空间使用一些配置命令如ifconfig或route时,内核处理程序就要响应这些处理请求。
    用户空间与内核有多种交互方式,最常用的有以下四种:通过/proc虚拟文件系统,通过/sys虚拟文件系统,通过ioctl系统调用,通过Netlink socket。 其中编写程序时最常使用ioctl,这四种方式中有两种是通过虚拟文件系统。

 procfs 与 sysctl

    procfs挂载/proc  sysctl挂载在 /proc/sys(与后面介绍的/sys不同)。(注意,《Understanding Linux Network Internal》一书中使用的Linux内核已经比较陈旧,procfs与sysfs等内核交互机制已经有较大变化,本文虽然给出了一些新内核的代码,但主要功能介绍仍是来源于 《Understanding Linux Network Internal》关于旧内核的说明。)

procfs    

     procfs是一个虚拟文件系统,挂载在/proc目录下,编译内核时,可以通过配置内核选项make menuconfig->Filesystems  Pseudo filesystems  /proc file system support 来启用/关闭它。它不能以模块形式加载。 procfs是一个虚拟文件系统,在磁盘上并没有真实存在。但是我们却可以对它进行读、写、重定向甚至改变访问权限(procfs大部分是只读的内容,可写数据主要是存在于/proc/sys中,具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值