自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 [F2FS GC部分] Victim Segment的选择策略

victim segment的选择 在垃圾回收流程分析这一节提及到了gc会通过__get_victim函数去选择一个需要被gc的segment。怎么样的segment才适合被gc,而F2FS是如何实现这一个流程的呢? 本节对这部分源码进行分析。 我们首先分析__get_victim函数,如下所示: static int __get_victim(struct f2fs_sb_info *sbi, unsigned int *victim, int gc_type) { struct sit_info

2020-09-28 19:09:43 294

原创 buddy系统用于衡量碎片化程度的两个值--extfrag_index和unusable_index

创建extfrag_index和unusable_index(用于衡量buddy系统每个order的碎片化程度)extfrag以块出发,unusable以页出发。首先在sys/kernel/debug/目录下创建一个extfrag文件夹,在这个文件夹下创建两个文件,一个extfrag_index,一个unusable_index。通过函数extfrag_debug_init(): static int __init extfrag_debug_init(void) { struct dentry *ext

2020-08-26 20:42:46 614

转载 [F2FS 元数据布局部分] Segment Summary Area-SSA结构

Segment Summary Area区域-SSA结构 Segment Summary Area,简称SSA,是F2FS用于集中管理物理地址到逻辑地址的映射关系的结构,同时它也具有通过journal缓存sit或者nat的操作用于数据恢复的作用。映射关系的主要作用是当给出一个物理地址的时候,可以通过SSA索引得到对应的逻辑地址,主要应用在GC流程中; SSA所包含的journal可以缓存一些sit或者nat的操作,用于避免频繁的元数据更新,以及宕机时候的数据恢复。 SSA在元数据区域的物理结构 从结构图可

2020-08-25 19:59:41 551

转载 [F2FS 元数据布局部分] Node Address Table-NAT结构

Node Address Table区域-NAT结构 Node Address Table,简称NAT,是F2FS用于集中管理node的结构。它的主要维护了一张表(如下图),记录了每一个node在flash设备的物理地址。F2FS给每一个node分配了一个node ID(nid),系统可以根据nid从NAT查找到该node在flash设备上的物理地址,然后从flash设备读取出来。 NAT在元数据区域的物理结构 如上图所示,NAT区域由N个struct f2fs_nat_block组成,每一个struc

2020-08-25 17:10:00 493

转载 [F2FS 元数据布局部分] Segment Infomation Table-SIT结构

Segment Infomation Table区域-SIT结构 Segment Infomation Table,简称SIT,是F2FS用于集中管理segment状态的结构。它的主要作用是维护的segment的分配信息,它的作用可以使用两个常见例子进行描述: 用户进行写操作,那么segment会根据用户写入的数据量分配特定数目的block给用户进行数据写入,SIT会将这些已经被分配的block标记为"已经使用(valid状态)",那么之后的写操作就不会再使用这些block。 用户进行了覆盖写操作以后,由于

2020-08-25 16:51:42 501

转载 linux内核进程调度—scheduler_tick函数解析

本博,我们详细分解每次定时器中断调用的最重要的更新时间片的函数 —— scheduler_tick函数 当每次时钟节拍到来时,即我们提到过的timer_interrupt会调用do_timer_interrupt_hook,从而调用do_timer和update_process_times函数,update_process_times则...

2020-08-11 21:31:28 1198

转载 操作系统(三)

文章目录前言多进程操作系统的由来cpu管理的直观想法:cpu是如何工作的小结一下操作系统是如何支持多进程图像的操作系统是怎么支持多进程图像的关于操作系统是如何支持...

2020-08-01 13:37:03 236

转载 操作系统(二)

前言 操作系统的接口 什么是操作系统的接口 POSIX标准 系统调用的实现 1,用户程序能不能直接调用系统内核 2,如果不能直接调用,为什么?如何实现的 ...

2020-08-01 13:34:03 352

转载 操作系统(一)

说明 宏观认识操作系统 什么是操作系统 操作系统可以干什么 开始进入操作系统 开机的一瞬间,电脑在干嘛 bootsect.s bootsect.s小结 ...

2020-08-01 13:32:31 218

转载 操作系统

文章目录前言多进程合作实例:多进程共同完成一个任务的实例生产者-消费者实例信号量的提出信号量用信号量解决生产者消费者问题:信号量的临界区保护信号量为什么要进行保护...

2020-08-01 13:26:02 171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除