計算機硬件和操作系統
一、 編程與編程的目的
什麼是語言?什麼是編程語言?
- 語言是一種事物與另外一種事物溝通的介質,所以說編程語言是程序員與計算機溝通的介質。
什麼是編程?
- 程序員把自己想要讓計算機做的事按照某種編程語言的語法規範表達出來,表達的結果就是程序,程序就是一系列的文件。
爲什麼要編程?
- 讓計算機按照人類思維邏輯去工作,從而解放人力。在編程的世界裏,計算機就是人類的奴隸,編程的目的就像是奴役計算機,就像《西部世界》裏面,人與機器的關係彷彿回到奴隸時代。
- These violent delights have violent ends. 在以後的智能時代,我希望的是機器在盡力完成他們工作的同時能獲得相對的尊重。
二、 計算機組成
五大組成部分:
- 控制器:指揮系統,控制計算機的其他硬件進行工作。
- 運算器:負責數學運算和邏輯運算。
控制器和運算器合起來就是中央處理器CPU。相當於人的大腦。 - 存儲器
存儲器分爲內存和外存。
內存 ===》人腦的記憶功能
優點:存取速度快
缺點:斷電數據丟失,只能臨時保存數據。
外存 ===》筆記本
優點:例如硬盤,斷電數據不丟失,可以永久保存數據
缺點:存取速度慢。 - 輸入設備Input:例如鍵盤、鼠標等。
- 輸出設備Output:例如顯示器,打印機等。
存儲器和輸入輸出設備都是IO設備。
與運行程序有關的三大核心硬件:CPU,內存和硬盤。
程序最先都是存放於硬盤,站在硬盤的角度,程序啓動時硬件的工作流程:
1.程序相關數據先從硬盤讀入內存;
2.CPU從內存取出指令/數據,然後運行。
決定程序的啓動速度是數據從硬盤讀入內存,當然內存大小也有關。在CPU和內存之間,內存和磁盤之間增加不同類型存儲器可加快速度。凡是提起優化和提高效率都離不開IO。
三、 CPU詳解
- CPU具有向下兼容性 64的CPU可以運行32bit與64bit的軟件。 但是32的CPU只能運行32bit的軟件。
- n核就相當於n個CPU。
四、 存儲器詳解
數據單位
8bit=1Byte
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
寄存器
用與CPU相同材質製造,與CPU一樣快,因而CPU訪問它無時延,典型容量是:在32位CPU中爲3232,在64位CPU中爲6464,在兩種情況下容量均<1KB。
高速緩存
命中率——高速緩存硬件檢查所需要的高速緩存行是否在高速緩存中。如果是,則稱爲高速緩存命中。
內存(RAM)
一般微機的主存,易失性存儲。
ROM
ROM(Read Only Memory),非易失性隨機訪問存儲,BIOS就是存儲在這上面,BIOS啓動操作系統。
EEPROM和閃存
EEPROM(Electrically Erasable PROM,電可擦除可編程ROM),非易失性的,可以擦除和重寫。重寫花費的時間比寫入RAM要多。閃存(flash memory)在便攜式電子設備中,閃存通常作爲存儲媒介。閃存是數碼相機中的膠捲,是便攜式音譯播放器的磁盤,還應用於固態硬盤。閃存在速度上介於RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了。
CMOS
易失性存儲,保持當前時間和日期,保存配置的參數(啓動磁盤),由電池驅動,且此存儲器耗電極低。電池失效時,相關的配置和時間等都將丟失。
磁盤
平均尋道時間(找磁道的時間5ms)+平均延遲時間(轉半圈的時間)=一次IO時間。
例如7200轉/分鐘的硬盤來說,一次IO的時間大概:5ms + 0.5(60*1000/7200)≈9ms
此外,磁盤上某塊地方被稱爲虛擬內存,Linux稱之爲Swap。
五、 一套完整的計算機系統
分爲三層:
- 應用程序
- 操作系統——一種控制程序,控制硬件的運作
- 計算機硬件
六、 操作系統定義
操作系統是協調、管理、控制計算機硬件資源與應用軟件的一個控制程序,應用程序是通過操作系統來間接控制硬件的。