RCU是Linux内核中很难的一部分,本系列文章一点一滴地来把RCU说清楚。第一次连载,是描述硬件。
2017-09-04 10:29:48
6484 
本文从硬件的角度引申出内存屏障,这不是内存屏障的详尽手册,但是相关知识对于理解RCU有所帮助。
2017-09-19 11:39:57
6583 
嵌入式系统Linux内核开发工程师必须掌握的三十道题 linux内核工程师需要知道的30个问题,看看你能回答出多少个。
2018-04-22 08:22:02
2901 
减少锁竞争的一个有效方法是创建一个分级结构,如上图所示。在此,四个rcu_node 结构中的每一个都有各自的锁,这样只有 CPU 0 和 1 会获取最左边的 rcu_node的锁, CPU 2 和 3 会获取中间的rcu_node的锁,CPU 4和5会获取右边的rcu_node的锁。
2018-05-10 09:08:21
15695 
RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取
2020-09-25 15:10:15
3194 在linux内核中,互斥量(mutex,即mutual exclusion)是一种保证串行化的睡眠锁机制。和spinlock的语义类似,都是允许一个执行线索进入临界区,不同的是当无法获得锁的时候
2022-05-13 08:56:26
7763 
【Linux + C语言】话说,你真的了解system接口的调用吗?
2022-09-12 16:33:38
5356 
好久没有更文,上次更文时西安天气还很热,现在“寒气”它还真来了。在前一阶段经历了一些公司的面试,经常会问到RCU锁的原理,其实在跟对方口述表达时才真正能体现出来自己到底懂不懂,关于RCU锁的原理与使用,我打算分若干个次文章整理出来,本次就先从一个大概的原理上进行讲解。
2022-10-13 16:17:27
5227 
我猜,你读这篇文章,说明你已经对Linux安全模块(LSM)有所了解。如果你使用过SELinux或AppArmor,其实就已经用过LSM了。甚至,在你使用的Linux发行版本或Android系统之上,也使用了LSM。
2022-11-28 09:21:41
9044 今天浩道跟大家分享linux实用场景相关的实例,助你全面了解linux相关知识。
2023-01-29 11:09:09
885 在linux内核中,互斥量mutex是一种保证CPU串行运行的睡眠锁机制。和spinlock类似,都是同一个时刻只有一个线程进入临界资源,不同的是,当无法获取锁的时候,spinlock原地自旋,而mutex则是选择挂起当前线程,进入阻塞状态。所以,mutex无法在中断上下文中使用。
2023-06-26 16:05:58
1918 Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。对于一名Linux驱动开发者来说,了解Linux内核的运行机制和Linux内核提供的一些关键功能(如虚拟内存管理、进程管理、文件系统、网络协议栈等)都是我们日常工作和学习的重点。
2023-07-06 11:46:41
2259 
在Linux内核中,RCU最常见的用途是替换读写锁。在20世纪90年代初期,Paul在实现通用RCU之前,实现了一种轻量级的读写锁。后来,为这个轻量级读写锁原型所设想的每个用途,最终都使用RCU来实现了。
2023-12-27 09:56:44
3297 
的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。 段页式机制如下图。 linux内核地址空间划分 通常32位Linux内核地址空间划分0~3G为用户空
2018-05-08 10:33:19
3776 
分析,我把这一类 blog 文章划归为“ Linux 机制分析”,希望大家支持。 什么是 workqueue ? Linux 中的 Workqueue 机制就是为了简化内核线程的创建。通过调用
2016-05-21 09:51:16
1.1 Linux内核模块介绍1.1.1 Linux内核模块概述嵌入式设备驱动开发中将驱动程序以模块的形式发布,更是极大地提高了设备使用的灵活性——用户只需要拿到相关驱动模块,再插入到用户的内核中
2019-10-05 20:36:18
在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。
2019-08-06 07:08:12
本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。
2019-08-05 08:18:07
在前面的章节介绍了uboot和Linux内核的一些相关内容。在来看Linux内核的大致启动流程,Linux内核的启动流程要比uboot复杂的多,涉及到的内容也更多,因此在本章节大致简单的了解一下
2020-12-29 07:35:26
,可以了解Linux的机制了。推荐《Linux内核设计与实现》Robert Love 写的。这本书从概念上讲解了Linux有什么,他们是怎么运行的。这本书要反复认真看透。
2019-07-08 06:49:08
在linux下开发过程中,用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求催生的。
2019-07-22 08:05:50
4、嵌入式系统移植Linux内核代码 平台相关代码分析ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9
2013-02-25 09:51:20
1、了解RT-Thread内核的启动流程 内核是操作系统最基础也是最重要的部分。从本文开始进入 RT-Thread 内核相关知识的学习。 首先了解内核的基础知识,对 RT-Thread 内核
2022-09-05 17:01:15
1.3 本章小结1.4 习题第2章 Linux内核体系结构2.1 Linux内核模试和体系结构2.2 Linrx中断机制2.3 Linrx系统定时2.4 Linrx内核进程控制2.4.1任务数据结构
2015-09-11 22:25:28
的挑战,为了解决这个问题,Linux内核引入内核模块机制,通过动态加载内核模块,从而实现在运行过程中扩展内核的功能。内核模块是什么?1 内核模块是一种没有经过链接,不能独立运行的目标文件,是在内核空间
2019-07-16 07:00:00
根本都不知道这个佛是哪一路神仙。 那今天我们就先带大家来深入了解下嵌入式开发中至关重要的一环:linux驱动。 在学习驱动之前,我们首先来了解下操作系统。 # 操作系统OPERATING SYSTEM
2020-04-15 09:59:21
这一段时间一直在学习LINUX内核,关于进程的知识了解不是很多,打搅有了解神的,我们讨论一下
2013-10-19 15:07:07
在上了Linux内核这门课后,我对Linux内核开始有了初步的了解,关于Linux内核,我觉得最重要的部分还是进程的创建以及切换,这是整个内核的核心部分。以下是一些我在学习Linux内核过程中的总结:
2019-07-12 07:27:28
学习ARM该怎么开始,了解了结构后该怎么做,有的说买块开发板,关键买了开发板后又怎么样呢?不买它就不能很好的理解吗?说嵌入式系统那有的要求C语言开发又是什么意思?菜鸟啊!真迷茫。求高手点播
2013-09-12 16:49:44
我专业是电子信息工程,在初入大学的时候,我们的班主任便要我们多多去了解一些关于电子方面的知识。后来我了解到了嵌入式,继而了解到了嵌入式Linux。其实我们学习linux差不多就学习linux内核
2021-11-05 09:05:08
PS: 本文转载于网络,具体出处不明。为了方便广大嵌入式 Linux 初学者快速了解和入门,同时也记录一下,故转载原文,仅用于学习和交流,感谢原作者!从上图可以知道:① 组成:嵌入式Linux系统
2021-11-05 06:12:28
1.嵌入式Linux驱动程序开发嵌入式Linux驱动程序开发包罗万象,基本上每个点都要大概了解一下。1.1软件工具Makefile必须要掌握一些,至于Kconfig太简单了只是个配置文件算不上程序
2021-11-02 10:17:37
是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。这点非常重要,因为内核
2018-08-27 10:31:28
你好 是否可以通过SPAEr320 CPU中的USB启动机制启动Linux内核? 如果是,可以使用哪些工具为可启动USB记忆棒生成图像?我希望至少能够获得一份认可的应用说明链接。 谢谢 亨氏 #USB启动
2019-08-07 14:23:28
本帖最后由 lee_st 于 2018-2-24 19:52 编辑
深入Linux设备驱动程序内核机制
2018-02-24 17:19:33
本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。
2019-08-06 06:16:22
内核模块程序加载到内核中运行。结合lsmod及管道命令,查看内核模块程序在内核中是否正确运行。四、总结本文主要讲解了linux内核模块的概念和基本编程方法、内核模块组成结构,由于linux设备驱动以内核
2021-09-24 09:11:03
想了解下鸿蒙系统内核里面信号通信机制是什么?信号的传输流向是怎么样的?有知道的吗?
2020-09-24 09:59:07
本章学习目标掌握LINUX内核版本的含义理解并掌握进程的概念掌握管道的概念及实现了解内核的数据结构了解LINUX内核的算法掌握LINUX内核升级的方法
2009-04-10 16:59:19
0 本书将Linux内核的学习分为四个层次:全面了解,掌握基本功;兴趣导向,选择重点深度钻研;融入
2010-11-09 17:05:15
0 本内容介绍了arm linux内存管理机制,详细说明了linux内核内存管理,linux虚拟内存管理,arm linux内存管理等方面的知识
2011-12-19 14:09:27
73 linux启动时内核解压过程分析,一份不错的文档,深入了解内核必备
2016-03-09 13:39:39
1 基于Linux内核2_6的进程拦截机制的研究和实现_王全民
2017-03-18 09:15:44
3 ,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。 众所周知,Linux
2017-11-01 15:45:54
4 本文从Linux内核几种软中断机制相互关系和发展沿革入手,分析了这些机制的实现方法,给出了它们的基本用法。 软中断概况 软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多
2017-11-02 11:01:58
0 RCU主要用于对性能要求苛刻的并行实时计算。例如:天气预报、模拟核爆炸计算、内核同步等等。
2017-11-07 11:09:15
4257 
记时器、简短的优先占有时间内核、强有力的可预言的系统日程安排和提供任务性能保证的机制。 RedIce-Linux提供开放资源Linux的能力和可靠性,有唯一的实时系统能力来保证应用性
2017-11-08 10:24:03
12 Linux内核源码当中,关于RCU的文档比较齐全,你可以在 /Documentation/RCU/ 目录下找到这些文件。Paul E. McKenney 是内核中RCU源码的主要实现者,他也写了很多RCU方面的文章。今天我们而主要来说说linux内核rcu的机制详解。
2017-11-13 16:47:44
9308 
Linux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。典型
2017-11-13 17:01:23
1814 
在操作系统引入了进程概念,进程成为调度实体后,系统就具备了并发执行多个进程的能力,但也导致了系统中各个进程之间的资源竞争和共享。另外,由于中断、异常机制的引入,以及内核态抢占都导致了这些内核执行
2017-11-14 15:25:19
5869 
在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。
2017-11-14 15:52:46
7626 模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。
2018-08-24 17:15:46
8 了解如何配置和使用Linux内核printk功能,包括其动态调试功能。
这样可以选择性地打印调试消息,而无需重新编译内核。
2018-11-27 06:40:00
3556 了解Linux设备驱动程序的基础知识,重点关注设备节点,内核框架,虚拟文件系统和内核模块。
提出了一个简单的内核模块实现。
2018-11-26 06:51:00
3549 了解如何获取Xilinx Linux内核源代码,配置它,构建内核和设备树,最后在ZC702板上运行新内核。
2018-11-23 07:09:00
3873 本文档的主要内容主要是为了让你完全了解了单片机主要包括了:1 了解单片机的基本结构与应用,2 了解单片机的逻辑语言,3 了解单片机学习的软硬件条件
2019-02-20 14:05:14
1 在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。
要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。
2019-04-24 11:45:02
1658 用户空间中包含了C库,用户的应用程序。在某些体系结构图中还包含了shell,当然shell脚本也是Linux体系中不可缺少的一部分。
2019-04-28 16:52:26
1435 
Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。
2019-04-28 16:54:40
1232 
Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行
2019-04-29 15:25:50
1023 在linux内核系统中,各个模块、子系统之间是相互独立的。Linux内核可以通过通知链机制来获取由其它模块或子系统产生的它感兴趣的某些事件。
2019-05-05 11:46:56
2508 中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部中断(又叫硬件中断)和内部中断(又叫异常)。
2019-05-05 15:30:38
930 linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们
2019-05-06 16:13:00
970 在linux内核中,有一种通用的双向循环链表,构成了各种队列的基础。链表的结构定义和相关函数均在include/linux/list.h中,下面就来全面的介绍这一链表的各种API。
2019-05-07 10:44:57
854 在内核调试技术之中,最简单的就是printk的使用了,它的用法和C语言应用程序中的printf使用类似,在应用程序中依靠的是stdio.h中的库,而在linux内核中没有这个库,所以在linux内核中,使用这个printk就要对内核的实现有一定的了解。
2019-05-10 11:18:47
1879 之前一直认为linux中很多东西是用来保证缓存一致性的,其实不是。缓存一致性绝大部分是靠硬件机制实现的,只有在带lock前缀的指令执行时才与cache有一点关系。(这话说得绝对,但我目前看来就是这样)我们更多的时候是为了保证顺序一致性。
2019-05-10 14:20:31
778 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。
2019-05-12 08:26:00
880 当编译内核代码的时候,使用make C=1或C=2的时候,会调用一个叫Sparse的工具,这个工具对内核代码进行检查,怎么检查呢,就是靠对那些声明过Sparse这个工具所能识别的特性的内核函数或是变量进行检查。
2019-05-12 09:48:00
801 Linux是单内核系统,可通用计算平台的外围设备是频繁变化的,不可能将所有的(包括将来即将出现的)设备的驱动程序都一次性编译进内核,为了解决这个问题,Linux提出了可加载内核模块(Loadable
2019-05-13 10:04:53
865 
RCU(Read-Copy Update),顾名思义就是读-拷贝修改,它是基于其原理命名的。对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然后
2019-05-14 17:37:00
14743 
Linux内核同步机制,挺复杂的一个东西,常用的有自旋锁,信号量,互斥体,原子操作,顺序锁,RCU,内存屏障等。
2019-05-14 14:10:38
935 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。
2019-05-14 16:16:44
998 
所谓的"probe”,是指在Linux内核中,如果存在相同名称的device和device_driver,内核就会执行device_driver中的probe回调函数,而该函数就是所有driver
2019-05-14 16:18:25
4493 
CPU级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。
2019-05-14 16:20:15
995 
对于系统调用poll或select,它们对应的内核函数都是sys_poll。分析sys_poll,即可理解poll机制。
2019-05-14 16:22:17
4465 
经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。
2019-05-15 10:17:02
837 Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网
2019-05-15 11:09:31
1318 
一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。
2019-05-15 15:47:40
817 
Linux2.6.23内核版本中对RCU有哪些修正。所谓修正主要包括两个部分,一部分是bug fixed,一部分是新增的特性。 二、issue修复1、synchronize_kernel是什么鬼?仅仅
2019-04-02 14:35:29
461 很方便地启用个性化 bootsplash。.Linux2.4内核对 Initrd 的处理流程为了使读者清晰的了解Linux2.6内核initrd机制的变化,在重点介绍Linux2.6内核initrd
2019-04-02 14:39:19
817 从Linux 2.6起引入了一套新的驱动管理和注册机制:platform_device和platform_driver。
2019-11-06 14:12:50
2009 
嵌入式Linux系统做模块化处理就是可划分为Bootloader(引导程序),Kernel(内核),fs(文件系统),Shell(命令行界面),Gui(图形库)和 Embeded Sql(嵌入式数据库)等。
2019-12-10 16:40:36
1161 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问,尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。
2020-09-22 09:46:37
2955 
一、linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux
2021-01-02 18:01:00
2580 的设计有所了解。这也就是为什么内核漫游的入点选择为内核本身的启始点:系统引导(启动)。这份材料需要对C语言以及对Unix的概念和PC机的结构有很好的了解,然而本章中并没有出现任何的C代码,而是直接参考(指向)实际的代码的。有关内核设计的最佳篇幅是在本手
2021-01-15 17:40:09
15 jump label机制进入Linux内核已经很多很多年了,它的目的是 消除分支。 为了达到这个目的,jump label的手段是 修改分支处的代码。
2021-03-25 14:02:36
4573 
作为最流行的开源操作系统,Linux在各行各业得到了广泛的应用。因此了解Linux 内核的架构及工作机制就显得非常重要
2021-04-02 11:30:12
2803 
Linux内核文件Cache机制(开关电源技术与设计 第二版)-Linux内核文件Cache机制
2021-08-31 16:34:54
4 为了解决小块内存的分配问题,Linux 内核提供了块分配器,最早实现的块分配器是SLAB 分配器。
2022-07-27 09:35:37
2521 同步就是进程与进程之间,进程与系统资源之间的交互。由于 Linux内核采用的是多任务,所以在多个进程之间,必须要有同步机制来保证彼此协调。
2023-05-04 17:06:13
1536 Linux 存在众多 tracing tools,比如 ftrace、perf,他们可用于内核的调试、提高内核的可观测性。
2023-06-11 11:05:30
1636 
与hardlockup机制类似, softlockup也是在watchdog框架下关注于某个task一直处于内核态而不给其它task运行机会的一种debug机制.具体的超时判断时间一般为20S,也可以通过sysctrl 来进行修改.
2023-06-23 15:30:00
2323 
深入了解Linux中vi命令的使用 VI是一款在Linux系统中使用的文本编辑器,它是一款功能强大、灵活性高的编辑器。VI编辑器具有非常高效的命令行操作方式,并且在各个版本的Linux中都得到了广泛
2023-12-25 11:15:17
1213 Linux内核中是如何分配出页面的,如果我们站在CPU的角度去看这个问题,CPU能分配出来的页面是以物理页面为单位的。也就是我们计算机中常讲的分页机制。本文就看下Linux内核是如何管理,释放和分配这些物理页面的。
2024-08-07 15:51:11
1021 
在Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编写驱动程序之前
2024-08-30 15:02:19
1661 在linux内核中,uevent机制是一种内核和用户空间通信的机制,用于通知用户空间应用程序各种硬件更改或其他事件,比如插入或移除硬件设备(如USB驱动器或网络接口)。uevent表示“用户空间
2024-09-29 17:01:29
2900 异常或崩溃。为深入理解动态链接机制及其工作原理,我重温了《程序员的自我修养》,并通过实践演示与反汇编分析,了解了动态链接的过程。 本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入(Global Symbol
2024-12-18 10:06:32
1013 
评论