内核

charlie1145141913 天前
linux·开发语言·驱动开发·内核·c
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础仓库已经开源!所有教程,主线内核移植,跑新版本imx-linux/uboot都在这里!欢迎各位大佬观摩!喜欢的话点个⭐!
Paraverse_徐志斌12 天前
linux·运维·内核·零拷贝
Linux 内核与 Zero-Copy 零拷贝Linux 系统安全性更高的原因之一就是系统是区分用户态、内核态。如果想要进行硬件调用操作,必须要切换到内核态空间。对于用户进程来说,是没办法操作任何操作系统硬件的。
REDcker16 天前
android·ios·内核·浏览器·webview
iOS 与 Android:浏览器引擎、WebView 与生态差异概览技术博客:移动端常说的「浏览器内核」,多指网页渲染与脚本执行栈(如 WebKit、Blink、Gecko),与操作系统内核(XNU、Linux)不是同一概念。本文对比 iOS 与 Android 在引擎策略、系统 WebView、Chromium/Blink 关系上的差异,并补充地域政策(如欧盟 DMA)、内嵌网页常见形态与前端兼容要点。具体能力与条款以 Apple、Google、Mozilla 官方文档及实机为准。
程序猿编码20 天前
linux·运维·服务器·内核·root权限
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析在Linux系统中,root是拥有最高管理权限的超级用户,普通进程默认只能受限运行。本文将带你用最通俗的语言,拆解一个通过劫持内核系统调用,让普通用户程序瞬间获取root权限的内核级后门实现。这不是攻击教程,而是带你理解Linux权限机制、内核工作原理的技术剖析,所有内容仅用于学习和系统安全防护。
-SGlow-23 天前
linux·c语言·算法·内核
Linux相关概念和易错知识点(51)(mmap文件映射、共享内存原理、malloc的原理)我们访问文件都是调用系统调read、write,这本质上是和文件缓冲区进行IO,之后系统自动刷新缓冲区到磁盘中。我们可以认为拿到文件缓冲区的访问权,我们就能访问文件。 除此之外,我们还可以将文件缓冲区映射到进程地址空间中,像动态库那样,这样的话我们就可以通过直接访问进程地址空间来操作文件缓冲区,进而不使用系统调用来操作文件。多个进程都可以这么做,就像一个动态库实例可以被映射到多个进程那样,这就是共享内存的原理,因此,我们可以说共享内存本质上还是看到了同一块文件缓冲区。
mounter6251 个月前
linux·运维·服务器·网络·内核
深度解析 Linux 内核 devlink:从硬件控制到跨功能速率调度的演进1. 走进 devlink:内核与硬件的“中间人”在 Linux 网络子系统中,早期我们主要依靠 ethtool 调整网卡参数,靠 ip link 管理网络接口。但随着硬件能力的爆炸式增长(如智能网卡 SmartNIC、交换芯片 Switch ASIC),现有的工具无法触达硬件层面的深层配置,例如分片(Slicing)、端口模式切换、硬件资源池分配等。
零K沁雪1 个月前
linux·内核
Linux 内核中网络地址快速打印符内核中最便捷的网络地址打印方式——printk扩展格式说明符。这些是内核printk函数专门为网络地址提供的格式化输出功能。
零K沁雪1 个月前
linux·内核
Linux 内核中与网络地址相关的函数Linux内核提供了丰富的网络地址处理函数,主要用于协议栈内部和内核模块开发。以下是内核中可用的网络地址工具函数分类介绍。
零K沁雪1 个月前
linux·内核
Linux 内核遍历宏介绍Linux内核中大量使用遍历宏(Iteration Macros)来简化数据结构的遍历操作。这些宏提供了类型安全、简洁且高效的遍历方式,是内核编程的核心范式之一。
零K沁雪1 个月前
linux·内核
内核定时器Linux内核提供了多种定时器机制,用于实现延迟执行、周期性任务和超时处理。不同的定时器适用于不同的场景,从纳秒级精度到秒级延迟,从软中断上下文到进程上下文。
mounter6251 个月前
linux·运维·服务器·网络·内核·内存回收
【LSF/MM内核前沿】Linux 内存回收推倒重来?解析 MGLRU 与传统 LRU 的“统一之战”在 Linux 内核的内存管理(MM)领域,mm/vmscan.c 一直是核心中的核心。然而,最近的一场社区大讨论打破了平静。随着 MGLRU(多代最近最少使用算法)在 6.1 版本合并,内核现在实际上运行着两套完全平行的页面回收路径。
Qt程序员1 个月前
linux·c++·内核·linux内核·rcu
深入理解 Linux 内核 RCU 机制:从原理到实现做内核开发的同学应该都有过这样的困扰:多核CPU普及后,共享数据的并发访问成了性能瓶颈。传统的自旋锁、互斥锁虽然能保住数据一致性,但高并发下的锁竞争的问题,真的太影响效率了。
零K沁雪1 个月前
linux·内核
skb_buff 相关函数在内核中操作 sk_buff 的函数非常丰富,主要可以分为分配与释放、数据指针操作、管理链表、克隆与复制这几大类。这些函数是处理网络数据包的基础,驱动或协议模块通过它们来安全地操作数据。
程序猿编码1 个月前
linux·c语言·网络·c++·tcp/ip·内核·内核模块
轻量又灵活:一款伪造TCP数据包的iptables扩展实现解析(C/C++代码实现)在网络测试、安全验证等场景中,伪造TCP数据包是一项常用的技术手段。本文要介绍的,是一个轻量级的Linux内核模块+iptables扩展工具,它能让我们通过简单的iptables命令,灵活定制并发送伪造的TCP数据包,覆盖IPv4和IPv6双协议栈,还支持自定义TTL、TCP标志位、校验和篡改等丰富功能。
阿昭L2 个月前
windows·驱动开发·内核
Windows内核驱动开发时是否要设置版本控制宏不是必须的,但在专业开发中强烈推荐设置,否则会带来很多问题。默认情况下,编译器会使用最低版本的 Windows API 定义(通常是 Windows 2000 或 XP 级别)。这会导致:
阿昭L2 个月前
windows·驱动开发·内核
Windows内核驱动开发构建选项在Windows内核驱动开发(WDK)中,编译器和链接器的选项配置至关重要,它们决定了驱动能否在内核环境中稳定运行。以下以Windows 10(Win10)为例,梳理开发驱动时必须定义的宏、编译选项及链接选项。
learndiary2 个月前
linux·ubuntu·centos·内核·数据恢复·固态硬盘·系统迁移
Linux维修案例:更新内核掉网卡驱动、CentOS 系统迁移、固态硬盘数据恢复(首发地址: 学习日记 https://www.learndiary.com/2026/03/fix-20260304/ )
Qt程序员2 个月前
linux·c++·内核·动态库
Linux .so 动态库:底层原理你是否曾好奇,为什么一个简单的"Hello World"程序,编译出来才几KB,却能调用复杂的屏幕输出功能?又或者,为什么系统里那么多软件都能用同一套图形界面(比如GTK/Qt),而无需每个软件都自带一份重复的代码?
程序猿编码3 个月前
linux·网络·内核·内核模块·ptrace
实战Linux内核模块:终止ptrace跟踪程序与被跟踪进程在Linux系统中,ptrace(进程跟踪)是调试、分析程序的核心能力——比如我们常用的GDB调试器,就是靠ptrace系统调用来实现断点调试、查看进程内存、单步执行等功能。但凡事有两面性,恶意程序也可能通过ptrace跟踪系统中的关键进程,窃取数据或篡改执行逻辑。今天我们就通过一个极简的Linux内核模块,聊聊如何从内核层面识别并终止所有存在ptrace跟踪关系的进程对(跟踪者与被跟踪者),同时拆解背后的内核编程思路和核心知识点。
程序猿编码3 个月前
linux·c语言·c++·tcp/ip·内核
深入浅出Linux内核级防火墙:IP/端口黑白名单的高性能实现在Linux系统中,防火墙是网络安全的核心组件,而内核级防火墙相比用户态防火墙(如iptables用户态工具),能直接在网络数据包流经内核协议栈时进行处理,避免了用户态-内核态的频繁切换,具备更低的延迟和更高的吞吐量。本文将从核心概念、设计思路、实现原理等角度,拆解一款支持IP(单IP+CIDR网段)、端口(单端口+端口范围)黑白名单管控的低级Linux防火墙,理解内核态网络管控的核心逻辑。