2023年12月22日

摘要: 什么是字符设备和块设备?都有哪些区别? 这两个文件都与从一处向另一处写入数据和读取数据有关。 但它们之间的区别在于它们读取/写入数据的方式。 字符文件:字符文件是一种以字符方式读取/写入数据的硬件文件。 一些经典的例子是键盘、鼠标、串行打印机。 如果用户使用 char 文件写入数据,则其他用户不能使 阅读全文
posted @ 2023-12-22 22:48 真喜欢落叶与飞花起舞 阅读(91) 评论(0) 推荐(0) 编辑

2023年10月29日

摘要: 基础概念 直接内存访问(Direct Memory Access, DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬件子系统(电脑外设),可以独立地直接读写系统内存,而不需要中央处理器(CPU)介入处理。在同等程度的处理器负担下,DMA是一种快速的数据传送方式。很多硬件的系统会使用D 阅读全文
posted @ 2023-10-29 08:54 真喜欢落叶与飞花起舞 阅读(127) 评论(0) 推荐(0) 编辑

2023年10月17日

摘要: spinlock 和 mutex Spinlock是linux内核中常用的一种互斥锁机制,和mutex不同,当无法持锁进入临界区的时候,当前执行线索不会阻塞,而是不断的自旋等待该锁释放。正因为如此,自旋锁也是可以用在中断上下文的。也正是因为自旋,临界区的代码要求尽量的精简,否则在高竞争场景下会浪费宝 阅读全文
posted @ 2023-10-17 22:53 真喜欢落叶与飞花起舞 阅读(85) 评论(0) 推荐(0) 编辑

2023年10月6日

摘要: sysctl - configure kernel parameters at runtime 在运行时配置内核参数。 选项 sysctl [-n] [-e] variable ... sysctl [-n] [-e] [-q] -w variable=value ... sysctl [-n] [ 阅读全文
posted @ 2023-10-06 23:24 真喜欢落叶与飞花起舞 阅读(336) 评论(0) 推荐(0) 编辑

2023年10月4日

摘要: 为什么要使用skb_reserve函数把边界对齐 skb_reserve 函数通常用于网络编程中的数据包处理,特别是在构建自定义协议栈或数据包处理模块时。它的作用是为数据包的头部预留额外的空间,以确保数据包的头部数据在内存中是对齐的。 边界对齐的概念是因为许多硬件平台和网络协议要求数据包头的字节对齐 阅读全文
posted @ 2023-10-04 17:00 真喜欢落叶与飞花起舞 阅读(311) 评论(0) 推荐(0) 编辑

2023年9月26日

摘要: Docker有着比虚拟机更少的虚拟抽象层 由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会效率上有明显优势。 Docker利用的是宿主机的内核,不需要加载操作系统OS内 阅读全文
posted @ 2023-09-26 21:41 真喜欢落叶与飞花起舞 阅读(29) 评论(0) 推荐(0) 编辑

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 阅读全文
posted @ 2023-09-25 20:48 真喜欢落叶与飞花起舞 阅读(368) 评论(0) 推荐(0) 编辑

2023年9月23日

摘要: GDB调试学习 C语言HelloWorld 编辑源程序 #include <stdio.h> int main(int argc,char **argv){ printf("Hello World\n"); return 0; } gcc编译,链接 gcc -o helloworld hellowo 阅读全文
posted @ 2023-09-23 18:20 真喜欢落叶与飞花起舞 阅读(36) 评论(0) 推荐(0) 编辑

2023年9月15日

摘要: 安装方法: yum 配置仓库安装 rpm 包安装 使用docker官方提供的自动化脚本 这里以 yum 配置仓库安装为例。 确认操作系统版本 确认操作系统是否是 CentOS 7 及以上版本。 cat /etc/os-release 卸载旧版本 sudo yum remove docker \ do 阅读全文
posted @ 2023-09-15 18:30 真喜欢落叶与飞花起舞 阅读(24) 评论(0) 推荐(0) 编辑

2023年7月16日

摘要: **const 常量与常量** 在 C 语言中,通过内联方式直接写到源代码中的字面量值一般被称为“常量”。比如这里的 -10,‘c’, 2.0。 ```C int x = -10; char y = 'c'; double z = 2.0; ``` 还有一种常量,是用 const 关键字按照与定义变 阅读全文
posted @ 2023-07-16 10:53 真喜欢落叶与飞花起舞 阅读(31) 评论(0) 推荐(0) 编辑