摘要:
什么是字符设备和块设备?都有哪些区别? 这两个文件都与从一处向另一处写入数据和读取数据有关。 但它们之间的区别在于它们读取/写入数据的方式。 字符文件:字符文件是一种以字符方式读取/写入数据的硬件文件。 一些经典的例子是键盘、鼠标、串行打印机。 如果用户使用 char 文件写入数据,则其他用户不能使 阅读全文
2023年12月22日
2023年10月29日
2023年10月17日
2023年10月6日
摘要:
sysctl - configure kernel parameters at runtime 在运行时配置内核参数。 选项 sysctl [-n] [-e] variable ... sysctl [-n] [-e] [-q] -w variable=value ... sysctl [-n] [ 阅读全文
2023年10月4日
摘要:
为什么要使用skb_reserve函数把边界对齐 skb_reserve 函数通常用于网络编程中的数据包处理,特别是在构建自定义协议栈或数据包处理模块时。它的作用是为数据包的头部预留额外的空间,以确保数据包的头部数据在内存中是对齐的。 边界对齐的概念是因为许多硬件平台和网络协议要求数据包头的字节对齐 阅读全文
2023年9月26日
摘要:
Docker有着比虚拟机更少的虚拟抽象层 由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会效率上有明显优势。 Docker利用的是宿主机的内核,不需要加载操作系统OS内 阅读全文
2023年9月25日
摘要:
代码一 linux/include/net/tcp.h #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0])) 这段代码是一个宏定义,用于将一个struct sk_buff结构中的成员cb转换为struct tcp_skb 阅读全文
2023年9月23日
2023年9月15日
摘要:
安装方法: yum 配置仓库安装 rpm 包安装 使用docker官方提供的自动化脚本 这里以 yum 配置仓库安装为例。 确认操作系统版本 确认操作系统是否是 CentOS 7 及以上版本。 cat /etc/os-release 卸载旧版本 sudo yum remove docker \ do 阅读全文
2023年7月16日
摘要:
**const 常量与常量** 在 C 语言中,通过内联方式直接写到源代码中的字面量值一般被称为“常量”。比如这里的 -10,‘c’, 2.0。 ```C int x = -10; char y = 'c'; double z = 2.0; ``` 还有一种常量,是用 const 关键字按照与定义变 阅读全文