1.計算機系統是由硬體和系統軟體組成的
2.本書闡述了計算機元件是如何工作的以及執行元件是如何影響程式正確性和效能的。
3.通過跟蹤hello程式的生命週期來開始對系統的學習。
#include int main()
1.hello程式的生命週期始於源程式;源程式是由一系列的位序列組成的,8個位被組織成一組,稱為位元組;每個位元組表示程式中的某些文字字元;hello.c程式是以位元組序列的方式儲存在檔案中的。
2.只由ascii字元組成的檔案稱為文字檔案,所有其他檔案稱為二進位制檔案。
1.每條c語言指令都必須被其他程式轉化為一系列的低階機器語言指令。
2.編譯系統:
乙個現代編譯器的主要工作流程如下:
源**(source code)→ 預處理器(preprocessor)→ 編譯器(compiler)→ 匯程式設計序(assembler)→ 目標**(object code)→ 鏈結器(linker)→ 可執行檔案(executables)
對應至hello程式:
hello.c => cpp => hello.i(修改了的源程式) => ccl => hello.s(彙編) => as => hello.o(二進位制程式) + printf.o => ld => hello(executable)
為什麼要了解編譯系統?
1.優化程式效能
2.理解鏈結時出現的錯誤
3.避免安全漏洞
傳送定長的位元組塊(字,word)
i/o裝置是系統與外界世界的聯絡通道;
通過乙個控制器或者介面卡與i/o相連
臨時儲存裝置,由一系列動態隨機訪問儲存器dram組成;
邏輯上來說,儲存器是乙個線性的位元組陣列
解釋和執行儲存於主存中指令的引擎;
處理器的核心是程式計數器(program counter, pc),pc記錄主存中機器指令的位址;
處理器的工作模型:指令集模型,圍繞著主存、暫存器檔案、算術/邏輯運算單元(alu)進行。
處理器指令集架構和處理器微體系架構的區別:1)指令集架構描述每條機器指令的效果;2)處理器微體系架構描述的是處理器實際如何處理。
CSAPP 第一章 計算機系統漫遊
從某種意義上來說,本書的目的就是為了幫助你了解當你在系統上執行 hello 程式時,系統發生了什麼以及為什麼會這樣。系統的硬體組成包括 匯流排 貫穿整個系統的一組電子管道,負責在各個部件之間傳遞資訊。匯流排通常被設計成傳送定長的位元組塊,也就是字 word i o 裝置 i o 裝置是系統與外部世界...
cs app第一章 計算機系統漫遊讀書筆記
阿姆達爾定理 抽象計算機的世界裡一切都是位元。磁碟,記憶體中的指令,資料都是位元 區別在於對位元的解讀,不同的解讀有了不同的資訊。對io裝置的操作,作業系統統一提供了檔案這一抽象視角。磁碟,網路,鍵盤,滑鼠的操作都被統一為檔案操作。此 檔案 是作業系統提供的抽象概念,應該與磁碟上的檔案區分。對於li...
第一章 計算機基礎
第二節 位元和位元組 第三節 作業系統簡介 第四節 計算機語言 第五節 進製轉換 廣義上的計算機,包含個人電腦 移動裝置 伺服器 嵌入式裝置 自動化工業裝置等 但無論其形態如何,計算機的功能概括地講,就是接收使用者的輸入 即使用者意圖 資料經由通過處理裝置 運算 做功等 的處理,最後得到使用者想要的...