linux内核

模块机制 可加载模块的概念 ​ 微内核:只保留核心模块,易维护、低性能 内核许可声明 协议分类 Page Cache ​ Page Cache 就是内核为了加速文件读写而在内存中保留的文件页。你每次 read/write 文件时,其实不是直接访问硬盘,而是在和 Page Cache 互动。 ...

August 4, 2026 · 2 min

Linux干货

Linux 干货速查 面向 Ubuntu 开发主机 + BusyBox 嵌入式开发板的个人速查。 约定 ⚠️ 标记危险命令(误用会丢数据 / 断网 / 毁分区),执行前务必确认设备名和路径。 命令行为在不同实现下可能不同,差异处标注:(GNU)Ubuntu 自带 / (BusyBox)板子 / (systemd)。 拿不准的地方标注「待确认」,不猜。 目录 Shell 与环境变量 文件与目录操作 文本搜索与处理 磁盘、分区与文件系统 内存、CPU 与 I/O 排查 网络配置与抓包 文件传输与共享 systemd 与系统服务 设备管理:udev 与 uevent 交叉编译工具链 常见故障与排查案例 Shell 与环境变量 重定向 从文件读入 stdin: ...

August 4, 2026 · 13 min

Linux系统编程

文件系统 文件索引节点:inode 两部分 纯数据区 文件真正的数据存储区、基本存储单位为block 元数据区 文件属性:磁盘中的存储位置、文件长度等信息 时间戳:创建时间、修改时间 读写权限:使用read/write系统调用时,要首先要进行权限检 所属组、所有者 链接数 挂载 ​ 挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备,可以挂载光盘、硬盘、磁带、光盘镜像文件等)挂接到一个已存在的目录上,那么,你访问这个目录就是访问这个设备(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用) ,一个目录一旦成为"挂载点",该目录下看到的内容,来自"被挂载的文件系统", 与父目录的存储介质完全无关。 ...

August 4, 2026 · 4 min

linux网络

TCP建立连接的过程 listen listen的工作主要是申请和初始化接收队列,包括全连接队列和半连接队列。全/半连接队列是三次握手中重要的数据结构,有它服务端才能响应客户端的三次握手 ...

August 4, 2026 · 1 min

Git

学习资料 win11搭建网络映射器:https://m.comcw.cn/jc/4614.html 音视频学习:https://github.com/0voice/audio_video_streaming ...

August 3, 2026 · 17 min

kernel

TTY终端 终端 终端是一个电子(或电气)设备,用于向系统输入数据(input),或者将系统接收到的数据显示出来(output),即我们常说的“人机交互设备”。 TTY(Teletypewriter)代表终端设备的概念,它允许用户与系统进行交互,在Linux中,TTY可分为如下几类: ...

July 18, 2026 · 2 min

Makefile

Make 与 CMake 构建笔记 面向 Linux / C/C++ / 交叉编译(ARM、MIPS uClibc 工具链)的构建笔记。 Make 基础概念 Make 通过比较**目标(target)与其依赖(prerequisite)的修改时间(mtime)**决定是否重建:只要任一依赖比目标新,就执行该目标的命令,并沿依赖图递归向上。 ...

July 18, 2026 · 20 min

4G

驱动移植 ​ 4G模块加载 USB 转串口驱动option后会在/dev/下创建ttyUSB0、ttyUSB1 和 ttyUSB2 等设备文件。如果没有出现,需要在drivers/usb/serial/option.c里添加VID(Vendor ID)与PID(Product ID) ...

July 13, 2026 · 2 min

dts

平台设备驱动程序 片上设备 物理存在于 SoC 内部的硬件模块,其特点是焊死在芯片内部,不可插拔,不可枚举(无discovery机制) UART 控制器 I2C 控制器 SPI 控制器 GPIO Timer 平台设备 设备树 设备树解决什么问题 Device Tree 用来描述板级硬件资源,尤其适合描述 SoC 内部这类无法自动枚举的设备,例如 UART、I2C、SPI、GPIO、Timer 等。Bootloader 启动内核前把 .dtb 放到内存中,内核启动后解析 .dtb,再根据节点中的 compatible、reg、interrupts、pinctrl 等信息完成设备创建和驱动匹配。 ...

July 13, 2026 · 5 min

char_driver

May 27, 2026 · 0 min