计算机基础-------硬盘、内存、cpu的理解

简介: 计算机基础-------硬盘、内存、cpu的理解

  计算机是我们接触最多的工具,而作为一个优秀的程序员只有真正了解计算机内部构造,才能写出适合计算机解析的优质代码。

今天总结一下计算机存储数据的硬件:硬盘(外存)、内存、CPU


一、硬盘:


1.硬盘分类

硬盘包括固态硬盘和机械硬盘

固态硬盘:

因为固态硬盘使用电信号传输数据,所以读写速度快,不易损坏;但是随之而来的造价成本高,容量小,数据不可恢复。一般我们会给计算机装一个固态硬盘,把固态硬盘作为系统盘,来提升计算机的速度。

机械硬盘:


   机械硬盘采用机械方式读取数据,相对于电信号方式存取速度慢,但是机械硬盘容量大,造价低,适合存储大量数据。考虑到成本和容量以及众多要存储的数据,大多数公司都会采用机械硬盘存储数据,只要做到备份充足即可。


2.硬盘结构


   硬盘由多个盘片叠加,每个盘片上下两个面分别对应一个机械臂,每个盘面上都有圆形磁道 (实际不存在划分的扇区,只是我们口头说扇区更容易理解区分),每个磁道是由若干个弧长相等的数据块排列。


从该博主这里借用了以下两张图片

要注意:在硬盘中实际不存在划分的扇区,我们把每个盘块称为扇区。


image.png


image.png



一个新的磁盘其实就是一个空白板,它只是一些含有磁性记录材料的盘子,每个磁盘片都是扁平圆盘,类似我们见过的光盘,只是盘面比光盘更加光滑,每个磁盘片的两面都附着一个个磁性小颗粒,通过磁片上的磁性颗粒进行记录就可以保存信息了。


   现在一般的电脑默认4KB是一个块,假设我们的电脑内存是1T, 换算1T = 1024^3KB,这样1T的内存包括2.5亿个块, 又因为1KB=1024B,一个字节(1B)是8位,一位表示一个小颗粒, 该位可带正负电, 正电用1表示, 负电用0表示. 一个块只有一个地址来记录


二、内存:


内存读写速度优于外存很多很多(使用顺序存储),内存中又有多级缓存,可以加快CPU读取速度,但是存储量小,又由于其成本高的特点,一般只适用于做短时存储读取,也就是当我们关闭电脑,断掉电源,内存中的数据就会全部消失,所以不用担心内存中存储量过大导致崩溃。

内存的作用:


保存从硬盘读取的数据,提供给CPU使用


保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘


三、CPU:


计算机的运算核心和控制核心,让电脑的各个部件顺利工作,起到协调和控制作用。

CPU处理速度快,以时钟周期“HZ”为单位,读取速度慢(读取速度是KB级别),读取时间是ms级别,并且容量更小,我们可以查看自己电脑CPU处理速度我这里是2.6GHZ


20190116160906449.png



四、硬盘、内存、CPU三者关系:


通过图片我们可以看出,硬盘和CPU之间不能直接进行数据的读取,假设运行硬盘和CPU直接传输数据,硬盘存储量,一次性向CPU传输1G的数据,而CPU一次只能读取几KB的数据,大概一千秒,这仅仅是1G的数据,太浪费时间,这时就体现了内存作为中间存储及传输数据中介的重要性。


20190116220856873.png


当硬盘里的数据需要做处理的时候,数据首先需要被放到内存里面,然后CPU通过多级缓存再去读取内存里的数据进行处理,处理完之后存回内存。(例如当你在用word 写一个文档时,你在写的时候底层的CPU也在不断的处理着数据,当然它处理的是二进制数据,此时的数据是在内存里面的,如果你不保存掉电之后你会发现之前写的东西都没了,而当你保存之后数据会被存放到硬盘里面,掉电之后数据还在!)


简单来说,硬盘用来存储我们的程序和数据,当我们运行程序的时候,CPU首先接到命令,之后CPU告诉硬盘,我要运行你存储的程序A,你把程序A送到内存去。CPU对内存说,我让硬盘把程序A送到你这里来了,你保存一下。等程序A被完整的送到内存之后。CPU就开始执行程序A。


这样来看,我们针对计算机的硬盘、内存和CPU就有了一个更加深入透彻的理解!!!


目录
相关文章
|
15天前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
40 4
|
10天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
117 6
|
1天前
LabVIEW中CPU和内存使用情况在NI分布式系统管理器中不可见
LabVIEW中CPU和内存使用情况在NI分布式系统管理器中不可见
10 3
|
1天前
|
监控 Linux API
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
14 4
|
12天前
|
弹性计算 监控 Shell
实时监控本机内存和硬盘
【4月更文挑战第29天】
23 0
|
13天前
|
Ubuntu Shell 网络安全
【专栏】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose
【4月更文挑战第28天】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose。下载安装脚本`curl -sSL https://kubesphere.io/install.sh | bash`,根据提示选择安装选项,等待完成。安装后,通过访问控制台验证安装效果。解决可能出现的错误、网络问题和性能问题,利用KubeSphere提升容器管理效率。本文为顺利安装和使用提供参考。
|
18天前
|
监控 Shell
Shell脚本监控CPU、内存和硬盘利用率
Shell脚本监控CPU、内存和硬盘利用率
|
1月前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
|
1月前
|
监控 Python
【python】实现cpu/内存监控的功能(非常简单)
【python】实现cpu/内存监控的功能(非常简单)
|
1月前
|
Linux
Linux 查看进程PID和线程CPU和内存占用情况
Linux 查看进程PID和线程CPU和内存占用情况
35 0