【计算机组成原理】读书笔记第三期:内存和磁盘的关系

本文详细解读了内存与磁盘的关系,介绍了磁盘缓存和虚拟内存的作用,以及节约内存的编程策略,包括通过DLL共享函数和使用_stdcall优化。还讨论了磁盘的物理结构,如扇区和簇的概念。

目录

写在开头

内存与磁盘的关系

基本关系

磁盘缓存

虚拟内存 

节约内存的编程方法

通过DLL文件实现函数共有

通过调用_stdcall来降低文件程序的大小

磁盘的物理结构 

结尾

写在开头

  本文继续阅读总结《程序是怎样跑起来的》这本书(作者:矢泽久雄)。前两篇博客介绍了这本书的阅读感受,并分别对第一章CPU、第四章内存相关的知识进行了总结。详情见:

【计算机组成原理】读书笔记第一期:对程序员来说CPU是什么-优快云博客

【计算机组成原理】读书笔记第二期:使用有棱有角的内存_Bossfrank的博客-优快云博客

  本文将介绍本书的第五章:内存与磁盘的亲密关系。主要介绍了内存与磁盘的相互关系节约内存的编程方法和磁盘的物理结构

内存与磁盘的关系

 本文内存主要指主内存,即存储CPU中运行的程序指令和数据的区域,磁盘主要指硬盘。从存储容量上看,内存是高速(读取速度上)高价(价格上),磁盘则是低速廉价

基本关系

  磁盘中存储的程序,必须要加载到内存中才能运行。在磁盘中保存的原始程序是不能直接运行的。原因:负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址才能读出程序(详见第一章总结)。即使CPU可以直接读出并运行磁盘中保存的程序,由于磁盘读取速度慢,程序的运行速度也会降低。

  程序要加载到内存中才可运行(图5-1),这是理解内存和磁盘关系的基础。接下来介绍两种机制,分别是将内存空间暂时充当磁盘的磁盘缓存和将磁盘空间暂时充当内存的虚拟内存。 

磁盘缓存

  磁盘缓存(disk cache)是指把从磁盘中读出的数据存储到内存空间中的方式。通过这样的方式,当之后需要读取同一数据时,就不用再去读取访问速度缓慢的磁盘空间,而是直接从内存(即磁盘缓存)中把内容读出,使用磁盘缓存可以大幅度提高磁盘数据的访问速度。Windows提供了磁盘缓存机制,不过随着硬盘访问速度的大幅度改善,磁盘缓存的效果没有那么明显了。

虚拟内存 

  虚拟内存(virtual memory)是指把磁盘的一部分作为假想内存来使用。通过这一机制,当程序的大小略超过内存的剩余空间时,也可以运行程序。不过由于CPU只能执行加载到内存中的程序。虚拟内存虽说是把磁盘作为内存的一部分来使用,但实际上正在运行的程序部分,在这个时间点上是必须存在在内存中的。也就是说,为了实现虚拟内存,就必须把实际内存(也可称为物理内存)的内容,和磁盘上的虚拟内存的内容进行部分置换(swap),并同时运行程序。

&n

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Boss_frank

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值