1. <source id="tnnqp"></source>
  • <b id="tnnqp"><source id="tnnqp"><menu id="tnnqp"></menu></source></b>
      <xmp id="tnnqp"></xmp>

        1. <xmp id="tnnqp"><source id="tnnqp"></source></xmp><source id="tnnqp"><mark id="tnnqp"><noframes id="tnnqp"></noframes></mark></source>
          <xmp id="tnnqp"></xmp>

            <b id="tnnqp"><small id="tnnqp"></small></b>
            筆趣閣 > 都市小說 > 重生學神有系統 > 第375章 沒有操作系統怎么辦?

            第375章 沒有操作系統怎么辦?(2 / 2)

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

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

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

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

            同樣的問題,買來之后怎么寫入到硬盤里。

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

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

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

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

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

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

            看,很簡單吧?

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

            也好辦。

            首先,找一個螺絲刀,把硬盤拆開,再找一根針,在硬盤的盤片上戳。

            這樣硬盤里就被寫上數據了……

            當然,以上純屬扯淡。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            這個選項默認處于“關閉”狀態,江寒將其設置為“開啟”,然后按“F10”保存、退出。

            系統重新啟動,很快屏幕上就出現了“IBMPersonalCputerBasic1.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中斷,對磁盤進行讀寫。

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

            最新小說: LOL:什么叫折磨流選手啊!蘇墨阿布 從私吞千萬億舔狗金開始當神豪 婚紗追星網暴我?京城世家齊出手 當網絡皇帝,享缺德人生 鶴飲春風 戰國生存指南 斗羅:制霸斗羅從召喚孔德明開始 投奔東莞嫂子,她卻帶我走上不歸路! 官場:我被貶后,京圈大佬震怒 真千金出獄后四個哥哥跪著求原諒
            1. <source id="tnnqp"></source>
          1. <b id="tnnqp"><source id="tnnqp"><menu id="tnnqp"></menu></source></b>
              <xmp id="tnnqp"></xmp>

                1. <xmp id="tnnqp"><source id="tnnqp"></source></xmp><source id="tnnqp"><mark id="tnnqp"><noframes id="tnnqp"></noframes></mark></source>
                  <xmp id="tnnqp"></xmp>

                    <b id="tnnqp"><small id="tnnqp"></small></b>
                    天天爽夜夜爽夜夜爽精品视频