衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

拯救被遺忘的軟件,你知道嗎?

IEEE電氣電子工程師 ? 來源:lq ? 2018-12-26 09:47 ? 次閱讀

2010年初,哈佛經濟學家萊因?哈特(Carmen Reinhart)和肯尼斯?羅格夫(Kenneth Rogoff)發表了一篇涵蓋多個國家經濟數據的分析文章,并得出結論:當一個國家的債務水平超過該國國民生產總值的90%時,這個國家的經濟增長即受到威脅。他們認為,在如此之高的債務水平下,預計增長將為負增長。

這篇分析文章是在2008年經濟危機爆發后不久發表的,因此與當時的政策制定者有很大的關系。當時很多政策制定者都為了刺激國民經濟而鼓勵高額債務支出。與此同時,保守派政客,比如時任歐盟委員的奧利?雷恩(Olli Rehn)以及美國國會議員保羅?瑞安(Paul Ryan),根據哈特和羅格夫的研究結果呼吁采取財政緊縮政策。

3年后,一位來自馬薩諸塞大學的研究生托馬斯?赫恩登(Thomas Herndon)發現,當年哈特和羅格夫計算時所用的Excel電子數據表有錯誤。這個錯誤的影響是巨大的:赫恩登使用正確的電子數據表重新做的分析表明,債務水平超過國民生產總值90%時,平均經濟增長為2.2%,而不是哈特和羅格夫當年所發現的-0.1%。

赫恩登可以輕而易舉地測試當年哈佛經濟學家得出的結論,因為他們當初所使用的軟件——微軟Excel——現如今依然使用方便。但是早期那些可以使用但目前難以繼續使用的軟件所得出的分析結論怎么辦呢?

或許你覺得解決辦法沒什么難度:把相關軟件保存下來供未來的研究人員使用即可。畢竟軟件只是一堆文件,而這些文件又能以數字格式保存在硬盤或磁帶上。對于某些軟件來說,非常重要的源代碼甚至被打印在紙上,以防其存儲的數字媒介失效。

這是保存舊程序的常規方式,即使是對幾十年前的舊軟件也是如此。比如,你可以上網搜索到20世紀60年代將宇航員送上月球的阿波羅導航計算機的完整程序代碼列表。這是2016年從紙上復制轉錄后上傳到GitHub的。

盡管少數核心程序員喜歡研讀老式源代碼,但是大多數人對此并不感興趣,他們只是想使用軟件。但是讓歷史久遠的軟件得以運行十分困難,因為大多數舊代碼都需要老式計算機以及老式操作系統才能運行。

如果你想再玩一次年輕時玩過的計算機游戲,可能也會面臨類似的困境。而舊程序無法運行會帶來更加嚴重的影響,尤其是對科學技術研究領域。

與經濟學家一樣,在日常工作中,物理學家、化學家、生物學家以及工程師等其他很多研究人員都使用軟件來分析切割數據和顯示分析結果。研究人員通過計算機模型來模擬現象,而計算機模型是通過一系列編程語言寫成的,同時使用了多種軟件數據庫和參考數據集。這些研究及其依賴的軟件對于新研究成果的發現和發表都至關重要。

想象你自己是一名研究者,此時你想檢查另一名研究者25年前進行的運算。你能否獲取并使用相關軟件?也許相關軟件的開發公司都已經不在了。即便該軟件現在仍有新的版本,它能接受原始數據格式嗎?計算過程與上一代計算機是否完全等同?例如舍入誤差?可能不是。

研究者對計算機日益依賴,運行老式軟件的困難削弱了研究者對已發表研究結果的檢測能力。因此,舊軟件的問題腐蝕掉了科學的基石——再現性——的前提。

這還會影響到法律訴訟。假設,工程師根據計算得出某建筑物設計得十分堅固,但該建筑物的屋頂還是塌了。這是工程師出了錯,還是使用的計算軟件出了錯?如果多年后相關軟件不能再使用,就很難說清楚了。

因此我和卡耐基?梅隆大學(位于匹茲堡)的同事們一直在研究一種無論現在還是將來都能方便運行的程序存檔方式。大部分的編碼工作由我的同事——計算機科學家本杰明?吉爾伯特(Benjiamin Gilbert)和簡?哈克斯(Jan Harkes)完成。參與合作的還有軟件檔案管理員丹尼爾?瑞安(Daniel Ryan)、圖書管理員格洛里安娜?圣?克萊爾(Gloriana St. Clair)、埃里克?林克(Erike Linke)以及基思?韋伯斯特(Keith Webster),他們都對如何妥善保存這份現代文化有濃厚的興趣。

這個項目更多地涉及檔案保存,并不是主流計算機科學項目,我們獲得的資金來源不是政府計算機科學基金部門,而是艾爾弗?P?斯隆基金會(Alfred P.Sloan Foundation)以及博物館和圖書服務協會(Institute for Museum and Library Services)。在資金支持下,我們展示了如何重建年代已久的運算環境并將其發布到網上,任何計算機用戶只要一點鼠標,就可以即刻復原過去的運算環境。

我們創建的系統叫做Olive,該名字由開放虛擬執行圖像庫(Open Library of Images for Virtualized Execution)的英文首字母組成。Olive通過互聯網提供一種與早期計算機、操作系統和應用運行完全相同的體驗。安裝Olive后,便可以像運行新軟件一樣運行舊軟件。Olive就像一臺針對軟件內容的時光機。

若要理解Olive如何還原早期運算環境,你必須了解幾個軟件抽象層。最底層與目前多數計算機技術所使用的基礎相同:使用1個或多個x86微處理器的標準臺式電腦或筆記本。我們在這臺電腦上運行Linux操作系統,構成Olive的第二個抽象層。

操作系統的上層是我們實驗室開發的軟件VMNetX,意指虛擬機網絡執行(Virtual Machine Network Execution)。虛擬機是在不同類型計算機上通過運行軟件來模擬一類特定計算機的運算環境。VMNetX的特別之處在于它允許將虛擬機存儲在中心服務器上,按照遠程系統要求來運行虛擬機。這種設置的優勢在于運行虛擬機之前,計算機不需要從服務器上下載虛擬機的全部磁盤和內存狀態。再上一層的虛擬機監視程序(也稱為管理層)會按照需要成批恢復虛擬機硬盤及內存中的信息,可保持幾臺虛擬機同時運行。

每個虛擬機分別運行一個硬件模擬器,亦即Olive的再上一抽象層。模擬器展現一臺現已淘汰的老式計算機的虛擬環境,比如配備20世紀90年代摩托羅拉68040 CPU的老式麥金塔Quadra計算機。(如果你存檔的軟件是運行在x86計算機上,那么模擬器層可以省略。)

再往上一層是存檔軟件工作所需的舊操作系統。舊操作系統可以接入虛擬硬盤,由虛擬硬盤模擬真實硬盤存儲,為更高的軟件抽象層提供類似普通文件系統的環境。

舊操作系統再上一層為存檔程序本身。存檔程序可以是最高層,也可再多加一層,由你要存檔程序運行所必須的數據等組成。

Olive的上面幾層依據不同的存檔應用而定,存儲于中央服務器中。Olive系統的下面幾層以Olive客戶端軟件包的形式安裝于使用者的電腦中。啟動一個存檔應用時,Olive客戶端將按需從中央服務器獲取相關上層的部分內容。

━━━━

這就是Olive的組成結構。但是Olive都可以做什么呢?目前,Olive由17種不同的虛擬機組成,可以運行多種操作系統和應用。這些配置選擇是出于好奇心、可行性以及個人喜好。比如,我們團隊的一個成員依然記得自己在20世紀90年代初期在學校玩《俄勒岡小道》游戲的場景。于是我們拿到了這款游戲一個舊的Mac版本并通過Olive重新運行。我們成功運行這款游戲的消息不脛而走,很多人紛紛找到我們詢問是否可以“復活”他們曾經最愛的軟件。

我們復原年代最久的應用是《逃出神秘房間》,這款圖形游戲于20世紀80年代初開始在蘋果II計算機上運行。另一個年代久遠的程序是NCSA Mosaic,上了年紀的人或許還記得就是這款瀏覽器引領他們進入萬維網世界。

Olive提供運行蘋果麥金塔7.5操作系統的1993年Mosaic版本。這套操作系統運行于摩托羅拉68040 CPU模擬器上,而這款處理器是由運行Linux系統的x86計算機中的軟件創造的。盡管是虛擬的,但性能還是不錯的,畢竟現代計算機要比原始的蘋果硬件快得多。

把Olive重建的Mosaic瀏覽器套用在當代網絡中很有啟發性:Mosaic早于JavaScript、HTTP1.1、層疊樣式表(CCS)和HTML5等網絡技術,因此不可能呈現多數現代網站。但是追蹤很早以前建立的網站很有樂趣,它們看起來還不錯。

Olive還有什么功能呢?或許你會好奇英特爾引進奔騰處理器之后,商業上所使用的工具都有哪些。這一點Olive可以幫你,比如讓你體驗1994年開發的微軟Office 4.3(幸好這個軟件開發得比討厭的自動辦公助理軟件Clippy早)。

或許你只是想在一個懷舊的夜晚,玩一下DOS版的《毀滅戰士》游戲,或者了解一下為什么這款第一人稱射擊游戲在20世紀90年代初如此盛行。或許你想整理一下1997年的稅務信息,卻在閣樓里找不到存儲當年特波稅務軟件(Turbo Tax)的硬盤。不用擔心,Olive都有。

在較為嚴肅的軟件方面,Olive涵蓋了Chaste 3.1。這款軟件的名稱是癌癥(Cancer)、心臟(Heart)和軟組織環境(Soft Tissue Environment)的英文首字母組合。這是一款由牛津大學開發的仿真程序包,用于解決生物學和生理學領域需要計算的問題。Chaste 3.1版本出現在2013年3月發表的一篇研究論文中。論文發表后不到兩年,當時新版Linux便不再編譯Chaste 3.1的源代碼了。這是Olive旨在克服科學再現性的標志性挑戰。

為確保Chaste 3.1正常運行,Olive提供了當年的Linux環境。Olive復活的Chaste還包括2013年發表論文中的實例數據。利用這些數據再次運行Chaste,可以生成某些肌肉功能的可視化結果。對于未來想要研究這些可視化結果或改進已發表軟件的生理學家來說,他們可以利用Olive在虛擬機上編輯并運行代碼。

由于軟件許可限制,現在Olive僅供少部分用戶使用。Olive收集的早期軟件目前只能限于參與這個項目的人員使用。相關公司需要授權許可,才能讓Olive面向范圍更廣的用戶。

不只我們一個團隊在尋求還原舊軟件的方法。比如,互聯網檔案館(Internet Archive)就通過運行在用戶瀏覽器中的MS-DOS仿真模擬器來保存成千上萬個舊程序。耶魯大學正在進行的項目EaaSI(Emulation as a Service Infrastructure,指“模擬器即服務基礎設施”)就致力于模擬過去成千上萬的軟件環境。參加“軟件保護網絡”的學者和圖書管理員們一直在協調這項工作以及類似研究。他們還在努力解決以這種方法恢復舊軟件運行所帶來的版權問題。

Olive系統已取得很大進展,但遠未達到完善的程度。除了軟件許可限制問題以外,還存在各種各樣的技術障礙。

其中一大難題就是如何導入新數據以供舊應用進行處理。目前,新數據依靠人工導入,不僅任務繁重而且容易出錯,也限制了可供分析的數據量。即便增加新的數據導入機制,導入的數據量還是受虛擬機的虛擬硬盤容量限制。這可能看起來問題不大,但是你要知道,有些舊式計算機文件系統的數據存儲容量出奇地小。

另外一個難題是圖形處理器(GPU)仿真。長久以來,科學界借助圖形處理器的并行處理能力來提高各種運算的速度。為了把利用圖形處理器的可執行軟件存檔,Olive需要再造這些芯片的虛擬版本。這是個十分棘手的任務。因為圖形處理器的接口(輸入和輸出內容)并無標準。

很顯然,在宣布可執行內容的存檔問題已經解決之前,還有很多工作要做。但Olive已經開了一個好頭,要確保直到未來也能開發、測試和使用過去的軟件,正需要我們創造的這類系統。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微軟
    +關注

    關注

    4

    文章

    6630

    瀏覽量

    104479
  • 計算機科學
    +關注

    關注

    1

    文章

    144

    瀏覽量

    11403

原文標題:拯救被遺忘的軟件

文章出處:【微信號:IEEE_China,微信公眾號:IEEE電氣電子工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LED戶外顯示屏的五大優勢,知道嗎

    LED戶外顯示屏的五大優勢,知道嗎? LED戶外顯示屏在城市的夜晚中扮演著越來越重要的角色,其鮮艷的色彩、生動的畫面為城市增添了一抹亮色。那么,LED戶外顯示屏的顯示效果到底如何呢?讓我們一起
    的頭像 發表于 01-06 18:20 ?177次閱讀

    SHS1000 X系列手持示波表基礎介紹

    SHS1000X手持示波表的使用方法知道嗎
    的頭像 發表于 11-22 09:20 ?161次閱讀
    SHS1000 X系列手持示波表基礎介紹

    這些電源常用仿真軟件知道嗎

    電源系統的建模仿真是電源開發過程中不可或缺的一環,它可以幫助工程師模擬電源系統,測試電源功能,驗證電源方案可行性,優化電源電路設計,加速電源系統開發。 選擇一款合適的仿真軟件至關重要,本篇將對在電源
    發表于 10-25 14:20

    這些電源常用仿真軟件知道嗎

    電源系統的建模仿真是電源開發過程中不可或缺的一環,它可以幫助工程師模擬電源系統,測試電源功能,驗證電源方案可行性,優化電源電路設計,加速電源系統開發。選擇一款合適的仿真軟件至關重要,本篇將對在電源
    的頭像 發表于 10-24 18:05 ?616次閱讀
    這些電源常用仿真<b class='flag-5'>軟件</b>,<b class='flag-5'>你</b>都<b class='flag-5'>知道嗎</b>?

    晶振怎么用,真的知道嗎

    導讀晶振應該是陪伴我們最多而我們卻并非那么熟悉的元器件之一,其頻率對于電路的運作很重要,今天我們詳細介紹晶振的諧振頻率調整與常見應用。諧振頻率的調整通常石英晶體產品給出的標稱頻率是外接一個小電容Cs(在石英晶體產品的技術手冊中常稱為負載電容)時校正的振蕩頻率,Cs與石英晶體串接如圖1所示。利用Cs可使石英晶體的諧振頻率在一個小范圍內調整。Cs的值應選擇得比C
    的頭像 發表于 10-22 08:03 ?340次閱讀
    晶振怎么用,<b class='flag-5'>你</b>真的<b class='flag-5'>知道嗎</b>?

    電源的這些常識知道嗎

    因為電源部件是消耗品,導致電源有一定的使用壽命。因此,使用一定時間后,我們或多或少會出現一些異常現象。一些簡單的學生可以簡單地自己解決。然而,許多情況下,涉及技術問題的人無法開始。這時,我們需要知道
    的頭像 發表于 09-26 13:58 ?310次閱讀

    在光端機應用中,晶振的核心作用你知道嗎

    在光端機應用中,晶振的核心作用你知道嗎?隨著信息技術的發展,光纖通信在現代通信領域中扮演著重要的角色。而光端機在光纖通信系統中起著關鍵的作用,實現了光纖通信的高速、遠距離傳輸和多協議兼容性,為現代
    發表于 09-23 11:26 ?0次下載

    物聯網設備也需要雙卡嗎?

    知道嗎?實際應用中,物聯網設是必需的!
    的頭像 發表于 09-21 08:12 ?295次閱讀
    物聯網設備也需要雙卡嗎?

    知道影響貼片電感發熱的因素有哪些嗎?

    知道影響貼片電感發熱的因素有哪些嗎?
    的頭像 發表于 08-17 14:24 ?550次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>影響貼片電感發熱的因素有哪些嗎?

    知道貼片電感故障時可能出現的癥狀嗎?

    知道貼片電感故障時可能出現的癥狀嗎?
    的頭像 發表于 08-17 14:20 ?459次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>貼片電感故障時可能出現的癥狀嗎?

    怎么用薄膜電容知道嗎

    薄膜電容是電子元件中重要的電容器類型,具有體積小、高頻特性好等優點,廣泛應用于多個領域。使用時需根據電路需求選擇合適的電容值、電壓等級和頻率特性,并注意引腳處理、焊接和布局布線等安裝與連接事項。
    的頭像 發表于 07-16 14:00 ?443次閱讀
    怎么用薄膜電容<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    還不知道怎么進行負載測試發電機嗎?

    測試一般的流程是怎樣的,知道嗎? ? 1、試驗前準備:確保發電機和試驗設備處于良好的工作狀態,檢查發電機的電源和燃料供應是否正常,確保試驗設備與發電機的連接正確可靠。 2、確定試驗載荷:根據您的實際要求確定試驗
    的頭像 發表于 07-03 17:36 ?1041次閱讀

    世界電信日之知道嗎

    而設立的。1865年5月17日,國際電信聯盟正式成立,為了紀念這一歷史性的日子,自1969年起,每年的5月17日定為世界電信日。在2006年11月舉行的國際電信
    的頭像 發表于 05-19 08:05 ?112次閱讀
    世界電信日之<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    X安規電容是 X安規電容的特點介紹 X電容耐壓等級是多少知道嗎

    X安規電容是 X安規電容的特點介紹 X電容耐壓等級是多少知道嗎? X安規電容是目前市場上主要應用于電子產品的電容器之一。它具有一系列特點,包括高質量、穩定性強、使用壽命長、噪音小等特點。此外,X
    的頭像 發表于 03-14 15:46 ?1038次閱讀

    知道激光鉆孔技術有多牛嗎?看完這篇文章就明白了

    知道激光鉆孔技術有多牛嗎?看完這篇文章就明白了
    的頭像 發表于 02-29 17:09 ?1090次閱讀
    百家乐官网皇室百家乐官网的玩法技巧和规则 | 昂仁县| 和记娱乐城| 玫瑰国际娱乐城| e乐博官网| 百家乐官网娱乐城代理| 百家乐官网真钱电玩| 百家乐官网书籍| 百家乐官网的方法和公式| 百家乐官网盈利分析路单| 澳门百家乐官网看路博客| 百家乐官网赌博博彩赌博网| 百家乐官网赌场代理荐| 扑克王百家乐官网的玩法技巧和规则| 百家乐官网俄罗斯轮盘转盘套装| 百家乐游戏机高手| 电玩百家乐游戏机路单| 威尼斯人娱乐城 老品牌值得您信赖| 大发888娱乐城qq服务| 大发888游戏平台寒怕| 新澳博娱乐| 百家乐官网趋势图怎么看| 老k百家乐游戏| 新塘太阳城巧克力| 澳门赌场老板| 百家乐官网桌布9人| 百家乐另类投注法| 百家乐号破| 至尊百家| 菲律宾百家乐官网娱乐场| 24山亥山巳向造葬日课| 百家乐www| 香港六合彩开奖| 百家乐官网庄河闲的赌法| 百家乐官网群的微博| 打百家乐庄闲的技巧| 大发888娱乐城优惠码lm0| 百家乐官网分析资料| 百家乐官网正品| 永利高a1| 百家乐官网网站哪个好|