【動手開發作業系統】- 介紹

0x0:介紹

  神馬是作業系統?這是百度百科上的答案:作業系統(operating system,簡稱OS)是管理電腦硬體與軟體資源的電腦程式。作業系統需要處理如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入設備與輸出設備、操作網路與管理文件系統等基本事務。作業系統也提供一個讓用戶與系統交互的操作介面。

  作業系統是如何開發的?那就和我一起來學習如何開發一個小小的微內核體驗一下作業系統的開發吧!這主要也是作為我對自我的檢測和對知識的分享。

0x1:準備

  再繼續往下之前,我們要了解一下我們需要具備哪些知識:有彙編語言基礎,了解一定的作業系統原理、電腦系統的知識。如果對這些知識不夠了解,在下面的學習中可能會受到一些阻礙。我們的內容參考了《x86彙編語言:實模式到保護模式》。

0x2:環境

  我們的實驗系統環境是Windows,在Linux上的實驗類似。我們在接下來的過程會使用的工具有:Oracle VM VirtualBox(6.1.22)、Vhdtool(v0.02)、Notepad++(7.7.1)、Bochs(2.6.1)、NASM(2.15.05)。

0x3:創建虛擬機

  我們先使用Oracle VM VirtualBox來創建一個虛擬機:打開Oracle VM VirtualBox我們會看到如下介面

然後我們點擊新建按下面這樣填寫資訊,虛擬機名稱可以不和我的一樣:

再點下一步,記憶體大小選擇64MB:

再點下一步,選擇現在創建虛擬硬碟:

再點下一步,選擇VHD(虛擬硬碟):

再點下一步,選擇固定大小:

再點下一步,大小選擇128MB就好了,最好別超過512MB,太大Vhdtool可能會報錯,並且硬碟創建時間可能會很慢:

再點下一步,你會看到這樣的介面:

等創建虛擬硬碟結束後你就會看到這樣的介面:

現在我們就創建好了一個虛擬機,供我們後續的學習。下一節再見。