筆者最近在通過于淵編著的《自己動手寫作業系統》學習相關的作業系統的知識,故寫下這些學習筆記與大家交流,也希望以此發現自己在學習過程中的疏漏之處。這些筆記的內容主要是筆者在學習開發作業系統的過程中,遇到的一些問題的解決方法的總結以及一些有關知識的整理。
筆者採用的開發環境是ubuntu14.0464位版本+ bochs2.6.6 + vim + gcc + nasm,除錯使用的是bochs自帶的bochsdbg。下面一一介紹。
選擇ubuntu14.04來進行作業系統的開發,主要是因為linux有一些命令很方便,再加上筆者對linux的使用也不是很熟悉,故也想通過在linux下進行開發來熟悉linux的使用,便選擇了上手比較容易的ubuntu。至於32位和64位版本的選擇,筆者認為是沒什麼區別的,只是因為我們要開發的作業系統是32位的,如果使用64位作業系統進行開發的話,在進行的編譯的時候需要加上相關的選項,不然最後鏈結的時候可能會出錯。
之所以選擇nasm,是因為筆者更喜歡它的語法,而且于淵的《自己動手寫作業系統》一書中使用的也是nasm。
vim的安裝:
sudo apt-get install vim
vim的相關配置就看個人的喜好了,這裡不詳細敘述。筆者參考的是也在這裡對原作者表示感謝。
bochs的安裝:
先是安裝編譯前的依賴項:
sudo apt-get install build-essential
sudo apt-get install libx11-dev,
sudo apt-get install libxrandr-dev,
sudo apt-get install xorg-dev,
sudo apt-get install libgtk2.0-dev
sudo apt-get install vgabios
tar –zxvf bochs-2.6.6.tar.gz
cd bochs-2.6.6
我們先安裝bochsdbg:
./configure --enable-debugger --enable-disasm
make
sudo make install
sudo cp bochs /usr/bin/bochsdbg
接著,我們再來安裝bochs:
./configure
make
sudo make install
其中,configure的相關選項可以通過命令
./configure --help
來檢視,也可以在bochs的官網檢視。如果make出錯的話,開啟makefile檔案,在libs的最後加上-lpthread,如下圖:
然後重新make安裝。另外,之所以使用編譯安裝的方法來安裝bochs而不是直接使用sudo apt-get install bochs 來安裝,是因為我們需要bochsdbg,而直接用apt的方式的話,預設是不安裝bochsdbg的。bochs的配置檔案bochsrc,筆者將在下一節介紹。
至此,整個開發環境算是搭建完成了。
在下一節,筆者將作乙個簡單的實驗,即利用剛剛搭建好的開發環境來完成《自己動手寫作業系統》中的第乙個實驗——引導扇區實驗。
1 搭建開發環境
首先,確認系統安裝的python版本是2.7.x python version python 2.7.5前端模板引擎jinja2 easy install jinja2mysql的python驅動程式mysql connector python easy install mysql connecto...
OpenGL學習筆記 1 開發環境搭建
vs2012中搭建opengl開發環境 glut庫位址為 glut全稱為 opengl utility toolkit,也就是opengl應用工具包,它建立在opengl基礎之上,方便開發opengl的某些功能,比如我們後面要建立的windows程式,就可以用glut來方便地構建起乙個初始化的win...
2 開發環境搭建1
step1 採用語言 c 開發環境 centos6.3 安裝過程基本上按照 configure make make install 一路下來。接下來需要測試一下安裝是否成功,需要編寫最簡單的 來測試各個軟體 首先是protobuffer,測試 如下 gen.sh protoc cpp out tes...