第一章:計算機系統概論 ||《操作系統:精髓與設計原理》

一、基本構成

1、處理器

2、內存

3、輸入輸出模塊

4、系統匯流排

二、處理器寄存器

1、用戶可見寄存器

1)數據寄存器

2)地址寄存器

  • 變址寄存器
  • 段指針
  • 棧指針

2、控制和狀態寄存器

  • 程序計數器
  • 指令寄存器

三、指令的執行

指令周期包含兩個步驟:

  1. 取指令
  2. 執行指令

開始->取下一條指令->執行指令->停止

^________循環______|

1、取指令和執行指令

一條機器可以指定的4種操作:

  1. 處理器-存儲器:處理器和存儲器之間傳輸數據
  2. 處理器-I/O:處理器和I/O設備之間傳輸數據
  3. 數據處理:算術運算和邏輯運算
  4. 控制:改變執行順序

2、I/O函數

四、中斷

  • 程序中斷:除以0、算術溢出,以用戶模式訪問內核模式才能訪問的存儲位置等
  • 時鐘中斷:由處理器內部計時器產生的中斷
  • I/O中斷:由I/O控制器產生的中斷
  • 硬體故障中斷:掉電、存儲器就錯誤等

1、中斷和指令周期

開始->取下一條指令----->執行指令->檢查中斷->停止

^________循環__|(不允許中斷) |

^_________________________(允許中斷)

2、中斷處理

硬體:

  1. 中斷產生
  2. 處理器結束當條指令運行
  3. 處理器發送中斷應答信號
  4. 處理器將PSW、PC壓入系統控制棧
  5. 根據中斷載入新的PC值

接下來的步驟是軟體部分:

  1. 保存剩餘的狀態信息
  2. 處理中斷
  3. 恢復處理狀態信息
  4. 恢復老PSW和PC值

3、多個中斷

兩種策略:

  1. 中斷時禁止中斷
  2. 定義中斷優先順序,允許高優先順序的中斷打斷低優先順序的中斷

4、多道程序設計

定義:多道程序設計是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。

目的:即使用了中斷,處理器仍然無法得到很好的利用,比如I/O中斷。為了進一步提高CPU利用率便有了多道程序設計。

五、存儲器的層次結構

存儲器的三個目標:容量大、速度快、價格低。

三個目標相互矛盾,為了解決這個問題,便有了存儲器的分層設計,層次越高的存儲器速度越快、容量越小、價格越高。越底層的則反之。其背後的依據是:局部性原理

六、高速緩存

1、動機

為了解決三個目標的矛盾,在處理器和主存之間設置一個快而小的存儲器作為高速緩存。

2、原理

局部性原理,由於訪問的局部性現象存在,讀入的一塊數據到高速緩存區域以滿足一次存儲器訪問時,接下來的多次存儲器訪問也很可能是數據塊中的其他位元組。

3、高速緩存的設計

幾個問題:高速緩存的大小、塊大小、映射函數、替換演算法、寫策略。

七、I/O通信技術

三種I/O操作:

  1. 可編程I/O:CPU遇到I/O指令時,將命令發送至相應I/O模塊,進入忙等,直至操作完成。
  2. 中斷驅動I/O:CPU遇到I/O指令後,將命令發送至相應I/O模塊,直到I/O準備好後中斷CPU,並繼續執行接下來的指令,如果接下來的指令需要上面的I/O,進程在中斷之前將被掛起。傳輸數據仍需通過CPU。
  3. 直接存儲訪問:DMA負責存儲器和I/O模塊之間的數據交換,直到數據塊全部傳送完畢後才會中斷CPU。CPU只有在開始傳送和結束時才需要參與。

PS:

廣告時間啦~

理工狗不想被人文素養拖後腿?不妨關注微信公眾號:

歡迎關注~


推薦閱讀:

進程與進程管理 | 死鎖的基本概念處理死鎖的基本方法
重裝系統後出現流氓軟體
CPU調度
什麼是KMS
深入計算機底層,從幾本靠譜的書開始

TAG:操作系統 | 計算機專業 |