16 yayong

尚未进行身份认证

系统程序员

等级
TA的排名 4k+

Linux 块设备驱动 (6)

1.背景本系列文章整体脉络回顾,LinuxBlockDriver-1介绍了一个只有200行源码的Sampleblk块驱动的实现。LinuxBlockDriver-2中,在Sampleblk驱动创建了Ext4文件系统,并做了一个fio顺序写测试。测试中我们利用Linux的各种跟踪工具,对这个fio测试做了一个性能个性化分析。Linux...

2018-03-04 16:24:41

Linux 块设备驱动 (5)

1.背景本系列文章整体脉络回顾,LinuxBlockDriver-1介绍了一个只有200行源码的Sampleblk块驱动的实现。LinuxBlockDriver-2中,在Sampleblk驱动创建了Ext4文件系统,并做了一个fio顺序写测试。测试中我们利用Linux的各种跟踪工具,对这个fio测试做了一个性能个性化分析。Linux...

2018-03-04 16:21:48

Linux 块设备驱动 (4)

1.背景让我们梳理一下本系列文章整体脉络。首先,LinuxBlockDriver-1介绍了一个只有200行源码的Sampleblk块驱动的实现。然后,在LinuxBlockDriver-2中,我们在Sampleblk驱动创建了Ext4文件系统,并做了一个fio顺序写测试。测试中我们利用Linux的各种跟踪工具,对这个fio测试做了一个...

2018-03-04 16:18:41

Linux 块设备驱动 (3)

本文将继续之前系列文章中的实验,围绕这个简单的fio测试,探究Linux块设备驱动和文件IO的运作机制。除非特别指明,本文中所有Linux内核源码引用都基于4.6.0。其它内核版本可能会有较大差异。

2016-11-12 16:26:48

Linux 块设备驱动 (2)

本文将继续上篇博客:Linux块设备驱动(1)的实验,围绕Sampleblk探究Linux块设备驱动的运作机制。除非特别指明,本文中所有Linux内核源码引用都基于4.6.0。其它内核版本可能会有较大差异。

2016-10-23 21:45:16

和自己谈判

2014年12月11日这一天,第二次痛下决心减肥。五十多天后,成功减重15公斤,BMI指数重回正常范围。终于可以彻底和伴随多年的“胖子”的称号彻底告别了。改变因何而发生?改变又因何而成功?记录一下我的思考......

2016-07-17 22:33:24

Linux文件系统基础(5)

本文继续Samplefs的源码介绍。Day3的源码主要是在状态和调试方面的改进。2.代码与Day1和Day2的代码相比,Day3的实现非常简单。

2016-07-10 20:10:47

Linux文件系统基础(4)

本文将在Sampleblk块设备上创建Ext4文件系统,以Ext4文件系统为例,用debugfs和crash来查看Ext4文件系统的磁盘格式(FileSystemDiskLayout)。您将了解到Ext3和Ext4在磁盘格式上的区别,并了解如何使用工具遍历Ext4的磁盘格式。

2016-06-12 22:48:09

Linux 块设备驱动 (1)

Sampleblk是一个用于学习目的的Linux块设备驱动项目。其中day1的源代码实现了一个最简的块设备驱动,源代码只有200多行。本文主要围绕这些源代码,讨论Linux块设备驱动开发的基本知识。

2016-06-04 18:16:12

使用kdb和kgdb调试Linux内核(3)

Linux内核可以远程用gdb调试。但调试内核某块还是有些特殊的问题要处理。本文主要介绍如何利用gdbkgdb去调试Linux内核模块。

2016-05-13 09:05:28

Hyper-V 虚拟设备简介

本文主要介绍了Hyper-V的虚拟化设备的分类和基本概念。对LINUX的Hyper-V全虚拟化和半虚拟化驱动做了简单介绍。这些概念和其它虚拟化技术里的概念非常相似。

2016-05-04 07:54:44

Linux内核抢占机制 - 实现

本文主要围绕Linux内核调度器Preemption的相关实现进行讨论。其中涉及的一般操作系统和x86处理器和硬件概念,可能也适用于其它操作系统。

2016-05-02 19:19:32

Linux内核抢占机制 - 简介

本文主要围绕Linux内核调度器Preemption的相关实现进行讨论。其中涉及的一般操作系统和x86处理器和硬件概念,可能也适用于其它操作系统。本文涉及了上下文切换,内核里各种Preemption机制。

2016-04-19 21:12:47

Linux文件系统基础(3)

Samplefsday2的代码涉及到了文件系统mount和SuperBlock(超级块)的实现。本文将以day2的代码为例,讲解相关概念。简单文件系统(samplefs)是SteveFrench写的用于教学目的的文件系统。它的设计初衷是帮助初学者理解如何实现一个文件系统,并且在Linux环境下对文件系统如何debug和tunning。

2016-03-02 18:48:31

Linux文件系统基础(2)

本文通过对samplefsday1的源码和实验,介绍了实现Linux文件系统模块的一些基本概念。简单文件系统(samplefs)是SteveFrench写的用于教学目的的文件系统。它的设计初衷是帮助初学者理解如何实现一个文件系统,并且在Linux环境下对文件系统如何debug和tunning。

2016-03-01 19:58:19

Linux NUMA优化(1)

本文介绍x86NUMA的基本知识,包括简单的NUMA系统架构知识和ACPI规范中提供给OS的相关接口。

2016-02-12 12:43:38

数据保护的那点儿事儿(1)

本文首发于http://oliveryang.net,转载时请包含原文或者作者网站链接。数据保护的那点儿事儿数据保护就是保护数据使其免于数据损坏(DataCorruption)和数据丢失(DataLoss)的过程。常见的数据保护方式主要有以下两大类,备份(Backup)备份是指为了应对数据丢失(dataloss)而将计算机数据进行拷贝和归档的过程。根据数据保存时间和目的,广义上的备份又可以

2016-02-11 10:37:10

VMware存储栈那点儿事儿

VMware存储栈基本概念介绍。关键字:虚拟化,虚拟机,LUN,Volume,VMFS,Datastore,虚拟机文件,虚拟磁盘,PVSCSI,vSAN。

2016-02-10 10:56:55

Linux文件系统基础(1)

Linux文件系统基本概念和分类。关键字:集群文件系统,分布式文件系统,本地文件系统,特殊目的文件系统,Linux内核,文件系统架构。

2016-02-09 10:03:10

如何使自己的创见落地?

本文首发于http://oliveryang.net,转载时请包含原文或者作者网站链接。工程师的使命就是发现问题,定义问题,解决问题。根据要解决问题的复杂度,这个过程中,团队内部或者相关团队之间可能要做大量的沟通和讨论工作。通常来说,对一个idea品头论足很容易,但是要付诸行动,或者要求其它团队配合就很难了。很多时候Idea的提出者需要去考虑采取不同的沟通和讨论方式来逐步推进idea的落地。本文尝

2016-02-08 10:06:37

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!