當前位置: 半夏小說 玄幻奇幻 重生學神有系統 第373章 沒有操作系統怎麼辦?

《重生學神有系統》第373章 沒有操作系統怎麼辦?

現代計算機開機后,會執行一段固化在只讀存儲(ROM)中的程序。

這段程序做「BasicInputOutputSystem」,簡稱「BIOS」,中文含義是「基本輸輸出系統」。

BIOS主要有三個功能:自檢、設置CMOS里的參數,以及載作系統。

很多人都會把BIOS和CMOS搞混。

事實上,COMS只是一個存儲的型號,在計算機中,一般用於保存基本的參數。

CMOS斷電后,裡面存儲的容就會消失,因此一般會在主板上,安裝一塊紐扣電池,專門用來給CMOS供電……

現在LED陣列上顯示的,就是BIOS自檢沒有通過,所給出的錯誤信息。

【KeyboardInterfaceError】

【PressF1toResume】

這兩行的意思很簡單,就是在提醒用戶:你沒有鍵盤,或者鍵盤壞了……

江寒看到這一幕,卻十分欣喜。

能看到這個錯誤提示,意味著存、CPU等主要部件,都通過了自檢程序的校驗。

接下來,只要給這臺計算機再搭載一個鍵盤,就可以愉快地玩耍啦。

那麼,如何搞到鍵盤呢?

如果不想費事的話,其實可以在商品列表中買一個。

價格並不貴,最便宜的型號,只需要100多萬積分就能買一個。

輒幾千萬、幾個億的顯示相比,這點積分本就不算什麼。

但可惜的是,江寒手頭有點張,買完主要后,剩餘的積分連最便宜的鍵盤也買不起了。

Advertisement

好吧,鍵盤這個玩意,其實結構非常簡單。

江寒稍微思考了一下,就決定自己DIY一個。

既能節約學以致用積分,順便還能學到一點東西……

江寒先回到現實,拿起筆記本,在網上查找了起來。

很快,他就收集到了許多關於鍵盤的文獻。

在極客社區里,DIY鍵盤只是門級別的小東西。

原理簡單、電路簡單、結構……

如果不追求手的話,結構也是很簡單的。

江寒細心研究了一下,很快就吃了機械鍵盤的原理和實現方式,連電路結構都默背了下來。

隨後,他就再次進虛擬空間,買了一些空白圖紙,把鍵盤的各部分電路,都畫了出來。

然後把圖紙回收掉,再去圖紙列表裡,花費了一點積分,讓系統幫忙自構建了出來。

有了電路后,剩下的部分就簡單了。

買幾塊塑板,製造一個小箱子,當做鍵盤的外殼,再買一堆按鈕開關,來代替按鍵……

江寒很快就搞定了鍵盤的主結構。

接下來,他就將電路封裝進了箱子里,然後將每個按鈕開關,都用細導線連接到了電路的IO部分。

這樣,一個山寨氣息濃烈的箱式鍵盤,到此就基本大功告了。

江寒將鍵盤的輸出線,連接到了主板的AT介面上,然後重啟了一下286計算機。

隨著「滴」的一聲,自檢順利地通過了,沒有再出現和鍵盤有關的錯誤提示。

這說明鍵盤本沒有任何問題,無論是質量上的,還是設計上的。

江寒欣然一笑。

今天的運氣還算不錯,第一次做鍵盤就取得了功。

Advertisement

當然,他也沒忘了在心裡謝一下,那些在網上共資料的,都是好人哪……

可惜的是,江寒並沒有高興太久。

計算機通過了BIOS自檢后,LED上的畫面繼續滾,但很快又停了下來。

【operatingsystemnotfound】

看到這個提示,江寒不由得嘆了口氣。

這個提示的意思是:「找不到作系統。」

自己花了那麼多積分,才買來的20MB大容量碟,居然連個DOS都不給預裝。

上哪說理去?

對於計算機來說,沒有作系統,可以說寸步難行。

那麼,怎麼解決這個問題呢?

江寒思索了起來。

萬事開頭難。

先不說自己有沒有能力,自行編寫一個作系統。

就算真能克服種種困難,把作系統寫出來,也得有辦法載碟中去才行。

震驚商城裡倒是也能買到各種作系統的源代碼。

但購買點數夠不夠,只是一方面。

同樣的問題,買來之後怎麼寫碟里。

在計算機沒有安裝任何作系統時,如何將程序寫碟呢?

江寒想起一個很久以前聽過的笑話。

如果你買了一臺全新的機,手頭上又沒有系統安裝盤,你可以這樣做:

找一部電話機,最好是帶按鍵的,除了0和1,其他的按鈕全都壞掉也無所謂。

然後找一電話線,在電話上,另一頭用打火機燒一下,擼掉多餘的包皮,接在碟的數據線介面上。

接下來,就可以用電話上的0和1兩個鍵,輸碼編寫作系統、調試運行了。

看,很簡單吧?

Advertisement

那麼問題來了:如果連BIOS都沒有,本無法驅碟,又該怎麼辦呢?

也好辦。

首先,找一個螺刀,把碟拆開,再找一針,在碟的碟片上

這樣碟里就被寫上數據了……

當然,以上純屬扯淡。

真正的機編程,肯定要比這個複雜一些。

比如,可以仿照之前作「雨菲一型」的辦法,設計一組開關。

先切斷存儲和數據匯流排的鏈接,然後作開關,就可以在存中寫指令了。

要不然,做一臺紙帶機,用在紙帶上打孔的方式,來代替手按開關,將程序輸到電腦里,也是可行的。

但這些辦法做起來都太費事了。

如果有更簡單的辦法,又何必這麼麻煩呢?

江寒重啟了一下286,然後在自檢的過程中,按住了「DELETE」鍵。

這樣,自檢結束后,就跳過了系統自舉階段,進了BIOS的設置程序中。

BIOS設置界面非常簡單,江寒很快在其中找到了一個關於ROMBASIC的選項。

80286是一款十分古老的,只集了13萬個晶管,最大主頻僅有20MHz。

但就是這麼落後的機,卻包含了一些十分有意思的功能。

在這種早期主板的ROM晶元中,常常會固化一個BASIC解釋程序。

當相關的選項開啟時,如果系統啟時找不到可引導的系統,將會進ROMBASIC解釋程序。

而不像後來的先進計算機那樣,只給出一個錯誤信息,之後就什麼也幹不了了。

這個選項默認於「關閉」狀態,江寒將其設置為「開啟」,然後按「F10」保存、退出。

系統重新啟,很快屏幕上就出現了「IBMPersonalComputerBasic1.0」、「copyright1981」字樣。

屏幕中還出現了一個一閃一閃的「_」,這就是提示符游標了。

屏幕的最下方,還有一行命令提示:「1、list,2、load,3、run……

現在就可以利用這個不到10KB的BASIC解釋程序,來干點什麼了。

這個BASIC語言解釋,可以說相當簡陋,很多功能都沒有建,連浮點運算都不支持。

但厲害的是,卻可以通過IO指令,直接讀取埠和存,以及調用一些系統中斷。

這就給了用戶很大的作空間。

江寒先退出虛擬空間,去CSDN上找了幾份關於ROMBASIC的教程,並下載了一份MSDOS3.31的盤鏡像文件。

沒錯,對於80286來說,跑太高版本的DOS,還是有些力不從心的。

而DOS3.31的功能和複雜度,剛好於一個微妙的平衡點。

既不像6.22那樣,佔用太多可用存;又不會像更早期的版本那樣太過簡陋,能幹的事。……

接下來,江寒就把MSDOS3.31對盤鏡像解了一下,然後用一款非常牛掰的、能支持DOS的反彙編工,對安裝程序進行了靜態分析。

再結合網上找來的那些資料,他很快就理解了MSDOS的運行機制,並搞清楚了碟主引導記錄(MBR)的格式。

接下來,江寒就回到了虛擬空間,然後在ROMBASIC里,編寫了一段程序。

這段程序執行時,會調用BIOS的INT13H中斷,對磁碟進行讀寫。

雖然做起來很麻煩,但至突破了最大的阻礙,可以把數據寫碟。。

猜你喜歡

分享

複製如下連結,分享給好友、附近的人、Facebook的朋友吧!
複製鏈接

問題反饋

反饋類型
正在閱讀: