西西河

主题:【原创】说一说我对透明计算的疑惑 -- 鸿乾

共:💬119 🌺320 🌵2 新:
全看分页树展 · 主题 跟帖
家园 老兄触到了操作系统的内存管理和内外存页面置换效率这个问题

受到你的启发,个人一点浅见,供参考。

老兄说的这些实际触到了一个要命的东西 —-- 操作系统的内存管理和内外存页面置换效率。

不论哪个操作系统,内存管理都是非常重要的一部分。

不论哪种硬件平台,内存一定不会是无限多甚至“足够多”(土豪机另说)。 从操作系统的角度看,物理内存不够用是必须作为100%会发生的事情进行处理的,具体细节讲操作系统的书里都有(较大的虚拟内存空间和较小的物理内存),大体就是进行内存页面置换 — 根据一定的算法,将最近不常用的内存页面置换到外存中(通常都是在本地硬盘上的一个比较大的页面置换文件,专供操作系统使用)以腾出内存给需要新调入的软件模块使用, 当操作系统发现需要访问的某个(虚拟内存)页面已经被置换到外存时,该页面需要被重新从外存调入到物理内存中然后再使用。

由此,决定了内外存之间的页面置换速度,是一个比较重要的指标。 通常低档PC用的硬盘转速都不太高(比如5400rpm),而自己装机通常都选择转速比较高的硬盘(比如7200rpm或更高),原因就在这儿。

回到MetaOS, 客户机器启动时,不从本地硬盘load操作系统OS, 这时它的外存应该指向远端(张说透明计算不是云计算,我就避免说云端了)。 这个过程不论耗时多长,毕竟是一次性的(非经常发生),还是OK的。

下面,在客户机器正常运行时,一旦发生需要进行内存页面置换的情况,有下面两种情况:

1. 虚拟内存页面置换文件在本地硬盘

如果MetaOS不插入一个虚拟机(VM)层在OS之下,也就是说OS直接运行在BIOS层之上(如通常没有MetaOS的情况,也就是说MetaOS短暂重定向部分BIOS功能并在OS load之后归还),运行效率应该没有影响或者说没有大的影响。

但是,问题来了:

(1) BIOS重定向已经归还,这时如果需要load新的应用程序,怎么办? MetaOS是否有一定的Intelligence 可以区分指向本地硬盘的内存页面置换请求 和 指向远端的应用程序请求。 如有,算法是什么样的?有论文吗? 个人倾向认为这点如果不深入OS内部是很难搞定的。 希望我是错的。

(2) 如果仅仅OS从远端load, 而其它应用程序从本地硬盘load, 那么宣称的防毒防木马的功能则有问题。 整体讲这种情况跟从固化的OS插件load相比有什么优势?

2. 虚拟内存页面置换文件在远端(通过网络连接)

如果从头至尾不需要访问本地硬盘,某种程度将本地客户机器当做无盘工作站。

那么,所有的内存外存页面置换,都要通过网络来进行,而且是频繁地发生的。 从操作系统的角度,从运行效率/速度来说,要了亲命啦。

Windows和Unix/Linux等OS都是要进行内外存页面置换的,不知张的团队是怎么处理这个问题的。 (假定所有客户机器都拥有足够多的内存,是明显不合理的)

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河