計算機分爲硬件系統與軟件系統
硬件系統由五大部件組成:
運算器:加法器只是運算器的一種,一次只能加一位,運算器用來暫存的設備叫寄存器,速度與cpu一致
控制器:功能是控制運算器去到數據
存儲器:是存放指令與數據的硬件
以上三個部件稱爲cpu三大核心部件,程序先放到內存,運算器和控制器才能讀到指令和數據
硬件架構:cpu不同架構系列
Arm移動設備
X86 32位
X64
輸入設備,輸出設備統稱爲IO設備
運算器與控制器,控制器與存儲器之前數據傳送的線路叫總線,數據總線,控制總線等
另外
北橋直接與cpu通訊,它比較高速主要負責連接南橋與控制總線,數據總線的控制
南橋主要與外部設備通訊,相對低速,一些文件系統爲了使io讀取更快,把io直接接入到北橋上,用固態硬盤
緩存:cpu主頻爲1ghz 很快,但是內存速度跟不上,用到了緩存,緩存數字越小,離cpu更近,速度更高,如一級緩存,二級緩存等
開機加電自檢:開機時,有寫到芯片裏的指令,由硬件邏輯寫到內存,控制器取指令,運算器計算,判斷有沒有網卡,鍵盤之類的
軟件系統:
首先是操作系統Os;
Windows
Linux:安卓等
Unix:ios等
爲了讓cpu儘量少空閒,提高cpu的運算效率多任務
多個進程,進程有生命週期
cpu和memory 進行切割
Cpu slice 5ms 5ms
Memory 分段
操作系統就是管理者負責分割,與切換
其實也操作系統是一個特殊的程序.
操作終統是最底層 ,只提供system call,系統調用
將底層再封裝成爲高級調用這就是庫就是api
Api是在操作系統上再抽象出來的程序,也叫庫一般用彙編語言編寫功能是讓高級語言開發的程序可以運行在不同的芯片上面,
庫是一個入口,被調用執行,call
程序的局部性原理:時間上的局部性,空間上的局部性
時間:剛剛訪問到的數據有可能馬上又被訪問到
空間:訪問到數據之後,這個數據旁邊的數據很可能被訪問
Shell 是人機交互接口
Shell 是人機交互接口
圖形用戶界面 :gui
命令行用戶界面:cli
內核功能:
進程管理,內存管理,文件系統,網絡功能,硬件驅動,安全機制
Library,api 庫
Windows: dll:dynamic linklibrary
Linux:so:shared object