当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 服务器诊所:在Linux上仿真老式系统

Linux服务器
用VMwareGSX和W2K群集服务实现Exchange群集
在RHAS3中配置流媒体服务器
虚拟服务器实现方法(动态均衡)
用Linux建立局域网服务器
如何设置一个基本的OpenLDAPServer
Apache服务器实现用户验证
巧用TMPFS加速Linux服务器
SUNEnterprise220RServer做Raid1小结
如何查看OpenServer产品的许可过期日
快速搭建TimeServer与NISServer
用Apache+Tomcat创建与管理Web服务器
基于Fedora上建立功能强大的邮件服务器
RedHat8.0上CVS服务器的建立和权限配置
RedHatLinux下配置DHCP服务器实战
Linux代理服务全攻略:Squid篇
MOD_MP3让Apache成为流媒体服务器
Linux服务器设置指南-代理接入服务器(1)
Linux服务器设置指南-代理接入服务器(2)
Linux服务器设置指南-代理接入服务器(3)
Linux服务器设置指南-代理接入服务器(4)

Linux服务器 中的 服务器诊所:在Linux上仿真老式系统


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 46 ::
收藏到网摘: n/a


CP/M的新生
举个例子来说,假设您需要运行一些CP/M程序。那么究竟怎样才“需要”运行一个二十年前就很陈旧的OS呢?如果您在开发嵌入式系统,就很可能会有这种需要。同产品至少每年都更新的信息技术相比,一般认为,许多嵌入式系统一旦启动就会默默地自行运行数十年。

这引发了至少几个开发问题,系统顾问工程师ReneTschaggelar概括为:“有鉴于嵌入式系统要运行十年到二十年甚至更长时间,人们也就必须在这段时间内为它们提供支持。”有人确实需要维护这些系统,而这通常意味着必须把一些老设备和程序收藏起来以备不时之需。

这样不仅费钱而且往往很麻烦。要弄到老式的装有CP/M的S-100机器的部件不容易。很难告诉客户,因为有人不小心弄丢了8吋盘上的存档(那可是真正的软盘),因而无法兑现承诺。一个确实可供选择的替代解决办法是在Linux机器内建立一个虚拟CP/M主机。注意这不只是给您一个更易于管理和负担得起的虚拟CPU而已;通过在您所安装的文件系统和硬件上工作,同时也将维护实践与已有的基础结构(包括用于版本控制、归档、远程访问等的工具)统一起来。

这种情况下仿真所冒的风险在于仿真器不会忠实再现您所要求的原始硬件的行为。然而,还是有很多用户确实报告说对现有仿真器很满意。此外,作为开放源码软件,您或者为您工作的专家大有机会按您的需要对其做任何修正。

那么,让虚拟CP/M工作需要些什么呢?并不多。有许多不同的仿真器可供选择。我目前喜欢用的是AndreasGerlich的YAZE2.0。它安装和启动方便,并且在适应不常见的硬件或其它需求方面有着高度的灵活性。要使用它,只需下载它(请参阅参考资料中的链接),解压缩并用以下命令生成即可:

make-fMakefile_linux
然后执行:

./yaze.bin
不久会看到如下显示:

A>dir
A:CCPCOM:CPM3COM:CPM3-OKCOM
A:3ERASECOM:3SETDEFCOM:CMPCOM
A:COMPCOM:CRCCOM:DEDCOM
A:DIFFCOM:ECOM:ICOM
A:IICOM:L80COM:LCCOM
A:MAKECOM:MERACOM:MMUPRINTCOM
A:MOUNTCOM:PAUSECOM:PIPCOM
A:PMARCCOM:PMEXTCOM:SCOM
A:SENDUUECOM:SUBCOM:SUBMITCOM
A:SYSCOM:TABS6COM:TOUCHCOM
A:UNARCCOM:UNLOADCOM:Z80ASMCOM
A:ZEXALLCOM:ZEXDOCCOM:ZSIDCOM
A:0-README1ST:CRCKLISTCRC:DISKSTXT
A:MAKEDOC:MOUNTZ80:PROFILESUB
A:SYSZ80:TABS6DOC:TESTSUB
A:TOUCHDOC:UNIXMAKEMAN:WWWTXT
A:YAZERCTXT:Z80ASMDOC
缺省的YAZE配置定位在一个虚拟A:驱动器上,Gerlich在此驱动器上提供最基本的指令:E.COM、HELP.COM和dir。注意执行E.com是离开仿真器会话的标准方式。

所以如果您一直有意重新编译一个老的设备驱动程序,或者要为某个特定客户完成承诺,因而需要运行某个“古老”的嵌入式系统开发工具箱,那就别迟疑了。不用去修理您的旧硬件。直接在现成的Linux主机上安装YAZE,把工作复制到虚拟机中,然后完成您的项目。

仿真也可用于同时期的许多其它计算机,包括C64、MP/M、CP/M-86计算机、Sinclair和AppleII系列等。

陈旧的大铁块
OpenVMS形成了一个有趣的对比。OpenVMS在其许可和技术方面与它大致同时代的其他微机OS(如CP/M)完全不同。OpenVMS现在仍在销售,而且仍是一个完整、有用的产品;举例来说,OpenVMS长期提供分布式文件系统、交叉语言互操作性以及群集,这些都领先于其他的商用OS。

但OpenVMS的硬件很昂贵,而且还可能一直这样昂贵。对一个组织来说,如果只有少量用于“关键任务”的OpenVMS应用程序而年度维护要数万美元的话,很难证明这些开销的合理性。

于是Linux又有用武之地了。一个适当配置的Linux服务器能够仿真一台经许可的OpenVMS副本的硬件,和一年只用上几小时还嗡嗡叫的老古董相比,花费要少多了。这一替代方案是如此重要以至于有一个商业产品Charon-VAX,是专门针对这种仿真而设计的。

SIMH项目旨在对数十个老式操作系统的全系列进行这样的仿真,包括:1130、Eclipse、Altair、Interdata16b等等。

仿真世界中也有一点遗漏。和OpenVMS一样,MPE/iX是一个“中型”OS,有着活跃的用户社区和对Linux仿真方面极大的兴趣。虽然为MPE/iX开发仿真器是可能的,但要等到某个许可的细节问题解决后,到2004年或2005年这种仿真器才可能会登场。

使用仿真器时另一事实是:它们并没有完整全面的文档记录。Web上许多相关链接已经失效。此外,不少仿真器的作者已经“成熟”而不再需要它们,因而也不再为自己的作品提供支持。