news 2026/5/1 7:30:39

24、Linux 设备驱动与网络设备全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
24、Linux 设备驱动与网络设备全解析

Linux 设备驱动与网络设备全解析

1. 网络设备概述

网络设备与普通设备不同,它不通过设备节点访问,也没有主次设备号。内核会根据字符串和实例编号为网络设备分配名称。例如,网络驱动注册接口的代码如下:

my_netdev = alloc_netdev(0, "net%d", NET_NAME_UNKNOWN, netdev_setup); ret = register_netdev(my_netdev);

首次调用时会创建名为net0的网络设备,第二次调用创建net1,依此类推。常见的网络设备名还有loeth0wlan0,不过设备管理器(如udev)可能会更改这些名称。

通常,网络接口名称仅在使用ipifconfig等工具配置网络地址和路由时使用。之后,通过打开套接字间接与网络驱动交互,由网络层决定如何将数据包路由到正确的接口。不过,也可以在用户空间通过创建套接字并使用include/linux/sockios.h中列出的ioctl命令直接访问网络设备。以下是一个使用SIOCGIFHWADDR查询硬件(MAC)地址的示例代码:

#include
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 10:25:12

27、Linux系统初始化:从System V init到systemd的深入解析

Linux系统初始化:从System V init到systemd的深入解析 1. System V init与inittab文件 1.1 inittab文件概述 init程序启动时会读取 /etc/inittab 文件,该文件定义了每个运行级别下的操作。其格式是BusyBox inittab的扩展版本,因为BusyBox最初是从System V借鉴而来。 i…

作者头像 李华
网站建设 2026/4/27 3:13:43

30、深入理解进程管理与进程间通信

深入理解进程管理与进程间通信 1. 进程概述 进程是线程运行的环境,它包含内存映射、文件描述符、用户和组 ID 等信息。系统启动时,内核会创建第一个进程——init 进程,其 PID 为 1。此后,新进程通过“fork”操作创建。 2. 创建新进程 创建进程的 POSIX 函数是 fork(2)…

作者头像 李华
网站建设 2026/4/30 8:27:08

40、嵌入式Linux实时性能优化与测量

嵌入式Linux实时性能优化与测量 1. 可抢占内核锁 在实时系统中,内核锁的可抢占性是一个关键问题。PREEMPT_RT对内核锁进行了重大修改,使大多数内核锁可被抢占,但这部分代码尚未合并到主线内核中。 自旋锁是内核中常用的锁机制,它是一种忙等待互斥锁,在竞争情况下无需上…

作者头像 李华
网站建设 2026/4/21 19:19:48

开源多模态新突破:Kimi-VL模型以28亿激活参数实现旗舰级性能

开源多模态新突破:Kimi-VL模型以28亿激活参数实现旗舰级性能 【免费下载链接】Kimi-VL-A3B-Instruct 我们推出Kimi-VL——一个高效的开源混合专家(MoE)视觉语言模型(VLM),具备先进的多模态推理能力、长上下…

作者头像 李华
网站建设 2026/4/30 8:22:53

重磅发布:SmolLM3-3B打破小型语言模型性能壁垒,开放生态推动AI普惠

在大语言模型参数竞赛愈演愈烈的当下,Hugging Face团队推出的SmolLM3-3B模型以"小而美"的技术路径引发行业关注。这个仅含30亿参数的开源模型,通过创新架构设计与多阶段训练优化,在保持轻量化部署特性的同时,实现了双模…

作者头像 李华