首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

白话计算机之开篇与内存和硬盘的区别

想给没有任何计算机基础的人讲计算机相关的东西已经很久了,只是一直没有比较好的契机,最近公司的一个运营同学杨同学(前生物老师)说想要学点编程技术,了解下最近特别流行的Python,我们俩一合计,一个想学一个想教,那就这么糊里糊涂的开始吧。所以我打算写一些科普性质的计算机文章,专门给没有任何计算机基础的人看,也算是为计算机知识的普及,做一点点小小的贡献。

我打算把这个系列就叫做《白话系列》,一方面相当于自己变相署名,一方面也是突出“零基础”,因为我至今还基本记得我从高二开始第一次接触编程概念到一步步成为程序员的一些主要节点和自己思维的转变,所以我觉得我也许还真能用白话把计算机的一些基本东西讲清楚。

我也先不打算整理什么教学计划之类的东西了,先姑且走着看,想到哪些东西重要就讲哪些东西,主要是一些偏概念的东西,所以也不会让读者“21天精通计算机”,更多只是科普。

硬盘和内存的区别

正好今天在公司和我们的杨同学聊了聊内存和硬盘的区别,那么今天作为开篇的第一个概念,就先简单说一下内存和硬盘。内存和硬盘是计算机专业里面大概类似于1+1=2的这种知识点,非常的基本,但是非计算机专业的人,就真的是一点都不懂了,我还记得我大一寒假时去买电脑,张口闭口“这个500G的内存,那个250G的内存”的,其实这里说的,并不是内存,而是磁盘。

那么内存和磁盘有什么差别呢?主要是体现在两个方面,一个是速度,一个是里面存的东西能放多久。(其实还有价格,内存奇贵,磁盘便宜)

速度(内存>磁盘)

如果把计算机的运行过程比作是做饭,那么内存就相当于是你家的冰箱,而磁盘相当于距离你最近的超市。现在假设你要做饭,没有冰箱可以吗?当然可以,你可以先去超市买米,买完米回来开始蒸米,然后去超市买菜,买完菜回来洗菜,洗完菜又去超市买刀,买完刀回来切菜……相信大家也看出来了,这个也太费时了,为什么不一次性把这些东西都买好,然后放到冰箱里呢?那么这个时候,内存就改出场了。计算机如果是直接去磁盘取数据的话,就像是你每次去超市买东西一样,磁盘速度太慢,不划算,于是有了内存,就像我们有了冰箱,但是冰箱能放得下超市那么多东西吗?显然不能,它只能放你最近需要的一点点东西。内存也是一样,每当你在电脑上双击打开一个软件,计算机就把这个软件从磁盘搬运到了内存中,这也是为什么软件启动会有点慢,因为要去磁盘取嘛,一旦这个软件打开了,那么好了,菜都进冰箱了,接下来就快很多。目前大部分内存都是2G,4G或者8G,而磁盘就大多了,动辄几百G,或者上T(1T=1000G),那么问题来了,为什么不搞一个几百G的内存呢?因为太贵了,你家不论穷富可能都有冰箱,但是你见过谁家直接用超市级别的冷库放日常的菜吗?没有,不划算,而且没必要。我们平时用的软件,一般都是几十M,最多上百M,你搞那么大的内存,其实没啥用,关键还费电。

再有钱也不能用冷库不是

存储持久性(内存

先解释下什么是存储持久性,说白了就是里面的东西能存多久。内存是要通电才能存东西,而磁盘是只要写入就会一直保存。做个形象的比喻,内存就是海边的沙滩,你可以在上面很轻松的写字,然后擦掉,然后继续写,但是一旦你走了,明天再来,你写的东西很可能就没有了。相比之下,磁盘就是海边的岩石,你想在上面写字,太难了,写完擦了重新写?不是不可能,但是太难了,好处是,一旦你写了,基本上撑个千百年是没有什么问题的。那么计算机里为什么要有这两种存储方式呢?为了高效和安全。高效体现在,你在键盘上快速的打字,计算机能快速的把这些字记录到内存里(在沙滩上写的),然后你点击保存,计算机会稍微用点时间,把刚才这些字写入到磁盘上(刻到石头上),这就是为什么你下一次打开电脑,你上次写的东西还在。但是,一旦你忘记了保存就关闭了电脑,或者写到一半突然断电了,不好意思,沙滩上的东西是不能持久的,因为还没来得及写入磁盘,所以下次你在打开,就什么都没有了(希望你刚才写的不是毕业论文)。

世界

课后闲扯

我从大一开始正式接触计算机,到现在差不多8年了,越来越感觉计算机整体的很多设计是非常的精妙的,很多思想和日常的生活中的道理是非常相似的,比如今天讲的内存和磁盘,就体现了很多道理,比如“好钢用到刀刃上”(内存做快速的读写操作,磁盘做永久性存储),比如“寸有所长,尺有所短”(内存读写快,但是存储无法持久,磁盘虽然读写慢,但是存储特别持久)。整体感觉,内存是一个脑子特别灵光的人,反应快,动作也快,但是比较浮躁,不长记性;磁盘呢,比较木讷,反应永远慢半拍,但是一旦记住了,就永远记住了。别说计算机内部的部件了,其实人又何尝不是这样呢?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214G0ZCBE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券