一、 編程與編程的目的
什么是語言?什么是編程語言?
????????語言是一種事物與另外一種事物溝通的介質,所以說編程語言是程序員與計算機溝通的介質。
什么是編程?
????????程序員把自己想要讓計算機做的事按照某種編程語言的語法規范表達出來,表達的結果就是程序,程序就是一系列的文件。
為什么要編程?
????????讓計算機按照人類思維邏輯去工作,從而解放人力。在編程的世界里,計算機就是人類的奴隸,編程的目的就像是奴役計算機,就像《西部世界》里面,人與機器的關系仿佛回到奴隸時代。
????????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。
五、 一套完整的計算機系統
分為三層:
????????應用程序
????????操作系統——一種控制程序,控制硬件的運作
????????計算機硬件
六、 操作系統定義
????????操作系統是協調、管理、控制計算機硬件資源與應用軟件的一個控制程序,應用程序是通過操作系統來間接控制硬件的。