標籤:
電腦編程基礎之深入理解電腦系統1
目錄
- 概述——《深入理解電腦系統》
- 電腦系統漫遊
- 資訊的表示和處理
概述——《深入理解電腦系統》
Computer Systems A Programmers Perspective 英文名
電腦系統漫遊
本章簡介
當系統上執行hello程式時,系統發生了什麼以及為什麼會這樣
資訊就是位+上下文
來源程式(或者源檔案) hello.c,實際上是由值0和1組成的位(bit)序列,8個位被組織成一組,成為位元組。每個位元組表示程式中某個文本字元,大部分的現代系統都使用ASCII標準來表示文本字元
程式被其他程式翻譯成不同的格式
編譯系統(compilation system)
前置處理器、編譯器、彙編器和連結器
翻譯過程的四個階段
預先處理階段:hello.c(來源程式) -> hello.i(被修改的來源程式) PS:兩者都是文本
編譯階段:hello.i -> hello.s (組譯工具 文本)
彙編階段:hello.s -> hello.o(可重定位目標程式 二進位)
連結階段:hello.o -> hello(可執行目標程式 二進位)
瞭解編譯系統如何工作是大有益處的
最佳化程式效能
理解連結時出現的錯誤
避免安全性漏洞
處理器讀並解釋儲存在儲存空間中的指令
外殼(shell)
外殼是一個命令列解譯器
系統的硬體組成
匯流排
貫穿整個系統的一組電子管道,通常匯流排被設計成傳送定長的位元組塊,也就是字(word)。字中的位元組數(即字長)是一個基本的系統參數。有4個位元組(32位)和8個位元組(64位)
I/O裝置
通過一個控制器或適配器與I/O匯流排相連。控制器是置於I/O裝置本身的或者系統的主印製電路板(通常稱為主板)上的晶片集,而適配器則是一塊插在主板插槽上的卡
主存
處理器
載入、儲存、操作、跳轉
運行hello程式
快取至關重要
存放裝置形成階層
作業系統管理硬體
進程
線程
虛擬儲存空間
程式碼和資料
堆
共用庫
棧
核心虛擬儲存空間
檔案
系統之間利用網路通訊
重要主題
並發和並行
線程級並發
指令級並行
單指令、多資料並行
電腦系統中抽象的重要性
資訊的表示和處理
電腦編程基礎之深入理解電腦系統1