1、計算機之編程
1.1 什麼是編程語言
編程語言是人與計算機交流的介質編程
1.2 什麼是編程
編程就是使用編程語言編寫一個個文件網絡
1.3 爲何要編程
爲了奴隸計算機,解放勞動力,幫人類完成一個個具體的任務編程語言
2、計算機組成原理
2.1 計算機五大組成
2.1.1 CPU
2.1.1.1 控制器
控制硬件性能
2.1.1.2 運算器
進行邏輯運算+算術運算spa
2.1.2 內存
臨時存儲數據的硬件操作系統
- 優勢(相比較於外存):速度快
- 缺點(相比較於外存):臨時存儲/斷電即消失
2.1.3 外存
永久存儲數據的硬件翻譯
- 優勢(相比較於內存):永久存儲
- 缺點(相比較於內存):速度慢
2.1.4 輸入設備
輸入信息的硬件,如鍵盤/鼠標/u盤內存
2.1.5 輸出設備
輸出信息的硬件,如顯示器/打印機/u盤開發
2.1.6 I/O設備
便可輸入信息,又能夠輸出信息的硬件,稱爲I/O設備
2.2 32位和64位
2.2.1 32位
一次性能讀取32個二進制位的操做系統
2.2.2 64位
一次性能讀取64個二進制位的操做系統
2.3 多核CPU
能夠同時完成多件事的CPU,如4核CPU則一個大的CPU集成了4個小的CPU
2.4 硬盤工做原理
2.4.1 機械硬盤工做原理
- 機械手臂:尋找數據
- 磁道:存儲數據
- 扇區:劃分磁道
- 平均尋道時間:因爲工業水平的限制,爲5ms
- 平均延遲時間:以7200r/min的硬盤爲例,爲4.15ms
\[ 7200(r/min) / 60 = 120(r/s) \\ 1/120(r/s) = 0.0083s = 8.3ms \\ 8.3 / 2 = 4.15ms \\ \]
2.4.2 固態硬盤工做原理
3、計算機操做系統
3.1 文件是什麼?
操做系統提供的一個虛擬的單位
3.2 應用程序是什麼?
應用程序其實就是一堆文件,用來完成具體的某個任務
3.3 操做系統能幹什麼?
接受應用程序/人的外部指令,而後控制硬件
3.4 計算機三大組成?
3.4.1 應用程序
應用程序其實就是一堆文件,用來完成具體的某個任務,與人/操做系統交互
3.4.2 操做系統
接受應用程序/人的外部指令,而後控制硬件,與人/應用程序/硬件交互
3.4.3 硬件
最終的目的是用來存儲數據,與操做系統交互
3.4.4 應用程序的啓動和操做系統的啓動?
3.4.4.1 應用程序的啓動
- 雙擊qq(發送指令給操做系統)
- 操做系統接收指令,將指令轉化成0和1發送給CPU
- CPU接收指令,發送給內存
- 內存從硬盤中取出qq的程序,執行,打開qq
3.4.4.2 操做系統的啓動
- 按下開機鍵(啓動一個臨時操做系統)
- 臨時操做系統喚醒真正的操做系統
4、編程語言分類
4.1 機器語言
- 優勢(彙編語言):執行效率高
- 缺點(彙編語言):開發效率低
4.2 彙編語言
- 優勢(機器語言):開發效率高
- 缺點(機器語言):執行效率低
4.3 高級語言
4.3.1 解釋型語言
相似於同聲傳譯,寫一句翻譯一句
- 優勢(編譯型語言):開發效率高
- 缺點(編譯型語言):執行效率低
4.3.2 編譯型語言
相似於谷歌翻譯,寫完全部的代碼,一次性編譯後獲得結果,而且結果能夠保存,沒法獲得及時的報錯反饋
- 優勢(解釋型語言):執行效率高
- 缺點(解釋型語言):開發效率低
5、網絡的瓶頸效應
因爲網絡傳輸的數據可能爲10ms,而Python的代碼運行時間爲1ms,機器語言的代碼運行時間爲0.001ms,在你上一段數據運輸成功以前,不管你的代碼運行時間是1ms,仍是0.0000001ms,仍是9ms,本質上沒啥區別,這就是互聯網中的網絡的瓶頸效應。