一个存储虚拟化”新司机”的思考(2)–什么是虚拟化

谁来定义虚拟化?

一个比较抽象的词,很难给出一个比较明确的定义,而且我也一直认为没有人可以对一个抽象的概念给出绝对正确的定义。如果一个公司想争夺一种技术的定义权,我会毫不吝啬的给它扣上“技术独裁者”的帽子。

但是理解一个词在当前这个时代、这个世界的用法还是很有必要的,比如“虚拟化”这个词,对虚拟化开始重点关注以来,对“虚拟化”这个词的理解的确是在逐渐变化的,今天就来说一说我目前为止的理解。

从虚拟机说起

关注虚拟化方向之前,我对虚拟化这个词的理解是经历了几个阶段的。最开始可能“虚拟机”啊,有了虚拟机,大家就能方便地在Windows下用Linux系统啦。后来云计算火起来了,云服务器的底层技术是什么啊,是虚拟机和虚拟化啊,所以感觉虚拟化真是很牛逼。后来Docker火了,Docker是什么,人家都说是“轻量级的虚拟化”,哇,虚拟化这么牛逼,虚拟机、云服务器、Docker都用了虚拟化啊。 阅读全文

《百万英雄》Python + OCR搜索引擎统计辅助简单实现思路

0. 环境

iOS 10 + MacOS 10.12 + Python 2.7

1. 思路

APP界面中弹出的题的位置和答案的位置都是固定的,因此我们可以将手机屏幕想办法投到电脑屏幕上,通过OCR识别指定区域,实时打开搜索引擎界面搜索问题,甚至匹配答案。

2. 关键步骤

2.1 投屏

我是iPhone 5s + Mac电脑,可以用Mac的Quicktime Player播放器的屏幕录制功能(安卓据说可以用ADB)。 阅读全文

C程序不全是从main开始的 — 以QEMU中qcow2模块初始化为例

0. GCC的attribute关键字

这是GCC的一个特性,gcc可以使用attribute关键字,格式如下:

其中attribute_name中有两类constructordestructor类似C++中类的构造和析构的概念,只不过是相对main()函数来说的。简单说,__attribute__((constructor))定义的函数在main前执行,__attribute__((destructor))定义的函数在main后执行。 阅读全文

我们为什么需要信息冗余

欢迎评论。。以后还可能写个版本2。。。

冗余的人类语言

研表究明,汉字序顺并不定一影阅响读!事证实明了当你看这完句话之后才发字现都乱是的。

以上这句话很多人都看到过,知乎上也有很多人讨论问题的原因[2],对于这段中文,有人从贝叶斯决策的角度分析,指出这是由于人借助了上下文的相关信息+日常的经验。对于英文,如果把一段话的每个单词的字母顺序打乱,也会出现不影响阅读的情况,有人指出这可能是人在阅读一个单词时只看第一个字母和最后一个字母的原因。我感觉都是有道理的。 阅读全文

一个存储虚拟化”新司机”的思考(1)–存储栈

“新司机”虽然上路了,但并不知道走了多少弯路,因为还知道有没有走上正路。但上路也快一年了,当然有一些体会,就算是错的,也该想过些什么。如果我什么体会都不写出来,那么这些想法总会在我的脑子中绕啊绕啊的。所以我希望写些出来,也许这样就可以不用刻意提醒自己不要忘记它们,也好专心”开车”。而且我想,车技总是不断积累联系和回看总结的过程,也许我将来看现在自己的体会,不是嘲笑自己的车技太差就是羡慕自己的没有迷路运气。当然还有一种情况,就是我能因这些感想能将其他”新司机”带上(歪)路,我也是很欣慰的。。。

这系列文章,不去反省自己的缺陷,不去叙述自己的经历,只写下当前所总结的体会。本篇博客,我将写一下对存储栈的理解。后边,我还可能从存储组织(文件系统/存储结构)、存储缓存和虚拟化存储等几方面写下体会。

1. 层次化封装

就像OSI网络参考模型一样,存储也是有层次的,如果在网络中我们将这些层次称为网络协议栈(TCP/IP协议栈),那么在存储中我们经常用存储栈(storage stack)或I/O栈(I/O stack)与之对应。 阅读全文

全国信息存储年会参会总结

时隔近3个月,我本科毕业后第一次回到了西安,见到了在本校读研的舍友们,不过主要还是来参加信息存储年会的。

会议有特邀报告、青年学者报告和优秀论文交流报告,分别是大神级的学者、大神级的青年学者和大神级的博士生进行报告,听了这些报告真的感觉到自己的差距有多么大,同时感觉不虚此行。

这是一篇我所听报告的部分内容的总结,语言从我个人理解的角度出发,信息可能不全或不准确,如有问题,欢迎讨论和指正。 阅读全文

把数据放到哪我才能睡好觉

今天,老师给实验室发的邮件中有一条建议说,我们应该将工作数据任何时候都保存多于一份,来避免丢失:

在该页面还有一个同步软件,请一并下载,使用该软件每天将工作文件夹分别同步到U盘(或移动硬盘)和电脑硬盘中,保证任何时候都有至少两份,因为目前的设备特别是硬盘容易损坏,避免关键数据丢失

其实说到这个问题,我也有一很多相关的想法,找不到人去说,干脆写个博客吧,反正微博那么短,也不适合我叨叨。。。 阅读全文

时间就是金钱,金钱就是信息

“时间”和“空间”,在小的时候对我来说只是两个词语,没有什么实质的领悟;后来知道了霍金曾写《时间简史》来讨论时间,到现在也没读完过,估计读完也懂不了;貌似爱因斯坦还说过时间是现实世界的第四个维度?但时间对于人来说总是有别于空间的,但时间总是感觉很特别,感觉不应该和空间统一起来,我想两者应该是个对等的关系;再后来,相见别离,让我明白了时间的意义,房价飙涨,也让我了解了空间的残酷(2333…)。

倒是从大学后的一些课程开始,我对这两个概念有了更加现实的理解。比如,数据结构这门课貌似从第一节就让我们求一段程序的空间复杂度和时间复杂度,有些算法是用时间换空间(牺牲更多计算时间,减少存储空间),有些是用空间换时间。加上后来的各种经历和获得的知识,让我觉得,信息的存在需要空间和时间,而随着人类的发展,各种信息所需要的时间和空间之间可以互相转换替代。

生活中的信息和时间/空间

如果对算法复杂度一窍不通,我们也能在生活中找到一些例子。比如街上的小店铺门前挂的LED电子屏幕,上面可能滚动着各种最新的促销信息,如果你碰巧感兴趣,就需要驻足等所有字幕滚动一遍。看完你可能觉得很烦:“为什么字幕滚动这么慢,促销又这么没有诚意,完全是在浪费时间…”,这说明你的阅读速度很快,老板也许还想让更多心不在焉的人感受到他跳楼甩卖之决心呢。我们考虑这样一个问题,如果放到没有LED屏的30年前,也许把整个店铺的店面用横幅盖住也写不下这么多的字吧。这里,LED电子屏减小了店铺广告的空间,却增加了展示同样多信息的时间(不考虑人的阅读速度,时间由零秒变为字幕滚动所需的数秒)。 阅读全文