新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在Linux系統(tǒng)上仿真老式操作系統(tǒng)

在Linux系統(tǒng)上仿真老式操作系統(tǒng)

作者: 時(shí)間:2012-05-22 來(lái)源:網(wǎng)絡(luò) 收藏

在 Linux 上能夠各種各樣的。這不僅僅只是學(xué)術(shù)實(shí)踐,這些“托管的 OS”對(duì)不少服務(wù)器室來(lái)說(shuō)是現(xiàn)實(shí)的投資。

Linux 機(jī)器能做的最有用的工作之一就是在它上面運(yùn)行其它的程序。這能極大地簡(jiǎn)化您的工作。

很多公司已經(jīng)在“服務(wù)器合并”上花了數(shù)百萬(wàn),希望藉此降低維護(hù)、管理甚至是散熱負(fù)擔(dān)??墒?,他們的做法往往只是在幾種不同的 UNIX 之間移來(lái)移去罷了。

然而,他們往往沒(méi)有意識(shí)到,這些由 Linux 托管的 OS ,有著相當(dāng)大的范圍和相當(dāng)高的質(zhì)量。其中有部分 OS,諸如 CP/M、RSX、OpenVMS 和 DOS 都是相當(dāng)老的系統(tǒng)。此外,很多公司對(duì)于使用該軟件在多大程度上提高了服務(wù)器室操作的方便性也不甚了解。

當(dāng)然,說(shuō)明這一點(diǎn)正是 服務(wù)器診所的任務(wù)之一。去年,本專欄致力于介紹各種在 Linux 下能完美運(yùn)行的自動(dòng)操作(盡管它們沒(méi)有被廣泛地應(yīng)用),諸如:Fortran 應(yīng)用程序、PDF 生成、Word 文檔管理、構(gòu)建 Windows 可執(zhí)行文件等等。這個(gè)月,該看看 Linux 對(duì)那些使用“次要的”老式 OS 的人能有多少幫助了。

CP/M 的新生

舉個(gè)例子來(lái)說(shuō),假設(shè)您需要運(yùn)行一些 CP/M 程序。那么究竟怎樣才“需要”運(yùn)行一個(gè)二十年前就很陳舊的 OS 呢?如果您在開(kāi)發(fā)嵌入式系統(tǒng),就很可能會(huì)有這種需要。同產(chǎn)品至少每年都更新的信息技術(shù)相比,一般認(rèn)為,許多嵌入式系統(tǒng)一旦啟動(dòng)就會(huì)默默地自行運(yùn)行數(shù)十年。

這引發(fā)了至少幾個(gè)開(kāi)發(fā)問(wèn)題,系統(tǒng)顧問(wèn)工程師 Rene Tschaggelar 概括為:“有鑒于嵌入式系統(tǒng)要運(yùn)行十年到二十年甚至更長(zhǎng)時(shí)間,人們也就必須在這段時(shí)間內(nèi)為它們提供支持?!庇腥舜_實(shí)需要維護(hù)這些系統(tǒng),而這通常意味著必須把一些老設(shè)備和程序收藏起來(lái)以備不時(shí)之需。

這樣不僅費(fèi)錢而且往往很麻煩。要弄到老式的裝有 CP/M 的 S-100 機(jī)器的部件不容易。很難告訴客戶,因?yàn)橛腥瞬恍⌒呐獊G了 8 吋盤上的存檔(那可是真正的軟盤),因而無(wú)法兌現(xiàn)承諾。一個(gè)確實(shí)可供選擇的替代解決辦法是在 Linux 機(jī)器內(nèi)建立一個(gè)虛擬 CP/M 主機(jī)。注意這不只是給您一個(gè)更易于管理和負(fù)擔(dān)得起的虛擬 CPU 而已;通過(guò)在您所安裝的文件系統(tǒng)和硬件上工作,同時(shí)也將維護(hù)實(shí)踐與已有的基礎(chǔ)結(jié)構(gòu)(包括用于版本控制、歸檔、遠(yuǎn)程訪問(wèn)等的工具)統(tǒng)一起來(lái)。

這種情況下所冒的風(fēng)險(xiǎn)在于仿真器不會(huì)忠實(shí)再現(xiàn)您所要求的原始硬件的行為。然而,還是有很多用戶 確實(shí)報(bào)告說(shuō)對(duì)現(xiàn)有仿真器很滿意。此外,作為開(kāi)放源碼軟件,您或者為您工作的專家大有機(jī)會(huì)按您的需要對(duì)其做任何修正。

那么,讓虛擬 CP/M 工作需要些什么呢?并不多。有許多不同的仿真器可供選擇。我目前喜歡用的是 Andreas Gerlich 的 YAZE 2.0。它安裝和啟動(dòng)方便,并且在適應(yīng)不常見(jiàn)的硬件或其它需求方面有著高度的靈活性。要使用它,只需下載它(請(qǐng)參閱參考資料中的鏈接),解壓縮并用以下命令生成即可:

make -f Makefile_linux

然后執(zhí)行:

./yaze.bin

不久會(huì)看到如下顯示:

A>dirA: CCP      COM : CPM3     COM : CPM3-OK  COMA: 3ERASE   COM : 3SETDEF  COM : CMP      COMA: COMP     COM : CRC      COM : DED      COMA: DIFF     COM : E        COM : I        COMA: II       COM : L80      COM : LC       COMA: MAKE     COM : MERA     COM : MMUPRINT COMA: MOUNT    COM : PAUSE    COM : PIP      COMA: PMARC    COM : PMEXT    COM : S        COMA: SENDUUE  COM : SUB      COM : SUBMIT   COMA: SYS      COM : TABS6    COM : TOUCH    COMA: UNARC    COM : UNLOAD   COM : Z80ASM   COMA: ZEXALL   COM : ZEXDOC   COM : ZSID     COMA: 0-README 1ST : CRCKLIST CRC : DISKS    TXTA: MAKE     DOC : MOUNT    Z80 : PROFILE  SUBA: SYS      Z80 : TABS6    DOC : TEST     SUBA: TOUCH    DOC : UNIXMAKE MAN : WWW      TXTA: YAZERC   TXT : Z80ASM   DOC

缺省的 YAZE 配置定位在一個(gè)虛擬 A:驅(qū)動(dòng)器上,Gerlich 在此驅(qū)動(dòng)器上提供最基本的指令: E.COM 、 HELP.COM 和 dir 。注意執(zhí)行 E.com 是離開(kāi)仿真器會(huì)話的標(biāo)準(zhǔn)方式。

所以如果您一直有意重新編譯一個(gè)老的設(shè)備驅(qū)動(dòng)程序,或者要為某個(gè)特定客戶完成承諾,因而需要運(yùn)行某個(gè)“古老”的嵌入式系統(tǒng)開(kāi)發(fā)工具箱,那就別遲疑了。不用去修理您的舊硬件。直接在現(xiàn)成的 Linux 主機(jī)上安裝 YAZE,把工作復(fù)制到虛擬機(jī)中,然后完成您的項(xiàng)目。

仿真也可用于同時(shí)期的許多其它計(jì)算機(jī),包括 C64、MP/M、CP/M-86 計(jì)算機(jī)、Sinclair 和 Apple II 系列等。

陳舊的大鐵塊

OpenVMS 形成了一個(gè)有趣的對(duì)比。OpenVMS 在其許可和技術(shù)方面與它大致同時(shí)代的其他微機(jī) OS(如 CP/M)完全不同。OpenVMS 現(xiàn)在仍在銷售,而且仍是一個(gè)完整、有用的產(chǎn)品;舉例來(lái)說(shuō),OpenVMS 長(zhǎng)期提供分布式文件系統(tǒng)、交叉語(yǔ)言互操作性以及群集,這些都領(lǐng)先于其他的商用 OS。

但 OpenVMS 的硬件很昂貴,而且還可能一直這樣昂貴。對(duì)一個(gè)組織來(lái)說(shuō),如果只有少量用于“關(guān)鍵任務(wù)”的 OpenVMS 應(yīng)用程序而年度維護(hù)要數(shù)萬(wàn)美元的話,很難證明這些開(kāi)銷的合理性。

于是 Linux 又有用武之地了。一個(gè)適當(dāng)配置的 Linux 服務(wù)器能夠仿真一臺(tái)經(jīng)許可的 OpenVMS 副本的硬件,和一年只用上幾小時(shí)還嗡嗡叫的老古董相比,花費(fèi)要少多了。這一替代方案是如此重要以至于有一個(gè)商業(yè)產(chǎn)品 Charon-VAX,是專門針對(duì)這種仿真而設(shè)計(jì)的。

SIMH 項(xiàng)目旨在對(duì)數(shù)十個(gè)老式的全系列進(jìn)行這樣的仿真,包括:1130、Eclipse、Altair、Interdata 16b 等等。

仿真世界中也有一點(diǎn)遺漏。和 OpenVMS 一樣,MPE/iX 是一個(gè)“中型”O(jiān)S,有著活躍的用戶社區(qū)和對(duì) Linux 仿真方面極大的興趣。雖然為 MPE/iX 開(kāi)發(fā)仿真器是可能的,但要等到某個(gè)許可的細(xì)節(jié)問(wèn)題解決后,到 2004 年或 2005 年這種仿真器才可能會(huì)登場(chǎng)。

使用仿真器時(shí)另一事實(shí)是:它們并沒(méi)有完整全面的文檔記錄。Web 上許多相關(guān)鏈接已經(jīng)失效。此外,不少仿真器的作者已經(jīng)“成熟”而不再需要它們,因而也不再為自己的作品提供支持。

盡管如此,對(duì)于許多操作仿真器托管有著極大的優(yōu)勢(shì)。有了 Linux,不用擔(dān)心缺乏硬件會(huì)妨礙您運(yùn)行需要的軟件了。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉