linux系统内核数据?

 我来答
云南北大青鸟计算机学校
2022-10-28 · 百度认证:云南嘉荟教育信息咨询官方账号,教育领域创作者
云南北大青鸟计算机学校
%³O솋㻺ѧɁӚ2005ĪցϦ#x0241;17ĪΪԆď؇ѸKʽǧITӢȋţ⎷ď؇䈋Ŷ̈ď֗Ҳ⁋Ǧ#x010F;؇ʌҵѹfӾΪǦ#x010F;ȭȋŷ믻
向TA提问
展开全部

正如图中看到的一样,存在着两种WiFi设备,具体是哪一类要看IEEE802.11标准的MLME如何实现。



如果直接通过硬件实现,那么设备就是硬MAC(fullMAC)设备;如果通过软件的方式实现,那么设备就是软MAC(softMAC)设备。现阶段大部分无线设备都是软件实现的软MAC设备。


通常我们把Linux内核无线子系统看成两大块:cfg80211和mac80211,它们连通内核其他模块和用户空间的应用程序。


特别指出,cfg80211在内核空间提供配置管理服务,内核与应用层通过nl80211实现配置管理接口。需要记住的是,


硬MAC设备和软MAC设备都需要cfg80211才能工作。而mac80211只是一个驱动API,它只支持软件实现的软MAC设备。


接下来,我们主要关注软MAC设备。


Linux内核无线子系统统一各种WiFi设备,并处理OSI模型中最底层的MAC、PHY两层。


若进一步划分,MAC层可以分为MAC高层和MAC底层。前者负责管理MAC层无线网络的探测发现、身份认证、关联等;


后者实现MAC层如ACK等紧急操作。大部分情况下,硬件(如无线适配器)处理大部分的PHY层以及MAC底层操作。Linux子系统实现大部分的MAC高层回调函数。


2模块间接口


从图一中我们可以看出,各个模块之间分界线很清晰,并且模块间相互透明不可见。模块之间一般不会相互影响。


举个例子,我们在WiFi设备驱动做修改(如,打补丁、添加新的WiFi驱动等),这些变更并不会影响到mac80211模块,


所以我们根本不用改动mac80211的代码。再如,昆明北大青鸟http://www.kmbdqn.cn/建议添加一个新的网络协议理论上是不用修改套接字层以及设备无关层代码。一般情况下,内核通过一系列的函数指针实现各层之间相互透明。


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式