500GB虚拟内存,还是4GB磁盘缓冲?

前些天买了一台新电脑,双核的CPU、4GB内存、500GB硬盘、1GB独显、DVD刻录、14”屏幕,感觉用起来还可以。

后来开始考虑一个问题:程序是运行于内存之中的,内存有不够的时候,于是有人发明了虚拟内存。虚拟内存把内存中的数据写到硬盘上;硬盘比内存慢,于是又有人发明了缓冲,把硬盘上的数据储存在内存中。究竟是应该从内存到硬盘,还是从硬盘到内存,我糊涂了。

然后有了一个大胆的想法:把500GB硬盘完全作为虚拟内存,这样我就能运行很大的程序了。反过来想,把4GB内存完全作为磁盘缓冲,那么效率不是可以相当高了吗?到底是500GB的虚拟内存,还是4GB的磁盘缓冲?

最后选择了后者。其实也谈不上选择,我又不会改操作系统的内核,只能说是个人偏好于4GB缓冲的方案。这样一来,可以认为程序是运行于硬盘之上的,malloc函数分配文件而不是内存,它可以返回一个路径而不是一个地址,返回空字符串相当于返回NULL等等。当然,还有缓冲在,只要内存中还有空间,它还是优先分配内存的。

更进一步的想法,内存-->硬盘-->网络,程序可以运行于硬盘之上,难道它不可以运行于网络之上吗?可是仔细一想,网络上其他计算机的数据也是存储在硬盘上的,所以可以使用网络文件系统。

总之,程序应该运行在硬盘上,也就是存储程序的地方。软件方面,这个想法要想成为现实,需要合并操作系统的FS和MM模块;硬件方面,CPU可以内置一个文件系统,现有的文件系统这么多,是时候统一它们了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值