安了兩次才弄好, 蛋疼的作業系統實驗..
先總結下第一次的錯誤。
在最後使用gdb除錯pintos的時候, 會報這樣的錯誤:
bochsrc.txt:8: bochs is not compiled with gdbstub support
具體解決辦法如下: (依次執行如下三條指令即可)
(要先執行這三條指令, 再安裝配置pintos)
$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
$ sudo apt-get install libncurses5:i386
$ sudo apt-get install g++-multilib
之後就是pintos的安裝了。
安裝過程
總的步驟:
install bochs
• $ tar zxvf bochs-2.4.5.tar.gz
• $ cd bochs-2.4.5
• $./configure --enable-gdb-stub • $ make
• $ sudo make install
詳解:開啟終端(應用程式---附件---終端),輸入命令:sudo passwd root,系統提示你輸入root使用者的新密碼,輸入兩次後成功啟用root使用者,以後你就可以用root使用者登陸了。
通過終端進入bochs所在的位置:cd /home/qing(最前面加/,表示絕對路徑)
解壓bochs:tar zxvf bochs-2.4.5.tar.gz
解壓後,從位置--計算機----file system---home----qing,可以看到檔案已經被解壓成為資料夾
接下來按照如下操作:
進入bochs解壓後的資料夾:cd bochs-2.4.5
配置bochs:./configure –enable-gdb-stub(注意最前面的點)
常見錯誤:
1.configure: error: c++ preprocessor "/lib/cpp"fails sanity check
解決方法:聯網狀態下在終斷輸入sudo aptitude install build-essential
2.xwindows
gui was selected, but xwindows libraries were not found.",
解決方法:聯網狀態下在終端輸入
sudo apt-get install libx11-dev
sudo apt-get install xserver-xorg-dev
sudo apt-get install xorg-dev
(分條執行)
編譯:make(注意編譯後有沒有error資訊,如果有根據提示安裝某些包後,重新編譯)
安裝:sudo makeinstall
bochs安裝完了。
總的步驟:
• install and run pintos
• $ tar zxvf pintos2011.tar.gz
• $ cd pintos/src/threads
• $ make
• $cd build
• $ ../../utils/pintos -- run alarm-multiple
詳解:首先和bochs一樣,進入所在的位置,解壓
解壓後進入pintos/src/threads,編譯
編譯後,進入build目錄,執行測試用例alarm-multiple
總的步驟:
• $ cd /pintos/src/threads/build
• $ ../../utils/pintos --gdb -s -- run alarm-multiple
• bochs stops and waits gdb connection
詳解:輸入如下命令:../../utils/pintos --gdb -s -- run alarm-multiple(注意run和前面的橫槓之間有空格)(配置好環境變數後可直接用pintos命令)
終端中顯示等待連線。
這時候,我們開啟另乙個終端,進入pintos的build目錄,輸入命令:gdb kernel.o(注意是英文本母o,不是數字0)
這樣我們就進入了gdb
輸入命令:targetremote localhost:1234,連線剛剛開啟的程式(注意冒號後有空格)
然後輸入:continue
你將看到等待的程式繼續執行了。
但是gdb命令還有很多,這個留給你們來探索它們的用途。例如:l, b, c, r,p, n, s, bt
最後結果:
作業系統Ubuntu(實驗一二)
摘錄 1.5 建立檔案和目錄 1.6 刪除檔案和目錄rm 檢視目錄大小 2.1 編譯c程式 使用sudo i 進入管理員許可權 service xrdp restart 開啟埠 ctrl c 中斷當前活動。當你在csh中鍵入乙個不可識別的命令列 例如,ls 收到第2個提示符的時候,ctrl c也可以...
作業系統Ubuntu(實驗三四)
4.實驗四 使用訊號量進行互斥與同步 fork 函式用法解釋 個人觀點 include include int main else printf 統計結果是 d n count return0 當執行到 段fpid fork 時,此時新建了乙個子程序,其直觀圖如下 練習 畫出流程圖 pthread....
作業系統實驗二
一 實驗目的 1 熟悉linux系統的基本命令。2 熟悉linux的作業系統。二 實驗環境 一台裝有linux的機器 這裡預設是redhat linux 9 三 實驗內容 1.檔案操作命令的使用 1 用vi編輯器新建乙個test1檔案,並且輸入 thisis test1 2 檢視檔案與目錄,具體步驟...