![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux 内核
文章平均质量分 86
嵌入式产品侠
追梦人
展开
-
linux内存屏障
现代计算机为了提高性能多采取乱序执行,乱序执行又分为编译乱序和执行乱序两类,前者是编译器的行为,后者是cpu运行时的行为。编译乱序可以通过编译屏障来解决,而执行乱序一般通过读内存屏障、写内存屏障以及读写内存屏障来解决。原创 2024-07-03 00:07:48 · 977 阅读 · 0 评论 -
原子变量原理剖析
本篇文章首先根据一个真实的事例引出原子操作要解决的问题,然后对linux提供的原子操作的众多接口进行了解释说明,最后对arm架构上的两种原子操作的实现方式原理LL/SC、LSE进行了剖析。经过上面的学习,大家应该已经了解原子变量的使用场景以及内部的实现机理。原创 2024-06-29 22:53:54 · 1149 阅读 · 0 评论 -
linux内核同步与并发的几点思考
多个内核代码路径同时访问和操作数据,会产生竞态,导致访问数据的不一致。此类问题很难跟踪和调试。学习内核并发和同步机制,可以有效地避免此类问题的发生。原创 2024-06-29 10:46:49 · 326 阅读 · 0 评论 -
一起学习Linux内核模块的知识,为编写复杂的设备驱动做好准备
本文首先对linux内核模块的特点进行了概述,其模块本身不被编译到内核映像,从*有效地控制内核映像的大小,同时模块一旦加载,和内核的其他部分完全一样。然后对内核的组成进行了讲解,其主要包含内核模块加载函数、卸载函数、模块参数、导出符号、模块声明和描述以及模块的使用计数。最后以一个简单的模块示例,把整个流程跑了一遍,同时对涉及到的命令做了展示。希望大家可以掌握此部分的知识,为编写其他设备驱动做好准备。原创 2024-06-10 11:07:54 · 729 阅读 · 0 评论 -
linux 内核映像差异介绍:vmlinux、zImage、zbImage、image、uImage等
当我们编译自定义内核时,可以将其生成为以下内核映像之一:vmlinux,zimage和bzimage。了解其中的差异,可以帮忙我们更好地选择。原创 2024-06-02 23:25:43 · 862 阅读 · 1 评论