云栖梦泽
林渡
Blog
  • 首页
  • 我的视界
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
    • 知识库
  • 「知识宇宙」
    • 灵感工坊
      • 灵感风暴
      • 与AI共生
      • 开源项目推荐
    • 底层漫游
      • Android稳定性
      • Linux内存管理
      • Linux内存管理
      • Linux进程调度
      • Linux内核
      • ARM体系架构
      • LRDP2
      • 技术分享
  • 璀璨星河
    • 公告
    • 知识库
    • 轻言
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 捐赠者名单
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站看板
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • 姓名测试打分 2周前前留言 文章不错支持一下,非常喜欢
  • 免费算命 2周前前留言 文章不错非常喜欢,支持一下
  • Jing Cheng 3周前前留言 😀
  • 林渡 3周前前留言 抱歉,隔了这么久才回复,其实从我自己实际的使用体验来看,两者的差别不是特别大。启用向量嵌入反而在索引的时候更耗时间,所以我一般都不启用向量嵌入!
  • 林渡 4周前前留言

    SyzForge 是一个开源系统,旨在将 Linux 内核 Bug 排查从分散的 syzbot 报告转化为结构化、可重复的工程流水线,通过三个 MCP 服务器(SyzLens、KernelLab、KernelMail)分别处理证据采集、内核复现和社区协作,让开发者更高效地完成 Bug 调查与修复。
    --🤖 AI 自动回复

  • 林渡 4周前前留言 @AI助手 一句话总结这个项目
  • 林渡 2026-08-31前留言 随便写写的啊 - 。-
  • 12.. 2026-08-31前留言 文章质量这么好,应该有编辑社找博主出书吧😁
  • 12.. 2026-08-27前留言 我的看法跟博主一致, AI很强大。 在未来我认为AI会作为新一轮科技革命必然给社会带来巨大变革,同时会加大社会分化,砸了很多人的饭碗。
  • 12.. 2026-08-27前留言 强👍
2026 年 10 月
日一二三四五六
123
45678910
11121314151617
18192021222324
25262728293031
« 9 月  
最近文章
  • 2026-09-24 我做了一个 Obsidian 插件:AI Reading Companion
  • 2026-09-22 [linux内存管理] 第 060 篇 swap空间完整生命周期:从 swapon 到 swapoff
  • 2026-09-08 [linux内存管理] 第 059 篇 /proc/slabinfo 详解
  • 2026-08-28 [linux内存管理] 第 058 篇 从虚拟内存到 Swap —— 交换子系统整体架构
  • 2026-08-25 SyzForge:把 syzbot 报告锻造成可复现的内核 Bug 调查流水线
  • 2026-08-24 [linux内存管理] 第 057 篇 OOM Kill 与 panic_on_oom —— 杀人的艺术与崩溃的抉择
  • 2026-08-24 [linux内存管理] 第 056 篇 OOM Reaper:异步解除映射的幕后英雄
  • 2026-08-24 [linux内存管理] 第 055 篇 OOM Killer 死亡名单算法
  • 2026-08-19 [linux内存管理] 第 054 篇 OOM触发 + Memory Reserve + out_of_memory 决策
  • 2026-08-14 [linux内存管理] 第 053 篇 OOM 整体流程:从内存耗尽到系统崩溃的完整链路
  • 2026-08-12 LoreMate:给 lore.kernel.org 装上 AI 阅读助手
  • 2026-08-12 AOSP 整机源码 Harness 工程探索
  • 2026-08-06 [linux内存管理] 第 052 篇 shrink_page_list:内存回收的“最后一道关口”
  • 2026-08-04 Monsoon Power Monitor MCP 工具介绍
  • 2026-07-28 [linux内存管理] 第 051 篇 内存回收核心 shrink_node
  • 2026-07-22 [linux内存管理] 第 050 篇 深度分析 direct reclaim 机制
  • 2026-07-20 [linux内存管理] 第 049 篇 深度分析 Linux kswapd 后台回收机制
  • 2026-07-16 [linux内存管理] 第 048 篇 从 alloc_pages() 开始:快慢路径下的内存回收策略
  • 2026-07-15 [linux内存管理] 第 047 篇 Linux 内存回收(Memory Reclaim)总体架构
  • 2026-07-11 [Android稳定性] 第065篇 SELinux 设置为 permissive 模式后出现的 kernel panic
热门文章
  • 2024-11-22 高通android启动代码流程分析(SBL->ABL)
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
  • 2026-01-29 📢 致读者的一封信:关于运营、初心与一份邀请
  • 2024-12-15 [Android稳定性] 第000篇 Android稳定性系列开篇
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
  • 2025-07-21 高通以及MTK平台内核单独编译ko的原理
  • 2026-04-01 AI时代笔记工作流:构建下一代知识管理引擎
  • 2025-09-04 琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
  • 2025-07-10 [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度
  • 2025-06-16 [Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗
  • 2026-01-08 【深入内核】中断真的不能睡眠吗?
  • 2024-12-18 [Android稳定性] 第004篇 [原理篇] minidump的原理介绍
  • 2025-11-03 [linux内存管理] 第000篇 Linux内存管理系列开篇
  • 2025-06-25 [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?
  • 2025-01-14 [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
  • 2025-06-18 [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局
  • 2024-12-15 [Android稳定性] 第001篇 [方法篇] 高通Android平台稳定性分析介绍
  • 2025-06-09 【深入内核】linux ftrace详解
  • 2024-11-29 [linux内存管理] 第009篇 reserved-memory详解
  • 2026-03-24 认知加速度:AI时代最残酷的鸿沟,正在此刻拉开
热门标签
  • 内核线程 1
  • 价值观 1
  • 内核开发 3
  • 生产力工具 1
  • Linux内核 12
  • init进程 1
  • 理想与现实 1
  • 人生态度 1
  • 人生意义 1
  • 精神追求 1
  • 性能优化 1
  • 生活美学 1
  • 内核栈 1
  • 任务优先级 0
  • 反思 1
  • 个人成长 1
  • 时间管理 1
  • 自我认知 1
  • 烟火气 1
  • 任务管理 1
  • Static Keys 1
  • 进程调度 1
  • 动态分支 1
  • 寄存器 1
  • idle进程 1
  • 高效工作 1
  • 页面管理 1
  • minidump 3
  • kmalloc 2
  • 脏页 2
107962° 212 15 300
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前20篇文章的浏览记录。
在万物之间穿行,也在自我之间渡过。

你好,
我是林渡

    • 2026-09-11

      之前公司组建了SSE的一个小team,主要就是各个模块的SE,专注于模块技术问题攻关,风险问题识别,需求下发等,我觉得还是蛮好的,最起码每个模块需要这样的专业人员来保证软件方案的准确性! 结果呢,一个模块来需求需要适配了(提供了参考change),leader呢不内部协调同模块的工程师去加急适配,现

    • 2026-09-10

      模型能力越来越强,以前想做却没能力做的一些想法也慢慢自己实现了。但是我现在却发现这个时代最难的却是idea!我已经好久没有好的idea了,现在面对着codex的剩余额度,却不知道该干什么!

    • 2026-08-07

      蟹黄汤包和河豚还得是靖江的好吃! 南通的海鲜也是鲜到眉毛了!

    • 2026-07-20

      看了好久,还是狠心下手了小牛mt sport 2026款,以后可以下班送外卖了 - 。 -

    • 查看更多瞬间动态
  • Android编译原理之lunch 2024-11-22 评论 林渡
      技术分享
      ninjasoongkati
    Android编译原理之lunch

    本文概述了Android编译系统的演进过程,从Android 7.0开始,Google引入了ninja、kati、Android.bp和soong构建系统,旨在取代原有的GNU Make,以提高编译效率。文章详细介绍了Soong构建系统的组成,包括blueprint、kati、make、soong等工具链,并解释了它们之间的关系。同时,文章还分析了编译步骤,包括envsetup.sh和lunch命令的执行过程,以及编译工具链之间的关系。最后,文章总结了Android编译系统的演进和工具链的使用,为读者提供了对Android编译过程的全面了解。

    Android系统中各image文件解压缩 2024-11-22 2 条 林渡
      技术分享
      unpackdtcsimg2img
    Android系统中各image文件解压缩

    本文主要介绍了在Android系统编译后如何查看镜像文件中包含的内容。通过使用simg2img、lpunpack、unpack_bootimg、mkdtimg和dtc等工具,可以将不同类型的镜像文件(如boot.img、recovery.img、dtbo.img、dtb.img、metadata.img、super.img和persist.img)转换或解析为可读格式,并挂载到目录中进行查看。文章详细说明了每个工具的使用方法以及相关命令,为开发者提供了便捷的方式来检查和理解Android系统镜像文件的结构。

    高通android启动代码流程分析(SBL->ABL) 2024-11-22 11 条 林渡
      技术分享
      SBLXBLuefi
    高通android启动代码流程分析(SBL->ABL)

    本篇文章主要介绍了UEFI阶段代码移植以及开机故障问题,并深入分析了开机启动流程。文章首先阐述了芯片的冷启动流程,包括APPS PBL、XBL SEC、XBL Loader、XBL CORE APPSBL和HLOS等阶段的运行过程。接着,文章详细介绍了arm架构的知识点,如异常级别和secure state,以及相关模块的功能。然后,文章分析了代码目录架构,包括编译指令和代码位置。此外,文章还详细介绍了PBL到SBL的启动过程,包括sbl1_main_ctl函数和boot_config_process_bl函数的工作原理。最后,文章深入分析了UEFI的背景介绍、流程分析和ABL的相关内容,包括XBL Loader Architecture、xbl代码运行流程、如何创建UEFI DXE_DRIVER驱动及UEFI_APPLICATION应用程序以及UEFI XBL QcomChargerApp充电流程代码分析等。

    Linux级联中断控制器注册与中断处理 2024-11-21 评论 林渡
      Linux内核
      interrupt
    Linux级联中断控制器注册与中断处理

    本文主要介绍了Linux内核中关于中断控制器的概念和注册过程。文中首先解释了几个关键概念,如`IRQCHIP_DECLARE`、`IRQCHIP_OF_MATCH_TABLE`和`__irqchip_of_table`,这些都是内核中用于中断控制器注册的重要结构。然后详细阐述了GIC中断控制器作为root中断控制器的注册流程,包括系统启动到GICv3初始化的过程以及GICv3中断控制器的初始化。接着,文中以高通平台的tlmm pinctrl控制器为例,说明了级联中断控制器的注册过程。最后,描述了级联情况下的中断处理流程。整篇文章提供了丰富的代码和设备树节点示例,帮助读者更好地理解中断控制器的注册和处理机制。

    linux源码解析05–ioremap原理 2024-11-21 评论 林渡
      Linux内存管理
      ioremap
    linux源码解析05–ioremap原理

    本文介绍了不同处理器架构对内存访问的方式,如x86架构通过I/O端口空间访问外设,而RISC架构如ARM/PowerPC则将I/O内存空间视为普通内存的一部分。文章重点讲解了ioremap映射函数,包括其定义和使用,以及如何通过ioremap_page_range函数将物理地址映射到虚拟地址,使应用程序能够通过虚拟地址访问寄存器地址。

    A64指令集学习 2024-11-21 评论 林渡
      ARM体系架构
      aarch64
    A64指令集学习

    本文档详细介绍了 Armv8-A 指令集架构,特别是 A64 指令集。A64 指令集是固定长度的 32 位指令集,用于 AArch64 执行状态。文档首先概述了指令集的基本格式、分类、助记符和条件码。接着,详细介绍了跳转指令、PC 相对寻址、系统操作指令、异常产生和返回指令、系统存储器指令、数据运算指令和 load/store 指令。最后,文档还介绍了内存屏障指令,包括 DMB、DSB 和 ISB。

    ARMv8内存地址翻译 2024-11-21 评论 林渡
      技术分享
      MMU内存屏障TLB
    ARMv8内存地址翻译

    Armv8-A 使用虚拟内存系统,通过内存管理单元 (MMU) 将虚拟地址转换为物理地址。MMU 使用存储在内存中的转换表进行地址转换,支持多个任务在各自的私有虚拟内存空间中运行。每个程序可以使用相同的虚拟内存地址空间,即使物理内存是碎片化的。MMU 还可以控制每个内存区域的访问权限、内存顺序和缓存策略。内核空间和用户空间的虚拟地址分离,内核使用固定映射,而应用程序使用可变映射。MMU 支持两种地址空间:安全地址空间和非安全地址空间。虚拟化引入了翻译的第二阶段,将虚拟地址转换为中间物理地址,再转换为最终物理地址。转换表配置包括颗粒尺寸、缓存配置、虚拟地址标记等。访问权限通过转换表条目控制,操作系统可以使用访问标志位跟踪页面的使用情况。安全性方面,NS 位和 NSTable 位控制虚拟地址是否转换为安全物理地址或非安全物理地址。翻译旁观缓冲区 (TLB) 缓存最近访问的页面翻译,提高性能。系统 MMU (SMMU) 允许设备看到与内核相同的中间物理地址空间,避免软件中昂贵的捕获需求。内存屏障指令用于确保内存操作的顺序,包括指令同步屏障 (ISB)、数据内存屏障 (DMB) 和数据同步屏障 (DSB)。

    ARMv8‑A 架构和处理器 2024-11-21 评论 林渡
      ARM体系架构
      armv8
    ARMv8‑A 架构和处理器

    ARM架构自1985年起不断发展,从早期的ARM内核逐步演进,增加了特性和功能。ARMv8-A架构是最新一代,支持32位和64位执行状态,引入了64位宽寄存器,同时保持与ARMv7软件的向后兼容性。它具备多项增强,如大物理地址、64位虚拟寻址、自动事件信号等,以及硬件加速密码学等功能。ARMv8-A架构的处理器包括Cortex-A53和Cortex-A57,分别针对中档、低功耗和高端计算需求,提供高性能和能源效率。

    armv8的寄存器 2024-11-21 评论 林渡
      ARM体系架构
      armv8
    armv8的寄存器

    AArch64执行状态提供了32个64位通用寄存器,每个寄存器都有32位形式。此外,还有几个特殊寄存器,如零寄存器、栈指针、程序计数器、异常链接寄存器、程序状态保存寄存器等。处理器状态PSTATE包含多个独立访问的字段,如ALU标志、执行状态、异常级别等。系统配置通过系统寄存器进行控制,使用MSR和MRS指令进行访问。字节序控制可以通过SCTLR_ELn寄存器中的EE位进行设置。在AArch64和AArch32之间切换时,AArch64寄存器映射到AArch32寄存器集,并保留状态。NEON和浮点寄存器提供128位浮点寄存器,用于保存浮点操作数和NEON操作的标量操作数和向量操作数。

    为什么需要虚拟内存 2024-11-21 评论 林渡
      技术分享
      memory
    为什么需要虚拟内存

    本文主要探讨了操作系统中虚拟内存的概念及其重要性。虚拟内存是一种内存管理技术,它为每个进程分配一套独立的虚拟地址空间,而操作系统负责将这些虚拟地址映射到物理内存地址。这样,进程之间的内存地址相互隔离,互不干扰,有效解决了多进程环境下的内存冲突问题。此外,虚拟内存还允许进程的运行内存超过物理内存大小,因为操作系统会将不常使用的内存页面换出到硬盘上,从而释放物理内存空间。虚拟内存的管理方式主要有内存分段和内存分页,两者各有优缺点。分段机制将程序划分为不同的逻辑段,但容易出现外部内存碎片和内存交换效率低的问题;而分页机制将内存空间划分为固定大小的页,解决了外部内存碎片问题,并提高了内存交换效率。为了解决简单分页产生的页表过大的问题,引入了多级页表和TLB技术。最后,本文还介绍了Linux操作系统的内存管理方式,主要采用分页管理,同时涉及分段机制。

    1 … 18 19 20 21
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章202篇
  • 发表评论82个
  • 星球加热95790度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「Android编译原理之lunch」
    • 😐 不喜不悲 ,当时发表在「Android系统中各image文件解压缩」
    • 😐 不喜不悲 ,当时发表在「高通android启动代码流程分析(SBL->ABL)」
    • 😐 不喜不悲 ,当时发表在「Linux级联中断控制器注册与中断处理」
    • 😄 愉快 ,当时发表在「linux源码解析05–ioremap原理」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「任务调度器:从入门到放弃(二)」
阅读 这篇文章主要讨论了Linux内核中的线程调度策略,特别是针对多核异构架构(如Big.Little)的任务分配问题。作者分析了CFS(完全公平调度器)的工作原理,包括如何根据线程的优先级和虚拟运行时来分配CPU资源。文章指出,调度器是基于事件驱动的,而不是实时监控所有线程的状态,这导致了调度策略的实际效果与理论模型之间存在差异。 此外,文章还介绍了两种负载跟踪模型:PELT和WALT。PELT考虑了所有过去运行时间的负载,而WALT则将时间划分为窗口,通过统计线程在每个窗口的运行时间来计算负载。两种模型各有优缺点,PELT可能对非周期性负载不够敏感,而WALT可能会因为窗口划分而低估某些负载。 最后,作者提出了一个关于任务分配的问题:在Big.Little架构下,是否应该严格遵循“大任务跑大核,小任务跑小核”的原则。文章指出,这取决于任务的负载和CPU的能效曲线,并非所有情况下都适用。
壹行随十人
  • 风记星辰
  • 山海云栈
  • 星风之痕
  • 博客集市
  • 轻雅阁
  • iSeekLife
  • 山海寻川
  • 且听书吟 - 诗与梦想的远方
  • 谜叶象限 - 每一片叶子,都是未完成的坐标系
  • 迷鹿屋
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹