天天看點

清華大學作業系統OS學習(一)——OS相關資訊

清華大學——作業系統OS(向勇、陳渝)

http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X+sp/about

在ucore實驗中,一些基本的常用工具如下:

指令行shell: bash shell -- 有對檔案和目錄操作的各種指令,如ls、cd、rm、pwd...

系統維護工具:apt、git

apt:安裝管理各種軟體,主要在debian, ubuntu linux系統中

git:開發軟體的版本維護工具

源碼閱讀與編輯工具:eclipse-CDT、understand、gedit、vim

Eclipse-CDT:基于Eclipse的C/C++內建開發環境、跨平台、豐富的分析了解代碼的功能,可與qemu結合,聯機源碼級Debug uCore OS。

Understand:商業軟體、跨平台、豐富的分析了解代碼的功能,Windows上有類似的sourceinsight軟體

gedit:Linux中的常用文本編輯,Windows上有類似的notepad

vim: Linux/unix中的傳統編輯器,類似有emacs等,可通過exuberant-ctags、cscope等實作代碼定位

源碼比較和打更新檔工具:diff、meld,用于比較不同目錄或不同檔案的差別, patch是打更新檔工具

diff, patch是指令行工具,使用簡單

meld是圖形界面的工具,功能相對直覺和友善,類似的工具還有 kdiff3、diffmerge、P4merge

開發編譯調試工具:gcc 、gdb 、make

gcc:C語言編譯器

gdb:執行程式調試器

ld:連結器

objdump:對ELF格式執行程式檔案進行反編譯、轉換執行格式等操作的工具

nm:檢視執行檔案中的變量、函數的位址

readelf:分析ELF格式的執行程式檔案

make:軟體工程管理工具, make指令執行時,需要一個 makefile 檔案,以告訴make指令如何去編譯和連結程式

dd:讀寫資料到檔案和裝置中的工具

硬體模拟器:qemu -- qemu可模拟多種CPU硬體環境,本實驗中,用于模拟一台 intel x86-32的計算機系統。類似的工具還有BOCHS, SkyEye等

markdown文本格式的編寫和閱讀工具(比如閱讀ucore_docs)

編寫工具 haroopad

閱讀工具 gitbook

作業系統是控制軟體,管理應用程式,為應用程式提供服務,殺死應用程式,配置設定資源,管理外設

抽象:CPU - 程序,記憶體 - 位址空間,磁盤 - 檔案

OS位于硬體層之上,軟體應用層之下,是個中間層的系統軟體。

OS分為Shell(界面)和Kernel(核心)

并發(concurrent,交替運作) vs 并行(parallel,同時運作)

注意:區分并發和并行。 //并發指的是在一段時間内有多個程式可以運作。

//并行指的是在一個時間點上有多個程式可以同時執行。

作業系統管理的主要的三個資源:CPU(CPU排程,程序,線程)、記憶體(實體記憶體,虛拟記憶體)、磁盤(檔案系統)、與硬體相關的底層(中斷、IO、裝置驅動)

繼續閱讀