你好,欢迎来到云栖梦泽

遇事不决,可问春风。春风不语,即随本心。

  • [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局

    本文详细讨论了ARM64架构下Linux内核的虚拟地址布局,采用kernel版本5.15,配置了虚拟地址宽度为39位、物理地址宽度为48位等参数。文章首先介绍了虚拟地址和物理地址的概念,随后计算了用户空间和内核空间的大小及范围。接着,根据代码中的定义,详细计算了线性映射区、模块区、内核镜像区、vmalloc区、固定映射区、PCI I/O区和VMEMMAP区等各个区域的起始地址、结束地址和大小。最后,文章指出由于2019年的一个commit,线性映射区域被下移到了内核虚拟地址的低地址处。

  • [linux内存管理] 第026篇 从内核源码看 slab 内存池的创建初始化流程

    本文介绍了Linux内核中slab内存池的创建过程。slab内存池是一种高效的内存管理机制,用于分配和回收固定大小的内存块。文章详细解释了slab cache的创建流程,包括kmem_cache_create接口函数的参数、slab cache的架构设计、内核如何安排slab对象在内存中的布局等。此外,文章还介绍了slab allocator体系的初始化过程,以及内核如何解决创建第一个slab cache时遇到的“先有鸡还是先有蛋”的问题。最后,文章总结了slab cache的创建过程和slab allocator体系的初始化过程,为读者提供了深入理解Linux内核内存管理的参考。

  • [linux内存管理] 第025篇 细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现

    本文详细介绍了 Linux 内核中用于零散小内存块分配的内存池——slab 分配器。首先回顾了 Linux 内存分配的宏观链路,然后解释了为什么需要 slab 分配器,以及它在内核中的应用场景。接着,从物理内存页 page 开始,逐步演进到完整的 slab 对象池架构,并详细介绍了 slab 的内存布局和基础信息管理。随后,阐述了 slab cache 的组织架构,包括本地 cpu 缓存 kmem_cache_cpu 和 NUMA 节点缓存 kmem_cache_node。最后,详细介绍了 slab cache 的内存分配和释放原理,包括快速路径和慢速路径,以及不同场景下的分配和释放逻辑。

  • [linux内存管理] 第024篇 slab内存分配器概述

    本文主要介绍了Linux内核中的SLUB内存分配器,它是一种针对内核对象进行高效内存分配和回收的机制。以下是文章摘要: SLUB分配器通过以页为单位分配内存,减少了内存浪费,但提高了分配效率。它使用 struct kmem_cache 数据结构来管理每种类型的内核对象,通过批量操作、无锁路径和每CPU本地缓存实现高效与低碎片。文章详细介绍了SLAB分配器中的核心数据结构,包括 struct kmem_cache、slab_flags_t、struct kmem_cache_cpu 和 struct kmem_cache_node,以及它们的作用和关键成员。 SLUB通过减少全局锁的使用,提高多核并发安全性,并通过统计和调优来优化性能。此外,文章还解释了 struct page 中用于SLUB的部分,以及SLUB的对象空间布局。 总体来说,SLUB分配器通过优化内存分配策略,提高了Linux内核的内存利用率和性能。

  • 任务调度器:从入门到放弃(一)

    本文是关于Linux内核调度器的科普文章,作者XiaoGang通过内部项目复盘中的实际问题,引出了调度器的重要性和工作原理。文章主要内容包括: 1. 调度器的作用:CPU资源有限,但任务数量众多,调度器通过分时复用让用户感觉多个线程同时运行。 2. Linux的调度类:包括stop、deadline、realtime、fair和idle等,各有不同的优先级。 3. RT调度类与fair调度的区别:RT调度类按照优先级顺序选择任务,而fair调度类采用虚拟运行时间(virtual runtime)来决定任务的调度。 4. 调度器管理的任务:只有处于TASK_RUNNING状态的进程在调度器的管理范围内。 5. 比例调度的问题:通过大量低优先级线程可能占用较高资源配额。 6. cgroup的作用和问题:cgroup通过cpu.shares控制资源配额,解决比例调度问题,但同时也带来了一些新的挑战。 文章以实例和实验说明问题,深入浅出地解释了调度器的复杂机制。下周将更新续篇,继续探讨相关话题。

  • 蛙鸣夜语:乡镇夜晚的宁静与遐思

    轻雅阁

    在乡镇生活,夜晚总是来得格外宁静。没有城市的车水马龙,没有霓虹灯的闪烁,只有微弱的路灯和远处的虫鸣。然而,就在这样一个平凡的夜晚,一阵阵清脆的蛙鸣声划破了夜的寂静。

  • Halo气泡提示框插件Plugin-Greeting V1.2.0更新情况

    星风之痕

    这篇文章介绍了插件plugin-greeting版本V1.2.0的下载地址和安装方法,以及更新日志中的新特性和功能优化,包括适配Halo 2.21版本、公告样式配置和手机端样式优化等。

  • Halo个人设备展示插件 plugin-device V1.1.0 更新情况

    星风之痕

    这篇文章介绍了Halo插件`plugin-device`的V1.1.0版本更新内容。新版本已适配Halo 2.21及以上版本,且最低支持版本为2.21.0。此外,功能优化包括将设备项优先级属性的数据类型从其他类型调整为整型,并设置为非必填,默认值为0。同时提供了下载链接与安装参考教程。

  • THYUU/星度主题精心设定第二期:全局双色搭配特性

    风记星辰

    无论你在哪里看,颜色在设计和日常生活中起着至关重要的作用。它能把你的眼球及引到图像上。有时它会引发情绪反应。它甚至可以不用文字来传达重要信息。THYUU/星度主题精心地带来丰富的浏览体验,搭配一套属于你自己的颜色,无论是主题拥有者还是站点访问者,都会感受到不同的 STYLE 体验。

  • Halo插件 plugin-device V1.0.1更新情况

    星风之痕

    这篇文章介绍了halo-plugin-device插件的V1.0.1版本更新内容。新版本新增了Finder API的groupBy(group)功能,优化了模板页面标题的获取方式,并增加了设备项优先级选项以便更好地展示主要设备。此外,还修复了分组列表拖拽不可用的问题。用户可以从本站或GitHub下载JAR文件,并参考V1.0.0版本的安装教程进行安装。

精选分类

最新图文动态

最新视频动态

走心评论

查看更多走心评论

共赴十年之约

留下温度不虚此行