**3.總結**
tmux使用方法:
vim學習遊戲:
linux教程:
linux26個命令:
man入門教程:
gdb入門教程:
作為乙個對linux幾乎沒有接觸的人來說,這一部分完成需要花費的時間比較多,對於官方給出的手冊盡量一步一步完成,不要跳過,不然後面還要掉過頭來學。
官方推薦在真機上安裝debain,作為乙個linux菜鳥,沒有勇氣嘗試,我選擇了vmware workstation和ubuntu20.04。建議可以選擇版本稍微低一些的ubuntu版本,如ubuntu18.04。因為20.04這個版本比較大,對效能要求高一些,開始分配了2gb的記憶體和20gb的虛擬硬碟,有些卡頓。
官方文件在getting source code for pas這一步中,提到了ubuntu18.04可能會遇到的kvm編譯錯誤並給出了解決方案。
在我的ubuntu20.04系統中也遇到了這一問題,在嘗試了官方給出的解決方法後,問題仍然存在。
錯誤提示如下:
building x86-nemu-interpreter
makefile:51: *** invalid diff. supported: qemu kvm nemu. stop.
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-eufjiedi-1608691935150)(/img/bvcl6dj)]
根據給出的錯誤提示資訊,檢視makefile檔案51的內容發現,發現是因為乙個else條件中丟擲了乙個錯誤。
37
ifeq($
(diff
),qemu)
38diff_ref_path=$
(nemu_home
)/tools/qemu-diff
39diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-qemu-so
40cflags+=-
d__diff_ref_qemu__
41else
ifeq($
(diff
),kvm)
42diff_ref_path=$
(nemu_home
)/tools/kvm-diff
43diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-kvm-so
44cflags+=-
d__diff_ref_kvm__
45else
ifeq($
(diff
),nemu)
46diff_ref_path=$
(nemu_home)47
diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-nemu-interpreter-so
48cflags+=-
d__diff_ref_nemu__
49mkflags
=isa=$
(isa
)share=1
engine
=interpreter
50else51$
(error invalid diff
. supported: qemu kvm nemu)
52 endif
再通過檢視之前的**,發現ifeq($(diff),qemu)中的條件總會成立,因此後面的else if和else應該沒有必要,所以就簡單粗暴,將後面的else if 和else都注釋掉。。
修改如下:
37 #ifeq($
(diff
),qemu)
38diff_ref_path=$
(nemu_home
)/tools/qemu-diff
39diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-qemu-so
40cflags+=-
d__diff_ref_qemu__
41 #else
ifeq($
(diff
),kvm)
42 #diff_ref_path=$
(nemu_home
)/tools/kvm-diff
43 #diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-kvm-so
44 #cflags+=-
d__diff_ref_kvm__
45 #else
ifeq($
(diff
),nemu)
46 #diff_ref_path=$
(nemu_home
)47 #diff_ref_so=$
(diff_ref_path
)/build/$(
isa)
-nemu-interpreter-so
48 #cflags+=-
d__diff_ref_nemu__
49 #mkflags
=isa=$
(isa
)share=1
engine
=interpreter
50 #else
51 #$
(error invalid diff
. supported: qemu kvm nemu)
52 #endif
(1)作為linux菜鳥,這一部分比較費時,但是收穫很多,尤其是熟悉了vim的操作之後,vim編輯器之神的稱號名不虛傳。
(2)stfw,stfm,rtfsc。個人搜尋的能力很重要,讀原始碼的能力也很重要。
西工大計算機系統基礎實驗 計算機系統結構課程教與學
學時數 48學時學分 3授課物件 電腦科學與技術及相關專業本科學生先修課程 計算機組成原理,數字邏輯,作業系統,編譯原理 一 課程的性質和目的 本課程是計算機專業一門重要的專業基礎課。其目的是提高學生從總體結構 系統分析這一層次來研究和分析計算機系統的能力,幫助學生建立整機的概念 使學生掌握計算機系...
計算機系統基礎
includeint main return 0 如果將表示式換成 2147483647 1 2147483647 結果又會怎麼樣呢 編譯器如何處理字面量 高階語言中運算規則 高階語言與指令之間的對應 機器指令的執行過程 機器級資料的表示和運算 sum int a unsigned int len ...
閒談計算機系統 2
1 邏輯計算與處理部分與資料儲存部分互動叫資料庫訪問,有 odbc,bde,jdbc,ado,ado.net,dao.2 系統之間或客戶端與應用伺服器之間的通訊有 http s soap ws,wcf,netremoting,wcf riaservice cobra jrmi.3 幾個人同時要用乙個...