專欄:JavaEE初階起飛計劃
個人主頁:手握風云
一、馮諾依曼體系結構
1.1. 概念
????????馮·諾依曼體系結構(Von Neumann Architecture),是現代計算機的基礎設計概念,核心思想是“存儲程序控制”。具體來說,就是將程序指令和數據存儲在同一個存儲器中,并由計算機順序地從存儲器中取出指令并執行,以完成計算任務。
1.2. 主要組成部分
- 運算器:負責執行所有的算術運算(如加、減、乘、除)和邏輯運算(如與、或、非)。
- 控制器:是計算機的“大腦”,負責解析指令,并發出控制信號,協調和控制計算機各部件的工作。它控制數據的輸入、輸出、存儲、運算等過程。
- 存儲器:用于存儲程序指令和數據。在馮·諾依曼體系中,指令和數據共享同一個存儲空間。
- 輸入設備:用于將外部信息(如鍵盤、鼠標、麥克風等)輸入到計算機中。
- 輸出設備:用于將計算機處理后的信息(如顯示器、打印機、音響等)輸出到外部。
二、CPU
????????CPU,全稱中央處理器,被譽為計算機的“大腦”。它是計算機的核心計算單元,負責解釋計算機指令、處理計算機軟件中的數據,并管理計算機的各項操作。CPU和程序員的關系是非常密切的,因為程序員寫的代碼都是靠CPU運行的。
2.1. CPU的性能指標
- 時鐘速度:以GHz(千兆赫)為單位,表示 CPU 每秒執行的運算次數。數值越大就越好。
- 核心數:20多年前的CPU,都是只有一個核心。現代 CPU 通常包含多個處理核心,每個核心都可以獨立執行指令。核心數越多,CPU 處理多任務的能力越強。
- 指令集架構:不同的 CPU 使用不同的指令集,例如英特爾和 AMD 的 x86 架構,以及 ARM 架構等。
- 緩存大小:緩存越大,CPU 訪問數據的速度越快,從而提高整體性能。
2.2. 指令集
????????計算機的指令集是CPU能夠理解并執行的所有指令的集合。這些指令是CPU進行各種操作(如數據傳輸、算術運算、邏輯判斷、控制流程等)的基本命令。
? ? ? ? 每條指令通常由操作碼和操作數。操作碼指示CPU執行什么操作,操作數指令操作的數據或數據的地址。常見的指令類型有數據傳輸指令、算術指令、邏輯指令、控制流指令等。
2.3. 寄存器和內存
????????寄存器和內存都是計算機中用于存儲數據的重要組件,但它們在功能、速度、容量和用途上有著顯著的區別。寄存器是CPU內部極小、極快的存儲單元。它們直接集成在CPU芯片上,用于暫時存儲CPU當前正在處理的數據和指令。可以把它們看作是CPU的“工作臺”或者“暫存盤”。內存(隨機存取存儲器)是計算機中用于存儲程序指令和數據的主要工作區域。它比寄存器慢,但容量大得多。CPU需要從內存中獲取指令和數據,并將處理結果寫回內存。
? ? ? ? 寄存器和內存的區別:寄存器速度極快、容量極小、成本極高;內存速度較慢、容量較大、成本較低、易失性(大多數RAM是易失性存儲器,這意味著當計算機斷電時,存儲在內存中的數據會丟失)。
三、操作系統
? ? ? ? 操作系統可以被認為是計算機中最關鍵的軟件。
3.1. 概念
????????操作系統是一組復雜的系統軟件,它承擔著計算機系統資源管理與調度的核心職責。具體來說,它主要包含以下幾個方面:
- 資源管理者: 操作系統管理計算機的所有硬件資源(如CPU、內存、硬盤、輸入輸出設備等)和軟件資源(如文件、程序、進程等)。它負責分配這些資源給不同的程序和用戶,并在它們之間進行協調,避免沖突。
- 控制程序: 操作系統控制程序的執行流程,確保程序按照預期的順序和方式運行。它處理中斷、異常和錯誤,保證系統的穩定性和可靠性。
- 服務提供者: 操作系統為應用程序和用戶提供一系列服務。例如,文件管理服務(創建、刪除、讀寫文件)、進程管理服務(創建、調度、終止進程)、內存管理服務(分配和回收內存)以及設備管理服務(控制外圍設備)。
- 用戶接口: 操作系統提供用戶與計算機交互的界面。這可以是圖形用戶界面(GUI),如Windows、macOS,也可以是命令行界面(CLI),如Linux的終端。
3.2. 定位
????????計算機系統的核心,連接用戶與硬件的橋梁,應用程序的運行平臺,以及提升系統效率、可靠性和實現硬件獨立性的關鍵組件。
3.3. 主流的操作系統
- Windows:由微軟創建,1985 年發布 Windows 1.0,從運行在 MS-DOS 上的圖形界面進化為完整操作系統,有多個主要版本;具有多功能性和廣泛兼容性,可在多種設備上運行,適用于多種計算目的,界面用戶友好;但系統要求高,舊硬件運行可能遲鈍,更新頻繁且可能出現更新循環,安全問題較多,存在藍屏死機問題。
- Mac OS:由蘋果在 1990 年代初引入,僅用于蘋果設備;對硬件和軟件控制嚴格,系統穩定、運行流暢、優化良好,在創意專業人士中受歡迎,與蘋果其他設備可無縫同步消息、電話和文件,強制更新和崩潰較少,電池壽命更長;但用戶需購買昂貴蘋果硬件,設備游戲性能不足,部分專業軟件不可用或有限量版。
- Linux 系統:由林納斯?托瓦茲在 1991 年創建,是開源的操作系統家族,不是單一操作系統;輕量、安全,對硬件要求低,可在舊電腦和高性能服務器上運行,任何人可修改或構建版本,有多種發行版,在編程、網絡安全及服務器管理方面廣泛應用,谷歌、Facebook、NASA 等的系統有使用;但對新用戶不友好,界面難理解,許多發行版依賴基于文本的命令,軟件兼容性差,主流應用和游戲大多不為其構建。
- ChromeOS:由谷歌開發,2011 年首次發布,是輕量級、基于云的操作系統;主要與互聯網協同工作,適合常瀏覽網頁、使用網絡應用的用戶,預裝在 Chromebook 上,設備價格實惠、啟動快,自動更新,安全風險低,可訪問 Google Play 商店安裝安卓應用;但嚴重依賴互聯網,無活躍連接時表現不佳,不支持許多桌面應用和高端游戲,難以進行重度多任務處理。
- 安卓:由 Google 開發,是開源操作系統,是世界上最受歡迎的手機操作系統,被多個品牌使用;可改變主題、安裝第三方啟動器,能高度定制系統,有 Google Play 商店,提供大量應用和游戲,有價格實惠和高端旗艦機型;但并非所有設備都能定期獲得更新,可能導致性能變慢和安全風險,存在預裝不可刪除的不必要應用,通常不如 iOS 優化,部分應用運行可能較慢。
- iOS:由蘋果開發,用于驅動 iPhone 和 iPad,是蘋果專有系統;蘋果完全控制硬件和軟件,設備穩定,軟件支持時間長,應用商店應用經過精心挑選,與蘋果其他設備可無縫連接;但缺乏定制性和靈活性,用戶不能自由改變系統,設備通常更昂貴,存儲空間不可擴展,限制多,不能自由從應用商店外安裝應用、輕松傳輸文件,部分設備缺乏可擴展存儲和耳機插孔。