前情提要 前文介绍了一些探索文件系统的命令和方法,并且提到内核文件系统开发的艰难,笔者说过要带读者朋友一起动手做一个极简的文件系统。 但笔者总不
前情提要 终于到了动手的环节,今天我们直接搞起一个叫做 hello world 的文件系统,附上全部代码实现,且可以体验测试。 环境准备 环境准备: go 编程环境(准备个 go
最近发生了个大事件,Golang,G,M,P,程序猿,操作系统吵起来了,每个人都心有怨言,奇伢作为调解程序之友,对涉事的几位当事人做了一个简
概述 讲了那么多存储的通用知识,从 Linux 的文件系统,块层,再到磁盘,都做了一些深入的分享。今天分享一个 Go 编程的使用技巧:怎么把内存的结构体写入到磁
概述 Linux 下有 3 种“拷贝”,分别是 ln,cp,mv,这 3 个命令貌似都能 copy 出一个新的文件出来。 细心的小伙伴看到我给 “拷贝” 打上了双引号?因为 Linux 的这
存储 IO 最重要的一个知识点是啥? 划重点:存储 IO 要对齐。 资深存储人员为啥总叫你注意 IO 对齐的?机械磁盘 IO 为什么要 512 对齐呢,SSD 盘为啥要 4K 对齐?不
写的数据安全吗? 思考一个问题:写数据做到什么程度才叫安全了? 就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电
前情概要 有位读者群里抛出过一段自己研究的代码,并附上这么一个问题: 代码截屏: 为了刚好的研究,下面贴出来代码文本: package main import ( "fmt" "reflect" "unsafe" ) func StringToByte(key *string) []byte { strPtr
前几天有小伙伴问我说,golang 里面很多类型使用 nil 来赋值和做条件判断,总是混淆记不住。 你可能见过:: 很多文章和书会教你:Go 语言默认定义的
前情概要 通过上一篇 Go IO 的姿势, 我们看到有两种文件读写的方式,一种是系统调用的方式,接受和操作的对象是一个整数 fd,另一种是 Go 标准库自己封装的
应一位读者朋友,推荐一些和存储相关入门和进阶的书籍。 有些读者朋友是已经深耕存储多年,有的读者朋友是刚刚入门、或者说有兴趣但是迟迟不得入门。以
[toc] 两大 IO 分类 我们都知道计算的体系架构,CPU,内存,网络,IO。那么 IO 是啥呢?一般理解成 Input、Output 的缩写,通俗话就是输入输出的