概要:本文内容包含Linux源码树结构分析、Linux Makefile分析、Kconfig文件分析、Linux内核配置选项分析。这些知识是为了理解内核文件的组织形式,为具体移植内核做知识准备。
2022-05-10 19:28:40
6583 Linux 系统为应用程序提供了功能强大且容易扩展的 API,但在某些情况下,这还远远不够。与硬件交互或进行需要访问系统中特权信息的操作时,就需要一个内核模块。
2022-05-11 08:55:35
4311 在linux内核中,互斥量(mutex,即mutual exclusion)是一种保证串行化的睡眠锁机制。和spinlock的语义类似,都是允许一个执行线索进入临界区,不同的是当无法获得锁的时候
2022-05-13 08:56:26
7763 
很多内核开发者喜欢的调试工具是printk,在Linux内核中,使用printk()函数来打印信息,它与C库的printf()函数类似。
2023-06-01 15:14:40
1764 Linux LED子系统详解
2023-06-10 10:37:14
2270 
在linux内核中,互斥量mutex是一种保证CPU串行运行的睡眠锁机制。和spinlock类似,都是同一个时刻只有一个线程进入临界资源,不同的是,当无法获取锁的时候,spinlock原地自旋,而mutex则是选择挂起当前线程,进入阻塞状态。所以,mutex无法在中断上下文中使用。
2023-06-26 16:05:58
1918 在Linux内核开发中,Kmemleak是一种用于检测内核中内存泄漏的工具。
2023-07-04 11:04:03
1213 Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。对于一名Linux驱动开发者来说,了解Linux内核的运行机制和Linux内核提供的一些关键功能(如虚拟内存管理、进程管理、文件系统、网络协议栈等)都是我们日常工作和学习的重点。
2023-07-06 11:46:41
2259 
Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。
2023-08-23 10:37:22
1205 
大家周末好,我是bug菌~ 今天主要是跟大家详细聊聊container_of这个宏定义,非常经典的宏,只是一直没有抽时间细细品味,今天就跟大家一起来看看有何神奇之处。
2023-11-13 09:45:43
1334 在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 
收集一些感觉比较好的博客链接,方便以后再看Linux 内核中的 C 语言语法扩展Linux 内核驱动中的指定初始化宏构造利器:语句表达式Linux 内核第一宏:container_of零长
2021-12-15 06:04:51
本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。
2019-08-05 08:18:07
简介作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个
2021-07-22 08:47:35
/linux/kernel.h]中:#define container_of(ptr, type, member) ({\const typeof( ((type *)0)->member
2017-08-29 11:13:00
fox *f;f = list_entry(p, struct fox, list);也就是根据list_head的地址得到大的结构体的起始地址。在container_of的定义中:第二行的意思是将
2015-11-30 23:25:02
,打印警告或错误信息的过程,还有系统的调试例程等等。系统数据结构在linux的内核的实现中,有一些数据结构使用频度较高,他们是:task_struct.Linux内核利用一个数
2019-07-11 16:59:35
Linux设备驱动开发详解:基于最新的Linux 4.0内核
2019-08-31 12:29:13
本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。
2019-08-06 06:16:22
大量读者好评的“Linux典藏大系”中的《ARM嵌入式Linux系统开发详解》的第2版。《Linux典藏大系:ARM嵌入式Linux系统开发详解(第2版)》由浅入深,全面、系统地介绍了基于ARM
2018-09-14 08:57:17
offsetof宏与container_of宏详解 1.offsetof宏与container_of宏1.1、由结构体指针进而访问各元素的原理通过结构体整体变量来访问其中各个元素,本质上是通过指针
2017-10-13 16:35:26
在Linux内核中添加wifi驱动Linux WIFI驱动实验rtl8723 Wifi联网测试
2021-02-05 07:59:05
在linux 内核中有一个大名鼎鼎的宏container_of(),这个宏是用来干嘛的呢?我们先来看看它在内核中是怎样定义的。呵呵,乍一看不知道是什么东东。我们先来分析一下container_of
2016-11-11 10:02:26
Linux设备驱动开发详解:基于最新的Linux 4.0内核.part3.rar (9.63 MB )Linux设备驱动开发详解:基于最新的Linux 4.0内核.part1.rar (20 MB
2020-06-09 04:35:46
嵌入式Linux容器技术一、Linux容器技术Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。LXC为Linux Container的简写。可以
2021-10-27 08:56:59
内核中源码是这样的#define container_of(ptr, type, member) ({\ const typeof( ((type *)0)->member ) *__mptr
2022-05-07 11:00:09
linux内核图解说明
2009-03-25 08:57:19
24 Linux内核中文版教程
2009-03-28 09:45:49
0 Linux_内核详细说明
2009-03-28 09:46:51
35 本章学习目标掌握LINUX内核版本的含义理解并掌握进程的概念掌握管道的概念及实现了解内核的数据结构了解LINUX内核的算法掌握LINUX内核升级的方法
2009-04-10 16:59:19
0 Linux内核学习起步介绍
2009-04-10 17:22:04
0 Linux内核解读入门关键词:Linux, 内核,源代码一.核心源程序的文件组织: 1. Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核
2010-01-16 14:40:10
103 Linux内核源代码本章讲述在L i n u x内核源码中,应该从何处开始查找特定的内核函数。本书并不要求读者具有C语言编程能力,也不要求读者有一份可参阅的L i n u x
2010-02-09 15:24:49
36 嵌入式内核移植步骤详解 含配置含义及内容等方面
2015-11-20 16:00:36
19 linux下网卡配置详解
2016-12-15 22:38:51
0 linux 内核驱动部分详解
2017-04-27 10:43:38
20 由于Linux的独特优势,使越来越多的企业和科研机构把目光转向Linux的开发和研究上。目前Linux最新的稳定内核版本为2.6.17,但是当今绝大部分对于Linux Makefile的介绍文章都是
2017-09-18 19:09:09
0 《Linux设备驱动开发详解》第9章、Linux设备驱动中的异步通知与异步IO
2017-10-27 11:33:15
0 《Linux设备驱动开发详解》第8章、Linux设备驱动中的阻塞与非阻塞IO
2017-10-27 11:35:12
9 《Linux设备驱动开发详解》第7章、Linux设备驱动中的并发控制
2017-10-27 11:37:45
10 《Linux设备驱动开发详解》第4章、Linux内核模块
2017-10-27 14:15:51
0 新手Linux内核学习起步
2017-10-27 16:10:30
13 linux内核的完全注释
2017-10-29 10:02:49
18 Linux_内核注释
2017-10-30 09:45:56
9 Linux内核编译详谈
2017-10-30 09:51:35
7 基于Arm的Linux内核编译指导
2017-10-30 10:13:25
15 随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后
2017-11-01 15:45:54
4 Linux内核编译过程详解(kernel2.6.7) 花了几天才编译成功kernel2.6.7,其过程真可谓艰辛。古语有云:苦尽甘来!现在终于可以乐上一阵了。由于许多朋友对操作的顺序及某些重要的配置
2017-11-07 11:16:00
4 REDSonic, Inc. REDSonic的RedIce-Linux是一个实时Linux内核,设计来支持以任务和时间为临界的应用,为你的系统提供质量服务。RedIce-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的启动代码真的挺大,从汇编到C,从Makefile到LDS文件,需要理解的东西很多。毕竟Linux内核是由很多人,花费了巨大的时间和精力写出来的。而且直到现在,这个世界上仍然有成千上万的程序员在不断完善Linux内核的代码。
2017-11-14 16:19:46
4634 
有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为苹果公司的 macOS 是基于 Linux 的。事实上,两个内核有着截然不同的历史和特征。
2018-07-23 15:04:16
6331 Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动。比如Binder,loger等等驱动。可以拿Android内核代码和其Baseline版本进行对比。可以看到Android对Linux内核的所有扩展。
2018-09-09 09:10:00
4865 新的内核总是会定期发布出来,但是其实大家并不是十分了解内核是如何被深入测试的。那么这里可以提前告诉大家,内核主干有可能并没有做过充分的测试,而稳定内核可能会更少。。。 So what
2019-01-01 09:06:00
3652 Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。
2019-04-28 17:33:33
1288 
Linux 内核提供一套双向链表的实现,你可以在 include/linux/list.h 中找到。我们以双向链表着手开始介绍 Linux 内核中的数据结构 ,因为这个是在 Linux 内核中使用最为广泛的数据结构。
2019-05-14 17:27:00
2115 TYPE是某struct的类型,0是一个假想TYPE类型struct,MEMBER是该struct中的一个成员。 由于该struct的基地址为0, MEMBER的地址就是该成员相对与struct头地址的偏移量。
2019-05-14 14:26:40
1011 生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。 内核编译详解 新版本内核的获取和更新 Linux内核版本发布的官方网站是http
2019-04-02 14:38:40
638 昨天的事,时间已经流走,内核开发团队的2.6版内核开发工作已经接近完成了。本文将试图描述2.6内核中的许多新特性(侧重i386平台的Linux)。和封闭源码的软件的预发布不一样的是,这里所描述的所有特性
2019-04-02 14:38:55
525 Android是基于Linux内核的操作系统,但是,运行在Android设备上的内核其实与Google选择的LTS版本Linux内核有很大不同。
2019-11-22 10:41:42
3673 
Linux内核创建者Linus Torvalds最近回应 Linux内核调度器存在问题的文章引发了大家的关注,在同一个帖子里,他还回复了一名用户抱怨Linux内核最近破坏了内核源码树外ZFS模块的评论。
2020-01-10 10:32:43
3095 相应的策略,使得多个进程能在CPU中微观串行,宏观并行地执行。进程调度处于系统的中心位置,内核中其他的子系统都依赖它,因为每个子系统都需要挂起或恢复进程。在用户空间,进程是由进程标示符(PID)表示的。在linux内核空间,每个进程都有一个独立的数据结构,用来保存该进程的ID、优先
2020-05-20 09:28:31
1105 编译嵌入式Linux内核都是通过make的不同命令来实现的,它的执行配置文件是Makefile。Linux内核中不同的目录结构里都有相应的Makefile,而不同的Makefile又通过彼此之间的依赖关系构成统一的整体,共同完成建立依存关系、建立内核等功能。
2020-06-19 09:30:24
3270 
Linux:QEMU调试内核的步骤
2020-06-23 09:03:07
3766 
Linux内核是一个操作系统(OS)内核,本质上定义为类Unix。它用于不同的操作系统,主要是以不同的Linux发行版的形式。Linux内核是第一个真正完整且突出的免费和开源软件示例。Linux 内核是第一个真正完整且突出的免费和开源软件示例,促使其广泛采用并得到了数千名开发人员的贡献。
2020-09-16 15:49:50
3072 本文主要阐述了linux内核参数设置及linux内核的功能。
2020-09-17 14:40:49
1635 
来源 :头条号@Linux学习教程,冰凌块儿 01 前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux
2020-10-19 17:46:08
2642 
01 前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。 拥有超过1300万行的代码,Linux
2020-10-21 12:02:53
4905 
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux 作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧
2020-11-04 18:04:10
8 和工作中深入理解内存管理,进程调度,文件系统,设备驱动等内核子系统。 为了系统的安全性,Linux内核将各个用户进程运行在各自独立的虚拟地址空间,用户进程之间通过虚拟地址空间相互隔离,不能相互访问,一个进程的奔溃不会影响到整个系统的异常也不会干扰到系统以及其
2020-11-26 14:42:19
2597 1月6日,Linux基金会宣布,Linux 5.10.5内核正式发布,所有5.10内核系列的用户都必须升级。
2021-01-07 14:36:57
3112 本文档的主要内容详细介绍的是Linux内核GPIO操作函数的详解分析免费下载。
2021-01-22 16:58:28
28 Linux内核定制方法说明。
2021-03-25 11:25:02
9 Linux系统中EXP命令详解质量汇总
2021-05-14 09:35:28
1 我们可以使用BPF对Linux内核进行跟踪,收集我们想要的内核数据,从而对Linux中的程序进行分析和调试。与其它的跟踪技术相比,使用BPF的主要优点是几乎可以访问Linux内核和应用程序的任何信息,同时,BPF对系统性能影响很小,执行效率很高,而且开发人员不需要因为收集数据而修改程序。
2021-06-30 17:28:30
2952 
嵌入式LINUX系统内核和内核模块调试(嵌入式开发和硬件开发)-嵌入式LINUX系统内核和内核模块调试
2021-07-30 13:55:21
10 Linux内核文件Cache机制(开关电源技术与设计 第二版)-Linux内核文件Cache机制
2021-08-31 16:34:54
4 嵌入式Linux容器技术一、Linux容器技术Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。LXC为Linux Container的简写。可以
2021-10-20 20:06:07
2 Linux内核目录结构Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置编译。初次接触Linux内核,最好仔细阅读顶层目录的readme文件
2021-12-17 18:29:41
10 学习linux内核,这个可不像学一门语言,c或者java一个月或者3月你就能精通掌握。学习linux内核是需要一步一步循序渐进,掌握正确的linux内核学习路线对学习至关重要,本篇文章就来分享学习linux内核的一些建议吧。
2022-05-07 15:20:27
933 
【Linux内核】从小小的宏定义窥探Linux内核的精妙设计
2022-08-31 13:30:06
2801 Linux Plumbers Conference 2022 大会上举行了一个 Rust 相关的小型会议,该会议讨论的大方向大致为:正在进行的使 Rust 成为一种合适的系统编程语言的工作,以及在主线 Linux 内核中整合对 Rust 的支持。
2022-09-19 11:06:57
1640 Linux内核由七个部分构成,每个不同的部分又有多个内核模块组成。
2022-10-13 15:44:45
1541 Linux设备驱动开发详解
2022-10-28 11:03:06
56 此外,公告中并没有提及 Linux 6.1 是否是 LTS 版本。按照 Linux 内核维护者 Greg Kroah-Hartman 的说法,Linux 内核的 LTS 通常会选取每年的最后一个内核
2022-12-14 09:54:59
2733 在linux内核启动过程中,会向终端打印出很多的日志信息,从这些信息中可以得到许多内核的行为。
2023-01-13 09:20:10
1984 今天在看平台设备实现的时候,看到to_xxx开头的“函数”。包括在内核中也有很多此类的“函数”,其实他们都是container_of的宏。因为内核是链表和结构体的世界,因此内核中有大量需求要 根据结构体成员获取结构体地址 ,或者根据结构体类型和结构体成员类型获取成员在结构体的偏移。
2023-06-23 14:26:00
799 
linux内核设备的注册由device_register()函数完成,这个函数是linux设备驱动模型的核心函数
2023-07-12 08:52:15
1639 
向linux内核注册驱动由driver_register()完成。它将驱动程序的信息添加到内核的驱动程序列表中,使得内核能够在需要时与该驱动程序进行交互。
2023-07-14 09:17:02
4353 
在安装好的Linux系统中,内核的源代码位于/ust/src/linux.如果是从GNU网站下载的Linux内核的tar文件,则展开以后在一个叫linux的子目录中。以后本书中谈到源文件的路径时,就总是从linux这个节点开始。
2023-09-06 17:01:23
4 我将结合具体的Linux内核驱动框架代码来展示Linux内核如何使用结构体和函数指针。
2023-09-06 14:17:55
1750 
该宏的作用是通过结构体成员的地址和结构体类型推导出结构体的地址,type是指结构体的类型,member是成员在结构体中的名字,ptr是该成员在type结构体中的地址。
2023-09-10 10:59:25
947 
盟通技术干货构建实时Linux内核简介盟通技术干货Motrotech如果需要在Linux中实现实时计算性能,进而有效地将Linux转变为RTOS,那么大多数发行版都可以打上名为PREEMPT_RT
2024-04-12 08:36:37
4691 
Linux内核中是如何分配出页面的,如果我们站在CPU的角度去看这个问题,CPU能分配出来的页面是以物理页面为单位的。也就是我们计算机中常讲的分页机制。本文就看下Linux内核是如何管理,释放和分配这些物理页面的。
2024-08-07 15:51:11
1021 
Linux 内核是Linux操作系统的核心部分,负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新,其复杂性和代码规模也在不断增加。因此,确保内核的稳定性和可靠性变得尤为重要
2024-08-13 13:42:35
2307 
在Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编写驱动程序之前
2024-08-30 15:02:19
1661 在linux内核中,uevent机制是一种内核和用户空间通信的机制,用于通知用户空间应用程序各种硬件更改或其他事件,比如插入或移除硬件设备(如USB驱动器或网络接口)。uevent表示“用户空间
2024-09-29 17:01:29
2900 【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
2025-11-21 13:25:44
833 
评论