自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zuoerfeng

愿做破土而出的蚂蚁,奔向蓝天。

  • 博客(139)
  • 资源 (1)
  • 收藏
  • 关注

原创 开篇博客

引言之前一直想写博客,没有什么时间,现在找完工作了,有了一段稍微空闲的时期,想着把自己之前的一些学习笔记和心得以博客的形式撰写出来,写博客的途中也可以回顾一下。博客主要是把自己之前有道云的笔记进行转录。PS:笔记中很多资料借鉴了网上的博客资料,本来打算附上原链接的,但是太多了难以找到,借鉴资料原创均来源于原作者。目录1.计算机基础知识(主要包括:操作系统、计算机网络、数据库)2.编程语...

2018-11-07 20:00:46 364 2

原创 分布式消息队列RabbitMQ

这篇文章简单讲述下分布式消息队列的基础知识,不会太深入,因为类似MQ这样的分布式组件有很多不同的种类,都有各自的特征和其对应的应用场景,需要在实际应用中才能更加深入的理解。整篇文章按照,分布式消息队列基础知识->AMQP协议->RabbitMQ实例来概述。1、分布式消息队列基础知识消息要想弄清楚分布式消息队列的具体意义,首先得从什么是消息入手。消息即是信息的载体。为了让消息发...

2019-05-29 16:00:22 2738 1

转载 Zookeeper系列学习

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。本专栏主要从Zookeeper技术内幕和原理的角度深入Zookeeper内核。这里转载了一个csdn上zk的专题,博主讲述的非常清楚,zk的概念,zk的实现api及其应用场景。这里给出其每个单元链接:Zookeepe...

2019-05-28 20:24:18 406

原创 Paxos的实际应用

上一篇说明了paxos算法是如何实现数据一致性的,这一节我们来说明常见paxos的具体实际应用,这样可以更好的理解paxos的具体实现。1、Paxos应用一Chubby原理介绍Chubby是google提出的分布式锁服务,GFS和Big table等大型系统都可以用它来解决分布式写作、元数据存储和master选举等一些列功能。Chubby强大的锁功能,底层则是通过paxos分布式锁来实现的。...

2019-05-28 20:13:10 3684

转载 分布式系统领域经典论文翻译集

文/phylips@bmy 分布式领域论文译序sql&nosql年代记SMAQ:海量数据的存储计算和查询一.google论文系列1.      google系列论文译序2.      The anatomy of a large-scale hypertextual...

2019-05-13 14:11:21 777

原创 Paxos算法总结

上一篇讲述了两个经典的分布式一致性协议(2PC、3PC),这篇博客开始讲解paxos协议,paxos算法是目前公认的解决分布式一致性问题最有效的算法之一。1、起源拜占庭将军问题提及paxos协议的起源,首先得说说这个“拜占庭将军”问题,这个问题实际上是分布式数据一致性问题的一个抽象故事。故事中的通讯员就是所谓的通信信道,拜占庭故事的结局就是在这种情况下将军之间不可能接收到一个完全正确的决...

2019-05-10 22:01:07 2758

原创 经典一致性协议总结

上篇上述了分布式系统的一些经典理论,即在设计分布式系统时候应该考虑的问题,那么本篇主要讲述分布式系统中数据的一致性,即数据在不同节点中如何保证一致性的问题。经典一致性协议,主要分为以下三个:二阶段提交协议——2PC三阶段提交协议——3PCpaxos算法下面就这三个协议做具体的分析与总结。1、二阶段提交协议——2PC分布式系统中同样有数据库中的事务的概念,当不同的节点处理一个事物操...

2019-05-09 21:59:14 835 1

原创 分布式相关理论总结

1、集中式与分布式集中式:80年代主流,IBM大型机,价格昂贵,性能卓越,部署简单,但是单机扩容较为困难。分布式:由多个普通pc机组成,分布在不同的网络上,通过消息传递进行通信和协调的系统分布式系统五gu大特点:分布性:多台计算机在空间上随意分布,机器分布也随时变动对等性:所有计算机节点都是对等的,没有主从之分并发性:多个节点可能并发的操作访问一些共享资源缺乏全局时钟:难以定义并发事...

2019-05-09 20:53:19 554

原创 2018 存储技术热点与趋势总结

知乎上的一篇技术博客,干货可多,有时间在细看,先记录下来。链接:2018 存储技术热点与趋势总结

2019-03-08 21:25:51 486

转载 Linux IO barrier

转载博客:https://blog.csdn.net/younger_china/article/details/51138375I/O顺序问题是一个比较综合的问题,它涉及的层次比较多,从VFS page cache到I/O调度算法,从IO子系统到存储外设。而Linux I/O barrier就是其中重要的一部分。可能很多人认为,在做了文件写操作后,调用fsycn就能保证数据可靠地写入磁盘。大...

2019-03-08 21:23:31 343

转载 块设备层request plug/unplug机制

转载至博客:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=14528823&id=4778396一、基本原理Linux块设备层使用了plug/unplug(蓄流/泄流)的机制来提升IO吞吐量。基本原理为:当IO请求提交时,不知直接提交给底层驱动,而是先将其放入一个队列中(相当于水池),待一定时机或周期后再将该队列...

2019-03-08 21:21:04 590

原创 文件系统学习8——文件系统MQ队列机制详解

上一篇已经讲述了MQ多队列的机制,利用cpu的多核,配上多队列机制,并发的处理IO请求,提高效率。本篇详细讲述下从bio下发到IO调度器中,MQ队列机制是如何一步步完成的。1、MQ处理结构流图从整个流程图可以看到,主要是分为三个部分:初始化硬件设备的target参数、初始化请求队列request_queue以及bio请求的处理过程。前面两个过程主要是完成底层存储设备向文件系统的注册,同时完...

2019-03-08 21:16:53 4133

原创 文件系统学习7——文件系统队列机制概述

前面几小节讲述linux文件系统是如何操作IO流的,本小节讲述文件系统的队列机制,主要集中在IO调度器这一层的队列调度上。1、队列机制linux中的队列机制主要发生在IO调度器这一层,首先给出IO调度器在整个IO栈的位置,如下图所示。它位于bio块层之下,硬件驱动层之上。pagecache刷新下来的数据会合成对应的bio,同一个任务的多个bio会下发到块层,进行IO调度。在早期的linux...

2019-03-03 20:39:21 808

原创 文件系统学习6——文件系统IO子系统的补充

在第5小节详细讲述了文件系统IO子系统的相关特性,在阅读完第5小节的文章后,本小节给出自己的一些疑惑,并对上述的疑惑进行补充说明。疑惑1:pagecache、buffer和bufferhead的区别与联系说明:首先需要明确的是linux系统中文件系统的缓冲区主要分为两个page cache和buffer cache,每一个 page cache 包含若干 buffer cache。与pag...

2019-03-02 16:38:51 319

转载 文件系统学习5——文件系统IO子系统

关于文件系统IO子系统的介绍,有一篇非常好的博客,详细了从上到下,由浅入深的讲述了IO子系统。这里给出原文的链接,方便大家共同学习。[IO系统]01 IO子系统[IO系统]02 用户态的文件IO操作[IO系统]03 虚拟文件系统(VFS)[IO系统]04 节点路径搜索[IO系统]05 open流程分析[IO系统]06 因OPEN建立的结构体关系[IO系统]07 IO写流程分析[IO...

2019-03-02 16:10:38 458

原创 文件系统学习4——日志文件系统的由来

1、日志文件系统的由来之前讲述的都是文件系统的基本功能,但是一直都集中在数据如何存放获取的过程上,那么文件系统对于数据的一致性又是如何保证的呢??同样,我们从一个文件的新建开始说起,类似第三小节,一个文件的新建步骤如下:先确定用户对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增;根据 inode bitmap 找到没有使用的 inode 号码,并将新文件的权限/属性写入...

2019-03-01 20:38:19 1210

原创 文件系统学习3——文件系统相关操作流程

前文中讲到了文件系统有哪几类操作,这里对没类操作文件系统是如何寻址,如果读写的进行一个详细的说明。1、目录树的读取所有对文件的操作,给用户看来第一步就是得知道这个文件的目录,所以首先就需要读取目录。每个目录都是一个文件,该文件存放该目录下所有文件的相关信息,同样该文件也有对应的innode。简答步骤:由于目录树是由根目录开始读起,因此系统透过挂载的信息可以找到挂载点的 inode 号此时就...

2019-03-01 20:06:48 678

原创 文件系统学习2——文件系统的布局

说道文件系统的布局,就需要先从磁盘的逻辑结构说起。1、磁盘的逻辑结构这里说的磁盘逻辑结构不是指磁盘的物理结构,诸如磁道、磁臂和旋转这一类,这里的逻辑结构是指,磁盘给了一段物理空间,那么用户总要对这个物理空间进行划分,即所谓的逻辑空间,那么一块磁盘在逻辑空间上布局如下图所示:从图上我们可以总结出,一块磁盘的开始区域是主引导记录又称为MBR表,它由三个部分组成:硬盘主引导程序(BootLoad...

2019-02-28 21:04:02 1494

原创 文件系统学习1——文件系统基本概念

2019.2.27最近准备学习一下文件系统的基本知识,学习路线如下:文件系统基本概念->文件系统磁盘布局->文件系统IO系统->MQ队列机制->IO管控。下面开始简单介绍一下文件系统的一些基本概念,大部分来自于书籍和一些博客上的内容,相关链接如下:Ext4专题文章索引linux文件系统详解鸟哥 Linux 磁盘与文件系统管理Linux 的虚拟文

2019-02-28 20:10:58 1990

转载 计算机系统领域顶级会议--OSDI,SOSP

转载:原文链接: 计算机系统领域顶级会议–OSDI,SOSP【序言】按照USnews的分类,Computer Science被分为四个大类:AI, Programming Language, Systems, Theory.。毫无疑问,Systems是这四个大类中最要紧也是最大的一个。根据citeseer在2003年5月排出的所有计算机学科会议和期刊的影响因子排名[1],在前十位中的属于Sys...

2019-01-04 15:34:56 6240

转载 SSD进阶分享

这里主要分享ssdfans上关于SSD内部常见FTL算法,接口协议等专栏,之前在有道云笔记中记录下来的,现分享如下:(1)FTL分析系列:http://note.youdao.com/noteshare?id=091e7455b7885cfd4a70f539ecec7c8b(2)NVMe分析系列:http://note.youdao.com/noteshare?id=6468f17af9e07...

2018-12-18 13:37:08 401 2

转载 SSD历史发展

转载自ssdfans2016.8.27其实SSD的奋斗史也是如此的曲折,命运几乎和中国女排是同步的,很早就出道了,但是90年代末机械硬盘异军突起,SSD被人遗忘。到了21世纪,SSD才慢慢恢复元气,利用NAND Flash王者归来。今天我们来回顾一下SSD的发展史,相比以前的老文章,也补全了最近两年的新进展。在我们今天看来,SSD是个新鲜事物,但是从事这个行业的前辈们却已经摸爬滚打了将近38...

2018-12-18 13:29:31 6288 1

原创 SSD内部详解

1、ssd的基本架构直接上图,给出一个简单SSD的内部基本架构从这个图中可以看到FTL层主要是三个功能:地址映射表、损耗均衡、垃圾回收地址映射表:顾名思义,把文件系统的逻辑地址,映射到flash的物理地址上。损耗均衡:进行损耗的调度,让所有快的差不多一起写坏,而不是其中某一块很快写坏,影响整体的性能。垃圾回收:前面说的异地更新的问题,主要完成有效页的搬移。2、FTL层的详细功能...

2018-12-18 13:19:48 4531 3

转载 SSD介绍

转载自ssdfansSSD概述SSD这个行业和产品我相信大家并不陌生,发展到今天可以说是格局已定,取代HDD是大势所趋。产品的应用经历了推销质疑到现在全面普及以及替代HDD的时代,剩下的全面取代HDD,只是时间的问题。SSD的优点速度快:毫无疑问,SSD在速度上可以秒杀HDD,无论在用户体验上,还是测试数据上。功耗低:工作功耗HDD 10W vs SSD 5w,待机SSD可到2.5mW...

2018-12-18 13:06:29 1654

原创 闪存flash读写原理

首先讲述的是基本原理,因为前面总结了很多基本原理,所以这个位置比较粗略的带过。1、基本原理从图上可以看出,Vt为开启电压,对于N沟道的cmos,当门极加的电压逐渐变大的时候,多数载流子被门极所吸引,向上移动,形成N型沟道,N型半导体即被导通,有导通电流。开始有导通电流的门极所加的电压我们称为开启电压,随着开启电压的增大,电流逐渐增大。这就是cmos管的基本原理。从cmos管过渡到nand ...

2018-12-17 21:28:01 11331 2

原创 闪存flash进阶知识

这一章关于闪存主要是SLC, MLC, TLC, 3D flash的比较,主要点如下:1、FLASH的写步骤ISPP2、在写数据之前要进行随机化编码3、slc、mlc、tlc性能的比较4、一个具体的flash读写的体系结构5、目前定义的flash的IO接口规范6、ssd里面并行性的体现7、mlc为什么要采用格雷编码8、tlc的三步编程操作9、3D FLASH的相关特性下面分...

2018-12-17 21:20:31 3795

转载 闪存flash基础原理

转载自ssdfans1、闪存基本介绍Flash存储是存储界的新人和红人。Flash存储系统由于其优异的性能、高效的存储密度和出色的节能特性使得Flash存储有望替代机械磁盘成为企业级存储的核心。未来很有可能所有的数据都会存储在Flash存储介质上面,包括银行、中小企业、互联网、电信等存储大户。紫外线可擦除存储器当年沉迷于电子设计的时候,没有想到一个小小的Flash居然能够做成一个新兴的存储...

2018-12-17 21:04:57 13316

原创 C++中RAII机制的介绍与简单实例

今天看陈硕的多线程书上提到了C++中RAII技术的使用,通过用C11里面自带的智能指针来完成对资源的控制,但是一直不太清楚具体RAII是怎么样的,带着这样的疑问,特地去看了几篇博客,找了一个简单的文件句柄打开关闭RAII管理的实例,瞬间就明白了,这里分享出来。主要从两个部分,首先是RAII技术的介绍,然后是RAII技术的简单实例。RAII技术的介绍1、RAII定义RAII,它是“Resour...

2018-12-12 22:11:48 1574

转载 谦卑的程序员(The Humble Programmer) by E.W.Dijkstra,1972

今天看陈硕多线程书的时候看到里面提到了这篇演讲,去找了下,发现还不错,想着还是转载过来,转载文章来自于:谦卑的程序员(The Humble Programmer) by E.W.Dijkstra,1972 谦逊的长者——Edsger Wybe Dijkstra,1930年出生于荷兰阿姆斯特丹,2002年逝世于荷兰纽南。他在祖国荷兰获得数据...

2018-12-12 21:33:28 1655

原创 Linux shell脚本编程

linux shell脚本编程这部分是在之前学习的,这里分享一下当时的学习笔记。笔记链接:http://note.youdao.com/noteshare?id=7ef28de42cda39d761c93f6802f22a1a

2018-12-12 14:07:10 163

原创 Linux 知识介绍(鸟哥)

linux相关基础的知识介绍,主要是鸟哥私房菜的这本书。链接如下:http://note.youdao.com/noteshare?id=ae49a371603311e6b2a202eea5e42078

2018-12-12 14:05:57 253

原创 Linux 环境下C编程基础

这部分是之前学习的在linux环境下c语言编程的一些学习笔记,这里从有道笔记下分享出来。分享链接如下:http://note.youdao.com/noteshare?id=b12f196455078da0023accadbef162a0...

2018-12-12 14:04:43 317

原创 Linux设备驱动开发学习笔记

2016.6.25这部门主要是之前学习linux设备驱动开发时候的一些笔记,主要学习的参考书是《Linux设备驱动开发详解第2版》书链接:http://note.youdao.com/noteshare?id=bbf134da309035b2093c5abcd5c7c8ac&sub=DBEC06117C384BBE8A248CD71E80ABDF学习笔记链接:http://note....

2018-12-12 14:03:09 181

原创 《机器学习实战4》

2017.3.7第四章《朴素贝叶斯分类器》思维导图1:简单概念描述概念比较简单,这里我摘抄自百度百科,很容易理解。朴素贝叶斯模型(NaiveBayesian classification)):Vmap=arg max P( Vj | a1,a2...an)Vj属于V集合其中Vmap是给定一个example,得到的最可能的目标值.其中a1...an是这个example里面的属性....

2018-12-11 15:26:37 245

原创 《机器学习实战3》

2017.3.6第三章《决策树的构造》思维导图:1、基本算法原理理解数据集中蕴含的知识信息,根据特征进行划分,形成一定的规则,最终形成规则树,按照这个规则树即可以将数据分类出来。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点:可能会产生过度匹配问题适用数据类型:数值型和标称型<>2、构造一颗决策树的流程:检测数据集中每一...

2018-12-11 14:11:54 461

原创 《机器学习实战2》

2017.2.28第二章《k-近邻算法》思维导图:1、基本算法原理简单地说,k近邻算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用数据范围:数值型和标称型。工作原理:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输人没有标签的...

2018-12-11 14:02:20 645

原创 《机器学习实战1》

2017.2.27第一章 《机器学习基础》思维导图1、关键术语的解释特征:测量所有可测属性,而后再挑选出重要部分,也可以称作属性分类:机器学习的主要任务就是分类,即根据目标变量对特征进行分类训练集:通常我们为算法输人大量已分类数据作为算法的训练集。训练集是用于训练机器学习算法的数据样本集合训练样本:特征或者属性通常是训练样本集的列,它们是独立测量得到的结果,多个特征联系在一起共同...

2018-12-11 13:45:08 589

原创 linux内核移植步骤

2016.6.8经过一个多星期的内核折磨,今天终于可以写下自己移植内核的一些心得,网上有很多博客论坛都有谈到,但是这些又说的方式有些模糊,这里我综合的几个博客在重新说下内核替换编译的步骤、以及如何更新启动项grub。替换linux的内核一共有两种方式,第一种方式是下载官方kernel提供的源码包,进行编译替换;第二种直接下载内核安装包deb,进行升级替换。下面分别从这两种方式进行 一个说明:...

2018-12-11 13:17:45 20289 6

转载 SVN使用小结

Windows上搭建SVN1、搭建SVN版本控制系统SVN是一种集中式管理代码的版本控制系统,原理是:将代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。因此需要一个类似MySQL的服务器用于保存和管理库文件的服务端——VisualSVN Server,还需要一个用户的操作端,用于提交、更新和检出代码——TortoiseSVN。所以搭建SVN...

2018-12-11 12:26:10 161

原创 git的使用小结

2017 .11.24首先,A得有一个github上的账户,如没有请先注册申请,然后安装git操作工具,如下面图中所示1. 登陆你的github,然后找到A要参与的项目P,点进项目中你会看见 watch,star,fork,那么这分别是什么意思呢?(1)想拷贝别人项目到自己帐号下就fork一下。fork 的作用是参与,目的是你增加新的内容,然后 Pull Request,把你的修改和主仓...

2018-12-11 12:19:40 160

2011年二级c语言真题详解

2011年二级c语言考试真题详解 flash动画 你值得拥有

2013-10-12

空空如也

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

TA关注的人

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