磁盘和内存的存储原理

       我们在程序中的数据处理主要是操作磁盘和内存,硬盘是磁盘里面最常用的一种,以前有所谓的软盘,也是磁盘的一种,原理和硬盘是一样:都是利用磁性物质的特性来保存信息,磁盘的原理就是利用电磁转换,学物理时我们知道电可以使物质带上磁性,而金属在磁场运动时切割磁感线时会产生电流,磁盘上有很多微粒的磁粉;当写通过磁头写数据时,磁头中的电流会导致磁粉极化,改变方向;读数据时,导体磁头经过磁粒的区域时会产生电流。

硬盘的存储数据原理:

我们知道信息存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1(磁化为1),凹的地方代表数字0。因此硬盘可以以二进制来存储表示文字、图片等信息。

 

内存存储数据原理:

而内存的原理就完全不同,内存是晶体管制作的(CPU也是晶体管做的),而晶体管的特性就是我们平时常说的用开关的开和关来表示1,0,通过一些门电路的组合可用来表示数字和实现复杂的逻辑功能,而内存主要是用来临时保存数据,CPU就是处理一些逻辑关系。

晶体管由于必须得通电,然后用电流的有无状态来表示信息,充放电后电荷的多少(电势高低)分别对应二进制数据0和1,所以只有通电的时候可以保存数据,电一断内存里的晶体管状态就处未知状态就啥用处也没了,而磁盘断电后磁性物质还会一直保持原样。

我们知道访问磁盘时就通过磁头去指到固定的地方然后读取数据,不过内存就不一样,不需要啥磁头去读取数据,它是有数据总线连接,我们是通过总线去读取内存的数据。

--------------------------------------------------------------------------------------------------------------------------------------------

参考资料:

内存的工作原理及时序介绍

深入理解内存原理

磁盘的读写原理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

### 内存磁盘的区别及工作原理 #### 一、定义与功能 内存(Memory),通常指随机访问存储器(RAM),是一种高速的数据存储设备,用于临时保存计算机运行过程中所需的程序数据[^1]。它的主要特点是读写速度快,能够支持CPU快速获取所需的信息,但在断电后无法保留数据。 相比之下,磁盘(Disk)属于非易失性存储介质,常见的有硬盘驱动器(HDD)固态硬盘(SSD)。它主要用于长期存储数据,在电源关闭后仍能保持所存储的内容不变。然而,其读写速度较慢,适合大容量数据的持久化存储[^2]。 #### 二、性能对比 从性能角度来看,内存具有极高的读写速率,延迟时间非常短,因此适用于频繁操作的工作负载。而磁盘虽然容量更大,成本更低,但由于机械部件的存在(对于传统HDD而言),或者闪存颗粒的特性(针对SSD),其响应时间吞吐量远不及内存[^3]。 #### 三、协作机制 尽管两者存在显著差异,但它们共同构成了现代计算系统的分层存储架构。操作系统通过虚拟内存技术将物理内存扩展到磁盘空间上形成交换文件(swap file/pagefile),当实际可用内存不足时,部分不活跃页面会被移至该区域释放资源供其他应用使用;反之亦然——必要时刻再加载回主存以便即时处理请求。 另外值得注意的是,在大数据场景下,为了弥补单独依赖任何单一层次所带来的局限性,诸如Spark SQL这样的工具会利用分布式框架来优化整个流程中的I/O瓶颈问题以及提升整体效率表现水平。 ```python import psutil def get_memory_info(): mem = psutil.virtual_memory() swap = psutil.swap_memory() memory_details = { 'total': mem.total, 'available': mem.available, 'used': mem.used, 'free': mem.free, 'buffers': getattr(mem, 'buffers', None), 'cached': getattr(mem, 'cached', None), 'shared': getattr(mem, 'shared', None), 'swap_total': swap.total, 'swap_used': swap.used, 'swap_free': swap.free } return memory_details memory_stats = get_memory_info() print(memory_stats) ``` 上述脚本展示了如何借助Python库`psutil`获取当前系统关于常规内存及交换分区的相关统计信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值