亚洲 欧洲 日韩 综合色天使,久久国产Av无码一区二区老太,人妻醉酒被下药迷昏带到诊所 ,亚州老熟女A片AV色欲小说

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

現(xiàn)在,很多嵌入式系統(tǒng)都是在 Linux 上運(yùn)行的。但是,在很久很久以前,嵌入式系統(tǒng)要么在一個(gè)定制的專有的平臺上運(yùn)行,要么在 DOS 上運(yùn)行。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

FreeDOS 網(wǎng)站宣稱,大多數(shù)人使用 FreeDOS 來完成三項(xiàng)主要任務(wù):

  1. 玩經(jīng)典的 DOS 游戲
  2. 運(yùn)行老式的 DOS 軟件
  3. 運(yùn)行一款嵌入式系統(tǒng)

但是,運(yùn)行一個(gè)“嵌入式”系統(tǒng)的意義是什么呢?

嵌入式系統(tǒng)基本上是一款非常小的系統(tǒng),專用于運(yùn)行一個(gè)特定的任務(wù)。你可以把現(xiàn)在的嵌入式系統(tǒng)當(dāng)作是 物聯(lián)網(wǎng)(IoT)的一部分,這包括傳感器、恒溫器和門鈴攝像頭?,F(xiàn)在,很多嵌入式系統(tǒng)都是在 Linux 上運(yùn)行的。

但是,在很久很久以前,嵌入式系統(tǒng)要么在一個(gè)定制的專有的平臺上運(yùn)行,要么在 DOS 系統(tǒng)上運(yùn)行。在現(xiàn)在,一些基于 DOS 的嵌入式系統(tǒng)仍然在運(yùn)行,例如,收銀機(jī)或電話專用交換機(jī)(PBX)系統(tǒng)。舉個(gè)例子來說,在 2017 年,酷愛列車的人發(fā)現(xiàn)一個(gè)正在運(yùn)行 FreeDOS 的俄羅斯的電動列車控制系統(tǒng) (俄語: САВПЭ),它使用特殊的軟件來控制和監(jiān)控郊區(qū)列車的線路,并發(fā)布乘客通告。

在 DOS 上建立一個(gè)嵌入式系統(tǒng)需要定義一個(gè)最小化的 DOS 環(huán)境來運(yùn)行單個(gè)應(yīng)用程序。幸運(yùn)的是,設(shè)置一個(gè)最小化的 FreeDOS 環(huán)境是非常容易的。從技術(shù)上來說,啟動 FreeDOS 并運(yùn)行 DOS 應(yīng)用程序僅需要內(nèi)核和一個(gè) FDCONFIG.SYS配置文件。

安裝一款最小化的系統(tǒng)

我們可以使用 QEMU 仿真器來模擬一個(gè)專用的、最小化的 FreeDOS 系統(tǒng),并給它分配很少的資源。為了更準(zhǔn)確地反映一個(gè)嵌入式系統(tǒng),我將定義一個(gè)只有 8 MB 的存儲器和僅僅有 2 MB 的硬盤驅(qū)動器的虛擬機(jī)。

為創(chuàng)建這個(gè)微小的虛擬硬盤,我將使用這個(gè) qemu-img命令來定義一個(gè) 2M 的文件:

$ qemu-img create tiny.img 2M
FORMATting 'tiny.img', fmt=raw size=2097152

下面的這行命令定義了一個(gè) 32 位的 “i386” CPU、8MB 的存儲器,使用 2MB 的 tiny.img文件作為硬盤驅(qū)動器鏡像,使用 FreeDOS 1.3 RC4 LiveCD 作為 CD-ROM 介質(zhì)。我們也將機(jī)器設(shè)置為從 CD-ROM 驅(qū)動器啟動(-boot order=d),盡管我們只需要用它來安裝系統(tǒng)。在我們完成所有的設(shè)置后,我們將從該硬盤啟動完成的嵌入式系統(tǒng):

qemu-system-i386 -m 8 -hda tiny.img -cdrom FD13LIVE.iso -boot order=d

使用 “現(xiàn)場環(huán)境模式Live Environment mode” 來啟動系統(tǒng),這將為我們提供一個(gè)正在運(yùn)行的 FreeDOS 系統(tǒng),我們可以使用它來將一個(gè)最小化的 FreeDOS 轉(zhuǎn)移到硬盤上。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

啟動到 LiveCD 環(huán)境之中(Jim Hall, CC-BY SA 4.0)

我們需要在虛擬硬盤驅(qū)動器上為我們的程序創(chuàng)建一個(gè)分區(qū)。為此,從命令行中運(yùn)行 FDISK程序。FDISK是 FreeDOS 上的一個(gè)標(biāo)準(zhǔn)的磁盤分區(qū)實(shí)用程序。使用FDISK來創(chuàng)建一個(gè)單個(gè)硬盤驅(qū)動器分區(qū),占用整個(gè)(2 MB)硬盤驅(qū)動器。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

FDISK,在創(chuàng)建 2 MB 分區(qū)后(Jim Hall, CC-BY SA 4.0)

但是,在你重新啟動 FreeDOS 之前,F(xiàn)reeDOS 不會看到新的硬盤驅(qū)動器分區(qū) — FreeDOS 僅在啟動時(shí)讀取硬盤詳細(xì)信息。退出 FDISK,并重新啟動 FreeDOS 。

在重新啟動后,你需要在新的硬盤驅(qū)動器上創(chuàng)建一個(gè) DOS 文件系統(tǒng)。因?yàn)檫@里只有一個(gè)虛擬硬盤,F(xiàn)reeDOS 將識別其為 C:驅(qū)動器。你可以使用FORMAT命令來在C:驅(qū)動器上創(chuàng)建一個(gè) DOS 文件系統(tǒng)。使用/S選項(xiàng)將把操作系統(tǒng)文件(內(nèi)核,外加一個(gè)COMMAND.COMSHELL 的副本)轉(zhuǎn)移到新的驅(qū)動器上。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

格式化新的驅(qū)動器來創(chuàng)建一個(gè) DOS 文件系統(tǒng)(Jim Hall, CC-BY SA 4.0) 你已經(jīng)創(chuàng)建了硬盤驅(qū)動器并將其格式化,現(xiàn)在,你可以安裝應(yīng)用程序,這些應(yīng)用程序是將會在新安裝的嵌入式系統(tǒng)上運(yùn)行的。

安裝專用的應(yīng)用程序

嵌入式系統(tǒng)實(shí)際上只是一個(gè)運(yùn)行在一個(gè)專用系統(tǒng)上的單一用途的應(yīng)用程序。這些應(yīng)用程序通常是為其將要控制的系統(tǒng)而自定義構(gòu)建的,例如,一臺收銀機(jī)、顯示終端、或控制環(huán)境。在這個(gè)演示中,讓我們使用一個(gè)來自 FreeDOS 1.3 RC4 安裝光盤中的程序。它需要足夠小,以適應(yīng)我們?yōu)槠鋭?chuàng)建的 2 MB 微型硬盤驅(qū)動器。這可以是任何東西,所以,為了好玩,讓我們把它變成一個(gè)游戲。

FreeDOS 1.3 RC4 包含一些有趣的游戲。我喜歡的一個(gè)游戲是一個(gè)名稱為 “Simple Senet” 的棋類游戲。它是一個(gè)基于 Senet 的古埃及棋類游戲。游戲的細(xì)節(jié)對這個(gè)演示并不重要,我們將安裝它,并將其設(shè)置為嵌入式系統(tǒng)的專業(yè)應(yīng)用程序。

為安裝應(yīng)用程序,在 FreeDOS 1.3 RC4 LiveCD 上,進(jìn)入 \PACKAGES\GAMES目錄。你將在其中看到一個(gè)很長的軟件包列表,而我們想要的SENET.ZIP。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

來自 FreeDOS 1.3 RC4 的一個(gè)游戲軟件包列表(Jim Hall, CC-BY SA 4.0)

為解壓縮 “Simple Senet” 軟件包到虛擬硬盤上,使用 UNZIP命令。所有的 FreeDOS 軟件包都是 Zip 文件,因此,你可以使用任意與 Zip 兼容的檔案實(shí)用程序來管理它們。FreeeDOS 1.3 RC4 包含創(chuàng)建 Zip 檔案文件的ZIP和提取 Zip 檔案文件的UNZIP。它們都來自Info-Zip 項(xiàng)目。

UNZIP SENET.ZIP -d C:\FDOS

通常,使用 UNZIP來提取 Zip 文件到當(dāng)前目錄中。在命令行結(jié)尾的-d C:\FDOS選項(xiàng)將告訴UNZIP來提取 Zip 文件到C:\FDOS目錄之中。(-d指的是“目的地”)

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

解壓縮 Simple Senet 游戲(Jim Hall, CC-BY SA 4.0)

為了讓嵌入式系統(tǒng)啟動時(shí)運(yùn)行 “Simple Senet” 游戲,我們需要告訴 FreeDOS 來使用 Senet 作為系統(tǒng)的 “shell” 。 默認(rèn)的 FreeDOS 的 shell 是 COMMAND.COM程序,但是,你可以在FDCONFIG.SYS內(nèi)核配置文件中使用SHELL=指令來定義一個(gè)不同的 shell 程序。我們可以使用 FreeDOS 的 Edit 來創(chuàng)建新的C:\FDCONFIG.SYS文件。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

(Jim Hall, CC-BY SA 4.0)

如果你需要定義其它的參數(shù)來支持嵌入式系統(tǒng),你可以將其添加到 FDCONFIG.SYS文件之中。例如,你可能需要使用SET動作來設(shè)置環(huán)境變量,或者使用FILES=BUFFERS=語句來調(diào)整 FreeDOS 內(nèi)核。

運(yùn)行嵌入式系統(tǒng)

在全面地完成嵌入式系統(tǒng)的定義之后,現(xiàn)在,我們可以重新啟動計(jì)算機(jī)來運(yùn)行嵌入式應(yīng)用程序。運(yùn)行一個(gè)嵌入式系統(tǒng)通常僅需要有限的資源,因此,在這個(gè)演示中,我們需要調(diào)整 QEMU 命令行來只從硬盤驅(qū)動器(-boot order=c)中啟動,而不再定義一個(gè) CD-ROM 驅(qū)動器:

qemu-system-i386 -m 8 -hda tiny.img -boot order=c

當(dāng) FreeDOS 內(nèi)核啟動時(shí),它將讀取 FDCONFIG.SYS文件以獲取啟動參數(shù)。然后,它將使用SHELL=行的定義來運(yùn)行 shell 。這將自動地運(yùn)行 “Simple Senet” 游戲。

虛擬硬盤下載系統(tǒng)(虛擬硬盤下載速度)

作為一個(gè)嵌入式系統(tǒng)運(yùn)行 Simple Senet(Jim Hall, CC-BY SA 4.0)

我們已經(jīng)使用了 “Simple Senet” 來演示如何在 FreeDOS 上設(shè)置一個(gè)嵌入式系統(tǒng)。根據(jù)你的需要,你可以使用任何你喜歡的獨(dú)立應(yīng)用程序。在 FDCONFIG.SYS中使用SHELL=行將其定義為 DOS 的 shell ,F(xiàn)reeDOS 將在啟動時(shí)自動地啟動該應(yīng)用程序。

不過,在這里有一個(gè)限制。嵌入式系統(tǒng)通常不需要退回到一個(gè)命令行提示符之中,因此這些專用應(yīng)用程序通常不允許用戶退出到 DOS 之中。如果你設(shè)法退出了嵌入式應(yīng)用程序,你可能會看到一個(gè) “Bad or missing Command Interpreter” 的提示,你將需要在其中輸入一個(gè)新的 shell 的完整路徑。對于一個(gè)以用戶為中心的桌面系統(tǒng)來說,這將是一個(gè)問題。但是在一個(gè)嵌入式系統(tǒng)上,它只專注執(zhí)行一種工作的,那么,你也永遠(yuǎn)不需要退出嵌入式應(yīng)用程序。

via: https://opensource.com/article/21/6/freedos-embedded-system

作者:Jim Hall選題:lujun9972譯者:robsean校對:wxy

本文由 LCTT原創(chuàng)編譯,Linux中國榮譽(yù)推出

本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
如若轉(zhuǎn)載,請注明出處:http://www.qjsdgw.cn/89173.html