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

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

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

這段程序做“Basic Input Output System”,簡稱“BIOS”,中文含義是“基本輸輸出系統”。

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

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

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

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

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

【Keyboard/Interface Error 】

【Press F1 to Resume】

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

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

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

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

那麼,如何搞到鍵盤呢?

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

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

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

Advertisement

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Advertisement

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

江寒欣然一笑。

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

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

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

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

【operating system not found】

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

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

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

上哪說理去?

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

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

江寒思索了起來。

萬事開頭難。

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

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

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

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

同樣的問題,買來之後怎麼寫盤裡。

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

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

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

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

Advertisement

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

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

看,很簡單吧?

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

也好辦。

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

這樣盤裡就被寫上數據了……

當然,以上純屬扯淡。

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

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

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

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

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

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

江寒重啓了一下286,然後在自檢的過程中,按住了“DELETE”鍵。

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

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

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

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

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

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

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

這個選項默認於“關閉”狀態,江寒將其設置爲“開啓”,然後按“F10”保存、退出。

系統重新啓,很快屏幕上就出現了“ IBM Personal Computer Basic 1.0”、“ copyright 1981”字樣。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜歡

分享

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

問題反饋

反饋類型
正在閱讀: