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可能會報錯,並且硬盤創建時間可能會很慢:
再點下一步,你會看到這樣的界面:
等創建虛擬硬盤結束后你就會看到這樣的界面:
現在我們就創建好了一個虛擬機,供我們后續的學習,在該虛擬機的目錄下有一個.vhd文件,要記住它,它是我們這個虛擬機的虛擬硬盤。下一節再見。