F2FS技术拆解

作者:OPPO内核团队 发布于:2020-1-31 20:26 分类:文件系统

F2FS (Flash Friendly File System) 是专门针对SSD、eMMC、UFS等闪存设备设计的文件系统。由三星工程师Jaegeuk Kim于2012年10月发布到Linux社区,并于2012年12月进入Linux 3.8 内核主线。和UBIFS、JFFS2等文件系统不同,F2FS并不直接面向裸NAND闪存设计,而是和其他通用文件系统一样基于块设备层接口实现。既然如此,为什么说F2FS是针对SSD、EMMC、UFS等闪存设备设计呢?另一方面SSD、eMMC、UFS等拥有FTL(Flash Translation Layer)的闪存存储已经对外提供了通用块设备接口,是否真的需要针对性地设计一个文件系统呢?F2FS的“Flash Friendly”体现在哪些方面呢?请跟随本文对F2FS的设计实现做详细拆解,揭开F2FS与FTL“剪不断理还乱”的“爱恨交织”。

阅读全文>>

标签: F2FS

评论(7) 浏览(10422)

以太网驱动的流程浅析(五)-mii_bus初始化以及phy id的获取

作者:heaven 发布于:2020-1-7 14:42 分类:Linux内核分析

我们继续沿着上一篇的《以太网驱动的流程浅析(四)-以太网驱动probe流程》思路来继续分析

阅读全文>>

评论(0) 浏览(8310)

以太网驱动的流程浅析(四)-以太网驱动probe流程

作者:heaven 发布于:2020-1-7 14:25 分类:Linux内核分析

我们继续沿着上一篇的以太网思路来继续分析,目的是为了学习以太网这块从应用层到底层的整块加载和匹配流程。

阅读全文>>

评论(0) 浏览(4821)

以太网驱动的流程浅析(二)-Ifconfig的详细代码流程

作者:heaven 发布于:2019-12-27 16:53 分类:Linux内核分析

此文衔接上一节 以太网驱动的流程浅析(一)-Ifconfig主要流程

阅读全文>>

评论(1) 浏览(4122)

以太网驱动的流程浅析(三)-ifconfig的-19错误最底层分析

作者:heaven 发布于:2019-12-27 15:22 分类:Linux内核分析

此文衔接上一节  以太网驱动的流程浅析(二)-Ifconfig的详细代码流程

阅读全文>>

评论(1) 浏览(4210)

以太网驱动的流程浅析(一)-Ifconfig主要流程

作者:heaven 发布于:2019-12-6 15:50 分类:Linux内核分析

以太网的知识非常多,我这里是工作中遇到了一个很奇怪的以太网问题,因此便通读了一遍以太网的加载流程,分享出来供大家阅读。如有不准确的地方还请指出,非常感谢

阅读全文>>

评论(11) 浏览(6930)

RCU(2)- 使用方法

作者:沙漠之狐 发布于:2019-5-24 19:36 分类:内核同步机制

本文介绍RCU的使用方法。

阅读全文>>

标签: 无锁编程

评论(0) 浏览(11556)

RCU(1)- 概述

作者:沙漠之狐 发布于:2019-5-24 19:30 分类:内核同步机制

本文介绍RCU。

阅读全文>>

标签: 无锁编程

评论(0) 浏览(10088)

Linux内核的自旋锁

作者:沙漠之狐 发布于:2019-5-17 19:11 分类:内核同步机制

自旋锁用于处理器之间的互斥,适合保护很短的临界区,并且不允许在临界区睡眠。申请自旋锁的时候,如果自旋锁被其他处理器占有,本处理器自旋等待(也称为忙等待)。

进程、软中断和硬中断都可以使用自旋锁。

自旋锁的实现经历了3个阶段:

(1)     最早的自旋锁是无序竞争的,不保证先申请的进程先获得锁。

(2)     2个阶段是入场券自旋锁,进程按照申请锁的顺序排队,先申请的进程先获得锁。

(3)     3个阶段是MCS自旋锁。入场券自旋锁存在性能问题:所有申请锁的处理器在同一个变量上自旋等待,缓存同步的开销大,不适合处理器很多的系统。MCS自旋锁的策略是为每个处理器创建一个变量副本,每个处理器在自己的本地变量上自旋等待,解决了性能问题。

阅读全文>>

标签: Linux 自旋锁

评论(13) 浏览(14117)

浅谈Cache Memory

作者:smcdef 发布于:2019-5-2 21:14 分类:内存管理

今天探究的主题是cache。我们围绕几个问题展开。为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么?

阅读全文>>

评论(44) 浏览(28546)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog