内核rockylinux9 rockylinux kernel6
Linux内核定时器使用及其他时间操作
转载:Linux内核定时器使用及其他时间操作 - 知乎 (zhihu.com) 问题描述 如何使用内核定时器? 内核定时器 Linux内核定时器是timer_list,下面我们详细介绍定时器的使用。 1. 简介 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制 ......
linux内核中延迟的工作delayed_work
转载:linux内核中延迟的工作delayed_work_千册的博客-CSDN博客 前言 本次实验逻辑依然很简单,count数到5。如果发现代码不能执行,那是不可能的。如果真的不能执行,也让我学习学习。 对于周期性的任务,除了定时器以外,在Linux内核中还可以利用一套封装得很好的快捷机制,其本质是 ......
进程管理 & (系统调用 内核同步)
进程管理 在现代操作系统中,进程提供两种虚拟机制,虚拟处理器和虚拟内存 PCB描述一个正在执行的程序:打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程。 在2.6以前的版本中,PCB直接放在内核栈的尾端,或者放一个pcb_info间接索引,这 ......
Linux内核虚拟内存管理之匿名映射缺页异常分析
今天我们就来讨论下这种缺页异常,让大家彻底理解它。注:本文使用linux-5.0内核源代码。文章分为以下几节内容: 1. 匿名映射缺页异常的触发情况 2. 0页是什么?为什么使用0页? 3. 源代码分析 3.1 触发条件 3.2 第一次读匿名页 3.3 第一次写匿名页 3.4 读之后写匿名页 4. ......
深入理解Linux内核——内存管理(2)
提要:本系列文章主要参考`MIT 6.828课程`以及两本书籍`《深入理解Linux内核》` `《深入Linux内核架构》`对Linux内核内容进行总结。 内存管理的实现覆盖了多个领域: 1. 内存中的物理内存页的管理 2. 分配大块内存的伙伴系统 3. 分配较小内存的slab、slub、slob分 ......
内核softlockup和hardlockup的一些参数分析
一 参数配置 Softlockup和hardlockup作为内核中的"lockup-看门狗"可以检查系统中调度和中断是否正常运转,其原理可以参考lockup-watchdogs。这两种watchdogs在/proc/sys/kernel/目录下有一些配置参数来对功能进行控制和调整 procfs下的接 ......
(笔记)Linux内核编译: scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory
一、问题描述 在编译Linux内核时,使用make menuconfig报错: scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or director tdyizhen1314@ubuntu:~ ......
深入理解Linux内核——内存管理(1)
提要:系列文章主要参考`MIT 6.828课程`以及两本书籍`《深入理解Linux内核》``《深入Linux内核架构》`对Linux内核内容进行总结。 内存管理的实现覆盖了多个领域: 1. 内存中的物理内存页的管理 2. 分配戴爱内存的伙伴系统 3. 分配较小内存的slab、slub、slob分配器 ......
uboot跳转内核
记录uboot转到内核时相关的指令: setenv set_ubi 'set mtdids nand0=nand0; set mtdparts mtdparts=nand0:0x7680000@0x900000(fs); ubi part fs' setenv bootkernel 'ubi rea ......
调试linux内核(1): 环境准备和原理介绍
## 开篇 现在流行的开源项目经历了长时间的开发, 积累了大量的代码, 想要一行一行地阅读代码去学习开源项目, 需要的时间成本是巨大的. 所以, 我们也需要用一种高效的方式去"阅读"代码. 计算机科学发展到现在, 产生了很多高效成熟的工具, 调试器就是其中之一(扯句题外话, 那些大牛程序员似乎就是喜 ......
怎么判断linux中的内核进程与用户进程
在ubuntu或者centos中,1号**init**进程或者**systemd**为用户进程,它的子进程也为用户进程;2号**kthreadd**进程为内核进程,其子进程也为内核进程。 所以,判断是否为内核进程是看它跟2号进程的关系。此外,0号进程**idle**也是内核进程。 init进程 in ......
linux进阶:内核模块
现代内核派系 宏内核 关键功能(基本功能,不可裁剪、扩展)和服务功能(如文件系统、设备驱动、网络服务等,可裁剪、扩展)均在内核空间提供。运行效率高。扩展性较差。system call(系统调用)能够先入内核态来使用内核提供的服务。 微内核 内核空间只提供关键功能,服务功能在用户空间提供。运行效率较低 ......
谷歌Linux内核自动测试平台架构介绍-用自动测试测试难以测试的问题
# 1 摘要 内核和硬件等低级系统已被证明极难进行有效测试,因此,许多内核测试都是以手动为主方式进行的。现有的大多数测试框架都是为测试与底层平台隔离的高级软件而设计的,而底层平台被假定是稳定可靠的。测试底层平台本身需要一套全新的假设,这些假设必须从根本上反映在框架的设计中。设计必须将被测机器作为系统 ......
IE浏览器如何设置默认内核版本,IE11怎么设置默认以IE8的方式解析
今天修复项目兼容性BUG,用IE11兼容模式调试IE8上的问题,发现每次关闭再打开F12都会以IE11的模式加载,网上搜了一下也没找到怎么设置,不过自己找了找,发现在仿真里可以保存当前设置,凑合可以用吧。 但是关闭F12工具后,默认会切换回F11模式,可以通过 保留仿真设置 里防止其自动切回11。 ......
读取内核变量的几种方法
# 作者 pengdonglin137@163.com # 背景 开发过程中,有时需要读取内核中某个变量的值,比如我想获取下面这个变量的内容: ```c const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPI ......
UM2080F32基于ARM Cortex-M0+内核的超低功耗、高性能的、单片集成(G)FSK/OOK无线收发机的32位SoC芯片
UM2080F32是基于ARM Cortex-M0+内核的超低功耗、高性能的、单片集成(G)FSK/OOK无线收发机的32位SoC芯片。工作于200MHz~960MHz范围内,支持灵活可设的数据包格式,支持自动应答和自动重发功能,支持跳频操作,支持FEC功能,同时内部集成了完整的射频接收机、射频发射 ......
linux内核移植步骤「建议收藏」
【说明:本文转载自如下地址】https://cloud.tencent.com/developer/article/2107681?areaSource=102001.3&traceId=I-X1VzDQ2XOPORi2lXiHa 大家好,又见面了,我是你们的朋友全栈君。 2016.6.8 经过一个 ......
02-[Linux][regulator]Linux内核中regulator的架构解析
> 转载自:https://zhuanlan.zhihu.com/p/565532795 ### 1、介绍 Regulator指的是稳定器,有电压稳定器和电流稳定器两种,能够自动维持恒定电压或者电流。其中,电压稳定器voltage regulator在电路中比较常见。从设备驱动的角度来看,regul ......
7 Linux 内核移植
一、编译 ST 的 Linux 系统 1. 压缩源码 首先先下载 ST 官方源码,之前章节已经下载过了,直接输入以下命令: cd linux/atk-mpl/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gn ......
os内核的主循环与其他工作机制
其他机制 1. **中断处理**:除了主内核循环之外,操作系统还处理中断。中断是由硬件设备生成的信号,用于请求操作系统的注意。当中断发生时,操作系统暂停当前的执行,保存当前状态,并通过执行中断处理程序来处理中断。这种机制允许操作系统响应外部事件,例如按键或完成的 I/O 操作。 3. **进程调度* ......
腾讯tbsX5内核离线下载
最近下载X5内核老报错115,干脆直接在QQ浏览器上提取了一下留存。2023.8.4 64位 32位 下载完改名tbsX5.apk 放到Android/data/{包名}/tbs下,在对应应用打开http://debugtbs.qq.com,点安装本地内核即可,注意位数对应! 蓝奏云存档:https ......
“kernel:NMI watchdog: BUG: soft lockup”内核软死锁BUG分析和解决
# 内核软死锁(softlock)bug分析 [toc] ## 1、bug现象 shell面板出现以下提示: ```shell kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 28s! CentOS7linux ``` 看门狗监控CPU ......
从module_init看内核模块
module_init是linux内核提供的一个宏, 可以用来在编写内核模块时注册一个初始化函数, 当模块被加载的时候, 内核负责执行这个初始化函数. 在编写设备驱动程序时, 使用这个宏看起来理所应当, 没什么特别的, 但毕竟我还是一个有点追求的程序员嘛:P, 这篇文章是我学习module_init... ......
linux 编译内核,换内核流程和方法
1: 先找一个合适版本的内核,下载,解压到系统中的任意一个目录 The Linux Kernel Archives 这个内核版本,如果要绝对稳定或者安全,那么最好是和当前系统的内核大、中版本相同, 如, 我的系统版本如果为 5.15.38 那么我最好是换成相近的系列,如 5.15.123 尽量别上 ......
bootparams从bootloader到内核
# setup中的header 在header.S结构中定义了一个使用汇编语言定义的hdr结构,这个结构是bootloader和内核setup代码之间通过boot协议约定的: 在哪个位置是什么字段,字段是什么意义都是bootloader和内核达成共识的,我们甚至可以认为:这个协议类似于tcp/ip的 ......
第三章 指针才是C语言的精髓(嵌入式Linux与物联网软件开发 C语言内核深度解析)
这仅仅是读《嵌入式Linux与物联网软件开发:C语言内核深度解析》pdf的知识记录 地址:指的都是某个字节的地址。比如int a 的空间大小有4个字节,每个字节都有一个地址(也就是有4个地址),但是只有首字节地址才能作为整个a空间的地址。也就是说,整个内存以1个字节为基本单位划分无数个地址,同时假设 ......
linux内核的Per-CPU变量
Linux 内核 | Per CPU 变量 https://zhuanlan.zhihu.com/p/566347483 https://www.cnblogs.com/linhaostudy/p/10342667.html https://www.cnblogs.com/hellokitty2/p ......
linux内核:升级内核
## 摘要 - 如何下载linux内核 - 如何升级linux内核 ## 一、linux内核获取 - 内核地址: https://www.kernel.org/ ![](https://img2023.cnblogs.com/blog/2454288/202307/2454288-202307272 ......
编写Linux内核模块
Linux系统为应用程序提供了功能强大且容易扩展的API, 但在某些情况下, 与硬件交互或进行需要访问系统中特权信息的操作时, 就需要一个内核模块。 Linux内核模块是一段编译后的二进制代码, 直接插入Linux内核中。 在Ring 0上运行。 1. 安装开发环境 (Ubuntu为例) sudo ......
Linux内核notifier机制
参考: https://www.cnblogs.com/pengdonglin137/p/4075148.html https://www.cnblogs.com/schips/p/linux_notifier.html https://www.cnblogs.com/3me-linux/p/612 ......